The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
TechInterview.org
CityDesk
FogBugz
Fog Creek Copilot


The Old Forum


Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

Thinking of leaving the industry

After reading the disgruntled posts here from long time programmers and hearing so much about ageism and outsourcing, I'm thinking of leaving the industry.  What is a good industry to get into where your programming skills would put you at an advantage? 

In addition, I am thinking of going back to school for another degree.  What are some good options other than an MBA?  Seems like MBA's are becoming a dime a dozen these days.  Some of the programs that I've looked at include Instructional Technology, Journalism, Fitness Management, and Safety/Health/Environmental Management.  Just looking for something that will have the best chance of keeping steady employment until retirement (in my early 30s now)
Bob
Sunday, December 28, 2008
 
 
I don't understand why this "leaving the industry" thought process is so predominant in this little corner of the universe.

This is a TERRIBLE time to leave the industry. I don't know if you've noticed, but there are half a million NEW unemployed people JUST THIS MONTH.

Although the tech industry is not immune, programming jobs are not really being impacted. Yes, there are fewer openings, but there are still openings (see my job board for evidence). I still haven't met a great programmer who doesn't have a job. I still can't fill all the openings at my company.

Our pay is great. There's no other career except Wall Street that regularly pays kids $75,000 right out of school, and where so many people make six figures salaries for long careers with just a bachelors degree. There's no other career where you come to work every day and get to invent, design, and engineer the way the future will work.

Despite the occasional idiot bosses and workplaces that forbid you from putting up dilbert cartoons on your cubicle walls, there's no other industry where workers are treated so well. Jesus you're spoiled, people. Do you know how many people in America go to jobs where you need permission to go to the bathroom?

Stop the whining, already. Programming is a fantastic career. Most programmers would love to do it even if they didn't get paid. How many people get to do what they love and get paid for it? 2%? 5%?

I don't get the negativity in here. How did the Joel on Software discussion group turn into a mutual mope-fest for angsty emo girls.
Joel Spolsky Send private email
Sunday, December 28, 2008
 
 
Actually $75K is nearly top-level senior developer compensation here, but then I'm not on one of the coasts.  Starting is more like $45 to $50K.  You're on the money about most of the rest of it though Joel.

The biggest trends I face are (a.) less development work and more knowledge transfer to contractors and (b.) an increasing level of bureaucracy.  I kid you not, my time has to be reported in three places, and requesting time off means entering requests into 5 systems.  Lots of this comes from the growing view that IT is a cost center, in a very large established organization that is almost entirely about information and money!

But with over 30 years in, and a defined benefit retirement plan... I won't be moving soon.  Most of my own skullsweat these days is devoted to prepping for Career 2.0 post-retirement.  However I'm not saying I plan to leave this field either.
Codger
Sunday, December 28, 2008
 
 
Haha emo girls... wow Joel.  I feel the same way since I enjoy my job and feel lucky to be paid well.

Sturgeon's law applies - 90% of programming jobs are crap.  We hear lots of stories about pampered employees at Fog Creek and Google, but that's a very small portion of the industry. 

But it also applies outside the industry, so people leaving will more likely than not have a rude welcome.

On the other hand, I have to admit that a lot of the posts on this board describe genuinely bad jobs and situations.  One example of something that surprises me the most is how some people need a manager's or a committee's (!) permission to check in code, which sounds insufferable.

Of course that's not as bad as needing to ask permission to go to the bathroom, but there is the same element of being treated like a child that makes people disgusted with the industry.  Programmers don't always help themselves in this regard -- most programmers are not good at thoroughly testing their changes, and writing maintainable code to enable future changes, so then they have to be treated like children rather than professionals.
Moosebumps Send private email
Sunday, December 28, 2008
 
 
If the tone on JoS is a significant factor in you wanting to leave the industry, you should probably spend less time here or at least consciously take things with a grain of salt. This place has a lot of ISV owners and people in the early to mid career transition zone, and both of those groups tend to have a negative view of normal industry jobs.

If you're really concerned about ageism and outsourcing, changing fields is one option. Another is to work on developing your communication skills while remaining sharp technically. There's a shortage of people who can speak "suit" as well as do and understand the technical work. People on the interface between engineering and the rest of the company will always be harder to outsource and in fact become more valuable with increased outsourcing.

Set aside the politics and the risk of being outsourced or suffering age discrimination. Do you enjoy what you do? If so I'd say hang in there. Despite all the carnage in NYC, software industry unemployment is still half the national average. If you've got the money for grad school, tuck it away and wait a couple more years to see what happens.
clcr
Sunday, December 28, 2008
 
 
Also: When I was in college I debated whether I wanted to be a programmer or not.

The  major downside I saw is that programming involves sitting in front of a computer ALL DAY.  This is true -- I pretty much do sit in front of a computer all day, although I have found ways to break things up.

BUT what I noticed is that SO DOES EVERYONE ELSE, nowadays.

My friend works at a non-profit -- sits in front of a computer all day doing office work.
Finance -- making excel spreadsheets all day.
Sales -- making excel spreadsheets all day.
Research -- looking up papers a lot, organizing information and experimental results on the computer.
Every non-programmer at work -- web designer, technical writer -- sits in front of a computer all day.

So of all the things to do while sitting in front of a computer, programming is definitely the most fun.
Moosebumps Send private email
Sunday, December 28, 2008
 
 
But do they put the proper cover sheet on their TPS reports? <g>
Codger
Sunday, December 28, 2008
 
 
I agree with Joel, stop the whining already. I look at the people I've worked with, and I have so many more options than they do. I make more money than most of them, I can easily start a company by myself and survive on my skills alone, I can do contract work easily, I can work in a ton of different fields, etc. Most people don't have those luxuries, and it bugs me that so many don't recognize that.

Start focusing on the positives, grow a spine and stop letting people walk all over you. What else could you be doing that is so much better? Attorney? Super high rates of depression and drug abuse. Doctor? They are bitching all the time about how they're getting screwed by insurance companies. Investment banker? Doesn't seem like a good choice right now. Sales? Sales people seem to be treated like crap in many organizations. Real estate? Not the best time to get into that.

All careers have their problems, but I don't see what's so much more appealing about other careers.
sloop Send private email
Sunday, December 28, 2008
 
 
>> There's no other career except Wall Street that regularly pays kids $75,000 right out of school, and where so many people make six figures salaries for long careers with just a bachelors degree <<

The industry absolutely does not "regularly" pay entry level developers $75k.  Microsoft and Google do (did?).  This is a small subset of entry level hires.

The vast majority of new grads don't wind up in jobs like this.  They wind up at corporate IT departments and outsourcers (Accenture, Bearingpoint, etc.), where they make much less, do much less interesting work, and are constantly in danger of having their jobs sent to India.

Yes, maybe for the very top people things are still good, but for working-stiff LOB programmers like myself, things are bad and getting worse.
dave
Sunday, December 28, 2008
 
 
One more thing...

>> Most programmers would love to do it even if they didn't get paid. <<

Joel, understand that while this may be true for the people YOU know, it is completely wrong as a general statement about programmers.

The vast majority of programmers who spend their days banging away on boring crap like ERP enhancements, etc., do it for 1 reason only: to provide for their families.  Full stop.

Implying that we are all showing up at the office every day because we inherently love programming is a convenient fiction perpetuated by corporate management as a way to delegitimize programmers' efforts to better their pay and working conditions.
dave
Sunday, December 28, 2008
 
 
Joel,

"I don't understand why this "leaving the industry" thought process is so predominant in this little corner of the universe."

Possibly because of the deteriorating work conditions programmers are under.  Remember 99.99% of the programming jobs out there are not working for someone that understands programmers or programming.  Most programming jobs are not about developing cutting edge, interesting, or world changing software.  Today in most environments programming is found in a cost-center.

"This is a TERRIBLE time to leave the industry. I don't know if you've noticed, but there are half a million NEW unemployed people JUST THIS MONTH."

Agreed.  Now is a difficult time for a career change and that applies to most fields.  I'd suggest wait and see.  Maybe continue to work and study something new in night school.

"see my job board for evidence"

That's anecdotal evidence not to mention a few jobs on your board doesn't send the same message to me.  A look at the major job boards turns up multiple head-hunters advertising the same few jobs.  Actually contacting major players and you find job freezes.

"Our pay is great."

That's not entirely true.  Some jobs pay great and some don't.  Sure top new grads can make good money, but that doesn't apply to the majority.  And don't forget most people end up in operations cost centers.  Most are not developing interesting products.

"there's no other industry where workers are treated so well"

Again, 99% of people do not work for cutting edge companies.  They work in cost centers.  The vast majority of programmers are NOT treated incredibly well.

"Stop the whining, already."

IMHO, you are out of touch with what the work environment for 99% of programmers is.  Think cost center.

"Most programmers would love to do it even if they didn't get paid."

I think that's an apples and oranges comparison.  We'd all love to be working on our own projects, but we can't afford to.  We have to work to pay the bills.  Programming to pay the bills is many times not enjoyable.

"I don't get the negativity in here. How did the Joel on Software discussion group turn into a mutual mope-fest for angsty emo girls."

Again, no disrespect intended, but you are out of touch with what it is to be a rank and file programmer today.  If it were just one or two people complaining then it would most likely be personal issues, but when many people start complaining there is a systemic problem.
Just my $0.02...disregard if I am wrong.
Sunday, December 28, 2008
 
 
"I can easily start a company by myself and survive on my skills alone, I can do contract work easily, I can work in a ton of different fields, etc."

I'm guessing you've never actually tried most of these.

I've worked in software, hardware, communications, and health fields as a programmer over the past 20 years.  I wasn't able to just jump from one field to another without preparation and planning.  It is not quite as easy as you imagine it to be.
Cimberz
Sunday, December 28, 2008
 
 
So, move up in the industry. Get a better job in the industry. Become indispensable and move up into management and get rid of the TPS reports. Move to the coasts. Join a startup. Start a startup. Instead of talking about how little your company pays, go work for one of the companies that pays more. Instead of complaining about the working conditions, go get a job at a company with good working conditions. Instead of complaining about how you're working in a "cost center" and treated as a cost, go find a job that understands why IT is a profit center, not a cost center.

If you think other industries don't have shit jobs, you're deceiving yourself. If you think 99% of our industry is like your little Office Space neck of the woods, look around a bit.
Joel Spolsky Send private email
Sunday, December 28, 2008
 
 
I'm with Joel. Honestly, I think in the vast majority of cases, American developers (and I am one) have no idea of how good we have it, and how crappy most other jobs are by comparison. Just look at the substance of most of the complaints people post on here.
Greg Send private email
Sunday, December 28, 2008
 
 
"So, move up in the industry. Get a better job in the industry. Become indispensable and move up into management..."

Moving up and management sounds great, but remember that's a pyramid so the majority of people will still be rank and file.  And with more and more companies practicing "flattening" you get fewer and fewer management opportunities.

Now if you don't wish to address the rank and file and only speak to the elite programmers then say so.  If you find the rank and file boring and beneath you then admit it.  Just be honest with your readers.

"If you think other industries don't have shit jobs, you're deceiving yourself."

I don't remember anyone saying that's not true, but your wide sweeping claims that programming doesn't suffer from similar issues is just as ridiculous.

"If you think 99% of our industry is like your little Office Space neck of the woods, look around a bit. "

Personally speaking, I've worked for big name top 3 software companies and I have worked for smalls.  The vast majority of people work in small to medium size companies.  I'd say that it is right on the money that 99% of programming jobs are mere cost-center jobs.  Not being able to recognize this is intellectually dishonest.
Yet Another Experienced Engineer
Sunday, December 28, 2008
 
 
Go work at a job like a call center, where you do have to ask permission to go take a leak, and it better not be a #2, or it's coming out of your paycheck! Or maybe at a supermarket stocking shelves and carrying heavy boxes for 10-12 hours, sometimes longer.  That'll stop the emo real quick.

There's always stuff that annoys me about my job, but I'm grateful that I get to do something I love to do.  I wouldn't do it for free, and I don't tie my self-worth to the fortunes of the company I'm working for, but I'm not going anywhere.
Lurker Indeed
Sunday, December 28, 2008
 
 
Oh come on, that's a ridiculous claim that I don't care about the "rank and file." Now you're just resorting to baseless rhetoric. I've spent the last 8 years trying to improve conditions for the rank and file. I built a company around the idea of improving working conditions for the rank and file just so that I could prove to the world that it could be done, profitably. Fog Creek exists so that programmers everywhere can point to a company that treats programmers like gold and makes a huge profit doing it.
Joel Spolsky Send private email
Sunday, December 28, 2008
 
 
Also, "Yet Another Experienced Engineer," you're obviously the same person as "Just my $0.02". Why are you trying to disguise this? And you're calling ME intellectually dishonest? At least I'm posting with my real identity here.
Joel Spolsky Send private email
Sunday, December 28, 2008
 
 
so many mixed feelings about this ...

Yes, currently, I'm going to work for my family. However, somewhere deep inside of me, I do believe it can and will be better. I have memories working for a group on Wall Street that had a ping-pong table (around 2001).  I have hope.

With that in mind, I can appreciate the fears about ageism and outsourcing. I get that if your not using Microsoft's coolest technology, that you better learn it on your own if you want a new job. Bear in mind, that once you get that job, they can pull the bait and switch on you or you get stuck.

And if you were to start over, what would you do? MBA - plan to start at square one. Or if you want to be an IT manager then I appreciate that. Hopefully, you don't screw it up like so many before you.
Patrick from an IBank Send private email
Sunday, December 28, 2008
 
 
I agree with Joel.  (And I like the redesign!)  And I'm going to start using FogBugz for my shopping lists, personal email, and as an alarm clock.

Seriously, though, Joel, any specific thoughts on how to "move up in the industry. Get a better job in the industry. Become indispensable and move up into management and get rid of the TPS reports."

People are often saying that. "Be indispensable."  How? What specifically should the eager middle-age programmer do to rise up?

ps
I composed this post using CityDesk.
Nathan Green Send private email
Sunday, December 28, 2008
 
 
>> Oh come on, that's a ridiculous claim that I don't care about the "rank and file." <<

Joel, he didn't say you don't care about the 'rank and file', he said you are out of touch, and frankly I think he's right.

FWIW, I personally would LOVE to be 'out of touch' with the cost-center side of the industry that most of us work in, so I wouldn't take it as criticism.

I believe you DO care about the 'rank and file', but have no idea about the extent to which the industry has changed since you left the trenches.
dave
Sunday, December 28, 2008
 
 
I have no idea what an angst emo girl is, but I do know there is absolutely no reason to leaving the field of programming.  Don't confuse a jerk boss or poorly run company for a bad career, it's just a bad job.

