I've been a passionate software developer since I first picked up BASIC on an IBM PC as a kid. Over more than 30 years, I have witnessed a whirlwind of trends and technologies, from the agile revolution to "mobile first" to the latest hype of AI and machine learning. Some trends come and go, but a core wisdom continues to hold true.
I firmly believe that the cheapest way to build software sustainably is to build it well. This means starting with a deep understanding of the problem domain and the customer's needs. It means thinking strategically, not just reacting tactically as issues arise. And it means consistently applying strong engineering practices. It is a terrible disservice to cobble something together, toss it over the fence, and run.
Software development is as much about people as about technology. One must constantly listen: to the customer, the product manager, the UX researcher and designer, one's fellow software engineers. To learn what it means to really listen was for me an immensely worthwhile investment.
Some of my accomplishments over the last few years are:
- I built multiple teams from the ground up over the last seven years, both as tech lead and as manager. I guided the teams in building solid development processes and helped the teams to gel.
- I designed and led the implementation of a new user permissions system for a multi-tenant SaaS platform serving thousands of SMEs. This was particularly challenging due to the high coupling between user permissions and the entire product's data model. This project both improved the latency of nearly all backend operations and removed one of the key roadblocks to the company's overall technical strategy.
- I developed a high-level technical strategy for the migration of the aforementioned SaaS platform from a monolith to a microservice architecture.
- I designed and implemented a distributed multitenancy protection mechanism on the aforementioned SaaS platform to prevent accidental disclosure of data of one tenant to a different tenant.
- I developed an automated and opinionated code formatter for the Kotlin programming language. It adheres as closely as possible to the Kotlin coding conventions.
- I designed and implemented a new test assertion crate in Rust in the spirit of the C++ library GoogleTest. It is by far the most powerful test assertion solution available in Rust. This work removes one major roadblock for C++ developers using GoogleTest to adopt Rust.
After several years employed as a software engineer and later as a tech lead/manager, I am now offering consulting and software development services as a freelancer. Feel free to reach out!