a companion discussion area for blog.codinghorror.com

Programming: Love It or Leave It


I’ve become too good at attaching a cover sheet to my TPS reports to quit now.


Another possibility is to try to move into another part of the field. I’ve been bouncing around cube jockey positions for a while now and I feel ready to move to a more creative part of the business. So a friend of mine and I are working on a Web 2.0 site and I wrote a 2D game engine from scratch and I’m looking for an artist collaborator to help me turn it into something marketable.

Software Development, like life itself, is what you make if it. If you aren’t happy then you need to think about what would make you happy and start to move towards that.

Wish me luck!


I loved programming so much, I switched careers to it a decade ago (at age 30) from research science. The pay is better, and the work is easier, and it’s just damn fun.

That being said, I am getting tired of programming for clueless people on things I’ve done a dozen times already, and being treated as a replaceable part while they take all the rewards.

Now I’m spending my time trying to find or found a company that will keep my family fed and warm, let me program rather than be a full-time entrepreneur (I’m looking at you, Spolsky), and ultimately, help other programmers do what they love. Dreaming and doing…


I’m gonna start off by saying I’ve never in my life been paid to love anything. And I’m pretty sure no one here has, either.

The second point I would like to make is that anyone saying they are programmers because they love writing code - that is very immature, I’m talking World of Warcraft / Dungeons and Dragons immature. Programming is a job, and not a hobby.

If all we had to do was go to work and write code, then I would see your point. But as you and I both know, that’s a very small set of responsibilities we have. So small, the longer we do it - and I’ve done it 13 years - it becomes more and more negligible.

Other responsibilities include being the new guy and dealing with a bunch of dinosaurs who feel ‘threatened’ or that they aren’t paid accordingly. Another responsibility is dealing with lying, manipulative, bureaucratic management. Another responsibility is dealing with nepotism - that glorious situation where your coworker, who is coincidentally a senior programmer’s twin brother, sister, wife or cousin, can do no wrong, and when you walk in at 9:31, someone’s waiting in the kitchen to give you your verbal warning.

How about the responsibility where 3 out of 4 programmers spend half the day playing basketball, or Halo in the game room, and you’re the one who is making it possible for the CEO to make his next Mercedes payment - because you love writing code? How about when your boss or team leader or chief architect has been out of school for two years, strutting around the office like he’s Bill Gates, giving you orders? Or how about when you see a new programmer who is very enthusiastic about his work and trying to learn, being run through the wringer, and eventually fired?

The love it or leave it Texas mentality I grew up in is way off base.

This business isn’t about loving your job. It is just like any other - from mechanic to neurosurgeon - and we do what we can to support ourselves and our families. What has made it the most difficult for me over the years, are the employees who have some sort of ideology that the problem is with the people who are actually coming to work to do their job - either overlooking or simply ignoring all the other factors at play.

Don’t criticize the people who are thrown into the mix with little or no guidance, because that’s exactly how it works. Rarely, has anyone sat down or taken the time to explain how things work, to me. Every single time, I have to learn a new technology, language, or new apporoach to solving similar problems - completely on my own. There is always some know-it-all sitting up on their pedestal, judging people like me (and people like you) who are just trying to do the best we can.


I just talked to a guy yesterday (recently sold a hardware company) who said 20 years is all anybody can handle in the tech industry. Then you are out. I disagreed. Going into another career that pays less where you work more doesn’t seem appealing. Giving up entertainment, sometimes a social life is what we do to be decent at programming. It’s harder with a family - but doable. Sure the 22 year old out of school can code all weekend while I take the kids to a soccer game, but I have to make time. I know plenty of guys way over 40 and even 50 who are still on bleeding edge technologies - doing what they do best. If you are good and love it - you just do it.


As someone who will be graduating from a CS grad degree and heading off to one of your aforementioned big 3, I still feel inadequate and went through a great deal of struggle wondering if I was cut out for cs many times in my education.

I think that’s essential to establish your love for it.

Well, maybe not the first…I am hypercritical of myself and even with an ivy league education and a 6-figure salary from a top-3 software company as proof that I should consider myself a 'great programmer, I still struggle to believe I am that good. I constantly look to improve myself in every facet of life, not just programming, so maybe that’s another trait, is the willingness to never settle and constantly improve his/her programming.

As far as the other problem with wondering if you’re good enough, I mean I remember spending nights in the computer lab crying because I didn’t think I would finish a project in time. I struggled through some projects, I asked myself if I was cut out for it, I wanted to throw my laptop a few times at code that I swore was supposed to work. But regardless of it all, I couldn’t see myself doing anything BUT computer science. I couldn’t leave it, and I still can’t, and I don’t think you can truly appreciate your craft unless you REALLY hit hard times and REALLY push yourself to the limit – even if it means a double-all-nighter to finish that final project. I have a greater appreciation for it now that I have questioned the very thing you believe should instantly drive someone to leave.