I'm glad that topics such as outsourcing or ageism bug you, it's a terrific sign that you care about what you do. My guess is there's a healthy portion of your co-workers who don't care about these topics and they'll happily go tinker with SAP for another 4 years... being a cog. Bleh.

I've been in the industry for almost two decades and I remain confident we haven't even scratched the surface of what we can build.  I spend most of my time amazed by what we build.
Rands Send private email
Sunday, December 28, 2008
 
 
Right, Fog Creek employees aren't 'rank-and-file', so that data point isn't useful.  Joel has said many times that he tries to hire the only best, the rockstars.

So my point stands, 90% of programming jobs are crap, but so are 90% of other jobs.
Moosebumps Send private email
Sunday, December 28, 2008
 
 
> The industry absolutely does not "regularly" pay entry level developers $75k.  Microsoft and Google do (did?).  This is a small subset of entry level hires.

He's not talking about "the industry".  He's talking about the people here, the elite hotshot programmers.  This also means he's ignoring  the wannabes who heard that elite programmers read JoS and got the causation backwards.

Have fun leaving the industry, wannabes.
Michael B
Sunday, December 28, 2008
 
 
And most programming jobs are better than other jobs.
Nathan Green Send private email
Sunday, December 28, 2008
 
 
disagree about it being the elite.

About 11 years ago, I know that most IBanks in NYC were paying newbie programmers between 50-60k plus a signing bonus of about 10k.

It should be noted that I didn't start my career in NYC, so I wasn't making this much. Your IBank programmers are not necessarily your hotshot Google, Microsoft, or Fogreek caliber. Let me put it this way, Joel would laugh at me in an interview!
Patrick from an IBank Send private email
Sunday, December 28, 2008
 
 
>> He's talking about the people here, the elite hotshot programmers.  <<

Didn't this thread start because the OP noticed all the gloom and doom on this board?  Obviously a very big slice of the readership 'here' on JOS is not 'elite' or we wouldn't be seeing the gloomy posts in the first place.
dave
Sunday, December 28, 2008
 
 
"Be indispensable"

Don't be the programmer that only wants to code and keeps his head down.  Those guys can be replaced easily and have little value in the eyes of management.  Help management in making decisions and driving work.

I can give you an example.  The company where I work has become a popular target for patent trolls.  I caught wind that we had been sued again and emailed a VP about it.  I spent a few days reviewing the patent (60 pages of tech + legal writing is *boring*), writing a summary, and comparing it against what we were doing.  Now I'm my company's technical expert for this suit and am on calls with our legal dept every few weeks.  I doubt they'd get rid of me until the thing gets resolved (which can take years).  This is also something that a company wouldn't trust a lackey in india to do.

Joel is right that we programmers have some of the cushiest jobs in the world.  I've worked with ~6 companies in the last ten years and the flexibility I've had at each one just isn't common for non IT jobs.  I arrive when I want, leave when I want, take the occasional long lunch, etc etc.  My wife, who worked billing for a hospital, had to arrive and leave at an exact minute.  One minute late?  Written up.  31 minute lunch instead of 30?  Written up.  They had college degrees and were still treated like children.
Synodontis
Sunday, December 28, 2008
 
 
Doesn't sounds like a good idea to me. We're gonna need people who can actually make things to pull out of this mess ...and I'm sure they'll be rewarded handsomely. We aren't graduating techies in high enough numbers and if you've got those skills, I'm sure you'll be earning some real dollars soon enough...
Jeff
Sunday, December 28, 2008
 
 
I love programming, but I work as a corporate developer and I really hate the way we go about it. I see so many things that could be improved, but no-one wants to know. I think the problem for me is that while I love the technology and programming, I'm working for companies that do not - I.T. is a cost center (rightly or wrongly) and developing good software comes second to just getting it out.

Unfortunately, there are not enough FogCreek / Atlassian / SpringSource companies out there.

I admire what you have done Joel, to create your own company to prove it can be done. I wish I had the guts...
Paul Send private email
Sunday, December 28, 2008
 
 
For the record, I'm sick of lifelong middle-class developers whining about their jobs, too.  I come from a no-collar background of manual labor.  Try digging ditches and hauling hot tar up up a roof all day.  THAT's a crap job.

That being said, though: whenever I hear  "Don't like it here?  It's worse over there," I back away slowly and keep one hand on my wallet.  Coming from management, it means "we don't care about who's wrong or right, just shaddup already".  Whether you're swinging a pick or writing code, if you're being treated like a peon, you know it.  I didn't claw my way out of poverty, through college, and up the ranks in this industry to be treated with disrespect.  I think that's what most programmer's beef is: they just want respect.
the ghost of ?off
Sunday, December 28, 2008
 
 
Joel: I do think you've grown out of touch over the years. In a way I'm glad because it means you weren't permanently damaged by your time at Juno. Like Paul Graham, I think you have a fairly rareified rockstar vision of the profession. And as with Paul, I think that's maddening, but ultimately fine, because you usually write about it well and have had some great things to say.

The fact of the matter is, even in jobs that are interesting and challenging, very little software actually does anything to help people. Yes, yes, social networking and customer relationships and blah blah blah and you can convince yourself it's important if you close your eyes really hard and drink a lot. Most software is dedicated to companies moving around little green pieces of paper, which drives the system where the rich get richer and the poor get poorer. I work hard to stay current and learn new things, and out here in California experience is respected, so I'm not worried about age discrimination or having a career long-term. But if you want to do something useful in the world, I can definitely sympathize with software not fitting the bill.

And, as Joel pointed out, it is quite a crappy time to be switching fields. I'd thought about taking a break myself, but all things considered and my current situation being good enough, I think it'd be irresponsible to jump.
Chris Doherty Send private email
Sunday, December 28, 2008
 
 
You probably don't want to hear this answer, but here it is: If you want to get out of software and go into an area where programming skills give you a leg up, go into the federal civil service. Or government consultancy, or defense work. Right now, all of these fields need dedicated people who believe in a government that competently does the things that only government can do.

Or, stay in software and get a hobby.
Jeff Carroll Send private email
Sunday, December 28, 2008
 
 
Synodontis,

GREAT story!

Thanks
Nathan Green Send private email
Sunday, December 28, 2008
 
 
Rands,

> I've been in the industry for almost two decades and I remain confident we haven't even scratched the surface of what we can build.  I spend most of my time amazed by what we build.

I stopped being amazed at what programmers could build once I came across jerkcity.com.
Michael B
Sunday, December 28, 2008
 
 
actually, one thing I like about being in IT is how easy it is to be better at it than the usual schmo. The industry is so full of "lifers", 9 to 5ers who don't have the imagination to enjoy their work, and spend all day figuring out how to become project managers or change control specialists, that all you need to do to land a sweet job is show some interest in programming. Learn a few languages out of hours, pick up some freelance work on the side and all of a sudden you're worth $100k+. IT is the closest you get to a meritocracy in todays corporate world. In other fields, I'd still be earning $50k a year making coffee for some PHB.

People who say things like "it's just 1's and 0's" are missing the point. It's not the medium that is important, it's the act of creating something from nothing. I get the same satisfaction from programming that I get from carpentry or music.
Nimai Etheridge Send private email
Sunday, December 28, 2008
 
 
I've worked in the industry for 20 years and I think most of my colleagues would describe me as an experienced expert.  I am grateful for my stable job, and for that matter, grateful to have born into one of the world's richest countries.

That said, in many ways programming has been a disappointing career.  It's fairly rare that I can talk with a real person who has a real problem, propose a solution, produce it, and see the person enjoy the fruits of my labor.  Sometimes this is due to my own limitations, but usually it is because of the dysfunctional system that I find myself embedded in.  In a lot of ways I get paid a good salary to dig holes and fill them in again.  This bothers me, because I'd like to be more useful.  I often fantasize about my old days flipping burgers--the pay wasn't very good, but I knew I was making something that a lot of people every day were enjoying.

In my perception, I have two choices: I can continue to figure out ways to make my current job enjoyable, or at least tolerable, or I can look elsewhere.  Because of my long experience, at this point it simply makes more sense to continue along my current path.  Hobby open source project provide an avenue for professional satisfaction when my real job does not.

But, for people coming into the field new, it's hard to know what to recommend.  I suspect that many people would be much happier in other jobs.  I certainly think we should publicize the downsides of our field as well as its benefits.
Anon_for_obvious_reasons Send private email
Sunday, December 28, 2008
 
 
Go work at a startup. Expect your first startup to be a learning experience about how to choose a startup, though there is some advice out there. I left a large Dutch company for a startup. It was either that or leave the industry. It has been a learning experience in all facets of the technology business. I actually make more of a salary now than I was making at my corporate job. My equity is smaller than I wish, but that's part of the learning experience. I will never work for anything but a startup in the future. Grab ahold of your nuts and take control of your career.

Sunday, December 28, 2008
 
 
Doom and gloom. Rank-and-file. Rockstar programmers. Moving up. Pyramid.

All those things are pretty much correct and I'd have to say that, unfortunately, like any job or career, the better 'half' of a workforce will have better pay, more opportunities, and (usually) be treated better than the worse 'half.'

The fact is that if you find yourself in a shitty situation, complaining about it or crying 'system problem' really doesn't change a damn thing. It's up to you to change your shitty situation. No one else gives a damn about whether you can get yourself out of it or not because they're too busy themselves trying to get out of a shitty situation (or keep on truckin' so as not to end up in a shitty situation).

I mean, really, what does this discussion board have to do with any doom and gloom that some people think they're experiencing? Just a place to vent about it? If so, that's great but if you're actually serious about being content/happy/satisfied with your programming job/career, you should stop complaining about it and do something about it instead.

There were some suggestions already made above about how to be a better programmer, a more valuable and indispensable employee, etc. Go and try and be that. The truth is that there will still be some people who just never improve much and will stay in a crappy situation and perhaps those folks should consider a more drastic career change.
Sean Eby Send private email
Sunday, December 28, 2008
 
 
Thanks, Joel.  That needed to be said.  Please say it again any time you feel like it.
Ethan Send private email
Sunday, December 28, 2008
 
 
First, I do agree that Joel is a bit out of touch, but I don't believe that has any impact on his comment. In fact I agree with it 100%.

To some extent, we developers are a soft bunch. I guess we're like poets in many ways. Most of us care about our work, and we complain about our "creative" conditions because we rarely encounter many physical constraints. I connect with this because I spent years developing in different stifling corporate environments. I had a similar mentality as the OP, but it was directed at heading into academia and teaching at the university level. But I strongly believe the grass always appears greener.

The concept that being happier means "moving up" in a company is bullshit. You should only focus on moving to another position if that's what makes you happy. Just because you leave one shit pile, doesn't mean the new shit pile tastes better, regardless of the pay. Most people I talk to don't want to become a manager, they want to leave the crap you deal with as a developer. I am disgusted at the stigma that a successful and/or happy developer is one who moves up the ladder. The sad part is that we apply this stigma more forcefully on ourselves than outsiders do.

The idea that "everything will be dandy once I work for Google" is crap too. Your working environment has an impact on your happiness, but if you find your calling is developing code, your working environment should not hold you back. Find something that excites you and make yourself damn good at it. Contribute to an open source project, start an open source project, learn a language, join or start up a user group, go to conferences, blog about it. Get excited about what you do, and make others excited.

Across the spectrum - from startups to the Googles/Yahoos/MSNs - the companies I want to work for are looking for "good people". I've found they mean smart people who give a damn, and show they give a damn outside of their 9 to 5 paycheck. These companies want people who will take the company further. Figure out what you love, then do it. Improve your company or leave for one who will let you. Either way you have altered the scenario, and you've stopped treating it like a job, stopped treating it like a career, and started treating it like a lifestyle.
Zach Moazeni Send private email
Sunday, December 28, 2008
 
 
"I'm guessing you've never actually tried most of these."

Wrong. I've worked fulltime as an employee and made good money, I've contracted on the side, and I now own my own successful and very profitable company. I'm better off than 95%+ of people out there and I'm grateful for it. I don't think it would have been as easy for me in most other careers.

"I've worked in software, hardware, communications, and health fields as a programmer over the past 20 years.  I wasn't able to just jump from one field to another without preparation and planning.  It is not quite as easy as you imagine it to be."

I'm sorry you've had such bad luck, but I've worked in a variety of fields and have had no problems. I've switched between web and desktop, managed and native languages, low level driver stuff to high level stuff, from security to healthcare to enterprise software and so on. There's always new stuff to learn, but it hasn't been that big of a deal.
sloop Send private email
Sunday, December 28, 2008
 
 
I entered programming as a second career some twelve years ago.  I still enjoy programming or software development or whatever you want to call our profession.  I've had my own business for ten years and off an on during that time, have worked in IT departments. 

Software development is not only a career, it's a lifestyle, and a demanding one at that.  The current over-competitiveness in development shops and the importance placed on personality, appearance and hobbies rather than on competence is demoralizing and depressing: if I wanted to be in an over-competitive profession that emphasizes looks and personality, I'd have gone into sales.  There, I could have had a more normal life and made at least three times what my earnings have been as a developer.
Marcia McLean Send private email
Sunday, December 28, 2008
 
 
> To some extent, we developers are a soft bunch. I guess we're like poets in many ways. Most of us care about our work, and we complain about our "creative" conditions because we rarely encounter many physical constraints.

It's true, some developers need to grow up already and accept this basic truth about the nature of their profession: the purpose of your work is to make a rich, privileged asshole slightly richer.

Sometimes the rich asshole is yourself, but usually it's some other rich, privileged asshole who employs passive aggressive tactics to give you the illusion that you're not really submitting to their authority.

Once developers can come to terms with this, they can invent realistic goals for themselves: ignore the rich, privileged asshole in the equation and focus on finding good working conditions and an intellectually challenging project.
Michael B
Sunday, December 28, 2008
 
 
So, would anyone like to hire me?
Michael B
Sunday, December 28, 2008
 
 
People in general are lazy. Most go to work and do what they're told to do. They don't exert any extra effort to improve themselves and even if they have it in them, don't show their worth.

I work for a large company and create policy for programmers. Things I *think* will improve not only productivity but also quality. The fact of the matter is, it's hard to hire superstar programmers in a bureaucratic company. But it's easy to see those less stellar hires that have the talents, but haven't been mentored or exude that level of confidence and desire/interest to be great. I have yet to work in a company that didn't have a share of problems that needed solving that only required someone take the time to tackle the problem and show the extra value they provide. Yes, many times it will require you to work past your 40 hour week. Yes, many times it may require you to LEARN something on your own. But it's worth the effort in the long run.

