The “Passion” Paradox in Software Development
During a software developer interview, you will typically be assessed for your passion. Your passion for the job and your passion for the company will be weighed up as your interviewers decide if you are a good fit for the position.
You might think this passion is typically used as a proxy for several attributes that make a good hire:
excitement for a new job
a willingness to learn more technically
a positive attitude
and in a good company, that might be true. Yet there are other companies who are looking for the other “passion”. An evangelical love for the job and/or company is a requirement to get a job in many coding shops.
This passion filters those interviewees who will go above and beyond, working long hours for free.
I want to talk to you about my hate for this “passion” in software development and what it means for you as a software engineer.
Programming != Passion
It would be a joke to say that we all love programming. Yet you will certainly say that you love programming in order to open the door to some jobs, and even demonstrate that in behavioral interviews.
There is nothing wrong with enjoying coding, but the way we need to display our passion is problematic and can lead to other problems in our working life.
Coding Machines
The push for “passion” in coding means we are expected to display undying love for code and good coding practices. I know on this blog I make fun of the idea that coders eat ramen to spend more time writing code, but companies take the expectation too far.
We are expected to:
Know about new technologies as they come online
Contribute to open-source projects
Develop in our spare time (including evenings and weekends)
Be so obsessed with the codebase that we spend our own time fixing issues
Essentially do nothing else but code. This means many companies also treat us as “code machines” who should deliver those bug fixes and features now and without complaint.
Any mention of tech debt is seen as an excuse and an impediment to delivery.
What it means for you as a software developer:
You’ll be treated as a machine, moved from team to team and treated like a piece of software yourself. Don’t be surprised if you are laid off with no warning as well.
Corporate Coding
This isn’t the sort of passion that software engineers should be showing because tiresome corporate work is different from the fun coding tasks that got us into the profession in the first place.
There is a world of difference between the instant feedback we get while we take part in fun coding challenges and the tiresome tasks we get at work and companies fail to reward their employees.
Common non-coding tasks in corporate gigs:
Code reviews, with 20 “nitpick” comments
Tech refinements
Status meetings
What it means for you as a software developer:
You need to “enjoy” enforced social events with your colleagues. You will also need to “enjoy” meetings.
That means get your smiling face on, and speak positively about everything,
Product! = Passion
Many software engineers don’t really mind what the product is that they will work on, since it is the quality of the codebase that is most important to them. Yet we are expected to show passion for the product we work on.
While I believe that it is possible to advocate for a product and even use it for yourself this shouldn’t be a prerequisite to working for a given company.
If you are working on accountancy software, I really believe you simply cannot be passionate about it. Improving the working lives of financial controllers in SME businesses shouldn’t be anyone’s passion.
Here is The Secret Developer’s full list of products that companies believe you can be passionate about and you will need to be excited about during an interview:
Software you have never used
The food you may not enjoy
Sports teams you might have no link to
If you happen upon a job working on a product you like that is fantastic for you. However, there are many other reasons that you might want to work for a company, and they are completely valid.
What it means for you as a software developer:
You’ll need to use the product even if you don’t like it. You’ll need to keep up a pretense for the entire time working at the company.
Conclusion
I feel that the level of passion asked for from companies is nonsensical, and not related to our jobs.
Asking for a near-religious dedication to a brand or product where no sane person would care needs to stop. It doesn’t produce better software and can even get in the way of fixing those bugs and creating those features.