A writer at the blog, Half Sigma, recently authored a post entitled - Why a Career in Computer Programming Sucks. I haven't taken the bait on one of these in a while and figured I'd throw in my two cents on why this obviously intelligent, articulate and experienced fellow doesn't know what the @#$%! he is talking about. Let's first review his primary arguments:
1. Programming experience does not build over time:
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.
2. Low prestige:
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.
3. Outsourcing:
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.
4. Project Mangement is the Only Upward Direction and Even that Sucks:
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.
5. Working Conditions Are Terrible:
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.
Now let's take him apart piece by piece.
On the first issue:
Programming, particularly in web development, is universally applicable and the more experience and more talent you have, the better you'll become, the more you'll be worth and the more you can do. The fields of Internet marketing, web enterpreneurship, SEO, and, yes, arbitrage and blackhat are littered with talented programmers. Unless you have lost the will or ability to learn from mistakes, you will get better at writing regular expressions, coding to produce fewer errors, learning new languages more quickly and leveraging your previous experience to make better code. His arguments against the application of prior knowledge is akin to suggesting that an experienced cook faced with a new dish will have no advantage over a kitchen newbie.
On low prestige:
This is the type of argument that could only be presented in a certain demographic and geographic frame of reference. The author is projecting his personal desire to be viewed by family, friends and co-workers as important and worthy in a very east-coast, blazers-and-brunch style. As a man with lots of relatives in the Northeast, I understand this perspective, but the author must see that his own worldview is not exclusive. I'd argue that in markets like San Francisco, Silicon Valley, Portland, Seattle and Vancouver, a computer programmer is an exceptionally well-regarded profession. His other argument on this point is that the perception of prestige by others hurts programmers because companies and bosses don't value them. At the firms I work with (as a consultant) and in my own office, programmers are treated exceptionally well. At places like Microsoft, Google, Yahoo! and the dozens of tech startups, they're practically revered.
On outsourcing:
This argument could be made for nearly any profession that's easy to perform remotely. However, over the past 10 years, the trend of outsourcing has not lowered the demand for programmers, nor their salaries. Without relevant data to back this up, I'm forced to come to the conclusion that the author is simply wrong.
On upward mobility:
Excellent programmers (like the two we've got at SEOmoz) are creative, inventive and, though it pains me to say, easily able to abandon their jobs, work from home and make great money as consultants or on-demand workers. They also have the freedom to start their own revenue-earning projects online, and the experience to succeed. Success need not be accomplished at a company, but even if it did, programmers can transition into lead technical roles, designing systems, architecting projects and creating on a higher level while other programmers build. I have two programmer friends who started their own companies, one in game development and the other in software architecture consulting. Both considerably outearn me.
On working conditions:
I've toured Google & Yahoo & Microsoft. I've been to the offices of companies like Wetpaint and Farecast and many others and seen the horrible working conditions. Only two 24" widescreen monitors each with free snacks and drinks and social events and gym memberships... Oh, the humanity. Seriously, I think that the author's complaints stem from his own experiences and while mine are probably at the far opposite end of the spectrum, working conditions fluctuate in every job. His suggestions of becoming an accountant or patent attorney present similar spectrums.
Programmers, in general, don't need to be defended. They're smart. They have their own popular subculture. They prosper and learn and advance and have more opportunities available to them then nearly any profession in the history of humankind. As the author's subpar responses to the common criticisms he received in the comments suggests, the motivation for the post is almost certainly a bad experience. For that, I offer my condolences. No one should be treated badly in any industry, but we take our licks and move on - that's what makes us better people.
I'm writing this for the college kids and high schoolers and elementary children (yes, they start that young) who are considering a career in software and web development. Don't be discouraged, gang. You will have a chance to change the world for the better (and earn like crazy while you do it).
UPDATE: A like-minded individual has pointed out some additional reasons why our half-sigma friend's arguments don't hold water that's also worth reading.
Every field has its issues. Swap out a few words here or there and you could probably make all of those statements "true" for any industry.
Therefore, these statements aren't about programming, or any industry for that matter. They are statements of perception and self-reflection.
I'm glad you decided to write on this. It serves as a great example and reminder of the impact of complacency. Of feeling "owed" anything. If you don't continue to grow and embrace what you do, you run the risk of waking up some day and feeling trapped or passed by... and that is true of anything and everything we do.
Somewhere in this world, someone, maybe an attorney or an accountant, but could be anyone, probably just wrote on their blog right now, why a career in what they are doing sucks and how they should have been a computer programmer.
And just like with any other industry, there's a lot of people in programming who really just ended up there and aren't true 'programmers' -- they don't think in terms of algo's, they don't eat and breathe code, they just learned a trade early on somewhere and have relied on it. I know I did for quite a while, I started off as a javascript and coldfusion programmer way back during internet 1.0.
I just came to realize that I was being treated the way the author detailed, but not because of my industry, mostly because I wasn't in the top tier of programmers. I knew how to get the job done, but not in the most efficient terms and not in the best way certainly. I realized that programming, while somewhat interesting to me, is not my competitive advantage. So I moved on and upwards doing what I do best (or better. the career as a rock star is still being weighed and measured :)
First Issue: Unfortunately, Rand, I have to agree with the other author on this one. In a corporate environment most programmers get type-cast as "the guy who is good at X" then only gets projects associated with "X" and never gets challenged or learns something new. The money is good, he knows the work, and his motivation to work harder dies.In a world where a programmer is working for himself, and not a corporation, I would agree with you.
Low Prestige: Again, speaking in corporate environments, I think web programmers are seen as a tool - the toilet paper if you will. Marketers come up with the ideas and we need the programmers to implement them. The thanks usually goes to the person who came up with the idea, not the one who made it happen (unfortunately). That being said, it's always a good thing to give thanks where it's due. It's easy to complain when things go wrong - it is much harder to give praise when everything is working as it should.
Upward Mobility: I agree here, but the programmer must stay motivated. You'd be surprised how quickly a cushy job with decent pay and salary will kill the drive of even the most talented individuals. I believe the key here is to offer programmers/SEOs that are working in-house some sort of bonus structure where they can make more money as the company does.
Working Conditions: In my experience this varies greatly - the main factor usually being the age of upper management. "Old-timers" who don't really grasp the web and programming are stuck in the days of, "don't complain, you're lucky you have a job" whereas the young CEOs understand the importance of keeping employees happy and motivated.
Lastly, I think the age and "where you are in life" of a programmer also plays a big role in all this. Someone with kids, a mortgage and a wife might not want to take risks - he wants to float under the radar, get his checks and go home. Someone with no wife/kids/mortgage might be willing to go out on the limb, change jobs, try his own thing, etc...
It all stems from being motivated to do the work and a passion for it which will help you learn and be the best you can be at what you do.
When we refer to Matt as "toilet paper" bad thing happen to us.
The only thing I can agree with is that bad programmers are probably a dime-a-dozen and aren't worth respect or prestige. However, isn't that true for every profession? I could write an article picking these types of holes in most fields of work, including that of "Le Snotty East Coast Blogger."
Correct me if I am wrong, but when I last checked, 10 years ago when I was in high school, there was a thing called shockwave, that is basically gone and eaten up into Flash. Just because I knew how basic Shockwave worked doesn't mean I know any or much at all about Flash. You have to continuously learn. All of my friends who are developers have ongoing classes, even though they have their degrees. They learn academically to keep up and ahead of the curve. Plus it's pretty clear you have to fail and learn from your failures when building sites. Otherwise, as Jane ellegantly stated just above me about how butt-ugly his blog is. Good call Jane!
First, for anyone in the programming field, new or old, I highly recommend the book "My Job went to India and all I got was this lousy book (52 ways to save your job)" by Chad Fowler and published by The Pragmatic Programmers. A great read, and filled with great points on how to keep your career alive. I just pulled it from my bookshelf and am going to re-read it (thanks to this blog entry).
Now, for my opinions, (and my second attempt at writing them since my previous comments timed out before I posted them, I guess that means they were way too long. )
Programming experience does not build over time: Generally I'd agree, but because companies will rarely provide the opportunities to keep your skills current, and hiring companies will generally narrow their focus on certain skillsets and avoid looking beyond those. If a company was willing to take a top-notch developer with a proven record in one skill and be willing to train in another, they may find they get some real star performers. (and without going offshore).
Low Prestige: Just a matter of opinion. I accepted bing a geek long ago, and as such, I'm not seeking prestige. Want a profession without respect, but deserving of much more, go be a teacher.
Outsourcing: An area I feel strongly about, as I have seen and experienced the downsides of it. I feel the quality of the talent pool in the U.S. is underestimated, H1 visas should be banned for computer programmers, and companies should be encouraged to use the existing U.S. talent pool and not be encouraged to use foreign workers (through visas or outsourcing). Companies need to be encouraged to re-train workers prior to laying off and sending the jobs overseas. Outsourcing does not just impact tech workers, but doctors (read about radiologist), lawyers, accountants, and any knowledge worker.
Project Management: I do not see Project Management as the only career path for developers. It's one of those thatis fine if it suits the person, and the same as developers choosing the managemet path versus the technical path in theri careers. Iwill say I have seen Project Management change a lot for Software over the last 10 years or so. 10 years ago you could rarely find software mentioned in project management courses, now you can walk into Borders and have two shelves of books in the computer section on Project Managment for Software Develoment and PMP certification.
Working Conditions: Too company specific to really describe it as being bad only for programmers. I've worked in 'open office' environments where even the CEO is not in an office. Anytime that you think cubicles are bad, just watch an episode of Dirty Jobs on Discovery, adn you'll change your mind.
As a fellow New Yorker, I see where he's coming from - to a point... A lot of what he describes is the experience of a fair number of programmers around here. A lot of large companies here are using a fair amount of offshore programmers and this isn't a city that's centered around software development. Programming, while necessary, isn't the core of the business and doesn't get a lot of respect, and by NY standards it doesn't pay nearly as well as some other professions.
This is a city where dumb jocks who can sell get paid better and get more respect than the smart guy who can program - that can get under your skin if you let it.
That said, NY has an incredible amount of opportunity. If the guy would just step outside the box of "traditional programming" he'd see a bunch of ways he can make a decent living with a good quality of life using the skills he has. Sure, he probably won't be getting a six figure bonus any time soon, but he'll do well enough.
Oh, the Ivy League snobbery. All the programmer-hatred shows me is that these people are a) exceedingly arrogant, and b) completely out of touch with the majority of society.
Ah, "brown people speaking barely intelligible English"? There's only a small section of society for whom that's even acceptable to say. Oh, and not all people who came to the U.S. on a non-immigrant visa can't speak English.
As for the working conditions, Rand's about summed that up.
To the author: You are a tool. And yep, that's a perfectly acceptable term to use for "idiot" on the West Coast.
I think it is safe to say that Jane is settled in as a full SEOmozzer. Just knew there was a fire burning under that friendly smile and I think our programmer sparked a blaze!
;) well said Jane
Aww, thank you. I think anyone who went to a school that ended in "State University" was tired of hearing from people like this long before they even settled on a career.
Besides which, I must do better keeping up with Rebecca in the angry-rants.
Bloody hell - I hadn't read all of his comments - that's a nice line in pig-ignorance he's got going there - thanks for pointing it out Jane.
If I wanted to resond to this guy & be a really snooty Brit I could argue that most American computer programmers can barely speak/write English (have you seen the spelling on Digg?!) - other than those on or working for SEOmoz obviously!
;)
Although I always thought that "centre" and "entre" were dumb ways of spelling. Are we in France, people? No, so let's spell things with an "er" please.
Tut tut Jane, and only one day after Commonwealth day. ;)
Next you'll be campaigning for the removal of all extra U's...
No need... the next version of FF and IE will automatically remove them. It's the first thing that they both finally agreed on supporting!
;)
agreed - that guy's a racist jackass. nevermind that these "brown people" are extremely intelligent and well educated, and earned their H1B visas because of their education and professional accomplishments. the fact that their skin color is different lowers the prestige of computer programming as a profession? jackass.
Tool works well on the east cost, the mid-west, the mountain states, and just about anywhere else too.
I always found it ironic that some people put down others because their skin is darker, then those same people spend all summer on a beach trying their hardest to make their own skin darker.
Programming experience does not build over time:
I started off working in Smalltalk, and was there to watch the language slowly die and fade away, yet was quite easily able to take my knowledge from that language into Java. Over the 10 years that I was a software engineer my salary didn't cap out...
Project Mangement is the Only Upward Direction and Even that Sucks:
No, there's another technical route to go, and that's into software architecture. A good software architect, that can plan out a system on both a general and detailed level is highly in demand.
It's sad to hear the guy blame foreigners for "stealing" jobs from people like him.
It's not the low-wage programmers that are stealing jobs, it's the big wigs at the helm of these businesses that make the decision to move these processes/jobs offshore because it's simply business.
Lower costs = higher profits and if you're in business it's only about the bottom line profits.
I don't believe any guns were pointed at the corporate big wig's heads to outsource programming work overseas.
If I had a child of an age where they were starting to contemplate a career right now, I would recommend learning SEO & web development.
Our experiences of trying to hire people with these skills in the UK, and the wages that they can command due to the lack of available potential employees, makes me think it would be a very good career move.
But you know who makes the real money? Plumbers. Jeez those guys rake it in. Sure, dirty work and "low prestige", but plumbers can wipe away those tears with wads of crisp franklins, boo-hoo-hoo.
I was a plumber's apprentice looong ago in SF (AKA Plumber's Valhalla) back before I became a programmer, sometimes I miss the work, but hey, what can you do?
So here's the report from the field: programmers with five years of experience net about $60/hr these days plus or minus about $20/hr. Programmers typically work let's call it 50 hours a week to be on the safe side.
Here's teh math: $60 * 50 hrs * 50 weeks = $150K/annum
So there you have it: five years hands-on experience and you too can be in the top 5% of US earners. Bonus! Get yer spouse to program and double yer money!! That's what all my h1-b friends do!
So go ahead and program: it may be low work, but all those greenbacks should help paper over your shame.
Chris, my annual review is coming up next month and I'm trying to prepare so I can tell them why they need to pay me more, are your numbers based on anything concrete that you might be able to share with me?
A career in anything tech related is looking really great right now
My main problem is that some people think a uni degree will give them everything they need...
but the industry changes to fast and it's a life long learning process to keep up with the latest codes.
www.newviewit.com/Website-Programming-Services.html
A good programmer I know has been using his knowledge of CICS to earn a (very tidy) living for the past 20 odd years. He doesn't seem to be complaining.
As long as you have useful skills and experience, there'll always be jobs available.
His post reads like an outpouring of bad personal experience, mixed in with a few racial and cultural prejudices. He should really stop blaming a glass that is half empty.
Am I the only person who sees this article as well-crafted linkbait? It is a very well written article with a reasonably obnoxious "contrarian" point of view that is getting noticed by people like Rand.
A person with a programming skillset that also happens to be entrepreneurial & creative will do extremely well for themselves.
It sure did look like a linkbait. But I also think the guy was speaking from his personal experience, so I guess it would make it an "honest linkbait" :)
Which makes him an honest, snotty racist :)
It only takes a few clicks through his posts to pretty much confirm that he's convinced non-whites are ruining America and his life. I'm just sorry I gave him the four page views.
Sorry to drag this out more, but here's another gem of a quote:
We DO have a rather inflated view of ourselves, don't we?
I thought that same thing as I read the quotes Rand pulled. Once the I saw the remarks about outsourcing I had no intention of ever visiting the original site.
It's pretty hard to offend me, but this person managed to do it with just a few choice words.
Thanks for sticking up for us coder-types, Rand. Every industry has its high and low points, and this sounds like someone who's angry that the dot-com market didn't stick around forever. Hey, we had a good run, now we've got to work for a living like everyone else.
I will say that, when it comes to programming (and, really, to any technical skill), people have to be masters of their own education. A lot of college kids who thought programming would make them a quick buck learned one language in school, got hired for a tidy sum to use that language, and then got discarded when that language was obsolete. I finished college in '92 and learned C++, Pascal, Basic, Prolog, LISP, ADA... Within no time, only C++ was really being used (not counting Visual Basic), but I also took a lot of theory classes (discrete structures, file structures, graphics theory, etc.), and those are still paying dividends. Along the way, I made sure to learn other languages because, frankly, coding is in my blood. Lo and behold, I still manage to make a living.
And when it comes to programming there's the more general skills of thinking like a programmer and the more specific skills of nowing the syntax of a particular language. Just because one language falls out of favor doesn't mean the people who use that language lose their programming skills.
A linguist understands language, but not all linguists will speak the same languages
Um, just a random thought: I guess his disdain for programming is why his blog is butt-ugly?
...and then this article came over slashdot, about the death of computer science... -
https://www.bcs.org/server.php?show=ConWebDoc.9662
Boy, computer scientists are a cheerful lot aren't they? ;)
Anybody who longs for the days when assembler programming ruled needs to have their head examined. That's like missing punch cards.
Wow, a reference to my client, the Project Management Institute! I disagree right there that project management is some hazy artform -- the institute is a global thought leader on best practices and resources for certified Project Managers and Program Managers. This is really a myth they are trying to dispell with extensive case studies and standards, such as the PMBOK Guide [an excellent project standard you should go read]. We're helping them with a complete overhaul of their site, so keep an eye out in the future. www.pmi.org
There is also a wonderful phrase in the comments on his response piece:
Doesn't only apply to programming but also to web design and SEM.
So very very true. But the flip side is that they don't think "Hang on, I'm taking lousy pictures... I need to learn how to take better ones and understand the process going on here". Instead they think "Hmm... the camera isn't that good after all".
Similarly, most people who fail in online marketing are those who say "Hmm, this isn't working. Maybe it doesn't work," rather than "Hmm, I clearly don't know enough. I need to learn more!"
Sure, a chef is only as good as his eggs, but a bad workman will always blame his tools. And more often, people are the latter, not the former.
They maybe Brown and Barely Intelligible English but programming doesnt require people who has comprehensive skills in english.Programming needs proper understanding of the problem and dexterity and not even require the color of your skin! The prog. language would not tell the user "Your Brown! You Must Not Use Me!!!"
I think some brown people speaking barely intelligible english took hes job.. hahaha he's just disapointed to himself that he was beaten
Thanks
CaShOUT GuYs
We Buy Houses
https://1800CashOut.com
https://LicenseYourArea.com
Hey Randfish!
Your Blog rocks!! Just wanted to share something with ya… one blogger to another…
There is this amazing site that I came across where u can make money by sharing information…check it out here’s the link https://www.myndnet.com/login.jsp?referral=alpa83&channel=PA
The coolest part is…every time ur information gets sold u get paid for it!!
I signed it for it.. very cool stuff… u can also mail me at [email protected]
Cheers!
Alpa
Woo hoo, more spam! If you weren't sure whether you had "made it" or not Rand, surely this is a certain sign!
I wonder how long it'll be before this guy starts telling us about his lovely Eastern European lady friends?!