If you complain that you have to have permission to check in code, it's because the code being checked in sucks and hopefully peer reviewing code as a team before check-in will help you learn something. If the same problems are caught and you fail to improve, then I don't see a problem with saving the company money and sending your job overseas. Because of hiring freshers overseas, the code will suck even worse, but they will listen, learn and improve over time.

Just like any other job in life, if you don't work hard at it, you can't and won't improve and it will never be the career you seek -- just a job you have.

I don't see Joel's comments as being out of touch at all. What I see it being instead is a reflection of what most people are lacking: passion. I have yet to understand how people can devote 30-40 years of their life to something and not have passion for it. OP, I say go for it -- switch "careers" and find something you love, if only to stop you from posting here and complaining anymore.
Damon Send private email
Sunday, December 28, 2008
 
 
Any company that doesn't provide some means of improving their employees isn't a company *I* would want to work for. They should allow you the ability to train on things you don't do day to day, so it's not about learning everything on your own per se. Self improvement is a huge benefit for companies that many ignore and therefore you should too.
Damon Send private email
Sunday, December 28, 2008
 
 
It really comes down to the idea that you should either change your job, or you should change your job.

The worst predictions will take the IT unemployment rate to 5% - a rate considered "good times" for the general population.  While I can relate to this not being pleasant on a relative basis, there are two conclusions I have:

1.) The only thing standing between a really good software developer in a bad environment and becoming truly rich and independent is a bout of unemployment - something that will likely make someone truly good who can't find a job invent something that makes the idea of a job obsolete for them in the first place.

2.) If you really are not that good - be happy enough you have a job, skills that are in good demand relative to other things - or better yet, find something you really *are* good at, so you can reduce the supply of developers, making it a better market for those in the first category.

Software is a unique business where, with almost zero capital, someone can prototype a good idea, find a way to market it and sell it, and make a living.  You should thank your lucky stars you work in such a field.
Aaron Erickson Send private email
Sunday, December 28, 2008
 
 
The software industry is pretty good. Where else can your career go through the following changes:
1) Start off as a shit job
2) Move up to a still-shit job
3) Move up to a super-amazing job
4) Move up to working with geeks... Add a few supers before point 3's job.

When a company realizes what a good software group can do, you see it from the managers. I work on internal software, and I had a meeting with an entire department who were going to use my software. Note I spent 1 month time developing what they were going to use. I've never seen people smile so much. They were telling me how crap other software they were using was (some company sold them some software to do what I did in a month) and how much money they are saving by just using the solution I made. It was nothing spectacular either.

When a company understands that a GOOD software solution IS how to cut costs (vs buying typewriters, still happens at my comp) they don't lay people off, they make sure they are happy because they know that these people bring in their salary tenfold in what the company gains for the work. And I mean immediate changes, not "takes 10 years before its worth it" solutions like buying super-expensive crap products.

If you work with:
a) Bad People
b) Shit Code
c) Constant fear of layoffs and outsourcing
Then your company does not understand the value of good software, look for a better job, not a different career.

If you hate programming (I know quite a few people who do it just because its a high paying job) then find something you like. Chances are an enthusiast will snatch away your job in a heartbeat!

If you love programming then seek the jobs that want you. Remember a good programmer is very valuable so if people see your value they will try to get you on board. DON'T SETTLE FOR CRAP JUST BECAUSE THE ECONOMY SUCKS. If there are a thousand programmers applying for a position and 999 of them are shitty programmers, I guarantee that an employer will be trying to get you in to their position ASAP because they see the crap alternative.

If you are thinking of leaving the industry ask yourself the following questions:
1) Do you like programming? Does it make you happy? (if no then leave, we don't want you)
2) Are you good at programming? (if no then consider leaving because your competition might not let you get a job)
3) Why did you get into programming in the first place? (If its because "high paying job" is your forte, then leave, we don't want you!)

That's it. Enjoy.
Dmitriy Likhten Send private email
Sunday, December 28, 2008
 
 
Coming from a different perspective: I'm a classically trained musician who learned to code for making interactive music systems and weird and wonderful musical instruments. By my mid 30's I wound up a senior software engineer in telecommunications, after bouts of being a game developer and computer science academic.

Sorry, the reality of software dev is it's BORING. How much exiting software is there in the world?  One gets to spend one's day making shitty software for shitty business models and stupid bosses.

OK the pay is nice, though it's shitty compared to incompetent executive pay packets. But it's high tech sweatshop work: repetitive, boring, long hours. All the creativity have been surgically removed by design documents and project management. I found myself HATING coding, and it's only since I coaxed myself to do some music code that I actually discovered it's not coding I hate, but the industry and they way code is written in the industry.

After making the very stupid mistake of a career in software I'm going back to music academia. It'll likely involve some time washing dishes for a living while I'm a postgrad again, but washing dishes beats software engineering in so many ways.
Lorien Send private email
Sunday, December 28, 2008
 
 
"Once developers can come to terms with this, they can invent realistic goals for themselves: "

I want to repeat this comment.  Setting goals is a key part to this.  Unfortunately, the original poster comes across as "I want more.  "  I think Joel meant, "then work for it, " but worded it poorly. 

I'm in the same boat; I'm a programmer that is revisiting his goals.  I'm completely uncertain whether or not I can achieve my life goals in life the software industry, and I've been called a rockstar.  I've been in the trenches, I've read the books, and most importantly, i've done the programming.  What is the secret?  Perhaps there is none, and programming is not for everyone. 

To the original poster, if you're not happy, make yourself happy.    Identify what makes unhappy and either figure out a workaround or a new plan.    If you just want more money, we all do, and get over yourself.  It was an attempt to ask for help, start with setting some goals for yourself personally. 

I have to share this.  I just spent some time in a major hospital, and the most surprising thing i learned is that  about 90% of the people that are really really sick can not answer the question, "what are your goals?  "  Especially when the obvious answer seems to be "to get out of the hospital. "  I find it shocking, and I ponder the correlation to the 90% of people that seem to hate their programming job.  For the record, I don't hate my career , just the project plan.
Rick Payne Send private email
Sunday, December 28, 2008
 
 
I have several friends who are good hard workers. But they work for companies that don't value IT as an asset but an expense. One just received his MBA. Now he has a pink slip. There is no shortage on MBA's either. The fact is MANY companies are outsourcing overseas. If you are over 40 (now used to be 50) and not a superstar but just a good employee then this is a risky field.
Then there is one thing I never hear talked about. Continuing eduction. This field is like no other. Accountants, Lawyers, Doctors any other professional goes to school and gets degrees and has minimal further studies. This industry reinvents itself every 4 years. It requires constant learning. Constant expensive books. Who pays for this? The employee. Does he get a raise for all this constant learning ? No he gets to keep his job. Big deal.  The fact is many employers have been abusing their IT workers for years. Does the CEO carry a pager? What other employee is required to be on call 24 hrs a day?  I don't blame people for leaving.  Yes the work is very exciting. But for the rank and file the money is not there.
Joe Knapp Send private email
Sunday, December 28, 2008
 
 
Wow, interesting to see that the same sort of discussion that plagues the games industry also applies in the outside world of other kinds of development. On a private games industry forum that I frequent there are so many threads these days about people wanting to quit, find jobs in other areas of programming, find jobs somewhere else, anywhere else in some cases.

It's strange seeing it so across the board.
Is there something about the geek mindset that tends toward this sort of chaneg-my-life depression when you hit your 30s maybe?
Tadhg Send private email
Sunday, December 28, 2008
 
 
> What is a good industry to get into where your programming skills would put you at an advantage?

Few disciplines are as frictionless and lucrative as software development. The industry you're in now is a good place to bide your time, until you figure out what will make you come alive.

Before discounting the software industry, strive to accurately define what haunts you. What haunts you is probably not rooted in the software industry.

What haunts you is likely rooted in human frailty or human society. Since frailty and society are ubiquitous, changing industries is not usually a solution, by itself. Although it may eventually be an incidental part of your personal journey.
Brian/DC
Sunday, December 28, 2008
 
 
To those thinking of leaving...

Let's get blunt out of the way: please do; I'd rather not work with someone that doesn't believe programming is fun. Why? Probably because you aren't any good at it.

Most programmers shouldn't be programming. That's the cold truth. While it's nice to see so many people reading Joel, Paul Graham, and others, and being active in these communities, the sad fact is that most of you aren't good programmers. Many don't know the difference between the stack and the heap, that it's all just bytes, and those who do often times can't go much deeper (instruction pipelines, branch prediction, cache coherency, etc).

Too many C, Scheme, and assembly classes that used to be the weed-out 101 classes have been replaced with Java. That means a student is in his/her 3rd year of college before taking a C class for the first time and realize they picked the wrong field. Now it's too late. The world now ends up with another CS graduate who can take tests and memorize how to make a binary tree structure, but couldn't tell you the algorithmic complexity of it, when it would be more useful than a hash table, or - God forbid - how much memory it would use at runtime.

Joel is absolutely right about programming for free because we love it. I *LOVE* programming and solving problems. When I'm not at work doing it, I'm at home doing it. And I'm long since past the days of 23, single, and living on 4 hours of sleep a night.

That said...

If you are a great programmer, and not enjoying your job, get a different one. There are so many fields of programming they are impossible to list. Great programmers are a very rare, and very valuable resource. And great programmers are great not because they've memorized the Win32 API or because they can create a 1-line Perl script that parses a web page. Great programmers are great because they are smart, can learn just about anything, and can think their way out of any box. You can spot them immediately, because - at 13 - without any formal training, they reinvented a stack in BASIC because "it just made sense" and solved the problem they had.

The best programming quote I ever read was on comp.lang.forth (by Jerry Avins, I believe), which stated that "engineering is the art of making what you want from things you can get." Never is that more true than in programming. Anyone who has had to program a Z80, challenged themselves to a 16K competition, any form of UDP networking, or had to make up - in software - for the failings of hardware or customer/user ability knows what I'm talking about.

If you've been programming Rails webpages for 5 years and find that it isn't challenging enough, try something different. Think of the top 3 places you would absolutely love to work at. And then make your case to them - whether they are hiring or not. If you want to program animatronics at Disney (for example), build yourself a bridge: Disney has web pages, and provides tuition reimbursement. The book "What Color is Your Parachute" discusses this in detail and is highly recommended.

What we do *is* an art form. Musicians are in hotel rooms between concerts writing new songs. Great car mechanics buy beaters so they can restore them in their garage and then modify the engine to run off cooking oil. Programmers go home and sit awake at night trying to shave 10 microseconds off a tight inner loop. Why? Because it's fun and they can!

Not many people understand our craft and what makes it so wonderful. And the fact is, I only want to work with those who do.

Peace and good luck!

Jeff M.
Jeffrey Massung Send private email
Sunday, December 28, 2008
 
 
"Become indispensable and move up into management..."

Do you like getting your hands dirty playing with the latest toys? Do you enjoy being intellectually challenged? Do you have a low tolerance for duplicity?

If so, then avoid management like the plague. I've seen a lot of guys fall into this trap. They got lured by the money and took the management position, and then all of a sudden they were buried in paperwork, kissing corporate's ass, and ordering people around. Their skillset ended up rotting. One friend of mine decided he couldn't take it anymore, and had a hard time getting back into the tech side of things because his knowledge was so outdated. He ended up taking an entry level tech position at a small company.

Leave management to the brainless MBA bean counters. Tech guys don't belong in that position.
Ted
Sunday, December 28, 2008
 
 
"The industry absolutely does not "regularly" pay entry level developers $75k. "

I'm sure its different in other parts of the country, but I can speak for myself and 3 of my friends in San Francisco and say this is pretty standard.  All four of us graduated college about 18 months ago and all of us make over $75k as developers.  Two are at startups, I work for a consulting company (just left a startup) and one is at Google.
23_year_old_developer
Sunday, December 28, 2008
 
 
I've just read a post where a chap, also called Joel, is making $10,000 a day for an iPhone "fart" app. I'm jealous as hell, but that's one of the great things about this industry, things are constantly being re-invented for the next new thing.  You're only one good idea away from your fortune.
Desktop apps, then websites, then web apps, now phone apps, and in the near future, there'll be apps required for the "supercomputers" that will soon be at the side of anyone involved in CAD, medicine, finance, engineering, or anything else that requires heavy duty number-crunching or involves 3D rendering.
There are still lots and lots of opportunities for people who are willing to look for them. That doesn't mean it's easy or simple, it requires discipline, keeping an eye out for the next opportunity, retraining for it, probably at your own expense and in your own time, but you will be paid back in spades for this effort.
I'm actually in the process of moving into programming from a building background, because the opportunities are way better, and it's something I thoroughly enjoy doing well.
At the same time I have a good friend, who is a brilliant database programmer, on mainframes, who cannot get a job, because she can't be bothered to upskill. It's horses for courses.
So, if you are in a position where you can retrain for something else, retrain for something else in the computer industry. You'll be coupling the advantage of knowing how the industry works already with the new skills that you'll have, and you'll be able to get these skills while still working where you are. That's win-win in anybodies' books.
Paul.
paulhan Send private email
Sunday, December 28, 2008
 
 
"Most programmers shouldn't be programming. That's the cold truth. While it's nice to see so many people reading Joel, Paul Graham, and others, and being active in these communities, the sad fact is that most of you aren't good programmers. Many don't know the difference between the stack and the heap, that it's all just bytes, and those who do often times can't go much deeper (instruction pipelines, branch prediction, cache coherency, etc)."

Who cares?  The fact is that it's no longer necessary to know this stuff for the vast majority of jobs these days where you're creating CRUD apps.

"Joel is absolutely right about programming for free because we love it. I *LOVE* programming and solving problems. When I'm not at work doing it, I'm at home doing it."

Some of us have other hobbies and interests.  I enjoy coding at work but that's the last thing I want to do after sitting in front of the computer at work for 9-10 hours.  Why is it that a programmer is expected to go home and work on the same stuff?  Have you ever heard of an Accountant that goes home and crunches numbers?
Ted
Sunday, December 28, 2008
 
 
"Go work at a job like a call center, where you do have to ask permission to go take a leak, and it better not be a #2, or it's coming out of your paycheck! Or maybe at a supermarket stocking shelves and carrying heavy boxes for 10-12 hours, sometimes longer.  That'll stop the emo real quick.

There's always stuff that annoys me about my job, but I'm grateful that I get to do something I love to do.  I wouldn't do it for free, and I don't tie my self-worth to the fortunes of the company I'm working for, but I'm not going anywhere. "

You don't sacrifice years of your life learning how to stop shelves or talk on the phone. 

There are many people that have invested thousands of hours to self-educate themselves, and once they hit a certain age, they find that all of that past knowledge is useless.
Ted
Sunday, December 28, 2008
 
 
I didn't read the whole discussion, because it's so long, but let me chime in with a hopefully different viewpoint...

I'm a 21yr old based in San Jose, CA.  I spent all of May - September trying to find a job in software development.

It didn't happen.

Yes, I was trying to do so without completing my degree, but we're talking about ENTRY LEVEL positions.  In either PHP or Java.

And what did I see?  Discrimination against the fact that I was so young.  Companies wanting to pay entry level positions but have senior level experience.  Why even bother bringing me into an interview, after seeing my resume, only to dismiss me as not "having enough experience"?  Or making excuses like "you're not what we're looking for"?

They knew my resume, they knew my experience (which is extensive for my age), they knew what I'm about... we had long phone conversations.

But they brought me in, chewed me up, and ignored me anyways.

The software industry is ANYTHING but friendly to newcomers.  If you don't have a Master's, or bullet points like Microsoft, NASA, or Google, people aren't interested in talking to you.  If you don't have 10 years of documentable work-experience, forget it... who cares if you have 8 years of independent experience?

Because that obviously isn't relevant and doesn't amount to anything.

So, Joel, next time you should think about what you're saying before you do so.  The industry is very friendly to those already in it, but it's all but impossible to get into it right now.

Oh, and did I mention the massive layoffs that Silicon Valley has seen over the last 6 months? 

Because that makes your job really secure too.  Good point on that one.

--Kyle
Kyle Brady Send private email
Sunday, December 28, 2008
 
 
I hate to start another comment with "I agree with Joel" but it's true. If you are truly considering jumping ship to another industry than maybe this one wasn't for you anyways. Why did you get in the industry in the first place? I'm not trying to be harsh but the programmers I know that stick with the industry are extremely passionate about what they work on and love that they get paid to do this. They aren't so much worried about if the job pampers them or if the pay is the best in the industry, it all boils down to passion, a good team, and interesting/challenging work.

Also if your not happy with your current job, find a new one. There are still openings and like Joel says the good programmers always seem to find work. If you really want to be a developer working on interesting projects than you'll make it work. This reminds me of an old Joel post where he talked about how Fog Creek was bootstrapped (funded by the founders). Was it easy? Hell no! It involved doing contracting, saving and planning until he was finally ready to do his startup full-time. The point I'm trying to get at is that the good jobs are and will remain to be there and it really leaves it up to how much YOU want it. How much are you willing to persevere in order to get the job, pay, working conditions, "lack-of-tps-reports" that you want? You might have to do some consulting or random gigs to make some money during the job search but it will all be worth it.

Final note, if your really passionate about the work environment, pay, location, and other attributes of what a programmers job consider creating a startup where that environment is a reality.
Rahul Malik Send private email
Sunday, December 28, 2008
 
 
"I'm a 21yr old based in San Jose, CA.  I spent all of May - September trying to find a job in software development.

It didn't happen."

I'm a 23 year old in San Francisco.  I was told at Halloween that I was going to get laid off from the startup I was at right before Thanksgiving.  I signed a job offer letter on Dec 11th.  I'm not sure my experience is common, but I talked to a lot of companies looking for young smart people who learn quickly.

At my old company I interviewed a lot of people for engineering positions.  Not having finished college is a definite red flag on your resume.  It's not an immediate "no thanks" at a startup, but it's certainly something you'll have to overcome in an interview.  Something that can definitely help is having a portfolio of work to show off.  Evidence that you can handle the kind of work the company would be hiring you to do is a lot more valuable than anything you can put on your resume.
23_year_old_developer
Sunday, December 28, 2008
 
 
I give Joel Spolsky credit for helping make our industry better.

His "Joel Test" is a good example.

He probably is somewhat sheltered from some of the realities.  But then, so am I.  I can't really say I have had a bad job since I have been a programmer/developer.

I think anyone considering a career change should do a lot of exploration and soul-searching. It is a stressful thing to do, but can be rewarding.

I got out of direct software sales many years ago to pursue this career.  I had hardship as a result (my first tech job halved my salary).  But I don't regret the change.

I encourage people to leave software development.  It makes my life a lot easier as a net increase in demand for my skills.

Demand is the single biggest factor that determines job quality.  If there is too much competition, I have less leverage on my employer.
sharkfish
Sunday, December 28, 2008
 
 
Yeah I would always choose a software company (or company that earns revenues from the software you write) over internal IT.

Internal IT jobs generally bite, big time.
sharkfish
Sunday, December 28, 2008
 
 
OP here.  I was stunned to see the number of responses and will try to respond to some of the points that were made.

I DO have passion for my work but that is overshadowed by the work environments I've been in and being surrounded by people who do not understand understand (and have no desire to understand) the work.  Like many of you, I work in an IT department in a non-tech company.  Now that I think of it, every job that I've had has been in a non-tech company.
Most of my immediate co-workers have no formal education in the field.  Not that it's always a bad thing but they just kind of "ended up" there.  Some of them do not even own a computer at home!  They have no passion for their work and I find myself being dragged down by their negativity.  They've gotten on my case for spending most of my shift "working" while they goof off.  And on top of that, I'm expected to go out of my way to help them out with their work while I'm pretty much on my own as far as programming goes.

Perhaps I need to look for a new gig, but I'm not so sure that the new gig would be any better.  A new job would likely be better in some ways (i.e. better work environment) but not in others (perhaps less pay or less interesting projects). 

The sitting in front of the screen everyday can get old after awhile.  I find that I have more energy when I move around a little bit.  As stupid as it sounds, nothing wears me out more than sitting in front of a computer for 9-10 hours straight.

I may have been overreacting by thinking of switching industries but I don't want to end up like those 45 year old ex-programmers who have been booted from the field due to their age.  I am not sure what (if anything) can do to prevent that situation.  I'm really not interested in going into management.
Bob
Sunday, December 28, 2008
 
 
In response to 23_year_old_developer,

a) I didn't turn 21 until a few weeks ago, so technically I was 20.  Which wasn't a good thing in their eyes.

