Don't Work Alone When You're a New or Junior Engineer

One of the recurring things that come to bite me and my team is having a less experienced engineer or new joiner work completely alone on a project for weeks or months. We’ve done this multiple times, and the »

An Engineering Team where Everyone is a Leader

Having worked for a decade as an engineer at various companies, I noticed how most teams in software often have "the" manager and "the" tech lead or "the" senior engineer. These are the decision-makers and ones that lead all projects. »

A Philosophy of Software Design: My Take (and a Book Review)

I was somewhat skeptical when starting to read a Philosophy of Software Design, despite having it recommended by a friend. The book does a delightful job underselling itself. It is odd-shaped, published by a university press, and the preface mentions, »

Working at Silicon Valley Companies - in Europe

I've recently been talking with several other people working in the European offices of Silicon Valley tech companies: Databricks in Amsterdam, Facebook in London, Google in Zurich and a few of my long-time colleagues at Uber, in Amsterdam. Most of »

Talk First, Code Later

An engineer from another office and different timezone raises a pull request for a service/library my team owns. The pull request has little to no description and makes no sense from our perspective. We write a long message explaining »

Seniority for Software Engineers: a Tech Talk

Together with agile coach Balint Farkas, we recorded a conversation hosted by Iseeq recruitment in Budapest. We explored what seniority means for software developers. This 30-minute session explored my experience on career paths for software engineers, the difference in impact »

Yes, You Should Estimate Software Projects

I hear more voices saying there is little point in doing time-based estimations on how long building software will take, and thus we should just stop doing it. "Let's just use story points and estimate complexity, but not the time" »

Stop Calling it Bad Code

“This code is bad. We should refactor it.” is something I still hear frequently. “Bad code” has become the common way to refer to any code that's not up to our quality bar. I'm seeing it become a defacto description »