for the love of the game

on the search for passion in software development

25 May 2025
tagged: #opinion

For a long time I’ve tried my best to make decisions about professional and academic involvement based primarily on passion. The first and last question I always thought of was “Would I enjoy my work and impact here?”

Perhaps this is a vice of excess; I’ve heard and agree with a great deal of advice from friends and mentors arguing I ought to finally sprinkle some practicum in. But I argue that the opposing vice of excess is much worse. Increasingly, I encounter students who don’t appear to wear a passion for software development. I have two claims:

This post is the synthesis of several first- and secondhand experiences with fellow CS undergrads. There have been a some themes to these cases:

Incentive pressure

First, the tightening of the SWE job market has created a pressure for students to conform to their perception of the “job meta”. They optimize for their notion (accurate or otherwise) of what is desirable to recruiters.

But I think many people have missed that this, ideally, shouldn’t be the primary motivator. It’s usually possible to tell when someone’s heart isn’t really in something they’re doing (how else would I have stories for this post?), and it also tends to produce less compelling narratives for interviews. “Why did you take on this project? Why do you keep working on it?” becomes much harder to answer if you really only did it to impress this interviewer.

This is not to say that everything must be done without a trace of wanting a job, but it’s harder to not say the quiet part out loud if there’s nothing else to say. It’s a shame that these incentives have become almost all-consuming, but I’ve always thought students, including myself, should continue to use their skills primarily for the love of writing technically and ethically good software.

”Generous” open source contributions

Let’s look at how this has manifested. While working on open-source projects, I’ve interacted with or seen various issues and PRs made in a strange pattern. A contributor will appear and offer to take on an issue or file a PR. Some time later, the PR will come back and undergo the usual review cycle; there might be two or three rounds of comments. Some of these PRs go stale, others are merged but have flaws, and others merge fine; but the contributors, despite having previously shown interest in the project, are never seen again.

My colleagues and I on these teams view contributions (and impact, more generally) as the result of motivation. Even if contributors didn’t have much motivation to build on our project, they might be motivated to build their own skills and hence continue to participate in the first and further PR cycles. Having to work through a somewhat fraught review process or making a mistake is not a big deal; under our mindset, everyone is here to learn, and we’re happy as long as things get done. But to these contributors, the goal is to get on our team for the résumé; to be able to say that they were a contributor and team member. We’ve even heard people now and then let it slip in conversation that they intended to contribute exactly enough to make the team. Returning to our earlier points:

GPT and its consequences

This idea of the pursuit of passion is also why I don’t use AI for coursework or, more generally, whenever I determine that my low-level involvement is necessary for learning purposes. There are many reasons why I don’t, and why other students shouldn’t either, but those are another story.

Two premises:

  1. I enjoy struggling toward a solution. To some extent, I am in my coursework just because I enjoy (for the love of) the process of getting stuck and pulling myself out (the game),
  2. I enjoy my coursework; as I gain unit standing, the courses I take are increasingly the ones I truly take out of my free will. While I am obligated to a certain number of electives, for example, I at least mildly enjoy the topics discussed in the courses I chose to take. And even if I didn’t enjoy a topic, it very likely has implications for another topic or field which I enjoy. That itself is difficult, since there are very few topics proximate to computer science I actively dislike.

So after some thought, I have decided that any significant use of AI for my coursework would harm my enjoyment of these two aspects.

There have been many assignments I’ve enjoyed because they were particularly challenging and/or instructive. Later I’ll see another student completing these assignments by mindlessly pasting to and from an LLM. Moral concerns aside, that student is missing out on that joy myself and many other students derived from struggling through the assignment themselves.

These students copy-pasting in and out of an AI can become uncomfortable with more mentally-intensive tasks like high-level design or complex debugging since they are already used to not expending small bits of brainpower. If the brain becomes accustomed to doing this, a sudden demand for intense thought may meet subconscious or conscious resistance. While pushing forward on sheer passion and willpower isn’t always perfectly viable, it’s the best way to go in the long run and certainly produces the best coders I’ve known.

Closing thoughts

My passion has been core to my coding journey. It drove me to pursue this in the first place, and continues to convince me to deal with many of the more unpleasant elements in pursuit of doing what I love. My viewpoint is most certainly not new.

My goal in my academic pursuits has been to maximize my enjoyment; hopefully, some success will come of that as well. I hope the above has shed some light on my views.


keep reading? more blog posts