b) Most startups are pieces of shit right now.

c) "Looking for smart people to work with other smart people" is a usual red flag for bullshit

d) Thanks for the sage advice.  I never would have thought a project highlighting my skills would have helped!  It's not like I don't run my own company that has 2 launched-and-failed-then-closed products already.  This summer I was interviewing while running OneSwirl, which was sort of like FriendFeed... we launched at the same time.

--Kyle
Kyle Brady Send private email
Sunday, December 28, 2008
 
 
Kyle Brady,

It's not just you.  With the world wide economic down turn a lot of companies right now are freezing head count or laying off.  It is going to be tough for most every new grad.  Only a 4.0 GPA triple major in CS, EE, and Math is probably going to have a not so tough time.
Not The One
Sunday, December 28, 2008
 
 
The advice I'd give to a noob in the software/engineering industry is this:

1. You already know that, having gotten in to the Engineering department and having passed some extremely difficult weed-out math and science classes, that you are probably in the top 10% of your fellow students with regards to brain power and dedication. Unfortunately, don't count on your hard work and intellect to pay off much in the real world. You'll make about 10% more than your friends in the Business/Liberal Arts schools both right after graduating and for at least the next 10 years. Don't imagine for one second that your hard work and talents will lead to financial incentives - in other words, no need to stay home studying while the rest of your non-engineering peers go out to the clubs Wed through Saturday night, watch TV with your friends 5 hours a day, and the rest messing around on Facebook. The US job market simply does not pay for your kind of skills.
 
2. I then tell them the best job to take right after graduating, and it's similar to what I did: working for one of India's biggest offshoring companies *in India* and earning about $8 hour. This is where you'll learn the truth about your future job market:  It is a race to the bottom for IT workers, and anyone who tells you differently is either in management and/or is *lying* to you.
However, this experience on your resume will make potential HR/MBA's who do the hiring salivate over the potential for an insider who may help them make their huge bonus via offshoring/importing cheap visa workers at the expense of your fellow IT workers, especially those aged 40 and over, who are making decent money after years of inflation-based raises. It will be the one advantage you have over the rest of the workforce that actually counts - cause all the software skills you learn in your free time won't matter much at all!

3. Your experience in the third world will give you an inside to communicating with the thousands of imported H1/L1 visa workers you'll be working (and competing) with when you get back to the USA. Don't think that these imports are really a few foreign-born PHD/geniuses that the laws are written for; instead, you'll quickly realize, as did I, that all positions are available for imported workers, from data entry to architecture, and the whole scam is nothing more than a creative way to drive down the salaries of you and your co-workers, similar to what has happened to blue collar workers having to compete with millions of Latin American immigrants for the last 10 or 20 years.

Now, I hate to sound like I'm whining, especially when I know that there is a way we can stay one step ahead: *We* can stop supporting our managers that offshore our jobs and import H1-B visa workers from the third world. *We* can group together and refuse to work together with imported foreigners instead of happily training them as our future replacements. For example, I know the auto workers are popular right now to rip on - why should these guys be paid more than us when they didn't even go to college. But could you imagine these guys actually training some guy from India to replace them on the assembly line?? I see this happen in the IT world every day!

Of course, I'm not holding my breath in anticipation of my fellow US workers actually growing a pair and standing up for ourselves... - the vast majority of my fellow engineers may be intellectually brighter than average, but they suck down the propaganda no worse than the rest of the sheeple in this country - you know, the same 95% of the citizenry who was not in support of giving trillions of tax dollars to the banks, who then bitch and moan about it daily, then consequently vote the same enablers back into Congress at a 90% rate the very next month...

Having lived and worked all over the world, I'm not too optimistic about the future working conditions in the US. The boomers have the numbers to out-vote the rest of us, and I see no reason why they will not pass off  their huge entitlements, debts, and bailouts to the younger generations as is already occurring. I for one will not be stuck here in a race to third world living standards - slaving away the rest of my life to enrich banks and pay off debts from my parents, if there is any possible way to avoid it...
Bill Send private email
Sunday, December 28, 2008
 
 
Bob,

There isn't much you can do about the age discrimination besides go management or start your own company.

As for your work environment maybe it is a blessing in disguise?  If people just want to goof off and not work then if you play ball you might find that you have a ton of free time to call your own!

I'd love a job like yours!  I'd take my personal laptop in and work on a mISV or go to night school and do my homework at work!  As it is I have a micromanaging boss so I have no free time to call my own :-(
HexaGone
Sunday, December 28, 2008
 
 
OP:

As far as I can tell, there's nothing wrong with you and there's no reason for other people to get all huffy about what you've said.  I wish you the best of luck in changing your job, career, and/or lifestyle to aid you.  A graduate degree or a stint in the Peace Corps is sometimes very effective when you're at this sort of inflection point!

You might be interested in Phil Agre's HOWTO:

http://polaris.gseis.ucla.edu/pagre/leader.html

You will probably feel more fulfilled and happy about your work if you feel appreciated and feel as though other colleagues regard your work as essential to the entire organization.  Working on product development at a software company is one standard way to get that.  And to become the kind of person who is desirable for that kind of position, you might do some of the following:

* write articles for O'Reilly, developerWorks, Dr. Dobbs, & the like to educate your peers and demonstrate your expertise

* go to unconferences like BarCamps and practice giving presentations, even if you think you suck at first; once you've honed a talk, start submitting proposals to larger conferences

* develop your domain knowledge of something you're interested in OTHER than tech, such as banking, medicine, education, movie production, organic farming, etc., then seek out opportunities to use your tech skillset in that domain (where it will be scarce and valuable)

But it might also be that you don't belong in tech [per se] right now, which is fine.  You could be a really kickass PTO examiner, which we need.  We need tech-savvy managers, politicians, teachers, parents, authors, soldiers, doctors...
Sumana Harihareswara Send private email
Sunday, December 28, 2008
 
 
"As for your work environment maybe it is a blessing in disguise?  If people just want to goof off and not work then if you play ball you might find that you have a ton of free time to call your own!"

I am the only programmer so I have no choice but to keep my nose to the grindstone. 

"I'd love a job like yours!  I'd take my personal laptop in and work on a mISV or go to night school and do my homework at work!  As it is I have a micromanaging boss so I have no free time to call my own :-( "

My desk is positioned in a busy area where people are constantly walking by and the boss can see me from his desk so it's not like I could work on personal projects without anyone knowing.
Bob
Sunday, December 28, 2008
 
 
Bill,

Great points.  Engineers and ITers for some reason seem to believe they are too good for outsourcing or H1-Bs to ever touch their jobs.  They all think that they are a "rock star".  Too bad the day will come when most of them will be replaced.

They may be bright, but most are not trained in economics, but those MBAs are.

I'm one of those engineers that after they got their MS in Comp Engr and saw how old engineers were treated went for an MBA (at a top 20 school).  I can guarantee you people are gunning to replace you.  Cost reduction is number one and countries like India, China, and Russia are graduating massive numbers of engineers and computer science majors.
TTL
Sunday, December 28, 2008
 
 
To people who think I'm "out of touch" with corporate IT, go back and reread part 2 of the talk at Yale and see if you still think that. http://www.joelonsoftware.com/items/2007/12/04.html . I have constantly told people that they're going to get more out of computer careers if they work in a product company. Frankly as far as I'm concerned almost all in-house programming should be shut down in favor of buying off-the-shelf software that can provide better quality products by spreading the software development costs among a variety of companies with the same need. If off-the-shelf software doesn't exist for that thing you're developing in house, bingo! You've just identified a fantastic opportunity for a startup. Quit your job and make the software that your ex-employer couldn't buy off the shelf. Now you're working for a product company, your ex-employer gets to split the costs with other companies and saves money, and you get the profit from each additional unit sold.

To the musician who wants to quit the industry to go back into music, good for you. But if you have to wash dishes to do that, you're crazy. Washing dishes? Are you listening to yourself? You'll have to wash dishes for 6 hours to catch up to one hour worth of sitting in front of a computer. It just doesn't make sense. The people in this discussion who are dreaming lustily about jobs washing dishes, or cutting grapes, or picking fruit or what not, have obviously never done a day's worth of physical labor in their lives. Stop romanticizing. You wouldn't last 20 minutes washing dishes.
Joel Spolsky Send private email
Sunday, December 28, 2008
 
 
I recently quit my job as a sys. admin/sometimes programmer at an advertising firm.  I made 90k a year and was very pampered.  Best boss of all time.  Everyone was very encouraging of making the leap to people side of business, management, etc..

Ultimately it was the sitting in front of the desk and the work itself that led me astray.  Both programming/troubleshooting and corporate culture(psychosis?)/politics/bureaucracy.  And this isn't the first time either.  God what was it?  4 or 5 years back I quit my job working for a management consulting firm in NY and moved out to Portland, Oregon to open a small cafe; serve healthy food at a good price, maybe have the occasional band or workshop.  I never ended up opening the cafe, but I did work as cook and got pre-approved.  Watching people open restaurants helped me realize that I wasn't ready for the commitment.  I went to Africa to pursue live there and play music instead.  A combination of living off my saving, stress of traveling, and a job offer in NY led me back to the States after about 4 months (4 months in Africa, 2 years total).

Fast forward 2 more years.  The same malady strikes again.  This time I'm hear in Florida pursuing a career as a sailor.  It seems to be the good blend of physical activity, travel, mental acumen, and a sustainable career (as opposed to musician/artist - perhaps I'm just a sh;t musician) for me. 

