Programming: Love It or Leave It

I was going to write a long rant, but forget it. No hard feelings Jeff, but you admitted it yourself: you’re too biased to make this call, SO DON’T MAKE IT. You’re simply too disconnected from real programmers and the working world for this post to mean anything. You lack… perspective.

One more thing: why are you doing this? What do you hope to achieve? Do you think people will actually quit their jobs because you told them to love it or leave it? Why is it unfair for bad programmers to hold down jobs that good programmers have? Wouldn’t most good programmers have the mental faculties to understand the sacrifices one must make in order to do what one loves for money? Wouldn’t most good programmers choose against those sacrifices for the good of their craft?

  1. I have been developing code for over 15 years now. Before that I worked for 7 years in S/W QA. I am passionate about my work, but not obsessed with it. Yeah, I used to work 70 to 80 hours a week when only 40 to 50 was required. Now I don’t for a number of reasons: I don’t need to (I am more productive now), I have other interests that occupy my off time, I need the downtime to recharge/reboot/flush the cache. I try to work smart instead of long hours. So don’t measure whether someone is good or passionate by the amount of time they put into an endeavor. A well rounded person is usually a better worker in the long run.

  2. Judging other people’s work by how you would solve a problem is not always valid. There are many different ways to write logic to solve a coding problem - many are as equally valid, elegant, concise and readable as the one you would choose.

  3. Would I leave programming? Not until I retire. I like what I do. Often I love it. Once in a while I hate it - but I get over that. I got into s/w dev by mistake (I have a EE degree), and before I went to college I worked just about every crap job you could imagine to make ends meet - many of those jobs I hated, so I know the difference.

But if I won the lottery today, I would retire and probably not write another line of code. I have plenty of other things I would do instead - like laying on a beach in Tahiti, or touring Europe on my Ducati, or taking an occasional philosophy/science/math class - of which none would earn me money, but none of which I would ever get bored with either.

Meanwhile, until I retire - I like what I do, but it is a job and I wouldn’t do it if I didn’t get paid or if I didn’t need to get paid.

I am not a ‘rockstar’ (most of the coders I have met who think they are a ‘rockstar’ aren’t either) - a totally overused term. I take pride in what I write - but I am often held back by deadlines, by supervisors who feel we aren’t going to need what I want to do then six months later decide we do indeed need what I wanted to do at the beginning (much more often than not).

  1. I do agree that most projects/companies/startups seem to fail mostly due to managerial decisions/mistakes - some significant portion of which were scheduling problems (impossible deadlines/milestones, etc.). Sometimes it was also the market/economy taking a left turn or downturn that was unanticipated or that could not be planned for. Sometimes the technology was at fault (the code, the platform, the hardware, the architecture, the time estimates which most devs are terrible at - including myself). But yes, more managerial problems than dev problems - and yet it is usually the management staff that stayed employed and the dev staff that was let go.

Certainly, if you don’t enjoy writing code, think about finding a profession that you do enjoy. Life is too short to work in a job that you hate while there is something you could work at where you look forward to going to work everyday. BTDT.

LCB said: Certainly, if you don’t enjoy writing code, think about finding a profession that you do enjoy. Life is too short to work in a job that you hate while there is something you could work at where you look forward to going to work everyday.

This is the problem. Life is too short to be working a job in the first place! let alone a career where you have to go to school for 4 years! and then work at least 8 hour days 5 days a week! OF COURSE life is too short to be doing that! Life is too short to be doing anything you don’t want to do longer than you have to. So take my advice: work as little as possible. I swear to god you will be happier.

The problem isn’t that programming sucks, it’s the programming jobs out there.

Gil: The worst programmers I’ve ever met were very, very proud of their own work and couldn’t stand anyone else’s. They tend to be the ones who can’t learn new tricks. Are you sure you are not one of them?

Don’t confuse attitude and productivity. Is Steve jobs the biggest asshole in the Silicon Valley? Yes. Is his company currently the most successful in the Silicon Valley? Yes.

