In this article I’m going to take a look at software quality as a way to differentiate between junior, mid-level, and senior software engineers, through the lens of failure demand, purely so that I can introduce a new concept that I thought up on a walk today, which I’m calling negative failure demand.
2023 Archives
Against Must-Haves (Part Two)
08 Apr, 2023 — This is a bleet — Category: Software ProcessesIn 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 One)
01 Apr, 2023 — This is a bleet — Category: Software ProcessesCategorising 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.
Agile Is A Glass Cannon
25 Mar, 2023 — This is a bleet — Category: Software ProcessesA 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.
Marketing Yourself As A Junior Engineer
05 Feb, 2023 — Category: Mentoring NotesIf 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.