I might be overstepping my boundaries but I think the "leaving the industry" sentiment could be indicative of a greater dissatisfaction here.  One that should not be so easily dismissed.  Perhaps this is too "Age of Aquarius," but I really feel as though it's time for a shift, socially, and just being content with the fact that we have a job, good pay, and what has long been heralded as our societies crown jewel of job activities--namely sitting in a chair (or so my father's tales of senior IBMers have helped lead me to believe )-- doesn't cut it.  I know helping my company collect advertising data and build work-flow software was dissatisfying enough, that it overshadowed these perks that I should have been (and many would be) happy with.  It speaks to something deeper in me (relating to my job).  Not to say that I have everything figured out, by any means, just that I think I'm headed in the right direction and this is worth more consideration than, "stop complaining and be happy with what you got."  Then again, maybe that's what I have to tell myself to keep going and not be in conflict.  Perfectly possible.
Matt the 28 yr old been working as sys. admin since I was 14 didn't finish high school guy Send private email
Sunday, December 28, 2008
 
 
If you're paying kids $75K per year right out of school, you might start planning your RIFs now. There's no way you can compete.

Sunday, December 28, 2008
 
 
Boy, if you really think that, you have a lot to learn about business. Yes, Fog Creek's standard salary out of college is $75,000, and we're very profitable. Our product is not a commodity and the same quality product could not be created by "cheap" overseas labor. Software development is DESIGN, not labor, and software developers are not interchangeable. Indian and Chinese developers make less money because they're adding less value. It's basic economics.
Joel Spolsky Send private email
Sunday, December 28, 2008
 
 
"I have constantly told people that they're going to get more out of computer careers if they work in a product company. Frankly as far as I'm concerned almost all in-house programming should be shut down in favor of buying off-the-shelf software that can provide better quality products by spreading the software development costs among a variety of companies with the same need. If off-the-shelf software doesn't exist for that thing you're developing in house, bingo! You've just identified a fantastic opportunity for a startup. Quit your job and make the software that your ex-employer couldn't buy off the shelf. Now you're working for a product company, your ex-employer gets to split the costs with other companies and saves money, and you get the profit from each additional unit sold."

I'm the only programmer in a non-product company.  Some applications that I've developed did already exist off-the-shelf but they were not satisfied with it.  Other applications that I've developed did NOT exist off-the shelf.  And yet other applications were to automate a process exclusive to the company.

I often think about how much value I'm REALLY adding with my software.  In the latter case, I'm no doubt adding quite a bit of value.  In the first and second cases, not so much.  You got me thinking though..  I'm just not sure how to convince my employer that this would be the best situation for them though.  They seem to like the fact that I'm on site and available to them 24/7.  If they purchase software from a tech company, technical support isn't always readily available.  I've dealt with vendors on the company's behalf and often have to fight with them to get the support that we need.
Bob
Sunday, December 28, 2008
 
 
I call shenanigans on you having trouble filling openings. Are you really? You're in NY, no?

**hastily updating resume**
Sara C Send private email
Sunday, December 28, 2008
 
 
Bob, all that "24/7 support" talk gets forgotten real quick when you tell them they could be paying $10,000 for a license instead of $60,000 a year.

Then if you find 10 companies that need the same thing, you've made a profit. Hey presto. The number of successful software companies that started this way is huge.
Joel Spolsky Send private email
Sunday, December 28, 2008
 
 
"I have constantly told people that they're going to get more out of computer careers if they work in a product company."

Nice theory, but product companies are out numbered at least 100 to 1.  People need jobs to pay bills so what's a poor programmer to do?

"far as I'm concerned almost all in-house programming should be shut down in favor of buying off-the-shelf software"

In-house programming is primarily about customization not the reinvention of commodity software.  Most in-house IT shops buy lots of commodity software or use open source and then assemble them into a custom solution for their domain and business processes.

"If off-the-shelf software doesn't exist for that thing you're developing in house, bingo! You've just identified a fantastic opportunity for a startup."

While this case still exists, it exists less and less.  Again everyone buys commodity and customizes as needed.

For what it's worth I've worked both product and in-house shops.
A Couple Thoughts
Sunday, December 28, 2008
 
 
"In-house programming is primarily about customization not the reinvention of commodity software...."

My experience has been that there's generally 2 different reasons for development of software in-house:

1. Management grossly under-estimates the scope of what's involved. After all, how hard could a "scheduling" program be to write and we have 3 programmers on staff?

Best solution: purchase something off the shelf. If your on-staff programmer can't get you 90% in < 1 week, you've probably just lost a lot of money. And don't forget about upkeep and feature creep down the line. Your company's requirements are *not* unique to your industry (or even compared to other industries), and off-the-shelf software is constantly being improved and developed.

2. Management is worried about using a software package also used by a competitor, either because they feel it limits their ability to compete, or there is fear that the third-party software could be bought out by the competitor.

This is usually the case when the software is viewed as a the cornerstone of what the company does (e.g. licensing the Unreal engine to make video games). It is difficult to argue against, as I've seen the latter fear happen a couple different times. In the end, though, the company usually ends up generating their own risk (development costs and increased time to market) that's completely unknown instead of tackling the known risk head on: accepting the risk, purchasing the software, and while using it, generating a plan for a long-term replacement.

Of course, this excludes what I consider to be "minor" pieces of software. But even those that add up to man-years of work down the road. And when you add in programmer turnover and new hires not understanding the 5,000 lines of hack-tastic Perl code that is used to script a nightly build machine... ;-)

Jeff M.
Jeffrey Massung Send private email
Sunday, December 28, 2008
 
 
As a long time reader of Joel's blog, I respect him very much.  I would agree with many here that he is lately become a little out of touch. Being a "rock star" programmer is not as easy it used to be, ( try a google interview, anon Joel).  That being said I have been a "budget" star programmer my 2o+ year career. I really enjoy my job and make more then other non management types in similar engineering  disciplines . I'm 47 and recently started a stint as a game programmer, I have two titles under my belt now. I like the work and serve in a small way as a mentor to some of the "kids" I work along side. The money isn't "wallstreet" , but it isn't bad either. To end, I still have the freedom I always had, (flex sched, etc) I'm paid well, and most importantly I still look forward to going to work most days. So it can be done, loving the craft, and still making a living without sucking Corp dick, even at my age.
Matt Brown Send private email
Monday, December 29, 2008
 
 
The funniest thing is that the original poster asked for advice on a career change (i.e.: I assume he's already made up his mind, or that he would prefer to do so independently) and all he got back are opinions on whether he should do it and calls to "stop whining" and "isn't our industry absolutely wonderful?". Blah.

I'm considering a change of career, too: where I live, the salary's not worth the hassle, and, frankly, I'd prefer working in a field where it's normal, as it is, to assume that workers are doing it not because they like it and they would even do it for free, but because they're getting paid. It's saner: my job is not my life, and viceversa.

To the original poster: Fitness Management sounds nice, though I have no idea what it is about. :) Safety Management sounds nice, too, as does anything that can't be outsourced, is relatively in demand (and you think will continue to be as in demand, or more) and requires a high specialization (i.e.: there is a high barrier to entry, preferably mandated by law).

FWIW, my opinion is that programmers' salaries, in the US, are still pretty inflated and have nowhere to go but down, especially as competing programmers in cheaper countries improve their education and processes and use the Internet to provide a "virtual" presence in the office of their employer which, as technology improves, will be closer and closer to a "real" one.
Roberto Orsini Send private email
Monday, December 29, 2008
 
 
"Indian and Chinese developers make less money because they're adding less value. It's basic economics."

Don't you think India and China standards of living and their huge population have something to do with their salaries?

Bug tracking software IS commodity. There is no reason it couldn't be written in China and India.
Rick Tang
Monday, December 29, 2008
 
 
Wow - what a thread.

My simple advice to the OP - seek out a career counselor. Get the book "What Color is Your parachute" and do the exercises. Then figure out what else you would like to do.

Don't get a degree just to get a job, like an MBA. They're a dime a dozen and plenty of them are out on the streets looking for work, especially now. Figure out what you will do with that degree, then move forward.

I've gone through this previously, and stayed in tech. Instead of bitching about it, I did something about it. I used my energy that would've been wasted on complaining to making myself better. That in turn has improved my career. Sure, there are plenty of things I can complain about, but overall the grass really isn't greener on the other side.

For Joel: I respect who you are as a professional, but please do yourself and everyone else a favor and lay off the KoolAid.

Although you've done a great job at FogCreek, the working environment at the remaining 99.9999999% of software companies doesn't match your private Nirvana. Anyone with half a brain cell would probably kill to work in such an environment. I admire the effort that you've clearly put into it and only wish more people would do the same.

That said, I agree with several others here that you're become out of touch with reality. Your childish and elitist ranting on here reminds me of a story that you wrote about your military days:
http://www.inc.com/magazine/20080301/how-hard-could-it-be-lessons-i-learned-in-the-army.html

The sentence below: "A general's pep talk taught me that a leader can't lose sight of what it means to be a grunt."

Congratulations, Joel - you've become that general...now the shoe is on the other foot.
QADude Send private email
Monday, December 29, 2008
 
 
Background: I got my first programming job in 2000 as a junior in college, and have worked at several companies as a C/C#/Java/Web developer, from tiny startups to a fortune 100. I was getting steady raises and earlier this year I was even leading a small project on my own, managing two junior devs.  Then 6 months ago I got sick of it and got a job as a systems administrator for the R&D group of an oil company. It was a pay cut but also the best decision I could've made. My thoughts:

1) As a sysadmin, I don't have to deal with other programmers. When I got my first programming job in 2000, I was worried about incompetent pointy haired managers demanding coversheets on my reports.  But soon I realized that the ones who really ruined the profession was not the managers but the programmers themselves. After all, if you take the time to learn their language, most suits are half-way reasonable people... they just have completely different priorities and values than programmers/workers. 

OTOH, almost all programmers I've met have been socially autistic deviants. You can see it on this thread: if you're a programmer, you automatically think you're the best coder on the planet (how could you not be? after all, you probably took a dozen AP courses in high school!) and anyone who isn't an expert in [insert latest random acronym from MS/Sun/etc] is a "shitty programmer" who needs to be outsourced.  You think you're better than people who have to ask permission to go to the bathrooms, as if they've had the same economic advantages as you. You probably never apologize when you're wrong, never say thanks when someone helps you, and can't take the slightest bit of constructive criticism because your self esteem is so low.  You can't stand your bosses/managers?  Well, 99% of humanity can't stand *you*.

And yea, as a sysadmin, I still have to deal with a few social autistics, but I also get to deal with a lot of normal people too.

2) As a sysadmin, I get to be home by 6pm. Technically I'm on call but I get overtime at 1.5x normal pay, and in 6 months I've only been woken by my beeper once. If you're a coder, however, you obviously love your job so much that you're expected to stay late. If you don't, well, there are thousands of others who think 70 hour work weeks are normal, willing to replace you on a moment's notice.

3) As a sysadmin, I get to play around, learn and grow *on the job*. Since starting in June, I've deployed/managed/experimented with snort, nagios, nessus, trac, svn, and zimbra; I've gotten hands-on experience with Cisco routers and generally improved my understanding of TCP/IP; and I have the freedom to use whatever language I like to write scripts.  They even let me adjust my schedule so I can get my master's degree in statistics. OTOTH, when you're a programmer, you have to play around, learn, and grow *on your own time* if you don't want to be either replaced or stuck in a dead end job maintaining a 10 year old C++ spaghetti code-base.

4) As a sysadmin, my health has improved since I have to physically move around lot more than I did as a coder-- even if it's something inane like walking a few buildings over to a user's office to replace their toner.

5) With all the spare time I have, on nights/weekends I have enough energy left in my brain to write software I've had in my mind forever, with the language and platform I actually enjoy coding in, without a deadline looking over my shoulder. Coding is fun again.

Also, everyone who tells you that "now is not the time" is implicitly assuming that the economy will get better in a few years, and that you should just sit tight for now. They think there will be another dot-com type boom. I think the opposite: the Western economy will only get worse in the coming decades and that now is the last chance you'll have to leave the profession.

> What is a good industry to get into where your programming skills would put you at an advantage?

I can't suggest any specific industries, but I don't think you can go wrong learning some applied math and statistics. A statistician gets to do a lot of programming (in SAS/R/etc), is employable in almost every industry from retail to biotech, gets paid more than programmers, with a lot more job security.
Dio Jones Send private email
Monday, December 29, 2008
 
 
Joel, on other occasions you've told us you don't hire anyone looking for a job as they're of poor quality. You like to recruit students directly from universities. That by itself is a definition of the age discrimination the OP is talking about.

Your Microsoft shares gave you the freedom to set up your ideal business, but you should not forget your experiences at Juno. As a job, the software world is far from perfect. And as employers gain more experience at establishing the upper hand, it will probably get worse.

OP, fitness and environmental management are both fields with huge potential. Fitness would get boring after a few years, but you could extend it to adventure holidays. Probably, environmental management offers the stronger career path.

Now is a good time to make the change. If you're studying for a new career, you will be productive while everyone else is suffering from the downturn. And then when the recovery arrives, most opportunities will be for new entrants seeking to join a career path, rather than for displaced older workers trying to return. So you will have more opportunities by changing career.
inside job
Monday, December 29, 2008
 
 
I've considered a career change a few years back, when I as overwhelmed by corporate BS and boredom.  Though seriously, there's no where else I can make money this easily at my age (early 30's.)

I get paid the equivalent of $60/hr at my regular job (engineer / tech lead.)  It's a company in the middle stage: not a startup, but not quite a large company either.  Sometimes the bureaucracy gets me down, but it's not like the movie "Office Space". 

At home, I do my own thing a couple nights a week.  I'm billing out $100/hr to do some relatively light database, web development, and sysadmin work. This brings in another 25k/year.  Where else can you make that much extra money sitting around in your pajamas?! 

When the side work is slow, I research my own product ideas. 

As of this year, I'm completely debt free:  house, car, and all student loans are paid off, and no CC debt.    Next step (over 2 to 3 years) is to save up enough cash to properly bootstrap my own thing.    Could I do that now?  Probably.  It's just I prefer a larger safety margin.
Some dude
Monday, December 29, 2008
 
 
Gee, everyone is ranting as much as I used to here. If y'all who are such boosters of the industry and the occupation are so self assured, what, exactly, do you have to prove here?  I'm really glad that I have an exit plan (that is working) to get out of this stupid, narcissistic, self absorbed, self aggrandizing field.

I'll just say this: everyone's experience differs, and to tell someone that they are not good at what they do because they don't enjoy it any more is moronic and egotistical.

Some of us just think that the work culture of this industry sucks donkey d*cks. If you don't, that's fine, too. Just don't tell me that I need to think exactly like you do. That's intellectual fascism, yet another failing of this industry and its "thought leaders".
Bored Bystander Send private email
Monday, December 29, 2008
 
 
For a little background: I'm a 24 year old Linux Engineer with no degree, and I've been working in Linux professionally for 4 years. ( I also interviewed a Fog Creek 6 mos ago. Hi Joel and Michael :D )

Are there tech jobs that stink? Of course.
Are there awesome tech jobs? Of course.

I've had the pleasure so far of working for two amazing companies, who I'd recommend anyone apply to if you're looking for a job (not posting names here because I'm not sure of the policy for stuff like that here). Both places have amazing, smart people, good management, and a good working environment. Both places also have a ton of openings that are hard to fill.