I think you also need to have a life outside of your work. As much as I love doing this, and I’ve already considered work to be permanent summer vacation when I leave school, I still demand that I give myself a life outside of programming. I don’t think you can truly gain perspective for your passion unless you take up other hobbies. If you smother yourself in code and choose not to do anything else, you can burn out or worse, grow to hate it with enough time.

Anyway, I think I’ve rambled way too much, but I think you need to question your work just like one would question his or her beliefs in religion, politics, etc. in order to truly appreciate the gravity of his/her work.


I’ve written about this problem before.

If you care about programming, than you’re part of solution, not the problem. There’s a fascinating civil war going on in the world of software development, which chiefly consists of four factions. More amazingly, only two of these groups really have any idea that there’s a battle raging, and the largest group of all doesn’t even know it exists! It is this weird division that is crippling our ability as professionals to engage in a dialogue. Those with the credibility and expertise to get wound up and have a grand debate are a nearly invisible minority when compared with the vast remainder who don’t know/don’t care. That latter portion, is, ironically, the very cause of the problem.

Read the rest at:



Our nation better get a hold of itself soon, or we’ll continue the BS that we’ve been handing our citizens to the point where the only jobs WILL be do you want fries with that? type jobs.

It has NOTHING to do with being good or not. It has more to do with certain circumstances, some of which are location. And NO, some people cant just pick up and move an entire family.
Mike on December 29, 2008 08:29 AM

EXCELLENT EXCELLENT comment Mike. There is a lot of disrespect and lack of resources made available for programmers to work and do their jobs. Why in the hell can’t every thought worker(AKA PROGRAMMER) be given an office with a DOOR THAT SHUTS SO HE CAN CONCENTRATE? Instead of improving our craft and nurturing Software development into a profession with certifications to qualify who is fit to practice; industry icons like Bill Gates have only gone before congress and asked for legislation to allow more H1-B visas. Sigh The US is fast approaching third world status if only outsourcing is encouraged by businesses and politicians.


John B,

Great post. I’ve dealt with all of those issues that you mentioned. Being smart and getting things done is a good way to be taken advantage of. There are a few more things I’d like to add:

How about your boss who has a GED (and no college education while you’ve invested YEARS and thousands of dollars/hours in your education), telling you you want to do? Or how about walking into the boss’s office and catching him watching movies while you’re working hard to meet a deadline, and he won’t even look up when you ask him a question. Or the non-programmer co-workers who know nothing about programming who are jealous because you have a sit down job…yet they are the ones who spend most of their time BSing while you’re cranking out code (while they are distracting you from doing your work). Or the managers who have you sit in a crowded location full of distractions, while their buddies get the private cubicles in the quiet locations so they can surf the net and play games. Or the managers who shame you when you try to take time off that you’ve EARNED.

I can relate that everything you learn has to be on your own. I’ve never been sent to any kind of training by an employer. It’s been up to me to learn as I go. If somebody asks ANY question about ANY aspect on computers, I’m expected to have an answer immediately even if I haven’t worked with the given technology…or look like an idiot.

And you’re right, there is no shortage of people who observe and judge others. It isn’t the work that bothers me about this field. I enjoy the work. It’s the political BS that takes away a lot of the passion.


EXCELLENT EXCELLENT comment Mike. There is a lot of disrespect and lack of resources made available for programmers to work and do their jobs. Why in the hell can’t every thought worker(AKA PROGRAMMER) be given an office with a DOOR THAT SHUTS SO HE CAN CONCENTRATE?

That’s a good question. In my current job, my desk is positioned outside the boss’s office so he see me and make sure I’m working. I’m also in a busy, high traffic area with a lot of distractions. While the favorites get desks in quiet, private locations where they end up surfing the net for much of their shifts.

In my previous job, I was in another high traffic area with lots of noise and distractions. In the job before that, I was in a cramped office with 3 other people who were always BSing. Kinda hard to concentrate in those types of environments.


Programming is a job, and not a hobby.

You’re doing it wrong.

I’m sorry that your work has gotten you so jaded, but all of the other responsibilities that you mention, aren’t in every job and aren’t programming. I don’t know about you but I look forward to getting back to my office and getting back to work. Similarly, a friend of mine loves woodworking. He only sells the things he makes because he needs to eat.

So when you say …And I’m pretty sure no one here has, either. I respond wholeheartedly to you with Nay, sir. You are wrong.


Ummm, $100K is not that much in New York. And if he’s paying less than $75K to good college graduates - he’s ripping them off. Even Microsoft will pay more than that to qualified candidates.


@DMB Some will take the pay cut for the experience of working with those they admire.

PS This captcha sucks, I’ve emailed every bot in the tri-state area and let them know it’s orange


Here’s my $0.02 – I love programming. Really. I’ve gone to bed wrestling with a problem only to have an Aha moment at 04:00, then leapt from bed, fired up the computer and banged out an elegant solution. I read blogs, I volunteer my programming skills for community projects, I try to stay abreast of new technologies. I really do love this stuff, and I’m recognized by my peers as being a go to guy.

But you know, if I were offered a package deal to leave my job tomorrow, I’d think long and hard. Why? Because I’m tired of filling out redundant information in three separate systems (incident tracking, workflow and CM). Tired of endless rounds of audit reviews and requirements for the simplest solutions. Tired of having a trivial issue (literally – half an hour or less to code and test a solution) take weeks to get into production because of the above, all the while fending off clients questioning why I can’t get work done more quickly.

It’s not the coding I can’t take or don’t want to do – it’s the endless, mind-numbing bureaucracy surrounding every little nit.


john_capitalist : Let the anti-Indian comments
john_capitalist : begin …oh wait they already did.

What’s wrong with ‘anti-Indian’ comments?


I’m a little put off by Joel’s attitude about this. He seems to be laboring under the delusion that most coders work in conditions as nice as those at his company.

I know more than enough coders who are treated little better than telemarketers. A tiny noisy cube where you’re monitored for your 10+ hours to make sure you’re churning out code and back from your 30 minute lunch on time while the PMs, BAs and middle managers are in quiet private offices watching porn and putting together the latest of their insane requirements documents and development schedules that you won’t be consulted on and be blamed for not being able to deliver in 2 weeks.

Yes, there are other professions that pay less but their responsibilities are drastically lower and demands on their abilities both logical and creative are even less so. Some require some education and some require some training but a builder will never have to relearn how to swing a hammer or design a better roof. HR and CSRs might have to learn how to use Outlook and Word but they don’t have to write them from scratch.

Other people can be passionate about their jobs but a garbage man won’t stay up nights agonizing about the best way to heft a bin. When a mechanic changes my oil, no amount of love and attention will make that oil change drastically better than another.

What we do has an impact on countless people’s lives. Our code helps doctors save people’s lives, brings people together, prevents people from getting lost, educates the masses, protects your property, manages your savings, cures diseases and explores space.

Passionate coders take what they do seriously and give everything they have to their work. What I’m trying to say is, no Joel, I don’t think we’re spoiled. I think we do a very hard job that demands a lifetime of study, creativity and hard work under often under difficult conditions and without credit. I don’t think its asking too much for coders to be treated as well as doctors and lawyers.

Yes, medicine and law will evolve over time but can you honestly say that at the end of a lawyer’s career he’s had to learn and evolve as much as a good coder? The difference is that we don’t have to be licensed and go to expensive schools.

If a doctor screws up, at worst, one person dies. If we screw up thousands of people get the wrong pills, millions of dollars are lost, companies go out of business, the police don’t get there in time, the lights go out.


Not sure the job market has been shrinking, I have been getting job offers for the past 2-2.5 years from companies that I had lost contact with after the big burst. Not generic offers but me specific however based on job skills and wants from 7 years ago.

As for a programming job I have not had one for the last 9 years but it is a rare month that I don’t spend a few days or weeks doing programming, most of them are smaller standalone programs which I enjoy alot more then the massive programs of my programmer past.
The job titles usually have admin or engineer in them and pay more then programmer. With companies not wanting to do in house programming you don’t get programming job titles But few people can do a simple shell/batch file and companies still have large amounts of customize stuff they need, be it web, database, small applications.
So if you say you can solve the problem you can pick what you want to do and let the uninteresting ones drop by the side.

One last item the computer business is very ripe for burnout, the subject of the original message is probably suffering from it. You are making decent money take your leave and go places and not just for a few days take a week or two at a time, leave the computer at home. Also plan to do a sabbatical, for 3-4 months, after a decade or so, it is the best way to clear your mind and get a focus on what you want to do.


Mike says that it’s Common Sense that we need to bring back programming jobs to the US from other countries. Great. How do you propose to do that? Be specific please.


Web developers are still in high demand and we have plenty of opportunity to be creative. After all, there usually isn’t even a web designer hired for the project so you can even play with Photoshop. A bad economy just means there are more entrepreneurs trying to solve their financial problems with an online business. Just make sure you get paid. If you are a corporate developer, you should start freelancing as a web developer and acquire the necessary software and office equipment to do it full time. I even recommend web development work to the homeless. There are a lot of homeless people who manage to participate on social networking sites. By the way, I’ve checked on various web worker sites and most web developers are reporting higher than usual demand for their skills.


I’m glad to see you’re back in your usual form :slight_smile:

(After working on StackOverflow)