So is Steve Jobs a bad CEO or a good CEO?

There are a couple words I would use to describe somebody who is proud of their top notch code. Bad isn’t one of them.

Looking at the amount of responses and the pure length of some of them, I would say the topic hits the nail :slight_smile:

I must be grossly underpaid. If I made /half/ the money your posts which gave dollar amounts said ($70k? Average $90k?!), I’d be rich (for my area anyway (a small city in New York state)).

Your blog makes me want to ask for a raise.

This is a most righteous debate…

I’m not in the industry… But I try to follow it through others’ blogs… Good coder, bad coder… It doesn’t matter… At least you’re being paid to do what I love to do in my spare time… What I’ve loved to do since the age of 6… At 34 years of age it is past my time to go back and finish that B.Sc.CS degree and do what you guys do, what with life’s responsibilities and all…

I didn’t get my programming degree until I was 30. Maybe that’s I appreciate it more than my peers. It’s not something I picked blindly out of the college book, went into because a friend or family member did it or chose because I wanted to make big money. I chose it because I enjoyed working with computers and wanted to learn more. Until that point I worked in just about every aspect of manufacturing from assembly line worker to clerk. When I downsized at a job it took me 5 months to find a new job because I had no education. I may not make $70K but I make a lot more then $8 an hour.

I love being a programmer. I write programs as a hobby. I love learning new languages and keeping up my skills on languages I don’t get to use. That’s why I hate hearing some of my coworkers talk about how they need to get out of this business. How they hate to write code all day. Well you know what - do it! Stop raining on those of us who actually enjoy what we do.

You need to shut the fuck up, you pretentious little turd.

What happens to surgeons with shaky hands, or surveyors who can’t see through a transit? They become managers. The same thing happens with programmers who can’t code or EE’s who can’t ground their circuits. They still need to eat, feed their families, etc. They can’t all sell real estate or build custom furniture. Be happy they’re no longer inserting rubbish code in your libraries, and are only asking for absurd schedule and budget requirements. They won’t be around very long. They’ll be replaced by some failed manager from some other failed project.

I’m a programmer (and I’ve loved playing with computers for 28 of my 37 years), but I do something else for a living.

The mistake is to throw in your lot with the people who think that computers are (a) useful and (b) lucrative.

I concur. Getting paid to do something you love is a privilege. Indeed in some ways I think one could legitimately talk about a moral duty in ones approach to programming. For example I think it’s pretty close to a ‘moral duty’ for developers to grok at least the basics of parallel programming in order to enable the next leap in computing that the move to many core offers us now that that the ‘free lunch’ of fast enough clock-speed increases is over. By accepting that we’re all going to have to be a little humble and maybe learn some new stuff then we can help give back to society by ensuring that we continue to be able to deliver engines that keep abreast of ever increasing data volumes. Science, healthcare, manufacturing, education, entertainment – these are just some of the industries we as developers can empower. It frankly rocks to be a developer (even during those 2am debugging sessions).

I’m a damn good programmer, the go-to-guy for all kind of problems, the person who is always ahead of the curve and comes up with inventive solutions, but somehow I lost the love for this stuff. Anymore the computer is a tool, any dev job I happen to work on is just a job.
I stick with it because the money is good, that’s pretty much the truth.
Partially it’s because I got tired of seeing my best efforts turn to nothing due to things out of my control (budget cuts, politics, power-plays, management changes, no management, too much management, hype, etc), but that can’t be all.
I truly don’t know why, but I can’t have any more discussions about algorithms, practices, patterns, and stuff like that. I skip company parties because people always end up talking shop, and I get a sick feeling in my stomach. Often I just want to throw the monitor out of the window.
Been feeling like this for over three years.
Maybe I’m just burnt out.