The majority of people who are having trouble finding well paying jobs, are probably in a dry area, or maybe don't cut the mustard. Smart people find good jobs. As someone who has sat on both sides of the interview desk several times, I know that I try as hard as humanly possible to ensure my future colleagues are smarter than me.

I'm not trying to be mean, but for anyone who's having trouble, for an extended period, finding a well-paying, non-sweatshop tech job, that you might want to look within at what you're really capable of -- either that or be willing to move to find a good job.
Jay Faulkner Send private email
Monday, December 29, 2008
 
 
A couple bits:

1)  advice recently given to me, "Don't look for what you like to do.  Find something that needs to be done and prepare to do it.  You'll discover the joy of doing something that ought to be done while others are wasting their lives and searching for something they would like to do.  Don't waste time looking for a better job.  Do a better job and you'll have a better job."  I think that applies to all of us who feel a little "stuck" right now or to folks wondering how to "Be Indispensible".  The key to getting promoted or shoved upward is proving to the business that you are willing to serve it.  Grow up a little bit.  Put aside some ego or fear.  Do the dirty jobs.  Find ways to make the dirty jobs go away.  (sometimes a nice excuse to learn that latest buzz thing.)  When you're loved, even the role of lesser magician of a lackluster kingdom still feels pretty great. 

2)  Now is a great time to be in a start up or looking for one or looking for that next big research area.  Etc.  Putting money in the stock market sucks, so where's the smarter money going... into research and dev... into start ups.  Owning that next big thing or useful patents and tech.  All of those companies use programmers for this or that.
msp Send private email
Monday, December 29, 2008
 
 
"Indian and Chinese developers make less money because they're adding less value. It's basic economics. "

No, they (the decent Indian and Chinese programmers) make less money because due to the differences in the purchasing power parity they don't need the same salary as in US to have the same (personal) standard of living.
I'm one of those programmers. Sure it has been some time (2004) since I graduated and I don't remember my Floyd Warshall algorithm by heart but I am reasonably sure that I am better than most of your Ivy league graduates in Fog Creek and can design better software though I probably earn much less.
Maybe you yourself need to look around a bit and you will discover that a large number of much more sophisticated start ups (compared to Fog Creek) have been started by Chinese/Indian computer scientists.
cheap_common_and_thick_programmer
Monday, December 29, 2008
 
 
Someone told me once; "If you're not getting bored, you are not doing engineering."

I get bored, but the pleasure the end product gives me beats the hell out of every instance during the development process that I felt insulted by my bosses.

I don't know you but I knew I wouldn't be the headliner when I chose engineering in college.

I play the drums. I am the guy who is way back on the stage sitting behind an assortment of cymbals that the crowd or prospective managers hardly see. It is not a metaphor, by the way. I really play the drums and am loving it when I'm hidden from sight, and take a guilty pleasure from knowing  that if I fuck up, the whole gig will collapse like a house of cards and we will be bodily dragged from stage.  :)

I am not residing in the USA and am not a full fledged software developer. Which makes my situation probably one of the worst among you. However, there is this unexplainable optimism in me when I am thinking about what I do. I guess this is the part where you love engineering so much it blinds you to the shitty life outside of it. I really don't know if I should be thankful for it or not, though. :)

Cheers
Norm Send private email
Monday, December 29, 2008
 
 
"$75,000"

This is not the starting average salary of normal recent grads. I agree that if you have a degree from MIT and graduated with distinction (having published research), you can possibly make $130,000 starting salary. This isn't the situation for most students. A more realistic starting average salary is $55k, but that is still the top of what any field pays so it's not so bad. Except that it's very location dependent, with Silicon Valley being the area with the high averages, and most other areas paying less, and Silicon Valley of course having a very high cost of living.

"Most programmers would love to do it even if they didn't get paid."

That is not true of the class of recent college grads, but it is true of all people who have been doing personal programming since before they entered a college program.

However, although I would program for my own reasons if I didn't get paid (and that is how my own company got started), I certainly wouldn't program business solutions for other people without pay.

Most artists will paint on their own without pay, but almost none will do commercial advertisement graphic design for a corporate for-profit entity without pay just for fun and no pay.
Scott
Monday, December 29, 2008
 
 
A lot of people have been arguing with Joel's assertion that $75K is entry level.  Not all grads will get that amount, but it's certainly not unreasonable.  I think the key is that you go to a software company instead of settling for a corporate IT department.  Some have said that you have to go to Google/Microsoft to get that, but according to Glassdoor they pay $115K for entry level positions.

Monday, December 29, 2008
 
 
"Most programmers would love to do it even if they didn't get paid."

That's true for anyone that turned a hobby into a career, BUT that does NOT mean they don't want to be paid handsomely for WORK.

I wrote my first program in 3rd grade on a government computer with help from my father.  I grew up playing with a TI 99 and really cut my teeth on a Comodore64 all prior to college.  I did this because I wanted to not because it was my career path.  In fact I wasn't even going to be a software engineer.  I was going to be a biomedical engineer.  While in college it became obvious I was good at working with computers.  Due to my early introduction it was like second nature.  So I switched to CS.

But if you really think I want to be paid less or work for free you are insane!

Sure if I became a bus driver I'd probably still program as a hobby, but it is insulting to belittle me as a human by insinuating we don't want to be paid for creating value for someone else.  Insulting!
Just me
Monday, December 29, 2008
 
 
"A lot of people have been arguing with Joel's assertion that $75K is entry level."

People, Joel is in NYC, correct?  NYC is VERY expensive in the first place.  $75K is probably like $45K in Seattle.
Just me
Monday, December 29, 2008
 
 
@joel
>>Indian and Chinese developers make less money because they're adding less value. It's basic economics.

They make less money if reckoned in USD, because there is quite a difference between purchacing power of money and the exchange rate. This was also one of the observations to a proposal to reconstitute the G8.  An example is when you go for a hair cut in New delhi, it costs you in the vicinity of 50INR, close to 1USD. What does it cost in NYC? About 20USD as a quick Google search tells me. Do you really believe that barbers in NYC are better than those in New Delhi?

"Less money= Less value" is a subjective and unqualified statement, may be applicable if there is parity in exchange rates and purchasing power.
Vaibhav Garg Send private email
Monday, December 29, 2008
 
 
Hm. I disagree, having gone through that same set of doubts just recently. Notice, the man is talking about leaving the industry, not leaving programming behind.

Here's my observation:

I've spent 10 years working on core areas with a direct correlation to revenue that brought in billions of dollars. Yes, that big. It's been a constant battle with managers and morons, which I passed through because I loved my job and did focus on the problems and making the software the best possible under the circumstances. In the end, what got me was that the folks who constantly (not making this up) forced decisions that I argued against upfront and that proved incorrect later in the cycle were the profiteers. Meanwhile, 10 years later, I have a personal wealth of 300k, no house, no family and shoddy health.

I am aware that there's people much worse off - but in a similar age and qualification bracket, I can't help but notice that people who went into careers other than software development (management, marketing, law, medical, journalism, administration ... ) end up progressing much quicker and have more time for their private lives.

The problem with working in a field you love is that it opens you up to being exploited - you'll work the extra hours at night and on weekends because you refuse to ship low quality, you make up with your time for your managements mistakes and you'll do it at low pay and you'll be reluctant to walk away and switch, all because you love what you do.

So, yes, I'd like to switch industries, too. I'll never stop programming, but I am sick and tired of doing the lions share of the work and seeing others reap the rewards. My considered advice to graduates is to find a field where they are not at the end of the production chain (it's easy to produce high level design documents in word and you won't get held to deadlines that you miss early in a project lifecycle) and/or a job where the net value is in controlling a resource someone else needs (doctors, lawyers, adminstration).

Focus on your family and programming in your own copious free time.
Veteran
Monday, December 29, 2008
 
 
Whilst I love the site, and agree with some of what you've said (basically if you don't like it and aren't doing anything about it you're a fool) Joel, clearly spending a few hours contemplating macroeconomics and the worldwide economy might be time well spent for you. You could outsource to the UK and get some pretty great senior programmers for an extremely good rate if you're paying college grads 75K US. That's top, top end money in Cambridge. UK for instance with the current exchange rate. And it's likely that will remain for some time.
CounterKing
Monday, December 29, 2008
 
 
Vaibhav Garg: programmers in India, China etc compete in a global economy. Hairdressers are restricted to a local population. When I can download a new haircut from the internet I'll accept your point.
Joseph Send private email
Monday, December 29, 2008
 
 
I agree with Joel, and with the others making the (harsh but fair) point that if you feel you need to leave the industry to have a better life ... then you probably do need to leave.

Dio Jones made an interesting point about some of the social challenges we have in our industry. How come we are so keen to trash our colleagues, our managers and our corporations but so reluctant to do anything about it?

You could:
* learn how to cooperate with your coworkers, and maybe even organize: see Bill's comments about UAW - "could you imagine these guys actually training some guy from India to replace them on the assembly line".  Stop assuming that they'll just outsource the other guys because you're an amazing genius and everybody else is an idiot.
* go into management: why do you think so many tech managers are clueless about tech? what's the easiest way to fix this one? (and don't give me the tired old story about how programmers can't learn to work with people - that's kindof the point here)
* start something yourself: work on something that people want to buy, and makes economic sense. That's probably not as hard as you think - if you're not working on something that meets these criteria already then I'm not surprised you're worried
* drop the sense of entitlement already, the world doesn't owe you a living
Joseph Send private email
Monday, December 29, 2008
 
 
I in fact *AM* one of those foreign geniuses the US
says it wants to import, scoring in the top percentile
in every test of ability from IQ tests to GMAT and GRE.
In computer science specialized tests competing
against PhD students from MIT I score in the top 10%.

I can't get a job in the Valley because on April Fool's
day *THOUSANDS* of H1 applications come out of
Bangalore, busting the cap on the same day, so US
companies who like my resume don't even bother to
interview me.

Where I live, the only software product companies are
games companies (where the job market is even harsher
than normal IT).  So a dev's choices are to work for a
nasty little company that treats you as a cost center,
to work for an IBank that will pay you half way decently
but where you will be kicked around by the quants, or
to turn your back on the world and go into academia.

Or to somehow invent a time-machine (I am told these
are called "MBAs") to reverse the past 10 years and
become an analyst in a bank who gets paid ten times as
much as you and who gets to kick around other people.

As an aside, most technical tests I have seen, especially
outside the Valley, are not really tests of computer science
or how well you make code in the first place, but tests
of how good you are at debugging legacy crapware.
Most "software engineering" buzzword tests lack rigor
and most of the HR process is about salesmanship.
So success in finding work is about salesmanship, not
how good you are.

Basically every remedy Joel has proposed from getting
a new job, to making yourself appear indispensable, to
starting your own company, boils down to salesmanship.

Now I got in to computers because, in personality at least,
I am an autistic. If I want to be a mercenary, lying,
manipulative, testosterone-driven sales weasel, I shouldn't
be trying to out-charisma Brice Richard, I should have
become a trader in the first place. That's much more
lucrative, and that's the benchmark.

There is no reason to count yourself lucky compared to
Joe Sixpack who has to dig ditches for a living and needs
toilet permission. This is a distraction.

In my case I know for a (standardized, tested) *FACT* that
I can do Joe Analyst's job, but at most 1 in 10 Joe Analysts
can program like me, and 1 in a million Joe Sixpacks
can't do either job.
Suspect I have Asperger's
Monday, December 29, 2008
 
 
Sounds like what a lot of people are looking for is an industry that pays big bucks and give rock-star treatment to people of mediocre talent, little ambition, and zero tolerance for risk.

There might be an industry that fits that description, but it's not programming.

Jeff Atwood has a spot-on post regarding this thread: http://www.codinghorror.com/blog/archives/001202.html Here's the takeaway: If you think you might want to leave programming, then you definitely should.
Herb Caudill Send private email
Monday, December 29, 2008
 
 
On the contrary, I actually support a percentage of our industry finding new careers.  The people that are saying that are the people that have no passion for what they do.  They will never be leaders in the communities they are involved in (or *should be involved in!).  They are the same people that say "I have been programming in [insert language here] for 10 years!", yet they have no idea about any new concepts or best practices that have emerged in the last 4 or 5.  These are the people that know that there are user groups around for their specific languages, yet when the night comes they realize that it might conflict with American Idol, or that it is actually just too big of a pain to drive 20 minutes to the meeting location.

If these symptoms sound like you, I urge you to consider leaving.  You may actually find another career out there where you can wallow in your mediocrity and complain that other people are stealing your jobs just like you are now.
Dave Send private email
Monday, December 29, 2008
 
 
After reaching the BSc degree in computer science I started to work in a small IT company for a salary of 80K Swiss Francs (about 75K USD). I was 24 years old by this time. After 5 months I left the industry for further studies. I am looking forward to step again into the industry next year.
Duke Send private email
Monday, December 29, 2008
 
 
Leaving programming can sometimes be a good thing. If I were you I would find a way to maneuver first into systems consulting and then into systems software sales (start as a sales engineer). That's the path I took and I was much happier for you. Basically you want to get higher up the "who's shitting on who's head" scale that way. Unfortunately technical jobs are at the bottom of the shit ladder, and you always end up with all the crap from above you. The only way to escape that is to move towards the sales side. That is where the shit is generated that you have to deal with. People treat you like a human being, and the pay is as good or better if you are in the right industry. And you can still use a lot of your technical skills (only you won't have to actually make anything work with people yelling and screaming at you).
Realitista Send private email
Monday, December 29, 2008
 
 
Programming is easy, as soon someone is able to write/compile/link/run an "hello world" application they tag them self as programmer, and most of programmers I have seen around are those one.

