I am someone who is passionate about programming, but for some folks, some of the time- you just need a goddamn job. Hell, while I’m passionate about programming, I’ve worked a lot of gigs that I was not passionate about. I’m never going to be excited about developing an Angular front end, but I’ll do it ‘cause it needs done and people will pay me to do it.
I’d much rather be working on my multi-player choose-your-own-adventure-book engine (someplace between a MUD and CYA), but ain’t nobody gonna pay me to do that. Or I’d love to be refining my dancing drone software (but the drone I own isn’t responsive enough, and I can’t justify buying a better one, because again- ain’t nobody payin' me for that).
I can relate to this. I spend a lot of time learning about new things in my field for fun, out of curiosity, and out of a desire to perfect my craft; I bring some of that to the office, but I also am aware that some of the stuff needs to stay home. It’s unreasonable to use all the new things you learned about over the weekend/evenings just because ZOMG SOO COOOOOOL.
For sure, it informs decisions I make on a day-to-day basis; the different paradigms I’m exposed to when I’m learning new concepts allow me to see some things I could have missed otherwise, and I like to think it makes me better at my day job as a result.
That being said, the 9-to-5 is PHP-only for now, and I can’t say I’m especially fond of that.
I’d argue you could get paid to work on a multi-player choose-your-own-adventure-book engine. Maybe not your engine specifically, but Failbetter games has built what looks like a successful business on top of a multiplayer CYA engine.
I’d say that with either project you could build sustainable businesses, even the dancing drones, but it sounds like you are interested in stable employment over entrepreneurship, which I completely understand.
Ironically, I do run my own business- I’m a consultant, trainer and contractor. The idea is that I spend a week or two a month doing work I don’t like so that I can spend the remaining time doing work I do like. But I can pull that off because I’ve got contacts who like my work enough to book me gigs and take a little off the top. If I had to really push and drive sales, I’d probably starve to death.
I don’t mean you need to be passionate about every project you work on. I just meant you need to have enthusiasm for programming as a field.
And I’m pointing out that a lot of passions don’t pay the bills. So what if someone’s passion is to raise a family on ten acres of woods in the Ozarks, and they decide to fund that lifestyle by programming for money?
I came here to comment that while passion isn’t always scalable, I don’t know another way to motivate myself but you answered that question/objection beautifully.
Some people are passionate about having children and being able to afford a good education and experiences for their kids. Programming seems like a great way to do that.
As for me, I am passionate about programming. But I’m also passionate about retiring early, traveling in my camper van, and getting 10 acres of woods with chickens and a goat. Those passions influence some of my career choices.
I’d say they’d probably be happier farming but they can do that.
I didn’t say “You can’t program without passion”, I said “Don’t”, as in I don’t think you should, because you’ll be happier pursuing something else.
because you’ll be happier pursuing something else.
This strikes me as incredibly arrogant, though I’m not sure if that’s how you meant it. How can you possibly know for sure what will make someone happiest?
People don’t just derive happiness from the tasks they perform, there’s a whole context that you have to consider. I’m passionate about programming, but I would be less happy if the office I work in wasn’t air conditioned, or if I didn’t get free snacks, or if a thousand other things were true or false.
Let’s say someone is passionate about interpretive dance. But no matter how passionate they are, they can’t handle being a starving artist, they want a nice place to live and good food to eat. In this case, their overall happiness might actually be maximized by working as a programmer during the day and dancing interpretively at night.
Now, in a world without scarcity, or even a world with a rock solid basic income, I would agree with you. In that case the context wouldn’t be as important because it would be much more similar across different activities (e.g. switching from programming to dance wouldn’t imply such a massive change in lifestyle). But that’s not the world we live in.
I recall seeing an article, probably from here, that made a point of saying that “passionate” is often a job offer trait that employers look for a a way to get programmers to invest their free time in the product too; does anyone have that handy? Otherwise : yeah, beware, people will abuse of your passion. Besides that, cool article.
Avdi Grimm probably: http://www.virtuouscode.com/2014/01/31/the-moderately-enthusiastic-programmer/
He’s a huge enemy of the word “passionate” for job work.
Exactly that, thanks.
I have seen those articles too. You can read “passion” as “would be doing this even if nobody paid you for it.” Or “have a strong interest and level of enjoyment in this subject.” In my case. I’m not referring to the “passion for our mission so you will work 80 hours per week” that employers sometimes talk about.
Passion is fickle. The passion you have for your job might leave you tomorrow, and come back 5 years later. If passion is your one driver, you will be swept away by the winds of emotion, and your life will likely suck real hard.
Base your reason for working on something that doesn’t change arbitrarily.
Speaking as someone who had it but lost it after some life changes - yes, this.
Thanks for saying it.
This is great wisdom.
You don’t bank on passion, you capitalize on it if you have it as a temporary force multiplier, and then fall back to discipline/self-imposed processes that keep you plugging along when it isn’t there. I probably think about programming 40-50 hours a week at least, but the amount of time I’m passionate is probably 1-3 hours…if that. If you looked at me from the outside you might mistake me for a passionate programmer, though.
What it comes down to is: it is a good job for me because it incorporates creativity, systems thinking, rewards deep thought, and has a very high skill ceiling. That said, if you quizzed me most days I would not say I’m a passionate programmer. Part of being a professional is getting the job done when you aren’t feeling it. That means you need to be able to do it well even when you aren’t feeling passionate.
I suspect the OP is trying to say, “program if it is the thing you’d do sans hype.” I definitely fall into that category, but there are plenty of days where I despise the tech industry but can’t imagine doing anything else. (I think that falls into the category of being a thoughtful adult.)
I’m with remy. You don’t need to be passionate to do programming jobs. Job seekers often have a hard time finding jobs doing specific things they’re passionate about. The day-to-day work in fields like programming is also something not worth being passionate about outside a tiny portion of jobs doing interesting, exciting things. That by itself is reason to consider it Just Another Job. It might also pay better than anything else they can get at that time. The resulting money finances your real passions. Further, one might view programming as a tool for something greater. The person might love the work environment or organization’s impact but code merely to contribute to that. An example might be highly-assured implementations of popular crypto or protocol engines: tedious but important work.
Your post represents an ideal case most will never achieve. They should consider striving for it. The actual decision will be based on many factors such as pay, long-term effects of that career sector, work environment, location, ideology of applicant, and so on. A complex interplay of factors that might make programming the right job for anyone from the hate it to love it parts of the spectrum.
This is BS. I know a few excellent engineers who, if it weren’t for the size of the paycheck, would be doing something else.
Expecting every person in a profession to be passionate about their field is toxic. “Passionate” here is code for “workaholic”.
If you want to provide a good life for your family and you think programming is a good route, go for it. You don’t need some special geek cred or to be the kind of person who was writing operating systems at 10 years old. It’s a good job, challenging in some ways, very easy in others. The author mentions that you might have to deal with a crappy interview process, a clueless manager, or lack of career mobility. That accurately describes most jobs. Honestly I think that if you want to make 60k or 80k programming is a relatively easy way to do that.
The flip side of this, is that if you want to make lots of money as a programmer (in my mind this is > 100k or > 150k depending on where you live) you’re going to need to spend a lot of time learning and passion helps. I run into a lot of bootcampers who would like to be making 200k and don’t seem to realize that they’ve got a long hard road ahead of them. Again, most jobs making more than 150k require lots of dedication and time spent learning. They usually have a hard education and licensing requirement, and programming is unique in that credentials are not as important as they are in other industries.
I haven’t ran into many people who could talk architecture and CS and scalability at a high level who weren’t also passionate about those topics. But I’ve ran into plenty of webmaster type people (wordpress/drupal/custom php development) who fall into the “making decent money without being particularly passionate about CS” bucket. There’s room for both types in our industry. Maybe some day we’ll do a better job of giving them different names or titles.
This is silly. While it’s true that the software industry has a lot of negatives, I think that being passionate about the job is a good way, in many environments, to get in trouble. For reference, my experience at Google. Caring too much is just as dangerous as not caring at all.
Plenty of doctors aren’t passionate about medicine, and plenty of lawyers aren’t passionate about law. They need a job, they do a job, and they get paid.
Your vision doesn’t matter.
See, that’s exactly the sort of reason why passion is a liability. This is very true in the corporate world and it’s the reason why people with too much creativity, curiosity or passion tend to get flushed out of it.
You have to constantly be learning.
It’s more than that. You have to acquire new skills and this process is professionally dangerous. Every time you demand to do a project in a new language or using new tools, you’re putting political capital at stake. In most jobs, if you get caught “learning on company time”, they’ll start throwing around phrases like “not a team player”. Your boss has to think that you’re playing one game, but you have to play a completely different game in order to get the next job.
There’s also ageism, but I won’t get into that.
your employer isn’t going to pay you to mess around with new stuff in most cases
Lawyers get to learn on company time. Doctors do. Software engineers just lack the organizational skill to professionalize or unionize and improve their working conditions. Of course, employers have engaged in some chicanery to keep things that way. The truth about H1-B abuse is that it has little to do with wages and everything to do with control and union prevention.
Of course, a horde of young people shoving themselves into software because they’ve heard that it pays well (at the top of a bubble) will only keep the situation as bad as it is. I’m all about shooing people away who aren’t going to like the work anyway, but let’s not kid ourselves because the truth is that the average software career doesn’t deserve “passion” any more than draining abscesses or representing tobacco companies does.
I don’t think your career or job necessarily has to bring you joy. If you need $X/year and you can make it doing something you aren’t passionate about (but don’t necessarily enjoy), I see no problem taking that job and making the money you need.
Alternatively, I know people who make a ton of money doing things they aren’t remotely passionate about, but it lets them do the things they love outside of work.
Work isn’t life.
I’m saying you’re wrong, but I think it’s sad that we waste more than half of our time at a place that doesn’t bring us joy just for a handful of hours a week to do fun stuff.
Even if you love programming, it doesn’t mean you’re going to love what you’re doing at work. There are tons of times when I’m stuck in meetings or doing grunt work that I absolutely cannot stand my job. There are others where I get to do really interesting things and love it.
If everyone only worked on things that brought them great joy, we’d have no one working on sewers, waste treatment facilities, drug manufacturing, etc. It’s a saccharine sweet Disney type of fantasy that you have to love what you do at work.
I just want the money.
Nonsense. I see lots of reasons why someone who isn’t passionate would want to pursue programming.
Namely, and in absolute terms: it’s high-paying, high-demand, cushy, and absurdly flexible work with low barriers to entry. You can typically work as little or as much as you want, and do so from anywhere on the planet.
I guess it’s well covered but I think that this particular viewpoint can go pound sand.
“Oh sweetie you shouldn’t do this because you’ll have a bad time” is easy shorthand for “our culture isn’t built for you and isn’t about to change that”.
It precludes the possibility of late bloomers, people who do something for awhile and find a reason to love it.
It embraces the philosophy that people should Do What They Love, which I don’t think is a real possibility for anybody who needs a roof and a meal.
“Your vision won’t matter” is a valid criticism of most jobs.
The author identifies a lot of current problems with the industry, I just think we should work towards the opposite conclusion.
There’s a lot of people that are good at programming and do the job because of that. At 5, they close the door to their office and do whatever else they want.
Be with their wife. Do medieval swordfighting. Polish their motorcycle. That’s their passion. Their jobs are a means to the end.
And that’s fine. Every job can be super frustrating. People in IT ranting about how frustrating their job can be and how communication is all effed up don’t speak enough to people in other jobs ranting about how frustrating their job can be and communication is all effed up. Welcome to the working life.
Hell, of all the things I do - travel, running a company, doing community work in Rust and Ruby, practicing a japanese fringe sport and programming for money - I’d drop professional programming the first if I were free to do it. But people would like me to do it for them and I am good at it. I can help other people with that. It pays the bills and is the easiest good to exchange.
The whole “passion” business is an attempt of the new-style workaholic programmers trying to seperate from day-to-day programmers.
In my ideal world, I’d pitch for most programming jobs as: “our solutions are rock-solid, standard and kind of boring, but they work well and none of us will convince you of super-sparkly-thing-on-fire”
I worthheartly agree but usually a development job requires at least 8 hours of your time, from Monday to Friday and week after week. We’re basically talking of 80% of your awake time if not more.
Having only 20% left for what you really live for seems quite unbalanced, hence why the author pledges for a passionate commitment to our industry.
Frankly if one isnt passionate about his job he’d better quit and do it fast, specially with software, given that you need to dedicate all your creativity and will to abstract machine language all the time.
For me it started as a passion that wore off over time as I lined up jobs, projects, dodgy startups, or drowsy huge companies year after year. Hopefully there’s a way out even for veteran developers.
Hm, I’m not sure about that calculation, I spend around 16 hours waking.
I don’t see that. How is a comfortable job in chair, with coffee supply, possibly home office and time to spend insufferable if you are not passionate about what you do. The whole idea that your job must be fulfilling is flawed and easily debunked.
When I was beginning my studies, I did some work for a person who supplied an application for waste registration in Germany. There’s a governmental API for that, which is a pain. It’s the most boring thing to ever deal with - regulations change all the time. But there’s only two suppliers for the whole thing in Germany, so every waste disposal company in Germany would be his or his competitors client. He wasn’t the slightest bit interested in any aspect of programming that didn’t make his business run. His pleasure and passion was a huge house, two Mercedes in front of the door and an extended holiday every year. He got the skill to a level where it allows him to work flexibly and just take an afternoon off to drive his motorcycle somewhere.
My father spent 40 years as an AIX admin at a huge international corporation. He’s so good and needed that people wanted to keep him after his retirement. He hates talking about computers in his personal life so much it took me 4 years to fully realise that he also knew things about the computers I had in my room.
Programming and other technological skills in most context is are supplemental and a means to an end. No need for passion. At all.
Frankly if one isn’t passionate about his job he’d better quit and do it fast, specially with software, given that you need to dedicate all your creativity and will to abstract machine language all the time.
Why? If I’m good at it and don’t find the work hard, why not just rake in the cash, and do something I love with it. It pays expensive hobbies. Before being a programmer, I worked as in nursing for mentally disabled people for a year for civil service. I loved that job. When I stated to my boss that I was thinking about considering working in the field, she took me aside and told me very sternly, that I would be choosing a very effed up industry with almost no money to be made and should better continue on to studies.
Also note that lack of passion doesn’t preclude having a sense of quality and work ethics. Many people find enjoyment in a work space where they know that by the end of the year, they did something useful.
Your plumber most certainly isn’t really “passionate” about your bathroom installations. But it they are a good one, they take a little pride in making sure they work fine and are polished once they leave and are happy if you call them again with your next problem. And every year or two, they will try out new things in the plumbing space.
I’d like more programmers to think like plumbers.
or: just do whatever you want to.
I would say not necessarily that you need to be passionate about programming, but that you need to be willing to put the time to learn how to do it properly (i.e. don’t write SQL injections into your code, keep tabs on performance where it matters, etc), even if your reasons for doing so are mostly mercenary.
I don’t care if a co-worker is “passionate” about programming, so much as I care that he writes understandable code that makes a reasonable set of tradeoffs for the situation it is being written for. As long as they are competent and carry themselves as such, that’s what is important. I suspect that “motivated” may be the better word, although that seems as easily twisted by corporate types.
Not all houses are built to withstand shelling, not all code has to be up to NASA or Google spec.
Ah, is it yet another article suggesting that I should work free overtime and sacrifice my health and other interests for the sake of becoming a more efficient exploitable commodity for employer? Why yes, yes it is!
I wish people would stop writing this nonsense.
That’s not at all what I suggested. You absolutely should not sacrifice your overtime or health for your job. If you read the article I don’t advocate anything of the sort.
My point was that a career in programming is not an easy career. If you don’t enjoy programming for programming’s sake I think it’s very hard to do it long term.
It seems like most commenters here had a very uncharitable interpretation of your blog. Which is somewhat understandable given the amount of bad experience folks have had with bosses exploiting “passion” on at least a few different levels. I do think the comments here are an overreaction though.
I will say that I’m personally not a fan of these types of posts. When reading it, I feel like I’m being should'ed to death, which I personally hate even if I identify with the author’s experience (and I do, to a degree, in this case).
I think this type of topic is way too personal for a writing style like this. My unsolicited advice is to frame this type of writing as an experience report rather than a persuasive essay. Unless, of course, you really do want to try to tell people what to do, in which case, good luck. ;-)
I will add one more perspective to this that turns this topic a bit on its head. Instead of doing what you love, one can, indeed, love what they do. The latter may require some serious perspective taking though!
I think there’s a small slice of irony in that his Twitter bio reads:
I tell computers what to do in order to afford dog food and cookies.
More seriously, I’m not surprised the person telling me not to do a job I’m not passionate about is some white dude who has time to write on Medium about how I shouldn’t do any job I’m not passionate about. “If you do what you love you’ll never work a day in your life blah blah blah”. The real world isn’t that way unless you’re massively privileged.
One can phrase this somewhat differently as: “Be a professional programmer responsibly and realistically.”
I feel sorry for the person who wrote this. 20 years in the industry and such poor experience of it!
I particularly object to the expectation of “having to do a monkey dance” in interviews. That’s ludicrous. Interviews are a two-way affair. You expect and require interviewers to treat you with respect, or you terminate the interview and tell them where to stick it. I’ve only had to do that once in 13 years, so my anecdata differ from theirs.
Try work in some other industries. Unless you happen to find your true dream job, there’s quite a chance you can come up with a similar list about any industry. Maybe the grass isn’t greener on the other side of the wall after all. Actually, maybe indeed it is greener in the software industry?
Having worked non-software jobs (none of which I were passionate about), I can say now that I would rather work on software – which I’m not terribly passionate about, even though I have my own software related adventures I’m somewhat excited about.