{ datagubbe } ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [1]datagubbe.se » on working with your passion On Working With Your Passion Autumn 2024 Cursed is the ground because of you; in pain you shall eat of it all the days of your life; thorns and thistles it shall bring forth for you; and you shall eat the plants of the field. By the sweat of your face you shall eat bread, till you return to the ground. Genesis 3:17-19 I recently read an old blog post by Eric Wastl (of [2]Advent of Code fame) entitled [3]Your Job Is Not to Write Code. The gist of it is that software development is, actually, a lot about writing code. Wastl's text is, I dare say, uncontroversial - including its final sentence and sentiment: "(...) Your job is to engineer things, and to love every second of it." Is it, though? As a software developer, I agree that my job is to write software that is as good as humanly possible given the circumstances under which it was produced. I'd argue, however, that it is not my duty to love every second of it. Let it be noted that I'm not trying to pick a belated fight with Wastl here: his text is fairly lighthearted and it seems fitting for it to end on an upbeat note. Add to this that the sentiment that software developers should love their jobs, or work with their passion, is extremely commonplace. I come across it so often it almost seems like a mantra, or perhaps rather a platitude repeated without much thought. This begs the question: Why is that? *** There are good and bad jobs, and there are many various factors affecting this. Examples like colleagues, managers, salaries, working environments, tasks, workplace hazards and personal proclivities immediately spring to mind. I'd probably make for an abysmal a dentist, for example, but I'd like to think I'd make a decent farmer. Liking and enjoying most aspects of a job, however, is not the same as loving every second of it, or being passionate about it. A wise person once defined a passion as something you'd do even if you didn't get paid for it. In that sense, I'm passionate about a lot of things - including computers and programming. But my passion isn't perfectly aligned with what I do at work: there are many different kinds of programming. The same goes for a lot of other activities. Being passionate about food doesn't mean you'll love every second of being a line cook at an all-you-can-eat cruise liner buffet. Being passionate about cars doesn't mean you'll love every second of working on the assembly line at Tesla. And, of course, being passionate about programming doesn't mean you'll love every second of churning out yet another REST API. Conversely, this doesn't mean you should do a bad job. It also doesn't mean that not loving a job automatically means you hate it. Passion shouldn't be confused with things like personal growth, pride, satisfaction and enjoyment: the more of this you feel at work, the better. It's just that there's often a gap between something you'd do for free and something you're paid to do, regardless of your working conditions. Even when actually working with something that is your passion, can it really stay that way for long? I love [4]tinkering with my [5]Amiga. I'm not paid a single cent for it - I do it when I feel like it (which is rather often), on my own terms. There's no pressure, no demands and no deadlines other than those I, and nobody else, decide. Would that really feel the same if I, say, did it in front of an audience on Youtube - an audience on which my livelihood depended? How often would I have to think of some new project, and how much would I have to adapt that project to suit the tastes of those effectively financing my mortgage? As far as jobs go, I'm sure it could be better than most - but I doubt it would really be my passion and, more importantly, I firmly believe it would risk poisoning the well that's presently the source of much creative joy. I'm sure there are people who have successfully managed to turn their passion into a job they love every second of - though I think they're fewer than we care to admit. I'm also sure there are people who are perfectly happy performing some menial job as nothing more than a means to finance a commercially unviable passion - probably many more than the first category. In this context, though, this is an aside - it's the passion trope itself that interests me. *** Where does this notion of professional love, or passion, come from? It's commonplace in some lines of work, whereas others are refreshingly exempt from it. Nobody expects a vacuum truck operator to go around exclaiming things like "Pumping sewage is my passion!" That doesn't mean their work isn't important (Quite the contrary!) or that they can't - or shouldn't - feel pride or job satisfaction, or earn a decent living wage. It seems to me as if this talk of passion has increased in strength and prevalence along with the shift towards a service economy - yet, not everyone employed in the service sector are expected to be passionate about their jobs. Sure, many Foodora and Doordash delivery workers have probably, at some point, been subjected to some trite motivational speech along those lines, but in reality - just as with the vacuum truck operator - nobody expects them to really feel that way. Hence, in what's considered the lower rungs of the service economy, professional passion is nothing more than an empty phrase. However, as we climb the ladder of status, prestige and - sometimes - salary, this phrase becomes more loaded with intent and ostensible sincerity. One reason for this could be the type of jobs that have proliferated during the last few decades. By channeling [6]David Graeber and [7]Peter Turchin, our current situation can be summarized as one where jobs with immediate meaning - manufacturing, farming - have, to a large extent, been replaced with highly abstract (and often seemingly superfluous) make-work jobs. Coupled with downward mobility and cutthroat competition within the middle class, we seek rationalization to help us reconcile with a reality not quite matching our expectations. Maybe churning out clickbait headlines about celebrities (and perhaps barely earning a living wage doing so) wasn't the desired outcome after spending lots of time and money on a journalism degree. Maybe polishing off yet another corporate powerpoint about DEI policy wasn't, in your heart of hearts, what you envisioned when enrolling in university. Maybe your friends earn more money than you, or seem more professionally fulfilled, or at least have a job that comes with more prestige. Maybe you've come to feel that "education is the silver bullet" was a lie you were told when you were young and impressionable. And maybe, just maybe, lies along that line beget other lies. Passion can be one such convenient little lie we tell both ourselves and others, making us appear a bit more accomplished and our lives feel a little more acceptable. When trying to invent meaning, or even explain why we've settled for something not matching how we envision ourselves, few things are more powerful than a deeply held personal affection for our work. *** How does programming fit into this? Even though the tech sector has taken quite a beating of late, programming jobs are still associated with status, prestigious traits (such as intelligence) and, of course, money - even relatively modest developer salaries are usually enough for a comfortable middle class lifestyle. While the process of writing code may involve dealing with abstract concepts, the rewards and results of the work are more concrete, comparable to any other craft: tangible (sort of) consumable goods. I also believe that most programmers, like me, quite like their jobs. As far as work goes, it's pretty cushy: I get to sit on my butt in a comfy chair in a climate controlled office, I have a good work/life balance, I like my colleagues and, from time to time, I get that elated feeling of having solved a hard problem or helped someone else solve theirs. That, one could argue, should be enough for job satisfaction - and for a lot of programmers, I'm sure it is. But life is full of status games, unfulfilled ambition and dreams that may never fully come true. Just like a journalism major may dream of truthful reporting, exposing great scandals and scrutinizing corrupted power, so may a programmer dream of being a scientist of sorts. Not just because the associated educational path is called Computer Science, but because of the still relatively young lore of the profession. Not that long ago, computers where extremely scarce and most programming took place in academia or various mythical R'n'D departments during a time of exceptional economic growth. It was an exclusive, high status activity among very clever individuals whose work, in the end, generated real - and measurably massive - benefits to an economy still firmly dominated by traditional industrial manufacturing. These are the people who - given ample funding and almost complete freedom to shape their work - came up with some damn fantastic stuff: Unix. C. The GUI. Garbage collection. The Internet. Many of these pioneers are still alive, and will happily recount inspiring stories about what programming jobs were like during the golden heydays. Alas, the way places like Bell Labs, Xerox PARC, DARPA and tangential institutions like NASA operated back then isn't coming back. In short, there's too much politics and not enough money involved today, making it unfeasible to just lock a handful of guys with a vision in a room, let them tinker freely and then see if what comes out of it is useful - or if they should be given some more time and money for a second attempt. This, of course, is closing in on pursuing your passion and getting paid for it. No JIRA boards, no hard deadlines, no endless, agenda-less meetings, no customer demands, no MVP, no sprint deliverables, no "Can we get the icon in cornflower blue?": Just a bunch of like-minded juggernauts and a carte blanche to do almost exactly whatever you feel like within your area of expertise. I think this - be it romanticized fantasy or actual historical fact - is what a lot of us programmers, deep down, desire from our professional life. Sadly, we're not celebrated geniuses working at the research department of a telecomms monopoly during the rise of an empire. We're instead doing yet another customer checkout form for a mid-sized e-commerce site, helplessly watching our profession slowly, as Marx put it, "sink into the proletariat". Meanwhile, we secretly feed the little part of us that pretends to be Douglas Engelbart as best we can. This activity sometimes manifests itself as yet another JavaScript framework, the resulting bloated package dependencies rationalized by blaming our unyielding passion. Perhaps this is also part of why we suddenly start shunning or even mocking certain methods or languages: PHP, Visual Basic and Java, for example. COBOL was among the first: a pioneering high level language that empowered scores of new programmers, but also one that was soon openly ridiculed. Sure, it's funny and odd and a bit clunky (though very much less so compared to other languages in 1959), it was designed by a committee and isn't considered cool and elegant and interesting like, say, Lisp. More importantly though, COBOL is a language specifically designed for some of the earliest routine programming jobs, used for mass producing "good enough" systems intended for broad consumption. Its stated purpose is to write software with low intellectual merit, delivered according to exact specifications stipulated by a bunch of suits at a megacorp. The resulting code was dutifully assembled by swathes of office drones with zero real freedom to tinker. An anomaly, surely, tarnishing the exciting, groundbreaking field of computing with boring, everyday sustenance careers: A language laying bare the crass reality of applied computing already in its infancy. It's tempting to pretend we're above all that simply because the language we use has a different syntax. *** Just like the journalism major churning out clickbait may despise what they write, so may the programmer come to despise the software they develop. Today, much of it is not only unexciting routine work, it's also completely frivolous. In many cases it's even morally dubious, intended as little more than a vehicle for harvesting personal user data and delivering ads. And even if repeating little lies can make us feel better in the moment, it will probably make us bitter in the long run. Alas, it seems we can't stop collectively fanning the flames of disillusionment. After all, we're working with our passion, and it's our job to love every second of it all. privacy notice: datagubbe.se uses neither cookies nor javascript. | [8]rss feed © carl svensson References: [1] https://www.datagubbe.se/ [2] https://adventofcode.com/ [3] http://hexatlas.com/entries/5 [4] https://www.datagubbe.se/jol/ [5] https://www.datagubbe.se/mkdem/ [6] https://en.wikipedia.org/wiki/Bullshit_Jobs [7] https://en.wikipedia.org/wiki/Elite_overproduction [8] https://www.datagubbe.se/atom.xml