loading...

But what about passion?

isnotajoke profile image Kevan Carstensen ・5 min read

I like reading through my old CS coursework every so often. It's fun to reminisce, and it's in a way validating to see how far I've come since then. It's also a little bittersweet.

During school, I was passionate about the field. I read research, I had side projects and open source contributions, I learned (and was genuinely excited by) new languages and frameworks. Everything seemed fascinating, new, and all I wanted to do was explore that. It was, for a few years, something close to an all-consuming focus.

Now? Not so much. I can't remember the last time I built a toy webapp over a weekend. 1 If I'm reading something related to engineering, it's more likely something fuzzy or soft rather than a piece of research or a tutorial on a new tech stack. The obsession and fascination is, if not entirely gone, then in an indefinite quiescence.

That's uncomfortable to write. We get signals all around us – from blogs, job postings, books, TED talks – about passion. We should cultivate it, and, if we don't experience it, should find a new line of work. I had to fight myself to not add some obligatory apology to the preceding paragraph - I'm still good at what I do, people like me, I do good work, etc – as if not being passionate is something I should apologize for.

I think this focus on passion is mostly wrongheaded. I'm not going to argue that general point here. Instead, I want to dig into a couple aspects of this narrative.

Won't I hate my job if I'm not passionate about it?

There's a certain false dichotomy that I see in discussions on passion and software careers.

On one side, we have a passionate engineer who lives and breathes code, puts in long hours at a day job, makes groundbreaking side projects or open source contributions during free time, gives conference talks and so on. Similar to how we might think of certain artists or authors, code is life, life is code. 2

The alternative is a sort of mediocre tedium. While not cut out for the field (by dearth of passion), this person might learn one framework well enough to get hired. Maybe the most they can hope for is a sympathy promotion to senior amid a career of drudgery. People are all passionate about something; failure to be passionate about your career means that you're not in the right career.

I think this is a harmful dichotomy. A profession can be a net positive contribution to your life – bringing fulfillment, challenge, even joy – without being a singular all-consuming focus. Blogs, internet discussions and so on don't always capture this, but I'd argue that it's a more common case among working developers than either of the two extremes above (based on my own experience, anyway). I know that my grandparents (for example) enjoyed their work and derived meaning and satisfaction from it, but I would not for a second think of asking my grandad if his work (maintaining telephone wiring and infrastructure) was his passion in life.

As I said above, I wouldn't describe myself as passionate. I also really enjoy my work. I like being part of a bigger whole (the company); it's really satisfying to look at the cool things that the company does and know that I contributed to them. I like interacting with my coworkers; they're good and fun people. I get to be creative when designing systems and solutions to problems. I get to disappear into the zone for a few hours a week writing code. I've grown and improved throughout my career, and continue to do so. It's a positive, fulfilling part of my life, among many other things that take me well away from it.

Won't I be a failure if I'm not passionate?

This one's a little tougher.

If we have two developers of equal aptitude, start them from the same starting point, have one put in 40 hours/week, and the other put in 80 hours/week, who will be ahead in 5 years? Overly simplistic, but also something I see a lot in discussions.

There's a core of this argument that's appealing. Practice helps us get better, and someone putting in more practice could be expected to get better faster than someone putting in less practice. There's nuance to this that makes things murky.

Not all practice is the same. If all I do is play the same scales on my piano, I'm not going to magically be able to play Chopin one day. If I'm being paid to work with a large team to maintain and extend a mature, complex, mission-critical enterprise system, writing a "Hello, world!" webapp in a technology my team will never use may have a middling impact or no impact at all on my job performance.

For senior people, hard technical skills stop being the limiter for career growth. It's important to be comfortable with hands-on work, of course, but it's also important to be able to lead when necessary, mentor and help less senior engineers grow, advocate for your own work to leadership, and think architecturally and strategically about how future work relates to your employer's goals. Passion projects – quite often one-dimensionally technical – will often not address these limiters.

Finally, it's important to acknowledge that there is some truth in here. Passion projects sometimes become well-loved open source libraries, lucrative SaaS products, or otherwise things that substantially benefit their creators. For people just starting out, when technical skills are a primary limiter, the payoff for extra practice, even if it amounts to nothing beyond a hello world app, is much clearer than it is for senior people. While it isn't universal or linear, there is a payoff to extra practice. This is fine. We are not failures because there are other developers who are more skilled or accomplished than we are. 3

