Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Don’t Pursue Programming if You Aren’t Passionate About It (medium.com/ebbv)
66 points by ebbv on Feb 10, 2017 | hide | past | favorite | 78 comments


The discourse on "passion" in the context of CS has gradually been poisoned by commercial interests.

It started as a way of describing great programmers. Those who are at the top of the field probably are very passionate about it. Once "the best programmers are passionate" became established as a common meme, it was co-opted as a hiring signal since everyone only wants to hire the best. In response, all job-seekers are now obligated to being passionate, because after all thats what the companies are looking for and why wouldn't a company choose a passionate candidate over one who's not? Not to mention "passionate" is now abused as a euphemism for "60 hours of work at 40 hours pay! lucky you!"

The truth is the same as always - the majority of people have no passion for their jobs. That means they won't be as motivated as someone who loves the job, but they can do a good job nonetheless. If you do love your job, count your blessings.


Passionate engineers can be a total drag to work with and lead. Imagine having to fight through squalls of passion in a business setting. "Passionate" has become in my mind another bullshit word that people use without understanding its meaning or implications.


In my experience, "passion" usually manifests itself as several hour-long discussions about trivia that have little to do with what's actually at stake.

Very frustrating.


I feel very torn about this whole topic.

I do think that many (most?) people would be able to learn to program to the point where they can make a good living, in an age where it's harder and harder to make a good living doing anything.

But I've been passionate, at least in some definitions, about programming since I was a young teen. Before that, even, if you count simple programming. Passionate may not be the right word, though. Obsessive might be better. Or driven. I can't not learn about programming.

But I try not to claim that everyone has to be passionate or obsessive or whatever. Yes, I am. And yes, I'm quite a good developer. But I've worked with and encountered plenty of people who get the job done and who clearly aren't passionate about code. And they're making a fine living at development.

Low-skill jobs are going away en masse over the next 50 years. Maybe new jobs will magically come in to replace them, but I don't think so. Not all of them; not this time.

And so discouraging people from learning to program may be discouraging them from learning the one skill they can pick up in a reasonable time frame that keeps them from collecting welfare while working at WalMart.


I think it's like writing in the future to come.

Everyone should write. Few become authors. It is the way of things. And programming will invade every corner of our essence. Much like this post, it is not the best, nor must it be for us to exchange information and better each other.

The real distortion in cs is the fact almost everyone needs a damn CS degree these days for mid-tier pay. Never mind needing to be under 30. (slight exaggeration to drive home the point)


I agree with you. My point was mostly that people should pursue fields that better fit with their own interests and enthusiasms, and that programming as a career is not a bed of roses and if you're going to go into it without passion you're gonna have a bad time.


Sorry, but that's based on wishful thinking.

Very few people are lucky enough to have their passions overlap with a career that's marketable.

What if your passion is woodworking? Making beautiful, detailed cabinets that sell for $16,000+ may sound profitable, but I took a class from a woodworker who did exactly that, and he said that the net pay after materials costs (which were less than $1000) came to about $7/hour. Passionate? Insanely so. Probably one of the best woodworkers on the planet; certainly top 100. Only reason he could afford to be a woodworker is that he was on disability and owned his home outright.

I know some passionate knitters. They would probably make about $3/hour, if they're lucky, selling their wares.

Renovating old cars? Maybe $8/hour.

Cooking? Opening a restaurant is a huge capital outlay, and 90% fail in the first year. Working at a restaurant can maybe get you $16/hour. At least we've gotten past starvation wages here.

Singing or other musical interests? Only the very top make a solid career out of it.

Many, many domains that people tend to be passionate about have a power-law distribution of money making. A few knitters make decent money by selling knitting books or videos; the rest do it just because they like it. The top musical stars make tons of money, and second tier stars can make a living, but you need the talent and luck to make it to the top.

A rather mediocre programmer with a couple of resume items courtesy FreeCodeCamp can make $25-40/hour, and then pursue their passion in their spare time. Top programmers make more, but for many people $40/hour is outside of their earning potential in any other field they're qualified for. For some people $25/hour is a serious pay raise at this point. So I totally wouldn't discourage them.


Well said, though one small difference is that no one will call you at 2AM to work on their car / wait on another table / etc. Dev work is potentially stressful in ways most jobs aren't, which isn't to say that it isn't also very well compensated, too. Personally I'm content to like what I do without having that rise to the level of passion - and I don't realistically expect more from my mail carrier, my mechanic, my waiter, or really even my doctor. I don't want them to hate what they do, but I don't have any illusions about them loving it so much they'd do even more of it if they only could. It's work.


People will call you at 2AM if you're a plumber. Or a doctor. Or a dentist. Or a locksmith.

And sometimes you'll get stuck waiting tables on XMas because the restaurant you work for requires it.

Yes, it varies by job. But 2AM calls are hardly unique to programming.

FWIW I really do want a doctor that's passionate about medicine, for the same reason that I want my lead developer to be passionate: If it's "just a job" they may not be following current best practices, which do change rather rapidly.

To be honest, I think the "GP" doctor's days are numbered. A registered nurse with a really good AI medical reference would likely to a better job than the 80th percentile of doctors, maybe even match the 99th percentile. There's too much information that isn't in any doctor's head, and a GP is basically a human expert system. A really good AI expert system would do a better job, and a solid nurse following the directions could handle the human part of the interaction.


Really? Okay; tell me, right now, about another field where I can make over $100K per year nearly ANYWHERE in the US, without additional formal education, in a working environment that gives me free breakfast, lunch and dinner, doesn't make me wear a uniform and actually pays me to learn new things.


Articles like this seem to be promoting the Cognitive dissonance that most developers hold. Namely: 1. I need to be always learning about programming, even on my spare time! 2. Work/life balance is important.

"Imagine a doctor who doesn’t actually like helping people with their health problems. Or an automotive engineer who actually thinks cars are stupid and boring."

Lots of doctors and automotive engineers just do their job and then come home, in fact most employees don't come home and continue to work on semi work related things on their spare time. My wife is a civil engineer and yet she doesn't build a 1/16 scale bridge in our basement when she comes home. Does that make her a bad civil engineer?

"If you aren’t passionate about programming I don’t think you should become a coder."

"... lifetime of constantly learning and working in your spare time ... to keep your skillset fresh and relevant."

I have asked a few programmers I know what makes a successful programmer and I have always gotten the answer of "passion". But what even is passion? Maybe they are super passionate about VB and FactoryFactoryObservers? Is that good passion? Okay our field changes a lot. but then shouldn't seek the ability and willingness to learn rather then some vague 'passion'. Employers should also set up our teams in such a way that learning is encouraged. (Work Time + Money for conferences/continuing education.)

Edit: Changed the first cognitive dissonance to include the term programming as that was my implied but not stated meaning.


> I need to be always learning, even on my spare time!

You should always be learning even in your spare time. Maybe not always about programming but about something.

If you don't then you've relegated yourself to walking around like a robot repeating the same things you do every day not ever thinking about your actions.

Right now I have a huge facination with machining/metal working. I can't own any gear for doing such stuff but I wish I could and I devote a larger amount of my time to learning about machining just because I find it interesting. If I could get into, and start working at a, shop near me I'd be very happy with it as a hobby but I have no intention of being a machinist.

Why would I spend so much time learning about machining then? I enjoy it and it's something I've never seen. It has nothing to do with my programming ability and I'll never need the information in a practical sense but learning about it bings a sort of happiness to my life.

Learning is one of the few things that keeps us human. Always exploring ideas, possibilities, and how to solve problems even if they aren't directly applicable to us. When we stop doing that we just turn into vegtables in my opinion.


> You should always be learning even in your spare time. Maybe not always about programming but about something.

Actually, one of the most important things I learned 'the hard way', is that you should actually 'learn not to learn' (i.e. really rest), and let go of any anxieties that may urge you to 'always be learning'. This insight improved my joy in life and tech, and also my focus and productivity, by much more then an approach of anxiously trying to be learning all the time.

Maybe for others things work differently, but generalizing into 'everyone should always be learning' seems too strong a claim to me.


Well the alternative is that you narrow your knowladge to a small problem domain which sounds horrible for

   1) your own mind,
   2) your ability to talk to people who work outside of your problem domain, and 
   3) your ability to think outside of the "box" that is held by your field.


How is the alternative to always learning narrowing your knowledge to a small problem domain? It's not. The alternative is... taking a rest every once in a while.


Learning isn't a tedious process. It can be as simple as saying "hey, how does that work" or "what are you doing" to someone working. I think talking to people, or thinking through how things work is relaxing.

Also there is no reason why you can't rest. We dedicate ~8hr/day of our lives to resting. We also get full days on weekends. We also get about 7-12hr/day for doing whatever we want while awake.

In those 7-12hr you can sit and stare into the idiot box and laugh when the talking heads tell you to laugh or you can read a book, go out side, think about "how would I make X", prototype some code for doing something, talk to some people who are professionals in a craft and ask "how do you build X".

I think one is way more fun then the other.

Now don't get me wrong, I watch a lot of TV but most of the TV I watch is "What If". I like science fiction stuff and a lot of it is some social commentary put into a setting that makes it ok to talk about or even asking moral questions that are different all together. Thinking about those dilemas falls under the classification of "learning". This isn't technical knowladge but instead social.


Wow, disingenuous statement you made there.

>In those 7-12hr you can sit and stare into the idiot box and laugh when the talking heads tell you to laugh... >I watch a lot of TV but most of the TV I watch is "What If"

You can watch TV and be an idiot or you can watch the kind of TV I approve of and as such become a better human being.

I mean if you broaden the definition of learning to include watching sci-fi and pondering whatever social commentary you read into the script then great. I'm going to go learn super hard.


I meant coming home from your job and continuing to work on your job in some form or something that directly relates to your job. Because that strikes me as indicative of deeper issues. Does your job not give you enough time to finish projects? Does your job not give you enough time to stay up to date in your field? Do you constantly feel like an impostor?

I have no quarrels with someone having side projects. But those side projects shouldn't be fueled by some existential dread related to one's job or position.

I have corrected the language to be more specific.


> ...indicative of deeper issues. Does your job not give you enough time to finish projects? Does your job not give you enough time to stay up to date in your field? Do you constantly feel like an impostor?

You are confusing 3 completely different issues and not accounting the enjoyment of learning new things.


> the enjoyment of learning new things.

This is exactly what I believe passion is. Passion isn't something that's 'vague' or that you have to search for. It's the simple joy of doing some activity or learning something related to that activity. No joy, no passion.


> But those side projects shouldn't be fueled by some existential dread related to one's job or position.

If you're looking at it like that then you're not going to have any interest in programming after work. If you look at it like "I am a tradesman and I can either pay someone to do this for me or I can just take a few minute and hack together solutions for myself then I can save time and money".

I write a lot of software for my own tasks to automate things I need to do like recently I made a remote Steam Streaming machine so I can finally fully migrate to linux and to do so I needed to write a control service on my machine and write a daemond that listens for a packet to run a `shutdown /h` on the windows machine. It was a bit of programming but it wasn't "existential dread" and it definetly wasn't in some attempt to bettering myself as an employee. It was because I wanted a product that doesn't exist so I made it and I think more software developers should be interested in that. Not for work reasons but because making things is cool and we live in a time where people are happy to give you perfectly good hardware that they think is "garbage" because it's 1 version out of date. This is the perfect time for the engineer to live, and not just the Civil or Software but any engineer.


I don't think it is passion that makes a developer successful. I've always found it to be two things: give a shit and critical thinking. Too many devs are lazy and just want to be done, play whack-a-mole. Others take a "I'm just doing what I'm told" approach. I want to add value, even if I am not passionate about the value I am adding. When you take time to understand the problem and think out how best to solve it (including things like time and money) and then give a shit enough to solve it in the best way you can, you will always add value and when you are always adding value, you will be content, happy and feel pride in your accomplishments.


>Lots of doctors and automotive engineers just do their job and then come home, in fact most employees don't come home and continue to work on semi work related things on their spare time. My wife is a civil engineer and yet she doesn't build a 1/16 scale bridge in our basement when she comes home. Does that make her a bad civil engineer?

Perhaps not the best example you could have chosen: Physicians and licensed engineers do have mandatory continuing education requirements that more or less require them to be learning for a lifetime.


And a lot of the continued education requirements is paid for by, and time taken from, their employer.


That's part of the tradeoff for software development not being a licensed and regulated profession. (The other half of the tradeoff being that anyone, regardless of education or credentials, can be a software developer.) You can't have your cake and eat it too.


> Lots of doctors and automotive engineers just do their job and then come home, in fact most employees don't come home and continue to work on semi work related things on their spare time.

And perhaps they chose the wrong profession. Perhaps they come home and think to themselves "gee, I wonder how my life would have been if I chose art school like I wished instead of engineering like my parents encouraged me.". Ideally people should work on jobs they (at least tangentially) enjoy.

> But what even is passion?

Enjoying what you do. A constant eagerness to experiment, learn, and build something. Passionate people will always be ahead of their peers. Because learning or practicing that activity makes them happy they are more inclined to spend their time honing their skills. And they spend their time practicing that activity not because of some "existential dread related to one's job or position", but precisely the opposite: they enjoy doing it.

I believe encouraging people to pursue carriers in domains they enjoy is a general good advice. The article touches on programming specifically because there is a current trend / hype to push people toward programming.


Programming as a career allows me to have a great lifestyle: I get a lot of time off, it pays me very well despite graduating college pretty recently, most tech companies don't drug test, and I have fun and get to solve puzzles every day.

It's a great job, but I'm not passionate about it. I won't go home and work on a side project or pick up a book about.. any learning or reading I need to do happens at work. I have other hobbies I'm actually passionate about and I simply don't have time or willpower to do something that feels like work not at work. And there's no way pursuing my hobbies full time would lead to me being happier - I'd be much poorer and have a way worse lifestyle.

I also don't feel like I'm locked into programming as a career forever - it's a great gig now but should it become less desireable then you can bet I'll adapt to whatever allows me to have the lifestyle I want. If that means moving into management in 5 years, so be it.

But that also doesn't mean I don't accomplish as much as other more passionate programmers per hour worked. I don't think passion has nearly as much to do with that as much as being able to find your work fulfilling and wanting to do good work. But those aren't the same thing.


Why is "passion" such a driving-force for our generation? We keep hearing this word, and we keep applying it to the context of jobs. The more we talk about it, the more people get bogged down by the two not intersecting.

Let's agree to disagree and say "some people have passion, some people don't. If passion and job intersect, that's dandy. Either should be okay, just pay the bills and live your life the way you want.


Because young, eager, "passionate" uber-hackers are easier to exploit.

The idea of "passion" for programming might or might not have originated on the hiring side, but that side sure seems happy to run with it.

[EDIT: Not disagreeing with the original post, though. Just responding to the above comment about where this word comes from.]


The word has definitely been abused. Employers use it to mean work 80 hours a week. That's not what I meant.

I meant what I said in the post; you really like doing it and have a lot of interest in it. I couldn't think of a better word for that, or I would have used it.

Most people do work in jobs they don't have any passion for and I think that's fine, but some fields are really hard to do well at without that extra level of enjoyment. More extreme than programming would be music. Pursuing a career in music without passion would be truly horrific, as it is so hard to build a career in that field.


Because "passion" justifies paying you less and making you work weekends. Just as "changing the world" justifies not getting paid because the startup is having financial trouble.


You can get interested in anything, you put your mind to it. Passion isn't some intrinsic thing like talent or good looks. It can be fanned into flame by enthusiasm and hard work.


As long as there is a market where <SOMEBODY> pays a regular recurring paycheck for <ACTIVITY>, that <ACTIVITY> will attract people who are not particularly passionate about the job. This is ok.

That activity is different from <SPECULATIVE WORK> without a steady paycheck such as writing novels, composing a song, and painting original art. Those fields absolutely require passion because of the constant rejections and overwhelming odds that your work will not be a "hit."

Programming work is a very wide field that encompasses both maintenance work and the artistic work. The jobs that are mostly maintenance work can attract people who are competent but not necessarily passionate. They're not going to wake up in the morning and get excited about moving a zip code field 1 pixel on a shopping cart form. But they compartmentalize that 8 hours of that programming that companies need and then go home to play with their kids. The essay ignores that scenario which is probably the vast majority of programming jobs.


I drifted to a career in programming because I loved it. I used to do a lot of hacks and side-projects, but once in working life, I came to realize just how much legacy code bases I'm going to deal with. Nobody in general likes rewriting or fixing legacy code, but unlike others, I felt unable to enjoy the feeling of getting the legacy work done. As I worked more with legacy code, paying off the technical debt of others, I started having signs of burnout towards programming. I stopped doing side projects and even glimpsing code on the weekends felt bad.

Then I came across this career advice which suggested choosing a job which's struggles you love to solve. I realized that I loved the struggles of self-discipline to get the last 10% of a project done, the struggles of dealing with bad clients and the struggles of marketing and acquiring the first ones. I realized the programming required in professional software engineering was not the struggles I wanted to deal with.

Later on, I met a startup founder who had struggles with their company. The founder told that it seems like the end is near. Despite all the efforts throughout the years with many ups and downs, it seems like a single mistake took the venture down. It seems like the years were wasted on not becoming rich and successful, but then added that despite not becoming rich, she was happy with her life all the long way down. She told me that as long as I am comfortable with my life, I should not worry about the risks of running an unsuccessful company. Ultimately, a greater regret would be to push forward a life in which you don't find yourself happy in.


If you don't mind me asking, what did you do after you had your realization? Become a project manager or something?


Started my own company through the side projects.

Would I go back to be employed, I'd go after a product role.


The problem with focusing on passion as a driving force is that it reverses the direction of how professional "passion" is often developed - through experience. I can't find the source now[0] but I recall reading about research investigating professional passion in college administrators. It found that passion was directly related to work years. In other words, experience and advanced skills bred more confidence and passion over time.

The other problem with making passion a mandatory requirement is that it's selfish. Passion has nothing to do with providing value, which is largely what yields professional success. Most people are passionate about their fun hobbies, but that doesn't mean they should pursue them professionally. If an employee isn't passionate about coding but gets the job done, then what's the problem?

[0] Study Hacks blog by Cal Newport, maybe?


Interesting notion.i can certainly see that applying to me.

I'm a digital marketer and I love love love going deep on analytics, attribution, etc. as a part of that. However I wasn't even aware of half that stuff when I was first starting out.

Professional experience led to greater and deeper exposure of new areas of the discipline that were way more interesting to me than the fundamentals that first got me interested. I now engage in discussions on those topics with other professionals in my spare time because it interests me beyond my job.


I believe this is the worst advice ever. Passion is a really misunderstood concept. What does it mean to be passionate about something?

Does it mean enjoying doing something all the time? Well, that's just unhealthy.

Does it mean you have a skill in something you constantly improve? Everybody needs to start from zero.

Does it mean you work on your pet projects in your free time? This will likely change throughout your life.

Does it mean the field excites you? That is not a good reason to work on something - I'm really passionate about books, but I'm not a writer and don't think I will ever be(or will want to be).

The only real metric for passion is sticking with something for a long time and being happy about it. How the hell would you know it before you start? How would you even know it a few years in? People burnout all the time.

Saying that you have to be passionate about something is terrible. It discourages people from actually trying. It makes them question their motives. It makes them think if they should start doing something instead of actually trying to do it.

You don't need passion to be a decent developer. Hell, sometimes you'll hate your job and it's normal too. What you need is talent, by which I mean cognitive ability to learn field's concepts. You won't know if you have it unless you try.

Yes, people shouldn't get into programming just because they think it is a good career - there is a lot of stuff that will turn people off which code schools do not mention - lots of stress, cognitive load, sedentary lifestyle. It's not for everybody. But TRYING to get into field because it's a good career is as good a reason as any. Time will tell if you stick around.


https://www.wired.com/2017/02/programming-is-the-new-blue-co... A lot of coding is just a boring job that has to be done. I never met anyone who is passionate about writing tests etc. but everyone knows that it has to be done


> These sorts of coders won’t have the deep knowledge to craft wild new algorithms for flash trading or neural networks. Why would they need to? That level of expertise is rarely necessary at a job.

I think the author greatly underestimates software complexity and future development in complexity. IT is not a narrowing field, where any task soon can be solved by slinging some javascript. I agree, that some tasks are simpler than others and don't require a full computer science degree, however software development still does require that you know wth you are doing. I do not want my bank software written by a guy who just finished a 6-month javascript course.


Ignore this blog. Pursue whatever you like. Don't ever worry about whether you have sufficient "passion," that's a trap.


> Ignore this blog. 90% of the time this holds true for the whole medium.com platform :)


90% of everything is crap. ~Sturgeon's law


and the rest of the internet.


...and everything else (Sturgeon's law).


> If, like me, you have no interest in managing other people and want to just do coding for your career, then you’re eventually going to hit a ceiling in any organization

I can't think of one job where you won't hit a ceiling if you don't want to manage people.


This is a fair point. My thought was that some careers have a higher ceiling at least in terms of pay. Very quickly in programming you hit a point where you have to manage a team or manage projects or manage entire departments in order to get any more big raises. But you might be right that this is true for 90% of careers.


Passion is not really interesting. I'd rather hire someone who is skilled, easy to work with, and will get stuff done. I don't really need him to get hyped up on caffeine and write medium articles about how passionate he is; I'm paying him to do a job.

I also am not sure what to make of the Op's mention of starting to program at 10. I read my dad's copy of K&R and installed some Linux distribution at that age too, but I didn't make any real progress until I realized that it's just a job and started acting more like a professional.


I just spent several hours debugging a nasty npm / shrinkwrap dependency clusterf* across multiple repos and I don't think passion has any bearing on my state of mind right now.


Yeah, no.

I strongly hate this idea that programming is for passionate people only. I interpret this as "You want to find a job that will improve your living conditions significantly if you're willing to put the work in? Fuck you; stick to the coffee bar."

I encourage everyone who is interested in learning how to program and wants to make a lot of money to take this field up. Why? Because at the end of the day, programming is a device whose input is business needs and output is something that makes that business money. Maybe. Better programming saves money and makes those money-making machines cheaper to repair and fix, but if it still makes money, then it still makes money.

If they learn to become good at this stuff, then why shouldn't they take advantage of an amazing salary and usually fantastic working and learning conditions?

BTW: there are plenty of great doctors and lawyers who are in it for the cash. Why? As it so happens, getting better at one's field leads to better chances at making more money. So you get better.


I agree completely. I became a pro dev 31 years ago when I had passion, and while I don't regret my career choice, my passion has waned, especially for dev (coding ways & means). I could never have survived this long in this business without passion in what I do -- even if it's no longer a passion for programming.

I've also witnessed most/all of the points David offered, esp the ceiling in job growth and the tiresomeness of learning the latest fashion in coding that does the same old thing, just in a more complicated way.

My own solution has been to turn away from development as an end unto itself and to get more involved in the problem space du jour (social network analysis, data mining, image analysis, medical biomarker resolution, etc). This doesn't address either of the woes I echoed, but at least it motivates me better than fantasizing about category theory while I feed yet another database while sitting in my cube.


It's a tool just like any toolset. You don't need an undying passion for mechanics fueled by a thousand suns to use and understand a torque wrench. The allure around this job is invented and idealized in too many cases for it to be genuine to me. It has too many ordinary and mundane problems shared with other industries (i.e. social) to be a special industry. If it were really special, people would be tripping over themselves to get out of your way and see what you build or do next. Some people get to this level but the vast majority don't. Compare to being an astronaut.

There's also no tragedy in being a doctor that just wants to do a good job. Not every case is going to be an interesting medical mystery. In fact, it's probably gotten more frustrating as people suddenly start trusting internet articles and you have to endlessly urge caution and explain anything they've got wrong.


I don't agree with this article mainly because one's passion for anything in life is dynamic. It starts and stops at points in your life that you can't anticipate.

I didn't know anything about programming until university - I took the courses CS majors had to take in my stats degree until the end of 2nd year, and I definitely wasn't "passionate" about it. Actually, I was quite convinced I didn't want programming to be in my career whatsoever. But after my first co-op term in a start-up where I got to see what actually could be done with a team of people who knew how to code, coupled with 3rd year classes being more interesting and relevant than the fundamentals, I gained my passion. I now run a SaaS that combines programming, statistics, and other passions.

If I read your article after 2nd year while applying for my first jobs and taken this advice, I would have said "screw it, life's too short" and not be in the situation now where so many more doors are open compared to my classmates. I'd be on track for pigeon holing myself into boring stats jobs that need SAS certifications, with none of the skills I have now for a career in modern data analysis in the tech industry.

Side note, I hate reading about developers who lament about the career trajectory compared to being a doctor/lawyer. Most good developers are smart enough to genuinely believe that being a doctor would have been attainable if you just switched another lever earlier in life. I think this is a valid regret if you had actually always wanted to dedicate your life to legally/medically advising people, but you chose programming for the money. But for almost all of these developers, the decision to choose their career wasn't 100% about money and being a doctor/lawyer was never a serious consideration past wishful thinking. You're just viewing the grass as greener on the other side without considering the cons and consequences of actually being a doctor/lawyer, and that type of negative mentality is not healthy.


Perhaps it's just my perception, but I find we as Americans are very keen on this notion of being absolutely "passionate" about the career we choose. My mother had a much more practical outlook (maybe it had something to do with her immigrating to America as a refugee at the end of the Vietnam war): she said "very few people are actually in a field they love. It's common for people to completely change their careers several times over their lives. If you can find a job you don't hate and it pays well, great! That's better than what a lot of people have. If you can find a job that pays well and that you maybe even like from time to time, even better."

Don't get me wrong; I enjoy programming. But it's far from my #1 passion in life. It's what pays the bills. I don't do side-projects (at least as of right now).

I'm actually inclined to agree with the author to a certain degree: being passionate about programming will make you a better developer. The same could be said for any field though.

Also, to his last bullet point about needing to constantly be learning: I think a person could learn a long-living language (e.g. Java, C++, C#) and expect to have a decent career. Sure if you're aiming to work for startup X, you'll probably need to be hip to newest (and therefore supposedly "best") tech. Even though Java has been the butt of many jokes, it seems like there's always a need for Java engineers!


Not every job requires passion. I would venture to say that most jobs don't. Is it a desirable trait? Sure. Is it the only trait that matters? Most certainly not.

The idea that all programmers are super-passionate about the craft and never have any other interests can lead people to assume that if you don't have that single-minded focus that you aren't a real programmer. This is an industry where many people deal with imposter syndrome already; they really don't need any additional help with questioning whether or not they have what it takes to succeed.

It's a common human tendency to assume that others in your group are exactly like you. The programmers with passion for the craft assume that everyone else who is a developer must share that passion. This is pretty short-sighted and exclusionary. Not every developer codes in their spare time. Not every developer learns new programming languages for fun.

I agree with the author that you need some level of enjoyment from the process of programming in order to succeed in it as a career, but I doubt that's specific to programming, either.


My passion for programming varies.

Not quite as passionate Monday morning as I am Wednesday morning.

Decidedly less passionate after forced marches on crappy projects or putting up with BS.

Pretty passionate when things are just interesting enough but not frustrating, and most especially when I feel value in what is being done.

But really I've always felt passion for tools was a bit misplaced. Passion for results is where it's at.


There's a really great counterpoint linked in the comments of this article. I dunno about you, but this pretty well sums up my take on it.

https://medium.com/@WordcorpGlobal/programming-doesnt-requir...


That Modmaj article is not really a counterpoint to DM's article because Modmaj's focus is whether passion is required to acquire "skill" at programming.

David Matteson's essay is talking about passion as a prerequisite for programming jobs to help with "happiness" and life satisfaction.


My apologies. It's just that "counterpoint" was easier to type than "an article that examines similar but not perfectly analogous ideas from a differing point of view."


People should not become professional writers if they are not really passionate about it. This doesn't mean we shouldn't encourage everyone to learn how to write. Same thing for programming.

Of course, this is very different than companies trying to get more people into programming so they can have a cheaper workforce.


Well then, I guess I am not a True Scotsman.

I am not passionate about programming, yet I program computers. I use the tools that programming algorithms provide in order to do the things that I want to do.

Sometimes that is for work. I model some bio-thingy in Matlab, or I use Arduino soft/hardware to generate said data, I do stats automatically, I manage the website and do fun stuff with it, etc.

Sometimes I program 'for fun'. I use Markov and RNN analysis for side projects, I do non-textual analysis on stuff I want to look at, I manage my home via smart-home hardware, I play video-games or sports games and then use various python programs to analyze stuff I want to look at.

I am not passionate about the act of programming anymore than the act of soldering or using a socket wrench. Programming is a method, a tool, that I use for my passions.

So what does this make me?


What is passion anyway? It would suffice to say, that a person should like some parts of developing software in a way that creates a recognizable tingle of pleasure. Because that's what you will do. And sit in meetings. And if there is no tingle of pleasure from either of these, a career in programming will make your life less than it could have been.

The term "passion" makes me think I'm required to passionately make love to a superclass while domain requirements strap me to a table of molasses and legacy code, crying "Yes! You filthy amalgamation of mixed paradigms, take me any which way you like! Procedural! Functional! I want it all! I want you to be my precious Ruby! My cup of hot Java! My serrated blade of C! A twisting tangle of Python! A furious steed of Fortran and assembly!"


In our modern economy, lots of people do things they aren't passionate about in order to live a life of relative freedom. You happened to find success programming, but that doesn't mean I'll find success writing music (or whatever else my real passion may be).


Don't mistake/substitute passion for environment.

You can burn yourself out to hell, being passionate in a shit environment that doesn't care.

In fact, you can lose your passion, in those circumstances.

Whatever you do, find a good environment for it. This is an integral part of enjoying what you do.


"Looking for your passion, purpose, or calling is an example of the fixed mindset. You’re assuming that this is an inherent and unchanging thing inside of you, like trying to read your DNA or blood type. But you won’t find passion and purpose there, because that’s not where those feelings come from.

Passion and purpose are emotions that come after expertise and experience. The way to get them is to commit to the path of mastery, get great at something, and do great work."

From https://sivers.org/career


I'm glad there are people who want to program. I have no interest in or patience for it, and there's no way I could stick with it long enough to make the tools I use for the things I'm interested in and have patience for.

Everyone who works on Scrivener, Reaper, the countless VSTs I use, Firefox, Windows, Android, Linux, all the backend and frontend technologies of the web, and all the hardware and software that makes it all work together are my heroes. They do the stuff that makes my eyes gloss over so I can crack jokes on Twitter, make music, and write.


I imagine that most people here score higher on the passionate index because they've sought out hacker news which posits on entrepreneurship, programming, technology etc... But this advice should be for any career. You spend a lot of time at work and working. It should be enjoyable if you are fortunate. I have watched interviews of Bill Gates and Warren Buffet and what is striking is the technical interests around their work, e.g. what they actually do on a day to day. That's the passion.


This actually pairs nicely with the "How Do You Know a Developer Is Doing a Good Job" article on the front page right now.

Truly raising the standard of the development profession doesn't mean keeping out people who are less skilled, passionate or competent. There's a lot of room at all levels. What's most critical is that the people who form teams of developers, coordinate their work, judge their value and reward them are good at what they do.


I'd rather have a colleague who isn't passionate about programming, but passionate about helping the customer than the other way around. Though I'm not even sure what people mean when they say someone has to be "passionate". How do you measure this?


Passions don't necessarily have to be ingrained from birth. Plenty of people get into something for one reason or another and gradually build their passion


"If you are pursuing programming to become wealthy, you’d be better off pursuing a career in management"

This is hopefully false for interesting companies, otherwise, just flee! If you are working for an organization that does not value senior software engineers, this organization is just crap.


It depends on what is meant by "wealthy" really. Plenty of non-manager technical staff in the bay area can become financially well enough off to be considered wealthy, given enough time and judicious allocation of their savings. There are very few programmers outside high-paying tech hot-spots like SF who will ever be wealthy without moving into management.

There are other factors to consider though. Generally speaking in most instances, even the interesting companies, management is going to be a faster, more reliable path to wealth. My observations lead me to conclude that:

1. Most technical staff is generally considered fungible by management, even at interesting companies, so layoffs can and do tend to impact non-management harder and more frequently, and this impacts long-term earnings.

2. Even at interesting companies management is generally compensated better in terms of salary, bonuses and (as management level rises) bonuses and stock grants. This generally isn't just a few percentage points difference in the pay, either: in most places outside those high-paying hotspots managers tend to be paid wages that are much closer to SV wages than programmers will ever see, so the difference is even greater there.


The article is quite good, better than the title of it :)

We need a better way to interview :)


No, I don't need to make my whole life about X to be decent at X.


"Make Programming Great Again"


This is more of a philosophical stance than one related to any given industry, and one I rather strongly disagree with. It revolves around the idea that a good enough person has a passion, that passion has been obvious to them since age 10, and it is something they should devote themselves to that in totality.

An essay of PG's [1] is in agreement with this concept, but even it at least makes note of a certain important point:

"Some people are lucky enough to know what they want to do when they're 12, and just glide along as if they were on railroad tracks. But this seems the exception. More often people who do great things have careers with the trajectory of a ping-pong ball. They go to school to study A, drop out and get a job doing B, and then become famous for C after taking it up on the side."

[1] http://www.paulgraham.com/love.html

I think PG's essay was written with fairly privileged people as the audience, though. Most people are surviving, they don't really have room to study different things and juggle professions. What kind of people often do? Software developers. For all the bad rap that software gets, it still strikes me as one of the most mobile professions out there, and it's fairly easy to branch out into something else from it, and it provides enough money for a good buffer that such life changes need. Yet the blog suggests you shouldn't even touch software unless you're already passionate.

But, aside from that point, I have never seen any evidence that every single person on Earth has a passion deep inside of them that needs to be unlocked. That sounds very metaphysical, like some mysterious force out there is bestowing passions on people (especially ones that neatly fit into societal boxes called "jobs", and, yes, I know PG is not saying that, but the blog post author appears to imply it). I'm sympathetic to metaphysical ideas, but they need to have a reasonable basis, and this one just seems to be wishful thinking. You would at least hope that passions are more diffuse or that people can have multiple ones, because some programmers must have been born when computers didn't even exist yet!

This seems like a very dangerous idea to throw around, too, how are people without a passion supposed to feel? The implication seems to be that something is deeply wrong with them and they need to go fix it. Also seems to be ripe ground for impostor syndrome.

My guess is that single point passion is likely a genetic or early developmental trait, and is an uncommon thing, especially since the average person usually needs to do lots of different things at varying skill levels. I imagine it's also somewhat associated with impulsive behavior because a characteristic of a passionate person is that they can't stop themselves from engaging with their passion. Most people are not like this and can't understand it, from what I've seen. Most people want to do multiple different things, hence hobbies. I would like to have 3 professions, just not do them all 8 hours each, and preferably ones not really related to each other. Like programming, martial arts, and cooking. Really, I'd like to do 10-20 things, and the list can get bigger than that, but I'd be pretty happy with 3.

There is someone that this idea really benefits - that each person will pick just one thing, and work almost exclusively on that one thing and little else - but I don't think that someone is the person themselves.


Pursue programming with passion




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: