What Makes a Job Worthwhile
We spend 8 hours a day working. For software engineers, currently in the enviable position to pick their workplace, instead of needing to accept whatever job offer that comes their way, the question is: what makes a job worthwhile?
What makes a job something worth dedicating half of our waking hours (and a larger portion of our productive hours) to?
The answer to the question is deeply personal.
For some, the comfort of a stable paycheck, and the devil you know, is a a sufficient motivation to stay in place. For others, the potential for professional growth, or career growth are more important.
Having seen varying levels of dysfunction throughout the years, I think that, for me, the answer boils down to
the potential for growth;
the potential for change;
feeling valued as an individual.
The potential for growth
Growth is an overloaded term, and what matters most will change from person-to-person. Is growth personal growth, like improving your communication, or conflict management skills? Is growth professional growth in the sense of getting better at your job, developing a good intuition for how to solve problems, or create maintainable systems? Is it about professional growth: seeing your job title change from junior, to senior, to manager, … Or is it a completely different axis?
The meaning of growth, and what actually matters to me, has changed oer time. As a junior, the most important thing was learning. Now, growth tends towards helping others improve.
In unstructured environments, it’s been easy to pull a junior under my wing, and watch them grow. More structured environments make this harder: everybody has their own work, nicely siloed up, making it harder to understand other people’s work well enough to help.
The Potential for Change
All code is legacy code. The moment code gets merged into the main branch, it becomes legacy code that needs to be supported. The most important thing from that point on is whether or not the processes allow for incremental improvement on the existing code.
Refactoring and bug-fixes should not be work that is snuck in under the pretense of doing feature development. More broadly, as development practices evolve, the processes around the code should change.
For example, it seems unthinkable, in 2026, to start a new project without code-formatters, linters, continuous-integration, … So why is still so common to see older projects that lack these basic building blocks of software quality?
Environments that refuse to make the time to modernise processes make simple maintenance harder, and make it easier to introduce errors. I never thought that I would see a project on which “Who broke the build?” is still a common question.
Hearing a colleague, explain to me, with a straight face, that “the industry has moved away from code reviews because they add no value”, was a shock.
Learning that the we cannot prohibit direct pushes to the master branch because an older colleague would not accept code reviews, was unpleasant.
If there is potential for change, the situation can be salvaged. But if current practices are stuck in stone, staying in place is equivalent to slowly de-skilling myself.
Without code reviews, I can only learn from my mistakes if I stay long enough to see their effects.
With code reviews, I can learn from the mistakes my colleagues have made in the past.
With linters, I can learn from my entire industry’s mistakes.
Without any of those, I am stuck in place, slowly being losing ground to others, in more progressive environments.
Feeling Valued as an Individual
Companies will preach values, and forget them the moment the slideshow is over. I’ve seen companies praise their efforts to create a friendly office environment, simultaneously not intervene when a senior engineer repeatedly threatened to throw me out of the window, in a I’m joking but deep down I really mean it kind of way.
I’ve seen companies explicitly say that they hire juniors and foreigners because they’re inexpensive, and that they have no intention of keeping them longer than two years.
When I found a company that paid above market rate for talent, and offered reasonable perks to retain the staff they had, I was skeptical. In practice, they seemed to put effort into improving the workspace, improving the working environment, and motivating employees to stay,
When I reached out to HR, they said and did the right things.
When employees wrote an open-letter to management, they said and did the right things.
So maybe they really cared.
Yet here I was, scrolling Linkedin jobs, daring myself to click that Easy Apply button again.
What makes it all worthwhile?
Nostalgia is rose-tinted glasses, but some of the most fun I’ve had has been in a workplace where the software team was a small island of sanity, surrounded by socially inept project managers, and where a significant part of the staff was somewhat incompetent. Some of the most soul-crushing work I’ve had, was in a worksplace where the work was technically challenging, but the colleagues were so distant that, other than their names, I knew basically nothing about them.
Is there a workplace that ticks all three boxes? Is that actually a pre-requisite for me to enjoy my time there long-term?
I still don’t know, and leads me back to the age-old question: is the grass greener somewhere else?