Conclusion

It was (and still is) unsettling for me to acknowledge to myself that I wasn't passionate about CS in the way that I used to be. I'm sure it's even worse for people who never were passionate about it. I wanted to write this to reinforce that this it's OK for software to not be your passion if you're a developer. Common, even. You can still grow as a developer. You can still be a valuable member of your team. You can still genuinely enjoy your work. You can still have a future in the industry. You aren't in the wrong field.


  1. For me, the amount of pleasure I get from these essentially "Hello, world!" projects diminished significantly after I put in the time to really deeply learn – over years – a couple of different languages and frameworks. Intro projects can be fun, but will not provide more than a surface level understanding of the technologies used. This will be unsatisfying to people who enjoy a deep understanding of their tools, and also makes these sort of projects highly overrated as ways to "stay up to date on the latest technologies" 

  2. There are absolutely people who fit the passionate engineer stereotype. They have an unaffected, intrinsic curiosity and fascination with code, and get ample and joyful returns for the part of their life they dedicate to it. Some people, lacking passion in this sense, are driven enough to work really hard anyway to advance. It's important to acknowledge this; you are likely to meet and work with these people at some point in your career, and it's to your benefit to do so without feeling defensive about their dedication. 

  3. Actually accepting this and keeping it as a stable point of self-regard – even when working with people who are clearly a lot better at engineering than I am – was the work of years for me. The payoff was worth it, though. 

Discussion

pic
Editor guide
Collapse
anja profile image
Anja

Hi Kevan, thanks for sharing this! Have you heard about the so called scanner personality? It Matches to people who are curious about a lot of things and get bored once they understood all the fundamentals/the system behind of something and then move to something else. Maybe you want to pick up a new hobby or work in several different jobs to feel fulfilled. Thanks to the internet we have so many opportunities now. Happy Monday. 😊

Collapse
ky1e_s profile image
Kyle Stephens

The idea that you have to be doing side-hustles and reading up on things over the weekend is nonsense.

If you're a professional with some years experience behind you and you work 40-odd hours per week on software engineering, you do not need to do more outside of work hours.

You don't see Accountants balancing books for fun. You don't see doctors treating people outside of work for kicks.

Have other hobbies, have other interests, have a family. Be a balanced human being. Your team might just benefit from you more that way.

Collapse
mattcobley profile image
Matt Cobley

I think this article is great, and an important counter to the idea that being a developer is some sort of lifestyle choice, primarily. I know really good developers who just treat it as a job, and developers who do side projects and spend lots of their spare time on it who are... not so good.

See also the silliness around the idea that if you don't use a dark them or use Windows you can't be a real developer.

I think a lot of it comes down to insecurity, of course.

Collapse
lazerfx profile image
Peter Street

This is a good point to make, and combats the common rhetoric I see around this point - if you're not passionate you're not going progress. I see that as a common argument, and I feel it's false for one simple reason - learning to progress is important, but you don't have to be this all-encompassing passionate developer to progress, you can learn to progress during your day job. If you're always learning from your mistakes, you'll improve. I think the real issue is for someone to go, "I'm happy doing , there's no need for me to improve/progress/I don't want to move on", because that's where the danger lies - technology becomes out of date at a rapid pace, well within the normal lifespan of a developer, so if you don't progress, you won't keep up with that technology evolution and will become out of date. But you don't need passion for that, just learning.

Collapse
nicolasomar profile image
Nicolás Omar González Passerino

I feel this article close to me and to some questioning i had with myseft this year (related what passion means for us as developers).

I am reaching my fifth year as a programmer, therefore I think I can't relate that feeling of less passion than my first years, but I reached a possible answer to that progressive loss overtime. Looking other people work.
One of the things I call "exciting" is reading a well coded solution approach to a complex problem on my core language (JS and TS sometimes) as well as watch how specific features of a game/software works and are been used by users who appreciate them.
My passion relies on that moment where I am understanding the logic within those situations and my geek side grows because I am looking at some new challenge or better work that I could use in a near future.

Also at the long run, our bodies need to renew its energy by doing other activities (could be sports or related to art) that helps to keep passion alive and prevent from burn your mind for overdoing.

Thank you for the article. It is a deep and fascinating concept to read about.