The Trouble With Rewrites

I have a bit of a soft spot for legacy systems. They have a certain charming ugliness to them. Clearly, there is a ton of challenges with legacy projects, partly related to organizational incentives, and partly related to technical concerns. Sometimes the response to these challenges is: Let’s rewrite all of it. I think that... Continue Reading →

On Referring to your Colleagues as Customers

I have observed a pattern that companies large enough to develop internal tooling institutionalize a vocabulary that evokes the impression of a supplier-customer relationship between the teams building these internal tools and the teams using them. I would argue that saying “the customers request a feature” when talking about internal users does more harm than... Continue Reading →

On Ambitious Goals

I am a fan of setting stretch goals that are just a little bit beyond what seems realistically achievable. They are motivating and communicate a certain optimism about the capabilities of the team. However, not all dimensions of a project lend themselves to ambitious goal-setting. We should be particularly careful about goals that affect technical... Continue Reading →

On U-Boot Projects

Projects that are executed against the will and without the knowledge of the management are a particularly fascinating artifact of the software engineering world. The English term I heard used for these is “Skunkworks”. However, I particularly like the German expression for such stealth missions: U-Boot (submarine). Nobody is aware of the U-Boot until it... Continue Reading →

Architecture Annealing

The term “Software Architecture” can evoke the impression that it describes a blueprint that needs to be completed before actual development work can start. This association is natural given the origin of the term: The architecture of a building better be complete before the construction begins. Unfortunately, this vision is also at odds with what... Continue Reading →

The Management Proliferation Cycle

I think that most practitioners in the technology space will have come across a project with an incredibly skewed managers-to-doers ratio. Symptoms are typically long discussions that are detached from the on-the-ground reality, difficulties to build consensus about the right approach because of the number of opinions involved, and a way too long wish lists... Continue Reading →

Impactful Work Versus Salary

The common wisdom is that working in fields with high social impact such as environmental protection or education requires lowering one's salary expectations whereas some of the fields that have the reputation of being lucrative financially also face the suspicion of exploitative culture or frequent moral hazards such as finance or the petrochemical sector. While... Continue Reading →

The Reorganization Pendulum

Let us talk about everyone’s favorite pastime: Reorgs! There are many reasons why they happen, some very valid (like economic necessity or making sure the right people end up in the right position) some a bit less (e.g. a new manager wanting to leave a scent mark or sidelining an underperformer without stepping on anyone's... Continue Reading →

Blog at WordPress.com.

Up ↑