Is Passion For Coding Bullshit?
You hear it all the time, on GitHub, Twitter, and resumes. But really, 'passion for coding' might be bullshit. Passion is a term we throw around, but what does it mean to have that kind of relationship to what we do? Does passion make us better at whatever it is we are passionate about? Is passion valuable to employers? Is it valuable to us?
Passionate relationships involve a level of intensity that usually isn't sustainable. A lot of new coders are convinced that being 'passionate' about coding will make all the difference in their career and make the process easier. They see the top talent out there working on a flurry of projects, seemingly endless supplies of energy and ability combined into a vortex of awesomeness. But I don't think that is a fair comparison to make. I remember it was tough learning to code and wanting to emulate the work of my teachers, and other people who I was just vaguely becoming aware of in the industry. Even though there have never been more high quality resources available to learn to code, the journey is all uphill, no shoes, blizzard in tow, chased by a deep fear of inadequacy. Assuming that passion, or even a deep interest, is the key to success here is a recipe for misery.
Like all other trades, coders live on a spectrum of talent and interest. These two factors are not related. Some folks are really talented and entirely uninterested in code, while others have a deep interest but the skills don't come as naturally. Once in a while someone is both highly talented and passionate about coding, but that is an extremely rare person and probably not who you think. The type of behavior that new coders interpret as passion/talent/whatever is something that is built over time, and also has natural ebbs and flows. Over the course of a career one can build a practice. I mean practice in the simplest sense of the word. Practice is just repetition and experimentation over time.
The idea of committing 10,000 hours of practice in order to achieve 'mastery' comes from a study on chess players dating back to a 1973 publication. This idea has been perpetuated ad nauseam and it's application across multiple disciplines is deeply flawed. The merit to this argument, and relationship to coding, is not about 'mastery.' In my experience, and in discussions with new coders, the hard part is knowing what competence, let alone mastery, even means in an industry so deep and wide. Trying to develop skills against job descriptions that don't understand their own requirements is crazy making. There is a period of time where you have to just go through the motions, even if you don't fully understand what you're doing. Think of it this way, you can drive a car without understanding how the automatic transmission works.
The primary problem with 'passion' is that it's seen as a path to getting good (or sometimes a requirement). I'll admit that being genuinely interested in computers, or software, or the internet makes spending time learning about it a bit easier. But I would be amazed if there were an actual relationship between that interest and one's ability to land a job in the industry. I think my interest in computer things has served as much in the role of distraction as it has anchor. Learning is uncomfortable, it's literally painful. The sense of confusion for many is described along the same lines as physical discomfort. No one likes repeatedly doing something that is painful (well, almost no one). Something that practice can help with here is to increase this specific pain tolerance. Any developer working today can tell you, they are confused by the work they do on a regular basis. So developing that tolerance will pay dividends.
Be passionate, but not for code.
People I work with may describe me as 'passionate' about what I do. I care, I like what I do. But The key here isn't that I love code. I have learned to tolerate the pain of learning through practice. And the fear of that pain has diminished over time. After finding my first job in the industry the anxiety of survival transitioned to that of proving that I am useful. I would also note that not a single employer I've had to date has asked me to qualify as anything other than competent in the role I was hired. My motivations are mixed, I get paid to write code (financial motivation), I enjoy many aspects of my job (intrinsic motivation), I have teammates and a company I want to represent in a positive light (social motivation), the list goes on. Knowing your real motivations and keeping those clear will serve you well. While I may not be passionate in the strictest sense for code, I have more than enough fuel to stay fired up!
If you are new to the coding scene and feel like you're missing the passion you see plastered all over social media, fear not! Practice over time will make the process less painful. Having passion isn't always what it appears, and is by no means a pre-requisite for success.