Why a career in computer programming sucks
Finally, the highly anticipated essay on why computer programming sucks.
Temporary nature of knowledge capital
Let’s being by reviewing what I previously wrote about the four types of human capital. Computer programming is a job that’s heavily dependent on temporary knowledge capital. It’s temporary because the powers that be keep changing the languages and tools that programmers need to do their jobs. In nearly all other professions, knowledge capital increases as you grow older because you keep learning more about your field. But in computer programming, the old knowledge becomes completely obsolete and useless. No one cares if you know how to program in COBOL for example. It’s completely useless knowledge.
Even though I haven’t been working in computer programming all that long, I have already seen most of the technologies that I first began working with become relegated to the garbage pile. Visual Basic 3.0-6.0? Useless knowledge. I haven’t seen any vintage Visual Basic since 2002. And don’t confuse Visual Basic.NET with the classic Visual Basic. They are really completely different technologies.
So what advantage does a 60-year-old .NET programmer have over a 27-year-old .NET programmer when they both have, at most, 5 years of experience doing .NET programming? Absolutely none. I’d make the case that it’s better to hire the 27-year-old because he is still at the stage of his career where he enjoys the stuff and is therefore more motivated to learn and work harder, while the 60-year-old is surely bitter about the fact that he’s getting paid less than the younger programmers. No one wants a bitter employee.
This assumes that the 60-year-old programmer has even learned .NET programming. Every time a new language or technology comes out, the programmer faces a fork. In one direction he gets to work with the new technology, and in the other direction he continues working with the old technology for too long and therefore falls too far behind to catch up. The older you get, the easier it is to wind up going the wrong way when you reach one of these forks. Because as hard as it may be for a 22-year-old to imagine, as you get older your desire to completely relearn everything decreases, so you are likely to succumb to the temptation of staying with the familiar technology for too long.
Because of the temporary nature of the knowledge capital, computer programmers quickly reach a stage in their career when their old knowledge capital becomes worthless at the same rate as they acquire knew knowledge capital. Their total knowledge capital is no longer increasing, so neither does their salary increase. They have reached the dead end plateau of their career, and it happens after less than ten years in the field.
Other professional fields are not like this. I remember reading the classic 1933 edition of Securities Analysis by Benjamin Graham, and as I read it I was amazed by how useful and relevant the material was even though it was more than 65 years old.
Lawyers are still citing Blackstone’s Commentaries on the Laws of England which was completed in 1769. Now there’s an example of a profession where knowledge capital deteriorates at a very slow rate.
Low prestige
Computer programming is a low prestige profession. This is evidenced by the fact that people from affluent families rarely go into computer programming but instead will seek out the more prestigious professions such as law, finance, and medicine. Of course there are some exceptions. There was a programmer who worked for me whose father was a doctor. But more typical was another programmer who never finished college and whose favorite hobby was hunting.
And that brings us to the issue of education. Students at Ivy League universities are not majoring in computer programming. There is a prestigious school, the Massachusetts Institute of Technology, devoted to science and engineering, and while I’m sure that there are some students there who are majoring in “computer science,” the science that’s taught isn’t related to the dirty low-prestige job of creating e-commerce websites using ASP.NET. On the other hand, practical computer programming is a popular major at bogus for-profit schools like Devry “University” and the “University” of Phoenix.
Now some may ask, “Who cares if the prestige is low, as long as we’re getting paid good money?” This is a fair question. First of all, there are some practical social benefits to having others perceive your profession as being prestigious. As a Chinese immigrant at the University of Virginia wrote, “whatever your position is, as a CS person, you are socially classified as a geek. At my school, University of Virginia, being a rich frat boy and having a future in investment banking or law gets you a lot further status-wise even though you may not necessarily be paid more.”
But the prestige of the profession affects both the work environment and the future economic viability of the profession, as will be discussed below.
The foreignization of computer programming
I’m sorry about using a word that doesn’t exist in the dictionary, but foreignization best explains what’s happening in the computer programming industry.
First of all, there is the familiar outsourcing of jobs to foreign countries, mostly India. Because of this, the computer programming industry within the United States is an industry with a shrinking number of jobs, although as a worldwide phenomenon I’m sure computer programming will grow at a brisk rate. Would outsourcing of computer programming and other IT jobs be such a big trend if the industry were more prestigious? I think not. You don’t see lawyers being outsourced. In fact, by law, only members of the bar are allowed to practice law, so it would be illegal for foreigners to do American legal work.
The other half of foreignization is the near abandonment of the domestic IT market to foreigners. This is a trend that is accelerated by the issuance of special H1-B visas that allow extra computer programmers to come here and take jobs away from American programmers. Computer programming (along with nursing) has been specially targeted by our government for foreignization.
Foreignization creates a vicious circle effect with the low prestige of the profession. Because the profession has low prestige, employers balk at the idea of having to pay high salaries (while it seems perfectly appropriate if a lawyer or investment banker is making a lot of money). Thus the demand for more H1-B visas so that salaries can be decreased. In turn, Americans see an industry full of brown people speaking barely intelligible English, and this further lowers the industry’s prestige. Computer programming and IT in general is now seen as the foreigner’s industry and not a proper profession for upwardly mobile white Americans. [The Indian and Asian people I've known in the IT industry are nice people, and normally I don't pay attention to their different appearance, so this should not be taken as a racist dislike of non-white people. I am only accurately describing the fact that the typical white American thinks negatively of a profession that's predominately non-white. And I stand by my belief that people born in this country have more rights to the money being created here than foreigners. Asian countries feel the same way about foreigners. Asian countries are, typically, a lot less open to foreign worker immigrants than is the U.S.]
Because there is no reason to think that the trend of foreignization will reverse, this will ensure that the future of the industry will be lower salaries.
Project management sucks too
In order to escape a job where the future is bleak for older programmers due to the rapid depreciation of computer programming knowledge capital, computer programmers face the need to move up to management or likely wind up as underemployed fifty-year-olds, only suitable for lower paying IT jobs like “QA” because they no longer know how to use the latest and supposedly greatest programming tools.
It is often suggested that the most natural next move “up” is into project management. But the first problem with this situation is that project management sucks too. It doesn’t even deserve to have the word “management” in the title, because project management is akin to management as Naugahyde leather is to leather. Project planner and status reporter is the more correct title for this job. Once you take the word “manager” out of title, it loses a lot of its luster, doesn’t it? Everyone wants to be a manager, but few would want to be a project planner and I daresay no one would want to be a status reporter. Status reporting is generally the most hated activity of anyone who endeavors to do real work.
One can’t write about project management without mentioning the worst piece of software every written, Microsoft Project. Somehow, an entire project management industry has developed around this crappy program which no one can figure out how to use. (See my previous post about Microsoft Project Server and Battlestar Galactica.)
Formal project management is more of a pseudo-science than a real profession, because despite the increasing use of formal project management methods approved by the Project Management Institute (yes they have their own institute), there is no evidence that software is getting better or that fewer software projects fail today than did ten years ago when formal project management was in its infancy.
The growing popularity of project management has nothing to do with better software. It’s really more designed to please senior management (the real managers who control the purse strings). Real managers, who usually don’t understand anything about computer programming but who don’t like the idea that they have to pay high salaries to a bunch of people from foreign countries, love the reports presented by project managers, because the reports create the illusion that progress is happening and that the money being spent on the IT project is not being wasted.
Even if the computer programmer wishes to sell his soul and enter the pseudo-scientific field of project planning and status reporting, the transition is becoming more difficult. The trend is that project management is branching off into its own discipline with its own educational requirements and certification process. Thus the experienced computer programmer will usually find that employers aren’t interested in having an ex-computer programmer “manage” a project, but rather they seek someone with PMI certification and years of experience in project management.
This trend, in which people without computer programming experience manage computer programming projects, is a result of the low prestige of computer programming. People with high prestige jobs, like surgeons, would never allow themselves to be managed by non-surgeons. In a complicated medical procedure there will be a head surgeon overseeing the surgery, and not a project manager without any medical training. Lawyers have Model Rule 5.4 which makes it unethical for non-lawyers to manage lawyers.
Obviously, the problem with the computer programming industry is that it lacks a central organization to create barriers to entry and to lobby state and local legislatures.
The working conditions suck
This relates to the prestige thing again. When a company I worked for wanted to save money on rent, guess what department they decided to move to the low rent satellite office? You guessed it, the IT department.
If you look forward to one day having your own private office, then computer programming sure isn’t the way to go. At a law firm, each lawyer has his own private office. Computer programmers are cubicle employees, not considered important enough to be given nice workspaces.
Employers are even too cheap to invest in proper tools for the computer programmers. Take monitors, for example. Every computer programmer knows that modern development tools are easiest to use if you have a really big monitor, because you can see more lines of code at the same time, and because there are a bunch of ancillary windows which steal screen space from the main code window. My home monitor is a 21” 1600 x 1200 Samsung SyncMaster 214T, and it sure was worth the $900 or so that I paid for it. An employer interested in getting the most productivity out of its software developers would supply them with proper high quality monitors, but they don’t. In every job I ever worked, the computer programmers never had the best monitors.
If you walk over to the graphic arts department, you will see really big monitors. The graphics people could surely make do with smaller monitors, but even though they make less money than computer programmers, they have been able to convince higher level management that their work requires better hardware. When computer programmers request better hardware, they are often seen as whining geeks who just want to waste the company’s money on unnecessary high-tech toys.
Other professionals get proper tools to do their job. For example, lawyers are given access to Westlaw or Lexis, and a library of books. The amount of money per year per lawyer spent on research materials most surely exceeds the money per computer programmer per year spent on computer hardware. If lawyers were treated with the same disrespect as computer programmers, they would be told to stop whining about the lack of research materials and to go use the public law library.
So what's a good profession?
After spending so much effort explaning why computer programming sucks, I think it's only fair to suggest some better professions for any young people who might be reading this. Unfortunately, that's hard to do. The best professions, because they are so good to work in, have more people trying to enter than there is room for them. Thus you can graduate with a law degree and find that no one wants to admit you to any of the good legal career tracks.
I think that, if you can't get into a Top 14 law school or a top graduate business schol, then public accounting probably provides a better career path than computer programming. You need to start out as an auditor at a Big Four accounting firm, and the salary in the early part of your career won't be as high as in computer programming, but at least older accountants are valued for their experience and knowledge. It's a career where you can still be employed at forty or fifty.
If you are technically oriented, then you should consider a career in patent law. This requires you to get an engineering degree and then go to law school. Because such a tiny percentage of law school graduates are qualified to take the patent bar, you will be able to get jobs in intellectual property law which the other law school graduates are unqualified for.
UPDATE
I have written a major followup to this post: The death of the generalist software developer.
I have also written some minor followups: Response to the most frequent comments, Who wants to be a billionaire? and Responses to dumb comments.
Very interesting. But there must be some good technical jobs that don't involve law. Not everyone has the financial ability, inclination, or personality to go to law school.
There are people who make money in the development end, I'm surprised you didn't mention that.
Posted by: | March 11, 2007 at 03:48 PM
Well, I don't live in US, but in Northern Europe so the situation might be different. I have been working as a computer programming for almost decade now (I'm 30). During the last few years I have had high pressure from upper management to move to project management. I have enjoyed programming, so I have been trying to avoid that but eventually it became too difficult and now I'm working as a project manager.
Otherwise I totally agree with your post. One thing I have been also considering is moving to some 3rd world country and start to work there as a programmer. I think being a programmer in such countries is much better position in social hiearchy than in developed countries. Probably some Latin American country might be a good bet, just have to train my Spanish little bit more.
Posted by: tmm | March 11, 2007 at 03:59 PM
If making $130k a year sucks, there are plenty of people willing to take HS's place. This kind of talk really gets very little sympathy from the rest of America. If programming sucks, try working in a factory or any job that gets exposure to the weathers. How many patent lawyers do we really need?
Posted by: nobody | March 11, 2007 at 04:03 PM
Computer programming is a job that’s heavily dependent on temporary knowledge capital.
Only if you're bad at it. The good ones understand computer science, which makes us good at programming regardless of language. If an ex-COBOL programmer can't compete with a younger person raised on C in C then he probably wasn't a good COBOL programmer to begin with.
Low prestige
This is true, but it only matters if you care what shallow people think of you. HS, I think this is your big problem in life. You're too smart to believe the shallow people are right but unable to stop caring what they think.
The foreignization of computer programming
Overblown, I think. If you're near a city of any size and are an above-average programmer, you should find a good job quickly.
Project management sucks too
Yeah, but in a good place, you can advance along the technical track.
Conclusion
I work for a researchy type place that has a great working environment, smart and interesting employees, varied and interesting work, no cubicles, etc. If you're dumb enough to go for the place offering the most salary without taking the working environment into account, you have no-one to blame but yourself. And ditto if you got into computers not because you liked it but for the relatively easy money.
HS, you constantly look to the wrong things for happiness. Money, prestige, etc., are for suckers. There are a couple of super wealthy people taking advantage of all you social climbers, probably laughing their asses of at how miserable you're willing to make yourselves in the quest for some utopian social status that you'll never get so they can get even wealthier off your backs.
Posted by: JewishAtheist | March 11, 2007 at 04:29 PM
Patent Law worked very well for a friend of mine. Even in his early years when he lived in Basle and at the end of every month he and his wife would discuss how to spend the salary surplus. Often they'd just leap into the Porsche and whizz down to Milan to go to the opera.
Posted by: dearieme | March 11, 2007 at 04:52 PM
There are a couple of super wealthy people taking advantage of all you social climbers, probably laughing their asses of at how miserable you're willing to make yourselves in the quest for some utopian social status that you'll never get so they can get even wealthier off your backs.
Just because a career has a high salary doesn't mean it can't also suck. Security is also important. So are working conditions. I've known several people in this line of work whose lives seemed to suffer a negative impact from lack of security, especially their social lives. It affects your ability to develop and maintain relationships because you don't know where you'll be in a year or two. It affects your ability to, for example, qualify for a good mortgage because you don't have a long history at your job. These factors are a real handicap to someone trying to lead an adult life.
Posted by: | March 11, 2007 at 05:32 PM
This is a very good essay by HS. In fact, I would say it his best (even better than his "Law School" essay).
The IT industry is not going to get better. The anti-immigration people are mostly concerned with cracking down on illegal immigration, not legal immigration. So, don't expect the H1-b visa cap to be lowered. The high-tech industry lobby is never going to allow a decrease in the number of foreign programmers, and the rate of outsourcing is only going to increase as more poor countries train computer programmers.
This brings me to HS's conclusion. He recommends that people go into law (if you can get into a Top 14 school), patent law (if you have an engineering/science degree), business school (if you can get into a good program), or public accounting at a Big Four firm.
There are problems with going into all of these fields since there is A LOT OF COMPETITION to get into these fields. Getting into a Top 14 law school is tough since these schools only accept the best students with the highest LSAT scores. Getting into patent law requires an engineering degree in addition to a law degree. Getting into a good business school is also tough since they require good undergrad grades and significant work experience. Finally, getting a job at a Big Four accounting firm is not easy since they only recruit at certain schools and they only hire the best accounting students.
I wish HS's essay was more optimistic, but I think reality is not always optimistic.
Posted by: anon | March 11, 2007 at 05:37 PM
Jobs in the computer industry are more prestigious than most professional jobs. In a 1989 study of job prestige, Americans rated the prestige of computer systems analysts/scientists as 74 and computer programmers, 61. The average of American workers is 44, with a standard deviation of 14. For comparison, other intellectually-demanding jobs got the following ratings:
Physicist: 73
Lawyer: 75
Engineer: 71
Professor: 74
Physician: 86
Jay M. Epstein
Posted by: Jay M. Epstein | March 11, 2007 at 05:49 PM
This article would be marked down to -1 as redundant in /. forum where geeks gathered. It has no new insights and failed to explain that like law, technology also have a two tier ladder. There are people who are working on the truly cutting edge stuff and the rest of the pack. Those in the first tier jobs get rock star treatments while the rest sits in cube farms.
Saying that people should becomes lawyers if they can get into top school then BIGLAW is like saying people should do programming if they can get into these first tier jobs at Microsoft, Google, etc. Is that news? Did people not mentioned in this very blog that at BIGLAW, associates must either move up or move out.
How can HS give direction to a place he has never been? Did he go to a top tier school then worked at BIGLAW? How can he be sure that things are truly better there? Law is very much a people business. Those who are truly that devoted and have the necessary people skills to be successful at BIGLAW would probably do better doing sales or starting their own business without the need to spend three years and hundreds of thousands dollars.
Posted by: nobody | March 11, 2007 at 06:12 PM
There is only one thing that makes no sense to me in all this. If you think it's so important to go to a top school for a law degree or not even bother at all, why did you go to Arizona State (or did you only find this out after you graduated)?
Posted by: before sunrise | March 11, 2007 at 06:18 PM
If you think it's so important to go to a top school for a law degree or not even bother at all, why did you go to Arizona State
Ah, how many people besides me think "if I only knew back then what I know now."
Posted by: Half Sigma | March 11, 2007 at 06:28 PM
Your argument:
- you have to keep your skills current.
- are people 'impressed' by the job title?
- career progresion
- perks
I agree with you that I have become tired with the effort of figuring out that latest microsoft innanities. However, in any tech profession there always is a need to continue to learn and grow- that is your personal responsibility. There always will be new stuff to learn, sorry.
But you find none of your knowledge transferable? Knuth's books are relevant today? Design Pattern are the same regardless of language. User interaction models are basically the same. If you understand how to decompose a problem, you shoud never be out of sorts in a new language.
The bigger issue is if all your list above were fixed, would you like computer programming? I used to like it because I like solving problems and there was a real satisfaction in creating something and knowing it was 'right' because if compiled, ran and worked.
Posted by: | March 11, 2007 at 06:32 PM
This article would be marked down to -1 as redundant in /. forum where geeks gathered. It has no new insights and failed to explain that like law, technology also have a two tier ladder. There are people who are working on the truly cutting edge stuff and the rest of the pack. Those in the first tier jobs get rock star treatments while the rest sits in cube farms.
I never read any of those geek forums. These are my own thoughs. If a lot of other people have already said the same stuff, then this is evidence that it is true.
You're right, I don't know much about the top tier computer science track. But I'm SURE that the guys who are "rock stars" in their late twenties won't be rock stars when they are in their late fifties. The Google engineers face the same problems of technologies becoming obsolete as the guys working in cubicles in cheap satellite offices of regular corporations.
Do these "rock star" programmers make more than the $160K starting salary at the top BIGLAW firms?
Posted by: Half Sigma | March 11, 2007 at 06:33 PM
It's possible to do well in accounting without working at at Big Four accounting firm. Accounting doesn't really have anything like the BIGLAW/crap law split seen in the legal field.
There is only one thing that makes no sense to me in all this. If you think it's so important to go to a top school for a law degree or not even bother at all, why did you go to Arizona State (or did you only find this out after you graduated)?
He probably didn't realize what the field was really like until after he graduated. Law schools are notorious for deluding applicants into believing a law degree is a guaranteed ticket to the good life.
Posted by: Peter | March 11, 2007 at 06:34 PM
Ah, how many people besides me think "if I only knew back then what I know now."
Me!
Sunrise, whenever someone makes a boneheaded move it's usually got something to do with a relationship. Arizona, pfffht.
Posted by: Spungen | March 11, 2007 at 06:34 PM
"It has no new insights and failed to explain that like law, technology also have a two tier ladder. There are people who are working on the truly cutting edge stuff and the rest of the pack. Those in the first tier jobs get rock star treatments while the rest sits in cube farms."
Yeah, but lawyers don't face foreign competition. Even top-tier programming jobs at Microsoft, Google, etc. are going to foreign computer programmers.
All of HS's comments on IT still apply to higher-end IT jobs. Bill Gates himself has said that the US is falling behind other countries in producing CS students. In fact, Microsoft is know for hiring a lot of H1-b visa holders.
Posted by: anon | March 11, 2007 at 06:36 PM
"Ah, how many people besides me think "if I only knew back then what I know now.""
Maybe you were a very different person back then, but it surprises me that you didn't look into the statiscs of the types of jobs the Arizona State Alumni had. Either way, it's a shame you didn't know the "right" people back then to guide you on the path you wanted to follow.
Posted by: before sunrise | March 11, 2007 at 06:37 PM
"It's possible to do well in accounting without working at at Big Four accounting firm. Accounting doesn't really have anything like the BIGLAW/crap law split seen in the legal field."
[] Big Four partners make like $300,000 to $500,000 a year. That is a hell of a lot more that some CPA partner at a rinky-dinky accounting firm.
Posted by: anon | March 11, 2007 at 06:41 PM
"Sunrise, whenever someone makes a boneheaded move it's usually got something to do with a relationship. Arizona, pfffht."
You might be right, that would explain why HS didn't even think of his job prospects after graduating.
Posted by: before sunrise | March 11, 2007 at 06:41 PM
"Either way, it's a shame you didn't know the "right" people back then to guide you on the path you wanted to follow."
Hence, that is why he wrote the essay. I guess it is HS's form of community service.
Posted by: anon | March 11, 2007 at 06:46 PM
"It's possible to do well in accounting without working at at Big Four accounting firm. Accounting doesn't really have anything like the BIGLAW/crap law split seen in the legal field."
[] Big Four partners make like $300,000 to $500,000 a year. That is a hell of a lot more that some CPA partner at a rinky-dinky accounting firm.
[] just because one makes less than $300-$500K does not mean that one is not doing well.
Posted by: Peter | March 11, 2007 at 06:54 PM
Does anyone know anything about the OTHER profession for nice Jewish boys, medicine?
Posted by: SFG | March 11, 2007 at 07:46 PM
It's my impression that lots of small-town lawyers make $60K to $100K or more doing divorces, wills, etc. Maybe that's not a lot in NYC, but in the small towns I've lived in, they're at the top of the heap (except maybe for doctors). Unless lots of those state-school lawyers end up un- or underemployed, it seems a decent career.
Posted by: Dennis Mangan | March 11, 2007 at 08:05 PM
"Does anyone know anything about the OTHER profession for nice Jewish boys, medicine?"
Medicine is a good profession to get into, but it too suffers from the career track problem.
You have to have to get very good grades in your undergrad pre-med classes and have high scores on your MCAT in order to get into a good Med School. Getting into a good Med School is important because that will help you get into a good residency program. The last thing you want is to get stuck in a shitty residency program.
Posted by: anon | March 11, 2007 at 08:07 PM
I think you (HS) are essentially correct. There are few professions where things are changing so fast and barriers to entry are so low as computer programming. And even as you do get better at programming while doing programming, the problem is that usual commercial programming tasks are so simple that they're only 10% about loops, algorithms and conditions and 90% about knowing which libraries to use and how the particular platform works. Knowledge that gets obsolete quick, as you note.
I'd say that programming is a relatively high-IQ profession. Which begs the question why aren't programmers at least as well organized as lawyers. That means licences, all sorts of barriers to entry, apprenticeship system, mystic rituals... :)
Anyway, to make your day. I work as a programmer in Croatia and I make about $5/hour. Which, according to the statistics bureau, is exactly the national average. People with couple of years in the industry make double that. Average apartment costs $150 000. You're not the only one thinking about future and asking yourself whether to change career tracks ;)
Posted by: Simun | March 11, 2007 at 08:15 PM
I think this is one if HS' better essays.
Matthew Yglesias (www.matthewyglesias.com) recently advocated expanding the H1B visa program on his blog, saying that we need more foreigners to come in and compete in high skill obligations. He was then metaphorically hit over the head, repeatedly, by all but three of his readers. The discussion is worth checking out.
I'm not in the computer science field, but I think what is happening there and in nursing should be a national scandal. Also, one of the things I'm taking away from this discussion is how much the career prospects generally suck in the U.S. for recent college graduates, at least compared to previous generations. I'm in my late 30s, and while I'm not thrilled to have wound up in my middle prestige, middle income career path (especially since I live in New York), at least my chances of having a job after I'm fifty are pretty good. This seems to be increasingly rare.
Posted by: Ed | March 11, 2007 at 08:17 PM
Do these "rock star" programmers make more than the $160K starting salary at the top BIGLAW firms?
A good but not rock star programmer right out of a decent state school can easily make 60-80,000 and expect a 5-10% raise every year for a while. If you have the bizarre impression that you'll only be "a success" and happy with a 3BR on Park Avenue, of course programming is not the field for you. If you're fascinated with computers and smart enough to realize that you don't need to live in Manhattan and make 300K a year to be happy or feel good about yourself, it's probably the best career around. It is a high-IQ profession, of course, and much harder to bullshit through without talent. (Note that I'm speaking of programming specifically rather than other computer fields.) The best programmers are 10-100x better than the average ones and bad programmers are worse than no programmers. If you won the genetic lottery (as I suspect many HS readers have) and are a good-to-great one, life can be cushy indeed. Just find a job at a big firm that treats you well.
In essence, programming is obviously a bad career choice for ambitious people who don't enjoy programming and just want money and the gold diggers that go along with it. For gifted folks who are just looking for a good, comfortable life, it may be the best deal around.
Posted by: JewishAtheist | March 11, 2007 at 08:37 PM
For gifted folks who are just looking for a good, comfortable life, it may be the best deal around.
You're missing an important point of the essay. Computer programming probably seems like a good and comfortable job to the person in his twenties, but in the long run it is not a safe profession to be in because of the quickly depreciating value of one's technical knowledge.
In most other good professions, like law, medicine, accounting, etc, the professional can be assured that he can keep on doing what he is doing and his skills will be valued until he is ready to retire. The computer programmer (or "software engineer" or whatever fancier name you want to give it) doesn't have this security.
The computer programmer making $100,000 today may be making $50,000 in ten years and be bitter about how his salary plummeted. The doctor or lawyer making $100,000 today will be making $120,000 in ten years.
Posted by: Half Sigma | March 11, 2007 at 08:48 PM
Medicine changes almost as quickly. Any decent programmer can keep up easily. Of course, I'm in my late 20s sp maybe I'm just wrong.
Posted by: JewishAtheist | March 11, 2007 at 08:57 PM
"The computer programmer making $100,000 today may be making $50,000 in ten years and be bitter about how his salary plummeted."
If this is in fact reality, how do computer programmers have families? Do they live below their means while their salary is at it's peak, already predicting the fall in the future, or are most computer programmers young and they eventually change their path at a certain stage in life because of this instability or is this a new trend?
Posted by: before sunrise | March 11, 2007 at 08:59 PM
Medicine changes almost as quickly. Any decent programmer can keep up easily. Of course, I'm in my late 20s sp maybe I'm just wrong.
I've never heard of any old doctors who can no longer find work as doctors. Even when surgeons become too old to do surgery, they can still see patients and get paid almost as much money. There are doctors in their eighties who are still practicing.
But the U.S. is full of old programmers who are underemployed because the technology has left them behind.
As someone in your 20s, I see that you have a hard time imagining what it's like to be ten years older. I think that, ten years ago, I might have said exactly the same thing as you.
Posted by: Half Sigma | March 11, 2007 at 09:01 PM
Here's a link about older computer programmers who can't find jobs.
" ... recent US Census Bureau statistics showing an unemployment rate of
17 percent for information technology workers over age 50, compared
with a scant 2 percent for all professionals 50 and older."
Thus most professionals enjoy the best time of their careers after 50, but for IT workers the opposite is true.
Posted by: Half Sigma | March 11, 2007 at 09:04 PM
IT work encompasses a lot of people who are not programmers. I limited my posts to programmers not simply because I am one, but because I believe it's a unique field in IT.
Computer programming:IT::Surgery:Health Care
IT includes all sorts of untalented software installers, help desk people, talented but replaceable network administrators, etc. Programming is a skill that far fewer people have and which is not as replaceable, even with the Indian scare. Especially if you live in an area with a lot of government contractors who often require not only U.S. citizenship but sometimes security clearances.
Posted by: JewishAtheist | March 11, 2007 at 09:11 PM
What's the big deal about a shitty residency? I assume Mass General's better than Massapequa General for becoming an East Side plastic surgeon but even the lousy hospital jobs seem to pay okay from what I've heard...
Posted by: SFG | March 11, 2007 at 09:12 PM
If you have the bizarre impression that you'll only be "a success" and happy with a 3BR on Park Avenue, of course programming is not the field for you. If you're fascinated with computers and smart enough to realize that you don't need to live in Manhattan and make 300K a year to be happy or feel good about yourself, it's probably the best career around.
Of course, I'm in my late 20s sp maybe I'm just wrong.
Oh-ho-ho. That makes a big difference. I'd always assumed you were about a decade older than that. No offense, but one's needs change a lot between one's late 20s and late 30s.
I'm also under the impression that you are either married or not seriously looking, which also seems to substantially affect a man's perception of what he needs to be and have.
I don't know that HS has ever stated specifically that one needs $300k a year and a Park Avenue condo. His advice seems generally applicable to bright, educated people of some sophistication looking for a secure situation and a decent living standard.
Posted by: Spungen | March 11, 2007 at 09:18 PM
Interesting essay. I've been in a similar position to HS, though it was fifteen years ago: graduated with a BS in computer science from a reasonable school (top 40 but not top 20) and got a job at a big defense contracting company.
I've made a bit of a career change since then, but not quite for the reasons that HS lays out, partly because of timing, and partly because of a difference in. . . I don't know, perspective? Job security is important, but doing what I'm actually interested in is quite a bit more important. Someone who can think of switching from computer science, or rather programming, to an area such as law or accounting or business strikes me as someone who may not have discovered what he or she really wants to do. Figuring that out should be the first step, rather than deciding on the most prestigious, highest-paying job one might dream of getting.
Posted by: RSA | March 11, 2007 at 09:22 PM
Unless lots of those state-school lawyers end up un- or underemployed, it seems a decent career.
That's exactly it. Many end up with lousy or no jobs.
Peter
Iron Rails & Iron Weights
Posted by: Peter | March 11, 2007 at 10:19 PM
Lots of good points HS...For those not in the know about IT jobs, specifically in NYC, try this: Take the PATH from WTC to Exchange Place (doesn't matter if you hop on the Hoboken or Newark train) at 7:30pm on a weekday - If you've never done this, you might be shocked to see mostly Indian faces around you, hundreds of them - Most are IT professionals living in Jersey City and elsewhere - many transfer to local trains at Newark... Why 7:30? Because many programmers work longer and harder days than the other professionals - and - if you're not a consultant, there's no overtime or glamorous perks for you efforts.
I happen to work for a big financial company downtown and have been making the Jersey City to NYC commute for 6 years now - I am a 29 year old programmer and would like to quit my job, but don't how to start something totally new - I'm prepared to take a big pay cut, but doing what, I'm not sure...
The IT Indians are generally very nice, hard-working people, and loyal employees. Not all are programming wizards, but most are pretty good. Not all are strictly code monkeys, some are CTOs or something similar - And, yes, most are H-1Bs...I don't feel much like writing more on this at the moment b/c I have a headache, but I will say working in an office department with mostly foreigners is different than working in the same department with non-foreigners. The IT culture, for the 99% of programmers who don't work for Google, etc. has been getting worse and worse for non-foreigners. Who am I supposed to shoot the shit with at work? Can't have a conversation about anything other than the weather...There's no happy hour, ever. There's no badmouthing the boss like other jobs when all your coworkers are literally sponsored by the company. It's ridiculous. IT professionals, and specifically programmers, do a lot of the work that makes the world go around in the 21st century and get the least amount of respect for their efforts...Alright my head is killing me, I can write more coherently later..
Posted by: Paul Z | March 11, 2007 at 10:45 PM
That's exactly it. Many end up with lousy or no jobs
For all my complaints, I'm doing a lot better after law school than I was before. My complaints regard certain types of jobs within law, not every aspect of law.
I can't think of anyone I know personally who seems like he or she could have made better money, long-term, doing something else that they realistically could have done considering their interests, resources, and abilities.
Posted by: Spungen | March 11, 2007 at 10:53 PM
I am a former programmer, now in my forties and looking for a better career. I'm too demoralized to write more than this: HS is right on all counts.
Posted by: Former Programmer | March 11, 2007 at 11:10 PM
As a former programmer I must disagree.
Computer programming is a job that’s heavily dependent on temporary knowledge capital. It’s temporary because the powers that be keep changing the languages and tools that programmers need to do their jobs.
The "powers that be", as you put it, are the programmers themselves. Who came up with Python, Ruby on Rails, Linux etc? Now obviously if you're just looking for a stable paycheck and have no interest in the technology itself, it's going to leave you behind, but that's the nature of any field with technical progress. For those who enjoy it, or are otherwise willing to keep up, the rapid change can give you an edge and even be fun.
As for the prestige: maybe things are different in New York, but in the Bay Area I haven't noticed any lack of prestige for computer science; quite the reverse.
Posted by: tc | March 11, 2007 at 11:17 PM
Someone commented above:
"Design Pattern are the same regardless of language"
There is a contrary view that full-scale design patterns often are constructed to handle the limitations of certain sets of languages, so that using truly different languages changes or invalidates many of the 'customary' design patterns. Go see what some LISP snobs have to say on this topic, for example.
Second, a lot of what I've seen published on the subject of design patterns seems to have been written by overconfidently crappy designers.
Third, if you can't write sentences with subject-verb agreement and proper capitalization, you might be at extra risk of eventually being replaced in your job by someone who speaks clumsy foreigner-English.
Posted by: Chris | March 12, 2007 at 01:22 AM
>>Computer programming is a job that’s heavily
>>dependent on temporary knowledge capital.
>>It’s temporary because the powers that be
>>keep changing the languages and tools that
>>programmers need to do their jobs.
>
>The "powers that be", as you put it, are the
>programmers themselves. Who came up with
>Python, Ruby on Rails, Linux etc?
Programmers came up with neat tools like Python, Ruby on Rails, and Linux. Unfortunately, when I look at job ads and statistics, I find that the employers offering most of the U.S. jobs in programming are mandating less elegant tools like C#, ".NET", Java, etc. Same for my local metro area.
Since you imply that you're in the Bay area, maybe I should consider moving to the Bay Area if I like Python and Ruby on Rails better than Java. Based on actual statistics, can I expect someone who chose a programming career because (s)he likes programming and is decent at it, to be able to decently support a family in the Bay Area, if I want to have that option?
Posted by: Chris | March 12, 2007 at 01:30 AM
I think JewishA- you never really liked programming in its own right that much in the first place. You really want a secure job that rewards you with benefits outside the job functions- high status, protection, money etc...
Posted by: | March 12, 2007 at 01:33 AM
Wow. HS nailed this one. He shoots, he scores, game over. I've been feeling miserable about IT for a few years now, to the point of severe personal depression over my (stupid) career choice. I couldn't have written a better essay myself.
Managers don't understand that a good programmer is good regardless of language. Who cares if you've developed high performance code in C++ for 15 years? If the job is .NET and you've got fewer years on your resume with that specific label than some idiot who can't write a loop, you're not getting the job.
Of course given the majority of jobs available in IT any more, that just may be a good thing. I have relatives who partied through high school, never stepped foot in a college, and wandered around their life for most of their twenties to end up in a trade such as home construction, or a no-degree job like home loans or real estate. Guess what? They earn circles around the highest paid, hardest working IT people I've known. The ones at desks have their own offices. The ones out in the weather earn circles around IT while taking 6-8 weeks off each year.
Another amazing thing: if they work overtime, they get paid for it. Try that in an IT job, even in California where it's against the law to not pay overtime, even to a salaried employee. (In IT you have to make six figures to be exempt from CA overtime law.)
In every IT job I've had this decade the IT department has been at the bottom of the totem pole. In every one the wages were stagnate while my relatives moved on up. In every one the pressure to work more hours and more weekends, without compensation, has grown. And not one has been secure. IT staff is the first to get chopped, replaced by foreigners, or outsourced.
I wish I had chosen ANYTHING other than IT. But of course I loved computers, loved writing code, even had some success selling my own shareware. Won awards in a few magazines even! My dreams were crafted in the 90's when IT was hot, and dashed in the following decade by an industry saturated with cheap foreign workers. I wanted to write great software and know that thousands of people benefitted from my work. Instead I bum around between contract jobs, trying to find a decent job among 80-hour week, me-too-website development positions for crummy wages.
One thing I will add to the essay: the need for software is declining against an increasing supply of workers. We're at the point where hobbyists and college students, working together over time, are able to produce better products for free than the big commercial houses sell for a profit. Postgres cleans house over MS SQL Server. Linux is still rough around the edges, but rapidly gaining ground on Windows. OpenOffice at this point is more productive than MS Office thanks to Microsoft's UI changes in 2007. Do you really need Photoshop when you have GIMPshop? How many databases, OSes, photo editors, and office suites does the world need? The commecial houses could keep people upgrading by reinventing the wheel and killing backwards compatibility. But that's not going to last much longer with the open source movement gaining ground. People are already looking at the "new" stuff from Microsoft and Adobe, and then looking at the free stuff, and thinking: why bother?
IT has become a low end, low paying, long hours, knuckle dragging, dead end "career". Stay far, far away from it.
Posted by: dt | March 12, 2007 at 01:39 AM
Oh yeah...Chris' post reminded me of another complaint.
Want a family? You can support one just fine with a career in IT. That is, as long as your spouse choses a real career and pays all the bills.
Another fun thing I get to do is watch my relatives get married and have kids. I won't go down that route because I, quite frankly, don't have the earning power to properly raise a family.
I should have partied instead of studied. Screwed around instead of gone to college. And picked a trade or career without hoards of foreign workers beating down the door.
Screw IT.
Posted by: dt | March 12, 2007 at 01:45 AM
Maybe things are different in the US than they are in the UK. My brother is an accountant in London and from what he says accountancy is much scarier than IT. Apparently, in the UK, only 10% of accountants are aged over 40. Maybe it's similar to Logans Run: When they get to 40 they get vapourized.
Posted by: SimonTeW | March 12, 2007 at 01:45 AM
Re: COBOL
Not true at all. Cobol experts can make enormous money, and do routinely. Low-end colleges are still pumping out Cobol programmers who get decent jobs at large companies with huge installed bases.
Posted by: mynameishere | March 12, 2007 at 01:52 AM
Man, this is a bunch of bullshit. Do what you love and shut the fuck up.
Posted by: Giles Bowkett | March 12, 2007 at 02:32 AM
"My dreams were crafted in the 90's when IT was hot, and dashed in the following decade by an industry saturated with cheap foreign workers."
I think a lot of people go into IT thinking it will be a secure career only to find that it is not. I have heard countless people talk about how they thought IT would be a great career only to find that it is not after working in it for only a few years.
Let this be a lesson: research your job options well.
Posted by: anon | March 12, 2007 at 02:46 AM