In part two of this series, we’re going to look at how the must-have priority bucket leads engineering to make bad decisions.
Against Must-Haves (Part Two)
08 Apr, 2023 — This is a bleet — Category: Software Processes
In part two of this series, we’re going to look at how the must-have priority bucket leads engineering to make bad decisions.
Categorising requirements into buckets like “must-haves” and “nice-to-haves” is a common approach to prioritisation in software projects. In my opinion, this is a bad way to priortise work, for reasons which become clear when you look at the incentives it produces.
A recent shower thought of mine is that agile software development might be similar to the strategic concept of a glass cannon in gaming — specifically, that it’s a high-risk high-reward strategy where the risk can be mitigated by skill/experience.
If you know the enemy and know yourself, you need not fear the result of a hundred battles. If you know yourself but not the enemy, for every victory gained you will also suffer a defeat. If you know neither the enemy nor yourself, you will succumb in every battle.
— Sun Tzu, The Art of War
Applying for a junior engineering position, or any job, is an exercise in marketing and sales. You are the product, and the employer is a potential customer. To market and sell anything effectively, you need to understand how the customer thinks.
In this article, I want to explore a bit of employer psychology when it comes to hiring juniors, and give some suggestions that I believe increase your chance of success.