Good article. From my experience, before I continue, I am from India, and I am a programmer, I got into programming because I am interested in programming, not because someone forced me into it and certainly not because it is some hot trend, and certainly not because I want to get a fat pay cheque. I choose to be a programmer. Programming is profession and an art, and a very creative process, and requires thinking. I usually do things my own way, I enjoy writing programs with my own hands, rather than copying and pasting from Google, and also I can’t get a good night if I can’t solve something. I changed jobs not for pay, but because the work got boring, or because there was no work, or I did not get along with my higher ups, or because the work was not challenging enough or because of too worst office politics. Truly if you are really interested in programming and as long as the pay is enough to pay is descent enough to pay your bills and run your family without any financial problems, by that I mean enough to have a descent life without having to borrow money at the end of month, enough to give you some descent sleep everyday. I am really not convinced with companies paying so much salary and bonuses that people actually amass wealth for their next 3-4 generations. I can take the liberty of quoting few examples I suppose, these highly paid programmers buy 3-4 houses in the name of their children, invest in few places 2-3 cars, or buy a flat that on EMIS and spend the rest of their paying EMIS, I am talking about people who want to display their lavishness, I am not against them enjoying what they earn, but with a little future thought had they been careful it would have helped them now, because the current economic situation is bad, people are losing their jobs, companies are paying half salaries, these high paid programmers who got used to spending money lavishly are suffering because either they have been kicked out of the job, or getting paid half of what they used to earn, ok how does it relate to this topic, because most of these programmers have joined because of the pay and some of the have jumped jobs like rabbits for few dollars more, not because they like programming. I ranted too much, one last thing to say before I close my ranting, lot of people sorry to quote about software testing here, but lot of people I know have become test engineers without having a good foundation in programming, and really have no idea what the hell they are testing and why, they can’t write a descent test case, but they jumped into the bandwagon because the pay is high. I blame the companies for paying so much and hiring people without proper interview process “Hire people because we have a huge project”, I guess the good old concept of “Hire the right person for the right job” doesn’t fit any more. I ranted too much.

But if someone has any doubt at all about programming as a career choice, they should be encouraged to explore alternatives – and make room for another programmer who unashamedly loves to code.
You seem to imply (but I may be misunderstanding) that if you need to explore something else, your love for code is questionable and you should move over. I think you’d be wrong on that one: there is an age where you’d be an idiot not to consider alternatives. Case in point: I started programming at 10, published my first professional video game at 12. My carrier was clear, right? When 17, I decided there might be more to life, and started seriously studying math (I was still a geek, that was my way of exploring the wide world :slight_smile: ). Then, I tried to understand that beautiful universe and got myself a PhD in physics. And then I decided that programming was still lots of fun and offered better carrier opportunities than physics, so here I am, working for Microsoft. But I really don’t know what I’m going to be doing in 5 years, maybe I’ll be a writer, maybe I’ll do something completely different. What I’m trying to say is that the viewpoint you expose here might be just a little bit narrow-minded. I’d tend to think reversely that a good engineer, given enough time, should be able to be successful and have fun in any field. And maybe they should. Isn’t it a little sad to do the same thing for 50 years? Or are you trying to say that you just want idiots out. I’m sorry to announce that this will never happen in any field…

So if a programmer ever hints, even in passing, that they might possibly want to exit the field – they probably should

Like Nick said yesterday, I totally agree with everything, but the above statement.

To add to what Nick said; I’ve felt this way once, and it just turned out to be that my job sucked, and I’d been stuck in a rut for so long, that I’d forgotten why I loved it. Once I started learning something new, my fire was reignited.

I feel about the same as GVdP.

I agree completely, people that complain like this really don’t have a passion for writing software; maybe they did at one point and lost it or maybe they never did.

When you have a passion for programming you will write code at home just for the fun of it, you are always looking at new ways of doing things, and you stretch your abilities by ‘tinkering’ with things you don’t know anything about, like machine learning or signal processing.

I feel very lucky to have found programming late in the game. I started when I was 22 and I have been at it for 11 years (8 professionally). I do not have a degree and I make over six figures. There aren’t many industries where that would be possible.

I’ve also been lucky to work at places where cutting edge technology is a core focus. I can understand someone hating their job but, if you’re worth your salt, you will be able to find a good, fun job with a little effort.