I have seen European projects (financed with public money) in where the quality code produced is very low, no tests, no coding rules, no regression tests, no documentation, no code repository; and people involved on those projects without clue what a pointer is, what a code repository is, etc.

Unfortunately most of programmers around are "ice-cream man" converted in programmers during the period of the 2K year bug, at that time lot of recruitment was made by man power societies, now all those ex ice-cream man are crying on the street because they are loosing their job.

Last horror I have seen, in a candidate production code, is two threads interacting with an integer write/read to/from a file.
Gaetano Mendola Send private email
Monday, December 29, 2008
 
 
"There's no other career except Wall Street that regularly pays kids $75,000 right out of school, and where so many people make six figures salaries for long careers with just a bachelors degree. There's no other career where you come to work every day and get to invent, design, and engineer the way the future will work." (Joel)

And few other jobs where you can make 6 figures and come to work in a t shirt and ratty jeans.  To me that's a monster perk. I'm serious.
dmh2000 Send private email
Monday, December 29, 2008
 
 
If I might make a suggestion to the OP and others in the same mindset:

If you are thinking about leaving, try not reading this website, or Coding Horror, or any other venue where you're reading the "if you're not a raging success, it's because you're incompetent and lack passion" party line.  Do this for about a month, make a New Years resolution, or give it up for Lent, whatever you like.  Seek out positive helpful people; avoid elitist people.

Make a conscious decision to leave your work at work.  Find something you're interested in (other than TV and other passive entertainment) and pursue it.  If it's physically active, so much the better.

Winter and the holidays tend to put people in a sour mood about where their life is.  It may not even be the job that is the problem.  It might not be the solution either.  But being surrounded by people claiming that the job would be great if everyone were sufficiently obsessive is no good either.  I left a job like that, started actively pursuing my interests, and after a few months I started learning new things again.  Exposing yourself to people who chastise you for thinking the right way is no good.
gc
Monday, December 29, 2008
 
 
"I actually support a percentage of our industry finding new careers.  The people that are saying that are the people that have no passion for what they do."

What do you mean by passion?

I enjoy programming as a JOB.  I think it's a great way to make a living.  I agree with Joel that there are not many jobs that are better than programming.  However, I do not understand those people that eat, drink, breathe, and sleep code.  Don't you have any other hobbies or interests besides coding?  There's more to life than sitting in front of a computer 24/7.
Ted
Monday, December 29, 2008
 
 
"In the end, what got me was that the folks who constantly (not making this up) forced decisions that I argued against upfront and that proved incorrect later in the cycle were the profiteers. Meanwhile, 10 years later, I have a personal wealth of 300k, no house, no family and shoddy health.

I am aware that there's people much worse off - but in a similar age and qualification bracket, I can't help but notice that people who went into careers other than software development (management, marketing, law, medical, journalism, administration ... ) end up progressing much quicker and have more time for their private lives."

BINGO!  That's where I'm getting at here!  I see people who work in Marketing, Accounting, Finance, HR, Upper Management go home and are out of the building by 5:00.  Yet us techies are expected to have enough "passion" in our work to put in extra hours on a regular basis and be available 24/7. 

The return of investment for studying technology is much lower than the return of investment in studying other fields.  For example, if you're a bricklayer, what you learn in the beginning will serve you well in the distant future.  In programming, the knowledge that you obtain has a limited shelf life.  Bad example but you get the point.
Ted
Monday, December 29, 2008
 
 
"If I were you I would find a way to maneuver first into systems consulting and then into systems software sales (start as a sales engineer)."

This is where I started my technical career.  I mentioned in a previous post in this thread that I changed to development.

Sales is not for everyone.  As a sales engineer, you will be dragged along by the sales rep.

Sales people are odd entities.  They jabber on a lot, even the good ones, and do things like schedule Sunday night or Monday 5AM flights and don't care how that impacts your life.

They'll have you running through airports because THEY are late, promise things and expect you to agree even if the features don't exist.

You do get to play around with demos that you make work and you don't have to worry so much about bullet-proofing code and all that.  You can just have fun with proof-of-concept stuff (to make the sale) and move on to the next thing.

You can make good money, but beware.  The grass is always greener, as they say.
sharkfish
Monday, December 29, 2008
 
 
"So, yes, I'd like to switch industries, too. I'll never stop programming, but I am sick and tired of doing the lions share of the work and seeing others reap the rewards."

+1
Working in a larger company, I often feel like I'm working extra hard to subsidize managers and co-workers who do not want to pull their weight.  They spend a lot of their time goofing off while I am stuck doing most of the grunt work.
Ted
Monday, December 29, 2008
 
 
"OP, fitness and environmental management are both fields with huge potential. Fitness would get boring after a few years, but you could extend it to adventure holidays. Probably, environmental management offers the stronger career path."

I'm not sure that I would get bored with fitness as I've had an interest in it for years now.  Of course that could change if I made a career out of it.  I have almost as many fitness books lying around as I do tech books. 

You're probably right that Safety and Environmental management offers the stronger career path.  This is the first time I've seen such a program offered at any local college so I figured I'd look into it more.

If I went in either one of these directions, I would study a new field part time while I continue programming full-time.
Bob
Monday, December 29, 2008
 
 
I loved coding.  I did it for the joy of it since I was 10.  But the crap I have had to put up with from people has put me right off.  It's like the babies in Brave New World - I've had so many electric shocks from reaching for what I wanted, I shrink in horror from it now.  I can't concentrate on it.

I noticed someone saying coders should learn to be less autistic.  I've worked with 'autistic' types and 'people-friendly' types.  It was the people-friendly ones who delivered all the shocks, I'm afraid.  Because they smile to your face as they slip daggers in your back, while the hardcore nerds rant at your face but don't carry knives and actually have good hearts.

The unease you are seeing amongst the tech community is not confined to it.  It's everywhere now, because the cause is everywhere.
Michael Straus
Monday, December 29, 2008
 
 
Wow.  Lots of anger and frustration here.  To the OP - "follow your heart".  That's what I do.  Seriously. 

For me, I would consider being a vet, MD and possibly a lawyer, but I really don't think I would enjoy lawyering.

Other options for me are running a CSA or small farm and basically living at poverty level (but more healthy than I have been before).
tim Send private email
Monday, December 29, 2008
 
 
"There's no other career except Wall Street that regularly pays kids $75,000 right out of school"

In the Bay Area, nurses can make $80k fresh out of nursing school.

Police officers can make $70k+ after graduating from the academy.
Bapak Jack
Monday, December 29, 2008
 
 
If people don't like work programming work then by all means they should look for something else. It's a matter of taste, some folks love it, some hate it, and some are "meh ...". Some start out liking it, and loose interest. This is unremarkable. The only reason I'm interested in the discussion is a friendly desire to warn people who are thinking along these lines:

" I can't help but notice that people who went into careers other than software development (management, marketing, law, medical, journalism, administration ... ) end up progressing much quicker and have more time for their private lives."

Just as a friendly heads up: there are very few jobs that don't suffer from stress, busy work, stagnation, lack of respect, idiot bosses, idiot customers, or sociopathic coworkers. You see the person with the cushy job as head of HR, but you are not seeing all of their miserable flunkies who have similar backgrounds and skills but are forever stuck as low level minions in the bowels of the HR cubicles. Go to any web site where lawyers or MDs discuss their careers and you'll see that they are just as bitter, angry, and frustrated as the folks here.

If you've gotten bored with programming and want to try something else, vaya con dios. But please, don't fall into the trap of thinking that IT folks and programmers are truly the wretched of the earth and that everybody else is eating caviar, drinking champagne, and spending their days dancing the tango.
Charles E. Grant Send private email
Monday, December 29, 2008
 
 
the "$75k starting salary" figure is in fact nonsense. Perhaps Silicon Valley and NYC hires get this, but the average starting is more like $50k. Note also that the statistics on starting salaries are generated by graduates who find jobs, and don't count graduates who aren't hired. This tends to skew the numbers upwards.

The BLS says,
http://www.bls.gov/oco/ocos110.htm 
"According to the National Association of Colleges and Employers, starting salary offers for computer programmers averaged $49,928 per year in 2007."
and
"Median annual earnings of wage-and-salary computer programmers were $65,510 in May 2006. "
The NACE number is the one that's inflated as I noted above.

The BLS also expects the number of US programmers to decline by 4% over the next 8 years.

Programming isn't a career in any of the usual meanings of the word. I first realized this at 30 when I moved to the US and became pigeonholed as a 'mainframe' developer. I'm still here, but not coding anymore - the family needed to be fed, and I didn't have the option of taking time off to retrain in something marketable. Programming was fun and I wish I could still be doing it, but the reality is that at age 40+ it's hard to even get employed as a programmer. Only the top 5-10% get to program as a career, the rest of us have to go into sales/teaching/sysadmin/support/something else entirely.

Yakov Fain's "Enterprise Software without the BS" strikes me as quite realistic. cf in particular the advice on 'Staying In!'
http://myflex.org/yf/ESnoBS.pdf

Joel's advice boils down to 'be excellent'. Good advice for those that can take it. However most of us by definition are journeyman coders; so our excellence is not enough.

For the OP - I don't know, I've been looking around for 10 years now.. my wife was laid off and couldn't find another software job, now works in our church for slightly more than minimum wage. It is in fact her dream job, she loves going to work, but it doesn't cover childcare in the summer. Do what you love to be poor but happy, or submit to corporate soul-suck; is about what it seems to come down to.
Doug Kretzmann Send private email
Monday, December 29, 2008
 
 
"Sounds like what a lot of people are looking for is an industry that pays big bucks and give rock-star treatment to people of mediocre talent, little ambition, and zero tolerance for risk."

At one time you could be a mediocre and still hold down a job.

So if you are not a top 1%er what is one to do?

What does a top 25% programmer do?  What does a to 50% programmer do?
MENSA member
Monday, December 29, 2008
 
 
"Bob", it sounds to me like you are a computer nerd at heart.  Unfortunately that means changing careers will leave you a little unfulfilled.  Being a the lone programmer can also be unfulfilling. 

Definitely change jobs to a product company.  That totally changed my view of software development.  It's a whole new set of challenges and there's a much better chance you'll have other nerds around.
MattH Send private email
Tuesday, December 30, 2008
 
 
The Indians here are protesting too much.

Indians should keep in mind that it's the west that provided the technology and opportunities for the talented ones among them to rise to the top.

I'm not American but there is no shortage of talented people in the US and Indian 'talent' can be done without.

As for talent, it's the eastern Europeans, Russians especially, that are winning the CS coding contests. Just look at the content written by Indians on CodeProject and compare it to content written by Americans and Europeans, grammar notwithstanding.

With over a billion people it's surprising how little talent there is in India. And the west had to provide the milk to let Indian cream to rise to the top, as India had nothing to offer its own.

You are owed nothing.
Chris Send private email
Tuesday, December 30, 2008
 
 
Is anybody else finding that this thread does not work properly (possibly because of its length)? When I do a "find on this page" my system hangs?

Anyway, I will try and make an intelligent response to the issues raised here....

I think it's ok for people to be dissillusioned, some workplaces are not the dynamic places we would all like them to be. Probably workplaces are a bit like the bell curve, some exceptional, some horrific so naturally people on one end of the spectrum do vent a bit.
Sifter
Tuesday, December 30, 2008
 
 
@Chris

Nonsense, being good in Olympiads means just that. It doesn't say anything about your Computing/Programming skills in general. In case of Russians/East Europeans/Countries following that methodology; it just means that Olympiads, Algorithms  etc. are inherent part of their pedagogy and culture. There is nothing bad about it.
Remember Brits (they usually don't even qualify), French and most West Europeans are regularly at the bottom of these contests, does that mean they don't produce good programmers or Computer Scientists too?
As for the highest level of research, you will find that Indians, despite graduating from a developing country, contribute disproportionate number of top-notch papers. And Chinese have been dominating these contests for the past few years now.
And not to say, most of the real R & D in western firms is now done in Asia; it is not usually mentioned so as not to hurt your fragile egos.
You can either up your game and work hard or keep moaning about it and expect Chinese to fund your debts again, giving you that fake warm feeling of being rich when you really are bankrupt.
Stop blaming others and look in the mirror.
cheap_common_and_thick_programmer
Tuesday, December 30, 2008
 
 
Thanks for the casual racism Chris! Always nice to see.
CounterKing
Tuesday, December 30, 2008
 
 
joel:

You throw out a number of $75k as "regular entry level offering", and it's no shock that people that don't fit into the narrow view of what Fog Creek might be offering (sans evidence, but I doubt your staff would appreciate you posting their actual salaries for scrutiny) see it as "regular."

I'm on one of the coasts, and the average here for an entry level developer is about $50k. A lot of the problem that's brought in lots of less-passionate (and often lower-performing) programmers is the regular claims of high salaries. It was the same logic that gave the world a glut of lawyers and doctors in the '80s, and you do a disservice to the profession to continue to exaggerate such claims.

As for your idea that the complainers should hitch up their bootstraps and chase a management track if they're so undercompensated, I feel compelled to suggest that mangers, on the whole, don't program. The ones that do regularly are either not programming often, or not managing much. Done correctly, either is a full time job. It's a poor suggestion for the impassioned but undercompensated, as well as a poor suggestion for the unskilled/uninterested that would be leading any group.

Entrepreneurship does have some merits, but for anyone not willing to take this risk (and in this economy, where there's little capital and a lot of uncertainty) this equates to a lot of risk.  Can you blame them? I mean, not everyone gets to be a famous blogger that has a flagship product (Fog Creek Copilot/Project Aardvark) led by interns.

But hey, for laughs, how about a little experiment in how in touch you are with the world. Take your resume. Drop anything that involves the "Joel On Software" persona (i.e., no blogs, no books, no claims of being an expert on this or that outside of what you did under a previous employer) Go find a couple job search engines (preferably not your own job board) and see what results you get in the course of a week. Bonus points if you stick with programmer/developer/software engineer jobs (which I assume is your intended audience here) and not management positions exclusively.
disanthropic Send private email
Tuesday, December 30, 2008
 
 
I read the discussion and have to say this "no one even tried to answer the question".

I left industry a month ago and went to marketing/sales. I worked as system engineer and sales guy who hired me for helping him with proposals and marketing told me that main reason is that I see technology from human perspective.
Martin Send private email
Tuesday, December 30, 2008
 
 
I think most of the people here don´t really have any previous experience in others jobs. I have.
What we call "corporative world" really sucks most of the time, but this is true for all kind of jobs.
If you want a job that you really enjoy go follow your dream whatever it is. 
Open a tatoo shop or be a musician, or maybe a cop, I don´t know.
I work as a software developer for the last 6 years. Last december 25 I turn 34 years old ( I´m a capricorn therefore I born old and I become younger every year  ;o)  ).
If you do the math I worked in other types of jobs most of my life. I work with Oracle Forms and Pl/Sql basically.
I love pl/sql but I really hate Oracle Forms and I work in a small company in Brasil. This is not my dream job since I don´t have much space to grow here, but it pay my bills and I need all the experience I can get. I make more money that most of the people I know and I have a lot of freedom.
I had really bad jobs in the past but they teach me to have pacience and tenacity to change my life and be more sucessfull.
People should stop complaining about how they jobs sucks and start making a difference by changing themselves.
Stop seeking for "guides" or "how to" became sucessfull.
This kind of thing changes all the thime.
Complaining just make you look weak. What are you complaining? Did you ever have a job where you had to wash the floor or something? Grown up.

p.s: I´m not a native english speaker, sorry about my gramatical mistakes here and there.
Rafael Send private email
Tuesday, December 30, 2008
 
 
To all the people who say "Pussy's!  Programming is easy, at least you're not digging ditches!"  I call bullocks.

Working in a bad corporate IT sweat shop was the worst job I've ever had.  And here is what I compare it too:

1) Grew up shoveling manure on a dairy farm
2) Various fast food/retail
3) Grunt in the US Army (highlights: spent 3 weeks outdoors with no shower, in the rain and cold.  Slept on the ground in 10F to wake up covered in 4 inches of snow.  Stripped wax off a floor with dog tags. You get the idea.)

