I saw a tweet this week that nicely summarizes a set of feelings that I've been having for a while.
There is a vocal subset of the software development world (as there is, I imagine, in every profession) that seems to believe that passion is a required attribute for a good programmer.
You may hear these people tell you that passion is a prerequisite for programming; that programming is a calling; or that "real" programmers do or don't do certain things. You may hear them tell you that "you must learn in your off hours to keep up" or "you must be willing to put your work family first" or "you can use your vacation time, but do you really need to?" They want you to put work first. After all, isn't that what good little worker bees do?
I am here to tell you (once again) that all of that is bullshit. And they know it.
This vocal subset of the software development world, the ones who are trying to convince you that it is a calling, directly benefit from you believing their lies. Recruiters, managers, the companies themselves, benefit from employing passionate programmers. This is partly because they tend to be good programmers, yes, but also because they tend to be willing to sacrifice money or time for the benefit of the business. After all, wouldn't you put in a little extra effort to help your family?
They aren't your family. Unless you're an owner, have a large amount of stock, or are related to or friends with someone who has these things, they won't treat you like family when push comes to shove. They are your employer, nothing more.
Here's the bottom line: Passion is not required to be a good programmer. In fact, it's completely OK to only code for a living because you get paid. You don't need any other reason; don't let anyone convince you that you do.
I will be straightforward about this: Programming is not a calling. It is not a way of life. It is not some exclusive club that only the hardest workers and most worthy get to join. There is no such thing as a "real" developer or a "real" coder or a "real" engineer. Programming is a job, a set of skills, nothing more. A job that people of all backgrounds and all experiences can learn to do, if they so choose. Passion is merely a nice bonus.
You can still be a quality developer even if:
- You don't want to learn new things outside of work.
- You don't work (or want to work) at a big-name tech company, such as the FAANG companies or Microsoft.
- You don't tweet, or read blogs, or spend your free time learning new frameworks and languages.
- You don't write articles, or stream, or make videos, or participate in the wider technology community.
- You just want to get paid.
That's fine! Go get those paychecks!
For the last time, passion is not required for being a quality programmer. It DOES help, let's be real, but it's not mandatory. You can make your money and write code and not need passion at all.
If anyone from that vocal subset of developers tells you "you must be passionate about code to be a programmer" you have my permission to summarily ignore them. This is gatekeeping, and it says more about the speaker than you. Don't let them use bullshit gatekeeping to rope you into their so-called family.
Heaven knows, we need all the quality programmers we can get, whether they're passionate about it or not.