Bad corporate IT was right up there.

Tuesday, December 30, 2008
 
 
I love the programmer egotism on this board.  Those who think to be a good programmer you must spend all your free time learning Ruby and Maven (or whatever new tech of the month is around) are full of it.

Enjoying your job is one thing (and I do) - but my favorite part about it is leaving it at the office.  Go home, call a friend and go grab a drink/diner with them.  Join a softball league or volunteer at a school.  GET OUT OF YOUR HOUSE.  Seriously.

I read posts on this forum only occasionally, but I have met so many of you in the workplace and many of those who believe they are gods gift to software engineering because they just learned Ruby, or Groovy, or Grails - can't seem to get the task they were assigned actually COMPLETED because they have no problem solving skills.  I'd much rather work with a team that goes to happy hour after work then one who never leaves their houses.

For those looking for interesting software to write, apply to a defense contractor.  They need great programmers and the work is often extremely interesting.
Josh Send private email
Tuesday, December 30, 2008
 
 
Quick question to the original poster:

When is the last time you've heard someone in *any* field complaining about how content they are in their job?

Now, in light of your answer to that question, are you surprised that you only read complaints from programmers who are thinking of quitting?
Tim Lesher Send private email
Tuesday, December 30, 2008
 
 
Though, I have posted my reply at http://weblog.plexobject.com/?p=1639, but I summarize it here. I can sum Joel's reply to following points:

    * great programmers are not effected by the economic downturn.
    * pay is great with starting salary of $75,000 and most earn six figures salary.
    * programmers are treated better than people from other occupation.
    * most programmers would do programming even if they don’t get paid.

I have been programming for over twenty one years and love programming. For long time, the way I distinguished between great programmers and average programmers was passion and one way to see the passion is to ask them of their side projects. Though, I agree with first and last point and second point is a stretch, but I disagree with the third point. I have worked at ten or more companies as an employee and consultant and like answer to every programming design question: “it depends,” the treatment of programmers also varies.

I have found most IT places to be sweatshops, for example, in most companies Taylorism rules and programmers are treated like another dumb workers and managers are responsible for whipping them to get the work done. In fact, death march projects are norm in most places, where managers think setting impossible deadline will motivate people to put a lot of hours and finish the project earlier. Given, that there isn’t any overtime compensation in our industry, there is a little problem with such mentality. Such attitude is common in not only average companies but at top companies like Microsoft and Google where you get your so called 20% time for personal projects after you spend 60+ hours on actual project. Though, computers have added convenience to our life with a 7×24 culture, the cost of such culture is being oncall, which can curtail your social life significantly. Finally, offshoring has also effected job market and though most offshore people can’t compete with local great programmers and I will take 4-5 local great programmers over 100 offshore programmers any day, but it provides a very attractive alternative against average programmers.

So, despite higher salary, I think most programmers (great) work much harder than most other professionals and it can be a stressful job when you continuously have to work with impossible deadlines. Though, during dot com boom I saw plenty of store clerks and script kiddies making six figures in IT but they are long gone. These days, you cannot survive IT industry unless you are a top notch. And if you are not then, you’d better off move to management, which is the trend I have seen in most companies. In conclusion, I agree with the last point of Joel and the only way to survive in IT is passion.
Shahzad Bhatti Send private email
Tuesday, December 30, 2008
 
 
I know this has already been stated several times, but entry level 75k is hard to come by. More common is 40k to 60k, with some experience. A lot depends on what type of programming, and how boring the work is.

We recently had an entry level PHP programmer at $15/hour, 20 hours a week. He was quite good, but lasted only 4 months before finding a better job. His replacement lasted about 3 months, then we had to let him go due to learning difficulties. For some people it comes naturally, and others can't get it no matter how hard they try.
John Penix Send private email
Tuesday, December 30, 2008
 
 
"To all the people who say "Pussy's!  Programming is easy, at least you're not digging ditches!"  I call bullocks.

Working in a bad corporate IT sweat shop was the worst job I've ever had. "

Yep...

I had more fun delivering pizzas and cleaning restrooms than working at some of my worst IT jobs.
.
Tuesday, December 30, 2008
 
 
"When is the last time you've heard someone in *any* field complaining about how content they are in their job?"

I hear people in my own office with cushy jobs that are constantly complaining.  They spend half their time on the internet or making personal phone calls...and STILL constantly bitch and complain about their jobs.
Bob
Tuesday, December 30, 2008
 
 
To add to my last post: the Director of Marketing where I work brags because he sits in his office and plays games on his Blackberry.  Everyone from Accounting, Finance, Marketing, and HR are out of the office by 5 PM and are never hassled about taking vacation time.  IT is expected to put in extra hours (for free) and be available 24/7.
Bob
Tuesday, December 30, 2008
 
 
@Bob, OP: Thanks for starting one of the most interesting threads I have seen here in a long time. The number of different people that sent in replies to it have been fantastic. Most of the threads that I see here are conversations between a half dozen to a dozen or so people. This thread has many more view good view angles.

I don't know if your original question/comment was answered as you wanted, but it sure got many different replies.

Many times I consider this to be a "whiner's board", but I keep reading it because in between the whining, there are some very perceptive and interesting thoughts going back and forth. When I have asked questions, I have gotten worth wile answers, which is great.

Sometimes I am away from computer communications for several days at a time and Joel's new idea of only keeping a short duration of items here is not good.  I usually have something to say, even if it takes me a week or so to do it.
Eric Hamilton Send private email
Wednesday, December 31, 2008
 
 
Joel - I like alot of what you say. You're a smart guy, but I have to call bullshit on your position here. I agree with the poster who said they enjoyed delivering pizzas more than some IT jobs.  I've done that and I've dug ditches and both were preferable to some IT situations I've been in.

Progammers are the engine of the IT industry. As such, productivity is king and that is achieved by perpetuating the illusion that we are involved in some higher calling that is better than anything other job out there. 60 hour work weeks and death marches are very common. Given your attitude, I'm not so sure that Fog Creek IS a great place to work, as some have asserted. You yourself left Microsoft because you wanted a life outside your job. Having a ping-pong table at work isn't so great if you never go home.

I personally believe that programming is in a transition from a collection of craftsmen to a corporate assembly line. Being a craftsman is great, you feel proud of what you have accomplished. Being a cog in an assembly line, not so great. At least assembly line workers have a union that limits the work week to 40 hours.

Joel, YOU have had a great time in the industry. But you need to recognize that there are many good, and even gifted, programmers who have not.
Mike Send private email
Wednesday, December 31, 2008
 
 
I'm not sure if this is a relevant topic anymore, but I kind of wanted to drop in my two cents because to me this is a very relevant topic.

I am a 23 year old Midwesterner, American born and raised, that just left his current programming gig for a much nicer place.  I spent some time thinking if I wanted to stay in the industry or get out.  Truthfully, I asked what a lot of these guys said "well, I like what I do but I hate being a puppet."

A lot of you are talking about how the starting salary is so awesome.  That wasn't true for me at my last job.  I wasn't salaried and I got paid $10 an hour, had no insurance, had no sick time, and less than two weeks of vacation time when I started. 

I wasn't an "all-star" in college and my resume really, truly looked like crap.  I think I was a pretty average kid though.  I worked fast food, did the run-of-the-mill tech job on the side, and wrote some fun programs for my own enjoyment.  Nobody wanted to hire "average kid" when they could have someone with "experience" and what not.

But I wanted to be a programmer so badly that I took the job because everyone needs experience. 

The place I worked for was a small web hosting and design company in Iowa.  There were less than ten employees total and there were less than five programmers.  The code was a mess, the security was atrocious, and I was appalled by how the stuff looked.  I stayed there for a year and four months before I upgraded to (hopefully) something much better. 

The place was also a bottomless pit for programmers.  Every year my boss would have to hire someone new because one of their programmers quit.  (Gee, I wonder why...)  In the past three years he's had three (including me) of his lead programmers quit and still won't get the hint that he's absolutely terrible.

In the past year I went from having no real experience "on the job" to running the show.  By running the show, I mean that I became the lead programmer, was in charge of administering all of our (ludicrously old) servers, and trying to do tech support.  In the first ten months that I was there our lead programmer up and quit and left me to pick up the pieces.

Our former lead only lasted less than a year in my position too, so I was left to figure out what the original guy (a guy who had been working there for ten years) had originally intended.

No one had any manuals or anything for me to look off of and the guy that originally created the system didn't comment anything, didn't have any notes on how the servers were set up, and pretty much gave my predecessor or myself any information. 

Both of us, my predecessor and myself, played it by ear and did a trial by fire.  I think combined, we were shown what to do in probably a week.  I had about two days, I think he had three.

In all serious the place was (and still is) a mess.

When I took over as lead I wanted to turn it around.  I wanted to start using encryption (there was none), I wanted to come up with some standards for our code (there were none), I wanted to update our software (which was still running on IIS 5 in 2008 and was running versions of ColdFusion of less than 7!), and to more or less put a roll reversal on the place so that it as a viable software company.

I figured I'd introduce ASP.NET because they were running Windows based servers, but I also wanted to do some PHP for good measure.  It never hurts to diversify.

As I tried to implement the changes my boss said that it was "too expensive" and "not necessary."  He was (and still is) content with running servers that are 5 years old and are unstable.  (Some of them are actually still running on an original Pentium I!)

I told him right when I started that we needed to implement new and better security.  He said it wasn't necessary and three months we were hacked into.

After we got hacked and had several websites broken into and credit cards stolen I had the second nervous break down and decided it was time for a change.

This was on top of unrealistic deadlines, over-the-top promises, a dollar raise for taking on my new job which had quadruple the work load, and the hiring of an incompetent buffoon to "help" with the programming.  When I say incompetent, I do mean it.  He dropped out of his CS department, had a degree in some lame department like English or History or something, and he had no actual experience in the field.  His idea of programming was HTML.  After six months he still can't write a proper SQL query and can't understand the concept of nested loops. 

On top of that, anything above an HTML form that displayed output was given to me.  This is on top of my extra duties such as maintaining our servers, keeping stuff clean on our local machines, answering tech support questions (like "My e-mail isn't working, help me!"), and trying to write my own code.  In the time that I began and the time that I quit I got approximately 10 projects completed to his two.  Mine were complex things like sites with shopping carts, dynamic form builders, and complex intranets.  His were things like building pages with links, taking an input from a (basic) form, inserting it into a form, and then regurgitating it to the screen, and adding an attachment to an e-mail program -- one that I built!

On top of all of that my boss yelled at me when things didn't get done, but didn't even mention anything to my co-worker.  That was, more or less, a slap in the face -- especially when, after I had some VERY minor bugs in my code that I didn't realize because I was simultaneously working on six projects that had to be done before the end of the month no less, he came up to me and added "If you're going to do something, do it right, or don't do it at all."

I had wanted to be out of this place within the first three weeks of walking in the door, but most places ask for two years experience when you apply around my area.  In fact, I read Joel's talk at Yale right around when I had enough and I realized that was the kind of place I was in.  All about the money, not about the quality, and certainly not the place that was about "products" or "quality service."

I wasn't sure where to go or what to do, but I knew I couldn't stay there, so I decided I had to get out.

I looked into other jobs, other fields, going back to school -- whatever.  Despite all of the crap I went through, I decided programming was still probably the best thing to do, because really, it is still a sweet gig.

To sum up this incredibly long post, everyone on here is right.

IT jobs can suck, REALLY BADLY.  Not everyone gets to have a sweet office (or even a cubicle).  Not everyone gets to make $75,000 a year starting, or $50,000, or $30,000.  Last year I made just under $25,000.

Programming is a sweet job, but it can suck you dry.  Stupid customers, retarded bosses, evil co-workers -- they can make it so you go crazy and decide to quit.

Truthfully, the guy in the post has every right to whine and moan and complain -- you don't know his story.  He might be working for a guy like I did. 

But in my mind at least, IT is the best industry there is. 

What other job can you go to where you can create something from scratch that people will use?  What other industry can you work in that will test your mind like it is?

There might be one crappy job, but you can probably find something better.  Of course, if you can't -- you might as well get out because this industry can suck.  Badly.

Sorry for the length of this post, but I think it kind of illustrates to all of you guys that are so "this job is so freaking sweet!" that there ARE passionate people out there that don't work in ideal conditions.

Or ones that are even good at all...  Or ones that let you work with sane people...  Or ones that let you actually, you know, write good, secure, decent software...
Happy To Move On Send private email
Friday, January 02, 2009
 
 
>> The place I worked for was a small web hosting and design company in Iowa.

Ahhhrrr, matey, could ye be talkin' about "the Captain?" :)

http://www.captainjack.com/

On this board we ripped a recruiting ad  to shreds a few years ago that came from that place.  The Captain wants this, the Captain says that, etc.

Ah hah: http://discuss.joelonsoftware.com/default.asp?joel.3.6796.18

Well, even if it's not the same place, that old thread was good for a laff.
Bored Bystander Send private email
Friday, January 02, 2009
 
 
Nope, not the same place.  It's making me think of staying far, far away from every other place in Iowa though...
Happy To Move On Send private email
Friday, January 02, 2009
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz