This is a response to the author of Half Sigma, who wrote a post about why a career in computer programming sucks. This topic could be considered slightly off-topic for this blog, but I’m a programmer, so I feel it’s career-related enough that it falls slightly into the realm of this blog. Besides, I want to respond.
Sigma (as I’ll refer to you throughout this post), you are way off. I’m afraid that your arguments are weak and poorly formed. You’ve made erroneous and biased assertions and based your arguments on those false premises. You clearly don’t like being a programmer, but your personal dislike for the job (or the field) doesn’t make it bad. It just makes it a bad fit for you.
I’m going to address your arguments point-by-point, so readers can more easily refer back to your post for context.
-
Temporary nature of knowledge capital
You argued that because so much of the everyday knowledge in programming is transitory, there’s basically no benefit to hiring an experienced programmer over an unexperienced one (or a programmer with relatively little experience). It’s true that Cobol is effectively dead, and “Significant Cobol Experience” isn’t exactly the best way to headline a resume these days. It’s not true, however, that experience is worthless. The transient parts of programming change: the languages, the tools. But much of programming does not change. Good software engineering practices and concerns have not changed: Encapsulation, clarity, patterns, security, stability. These are all as important today as when they were first conceived.
The fundamentals do not change. A linked list is still a linked list. Binary searches and hash maps are still faster than linear searches on large data sets. If an experienced programmer can write the code for a linked list, or understand when a linear search is bad (or — gasp — when it’s good), then he’s definitely got something to offer beyond the average recent graduate (who sadly, doesn’t understand pointers or Big-O notation).
There’s even a great deal of technology retention from the “transient” aspects of programming. I still use Make at work, and it’s been around in various forms since 1977. Some of the languages haven’t changed, either. C is still C. I’ve got the K&R book, and it’s still a good reference. Even newfangled languages like C# inherited a great deal from C. Certainly, there have been massive changes, but variables still have to be declared, and a for loop still looks like a for loop.
New languages and tools don’t have to leave experienced programmers behind. When Canola oil became popular, all the experienced chefs weren’t suddenly replaced by recent culinary school graduates. Scrambling an egg is about more than just what fat is used. Likewise, CAD didn’t put all the draftsmen and architects out of work. And Java hasn’t put all the C programmers out of work, either. There’s fundamental knowledge in any field that isn’t tied to a particular technology, and experience builds on this fundamental knowledge. If all your knowledge is all tied to a particular programming language, or a particular API, that’s a huge problem, but not because Q# is newer than Y++.
-
Low prestige
Sigma, I don’t know if you expected prestige when you signed up for your computer science degree, but if you did, it’s your fault. Engineering and science disciplines simply do not have the prestige that law and medicine do. This isn’t a problem with computer science any more than it’s a problem with physics. It’s just a fact. If prestige is what you’re after, the sciences are not for you.
You claim that Ivy League students aren’t majoring in programming. Well, I disagree. You say that what MIT teaches isn’t really programming. Well, I don’t know anyone but you who thinks MIT isn’t churning out real programmers. Yes, MIT is actually teaching the fundamentals of computer science, but I’m unclear how that’s a problem. Even “low-level” work in ASP.NET is benefited by a proper education. If someone can’t understand recursion, then quite frankly, I don’t want them building my e-commerce site, because they’re unlikely to be able to understand basic security, either. (I’m not sure exactly when ASP.NET became considered “low-level”, either.)
The fact that schools like Devry and the University of Phoenix churn out “programming” degrees doesn’t indicate that programming is low prestige. All it indicates is that programmers are in demand, and the regulations are lax. If Devry could churn out MDs, you better believe that they would.
Programmers aren’t lacking in prestige. They get the same prestige that anyone else in the sciences does. Civil engineers aren’t treated like lawyers. They get the same basic respect that programmers get. If you don’t think you’re respected at work, then leave. If you think you should be treated better, then find a better job. If you are worth more, then someone will give you more.
-
The foreignization of computer programming
Quite frankly, your blurb about foreignization says more about your own prejudices and fears than it does about any real problem with the industry.
First off, outsourcing is not a real problem. People have been saying that outsourcing would put everyone out of work since I started college. It still hasn’t happened. Yes, some companies have outsourced IT workers. Those workers found new jobs. (And many of those jobs came back, too.) There are still more jobs to fill than there are programmers to fill them. This is especially the case with good programmers. Bad programmers might get their jobs outsourced and be in trouble. Good programmers can always get other jobs. The really good programmers never even work places that would be dumb enough to outsource the programming jobs.
As far as bringing in good foreign talent, I’m not sure why that’s a bad thing. You’re being a complete alarmist by claiming that foreign IT workers are taking all the jobs from Americans, and that the domestic market has been nearly abandoned to foreigners. Only someone who’s not good at their job should have to worry about losing it to someone who is good. Bill Gates stated recently that the government issues 65000 H1-B visas each year. Meanwhile, the number of computer science jobs is growing at a rate of 100000 per year. He’s pushing for looser regulations on H1-B visas because there’s still a shortage of good programmers.
You say that foreignization causes a vicious cycle of low pay when combined with low prestige. This only makes sense if programmers have low prestige, which is not the case. Additionally, Microsoft and other companies pay the same wages to H1-B workers as citizen workers, according to Gates. No one’s bringing in genius programmers and paying them minimum wage.
I don’t know why you care so much about how “America” views our “industry full of brown people”, either. It may be that the average person thinks less of the profession because many programmers are foreigners. But how is that even relevant? Random Joe on the street doesn’t cut my paycheck, so it doesn’t matter if he thinks less of programmers.
You also say that Americans have more rights to the money created here than foreigners do. Well, many of the people who’ve helped drive America to be a superpower were, and are, foreign-born. If I hire a programmer, he is helping to create wealth for America. It doesn’t matter if he’s foreign or not.
-
Project management sucks too
Not everyone wants to move into management. It’s also possible to be a highly-paid programmer without moving into management, so your initial premises are invalid.
Older programmers don’t have to move into management to avoid ending up “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”. I don’t know why you think experience is worthless, but I really don’t understand why you think it’s impossible for anyone older than 25 to continue to learn. There’s no magical switch that flips when a programmer leaves college that stops him from learning new things. If a programmer is 50 and hasn’t learned anything since he was 25, he probably deserves to be unemployed. He’s clearly not the best asset. If a 50 year old civil engineer had been unwilling to learn anything after college, he wouldn’t be able to use CAD, and he wouldn’t know the latest building codes, and he deservedly would be unemployed.
You also don’t seem to understand what “management” is if you think it shouldn’t involve planning and status reporting. That’s exactly what management is. The people who hold the purse aren’t managers, they are Directors and Executives. Directors tell managers what to do, and managers manage the day-to-day details. Management isn’t generally glamorous. It’s not a situation unique to programming.
You also state that we need stronger industry bodies from the computer science profession. On this, I completely agree. The low quality of the average computer science graduate is enough to demonstrate that there are problems within the industry. We need industry bodies to set minimum competency requirements. The barrier to entry should be high, not to rule out foreigners, but to weed out incompetence. I think this needs to grow from the programmers themselves (much as lawyers run the Bar and doctors head medical boards). And I do agree that programmers should not be managed by non-programmers.
-
The working conditions suck
Sadly, there is truth to this. Some places do not appreciate their employees, and therefore do not treat them well. This is not, however, a problem exclusive to programming.
This is an area where an industry body would help. I think if we had an board which weeded out all the incompetent programmers, there would be less of a problem with poor tools. I think many companies simply cannot tell a good programmer from a bad one. And so they have a mix (mostly bad, a few good). A bad programmer isn’t going to be more productive with two monitors, and I think companies recognize this, and assume they are better off not giving dual monitors to anyone, rather than trying to give them selectively, or wasting the money giving them to everyone.
Of course, there are many places that do appreciate their programmers, and do whatever is necessary to keep them happy. These are the places that programmers want to work, and these are likewise the places that you will find most of the good programmers employed.
Sigma, for the most part, your arguments don’t reveal any deep problems with the programming profession. They reveal instead serious issues that you seem to have with your choice to be a programmer. Your aversion to learning new technology seems to be a major problem. You chose one of the fastest-evolving fields in modern times, so this is unlikely to change. Programmers need to be lifelong learners. I’m not sure what else to tell you. Lots of people change their professions. It’s not too late for you. Alternatively, you could find a job using a stable technology that you enjoy. Maybe you should find somewhere that will let you use C or C++, both of which are unlikely to disappear anytime soon.
To the readers, pick a field that’s compatible with your own nature. You’ll be much happier. If you find that you’ve chosen the wrong field, change it. It’s just a job. Find something you actually enjoy, even if it means a massive career change. It’s better to be poorly-paid and happy than highly-paid and miserable.
43 Comments on “Why a Career in Computer Programming Doesn’t Suck (A Response)”
Leave a Reply
6 Linkbacks to “Why a Career in Computer Programming Doesn’t Suck (A Response)”
-
Just Another Level of Indirection » Blog Archive » Programming Sux (no it doesn’t!) Says:
March 14th, 2007 at 12:39 am[…] There are dueling posts over whether or not a software engineering job is teh sux or not. […]
-
ze blog of simon » Blog Archive » Why a Career in Computer Programming Doesn’t Suck Says:
March 15th, 2007 at 2:42 pm[…] http://formerslacker.com/blog/2007/03/12/why-a-career-in-computer... […]
-
links for 2007-03-14 at DeStructUred Blog Says:
March 18th, 2007 at 8:53 am[…] Why a Career in Computer Programming Doesn’t Suck (A Response) « Former Slacker (tags: Job Work Programming) Share and Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages. […]
-
Shall We Zen » links for 2007-03-18 Says:
March 18th, 2007 at 7:34 pm[…] Why a Career in Computer Programming Doesn’t Suck (A Response) (tags: blog career programming) […]
-
How Quickly Does Programming Knowledge Become Obsolete? | Former Slacker Says:
March 20th, 2007 at 9:47 am[…] ago, Half Sigma posted an article claiming that a career in programming sucks. I responded that no, it doesn’t. In turn, I got quite a few comments supporting Sigma. Several of them were centered around […]
-
Build the Web, stay healthy and live happily | Just Simple Marketing Works Says:
April 3rd, 2008 at 2:04 pm[…] as working on a toxic plant, poisonous factory or somewhere similar, though some (most?) people seem to enjoy it. However, it doesn’t mean that building the Web doesn’t negatively affect your […]
March 13th, 2007 at 6:08 am
i read the former post yesterday, and just finished reading your post. while i agree most of your “responses”, the bad working conditions, and diminished carrier path issues are what makes computer programming a not-so-good job for everyone.
I like programming, and i picked this job when i was 18 years old, just before i attended to collage. 8 years passed, and right now i see that i have made a big mistake choosing programming as a job. Right now, i have the energy and motivation to fight wild pointers, endless debug sessions, meaningless customer complaints, but as i grow older, all this mass become senseless to me.
I’ll shift my carrier path where knowledge capital really matters.
March 13th, 2007 at 6:37 am
Kaanengin, I think bad working conditions are a symptom of the wrong kind of workplace. The places that treat programmers well are the companies built on software. The software firms actually treat their employees well (with a few exceptions, of course). Unfortunately, there are definitely some companies that do not treat their programmers well, because they don’t appreciate the value of the work. If I found myself working at such a place, my number one priority would be to find a new workplace that appreciated programmers.
As far as career path, I feel that few fields have obvious career paths that don’t lead into management. Civil Engineers, Chemists, Doctors, Pharmacists, even Lawyers all have career paths that eventually wind up in management. In all those fields, just like programming, it’s possible to avoid moving into management, but it comes at a cost. Again, the fact that programmers are being managed by nonprogrammers in some companies is a problem, but those are the places I would be doing my best to leave (and generally the same ones that treat their programmers poorly).
There are most definitely some problems with certain employers. I don’t think that makes the field bad, though. It’s still possible to get a good job where programmers are actually appreciated.
And I’d say that you should definitely switch if you don’t like your job. I can’t imagine much worse than hating a job until I retire, and knowing the entire time that I had a chance to switch when I was younger. Do something you love.
March 13th, 2007 at 7:02 am
The one thing that always bothered me about the Computer Science profession was location. No one really mentioned it here but it always seemed to me to be one of the most geographically handicapped professions. I can think of only maybe half a dozen areas of the country where one can get a computer science job that has a future. Sure there are a ton of dead end programming jobs out there but real careers are not to be found outside those major areas. This is untrue for most other professions. Doctors and nurses are needed everywhere, pharmacists, lawyers, plumbers, electricians, bankers, accountants and many others are the kinds of jobs that are needed in almost every town in the United States regardless of size. This is not the cases for computer science, and its one things that has really bothered me since I grew up in a small town and moved back because I wanted my son to be closer to his grandparents. Now I have a decent job for a small company but its precarious to say the least, and choices here a next to none so if I lose this job I could easily be commuting hours away just find work.
Anyway just my two cents on the issue and what has always bothered me about computer science. I’ll be pushing my kid towards medicine no shortage of old people for a long long long time :)
March 13th, 2007 at 7:08 am
CrazyProgrammer, I will definitely agree with you on that one. The bulk of the good jobs are clustered in only a few major metropolitan areas, which is unfortunate (but understandable).
March 13th, 2007 at 7:36 am
I am a programmer by profession and do like my job. However, I think there are other professions where the average pay is better than in programming. And I do love to own a home and be able to pay off my mortgage early.
It was not always like this, but for my age, all I have seen is this is how it is.
You may argue, that there are many positions which pay highly, or which give very high incentives to build better software.
Unfortunately, I am but an average guy, and being so, I pragmatically tend to look at the average writing on the wall.
March 13th, 2007 at 8:44 am
Good response, i was thinking to make my own reply to that poorly written article but sadly I lack the time. I am glad you did though as all your points are valid whereas his article is just a rant which should NOT have been read by so many people.
March 13th, 2007 at 8:53 am
Just a comment on a prestige issue.
I find that the prestige associated with a specific career is very dependent on culture and geography. While it is true that in the US Law and Medicine are the most prestigious careers one can embrace, it is not necessarily so everywhere. In France, for example, earning an Engineering degree from one of the top engineering Grandes Ecoles (Polytechnique, Centrale…) is one of the most prestigious career start you can have. Being a doctor is great but not nearly as sought after and lawyers rank even further down.
So if you’re an engineer desperate for prestige, either ask yourself why, or move to a country where you’ll be better considered.
March 13th, 2007 at 9:19 am
Well said!
March 13th, 2007 at 10:02 am
One thing I noticed about the numbers of H1B visas being issued. If there are 100,000 new jobs and at least 65% go to H1B visa holders that leaves only 40,000 jobs for US workers to fill. We have 300,000,000 people in this country and we don’t even produce 40,000 qualified programmers per year? That’s somewhat hard to believe. If we actually produce more than that, or allow more H1B programmers into the country, then clearly some US programmers are not going to be able to find work. In addition I’d be willing to bet that a significant percent of the 100,000 jobs created annually are actually off-shored making the situation even worse.
Maybe it’s true that the US doesn’t produce 40,000 programmers per year but that has more to do with how the industry perceives and treats programmers than it does with some innate inability to produce qualified programmers. Which, I think, speaks to the perceived suckiness of the job.
March 13th, 2007 at 10:36 am
I’ve read that an estimated 2-3 percent of programming jobs are offshored every year. But growth should be calculated after that. So if there’s a growth of 100000 new jobs, that’s 2-3 percent (to account for offshoring) plus 100000.
I wonder how many additional jobs actually open up every year from retirement, switching careers, etc. I also assume that not all of those H1-B visas end up staying in the US (though that’s conjecture).
All the talk of foreigners taking jobs away from Americans would be well and good if we had some evidence that there was currently a market saturation, but I don’t think there’s much evidence of that. Enrollment in CS in the US is on the decline, and has been since the dot com era. The size of the field is even larger than during the dot com era. I’m not saying we should be giving out more H1-B visas. I’m just saying that giving out those visas doesn’t exactly seem to have destroyed the job market.
Good programmers are still in high demand, and will be for the foreseeable future.
March 13th, 2007 at 10:51 am
I completely agree with you, and I wanted to write something similar… just never did.
It’s like the mechanics trade. Just because the size of the bolts change, or the things they’re holding on are different, it’s still the same concept. Sure there’s things added to make it easier, or harder in some cases, but the mind is still the same, It doesn’t really matter what the syantax is.
A good programmer is a good programmer no matter what they’re typing in.
It sounds to me like Sigma is just a contract programmer in a bank of similar programmers who can’t stick through the mud to show his skills.
Luckly most industires figure this out, and they become shoe sales men….
March 13th, 2007 at 10:58 am
Unfortunately for your argument demand should equate to compensation. But average salaries have decreased, due in no small part to off-shoring and H1B workers (the real reason for the H1B increase requests from companies like Oracle and Microsoft). It used to be that programmers received relatively high compensation to offset the pressure and irritations of the job.
I worked for Oracle for 8 years as a programmer/consultant. After the dot com bust salaries there have been stagnant (actually declining due to lack of raises to match inflation). In addition they try to do much more with fewer people (hence the reason their products tend to suck so bad). This increases the pressure without the offsetting increase in compensation.
There may be demand for IT workers but it isn’t a demand for US IT workers. However, I will admit that one’s perspective might be different depending on their location. I live in Denver and the market here is not so great. Someone in San Francisco might have a different perspective.
March 13th, 2007 at 11:07 am
So true about the good programmer finding another job and the programmer who doesn’t learn anything new deserves to not have a job.
On a personal note, I was assigned to do front-end web development on a project because the UI designer did not have these skills. My skills were praised by this person… but then later I found out this person had a degree in Computer Science. I was surprised. Has this person been living in a cave the past 20 years?
March 13th, 2007 at 11:16 am
This author, while more polished than the post he is blasting, makes the same fundemental mistake. He lacks well thought out researched arguments. One cannot mearly dismiss the outsourcing issue by saying it does not exist, because Bill Gates says so. There have been several articles recently that have shown (using actual data) that Microsoft pays its H1-B holders less than the average salary for that position.
March 13th, 2007 at 11:25 am
Somehow I have this elitist view of programmers(I am one too) the problems we solve require a unique combination of maths skill and a deep understanding of the problem domain. This is there in all fields to some extent but restricted to R&D etc. with an exception to civil engineers :) a software engineer is more likely to solve interesting problems. As long as we are doing that it should be fun being a programmer :)
March 13th, 2007 at 12:49 pm
Derek, I don’t have historical pay trends at my fingertips, so I can’t really say whether overall pay has stagnated or not. It wouldn’t surprise me if pay hasn’t moved much (overall) since the dot com era, but that could be either interpreted as a problem with the industry now, or as a massive problem with the industry and it’s get-rich-quick feel (which certainly helped enrollment) during the dot com era driving wages to unreasonable heights.
Emilyylime, sadly, there are in fact numerous people with CS degrees who are completely inept. Some are inept because they haven’t learned anything since college. Others never even learned anything in college. I think this is one of the biggest problems with our field today.
MikeT, outsourcing and foreign hires may be problems. I don’t currently see a lot of evidence for that, though. Mostly, I’ve seen alarmists saying it’s a problem and then not putting forth any kind of real proof. And even if it is a problem, it doesn’t mean computer science is a bad field to be in. Every field has problems.
If Microsoft is paying H1-B employees less, then that is in fact a problem, but it’s not going to discourage me from staying in the field. Again, I’m not saying that we shouldn’t limit temporary visas. I’m just saying that they haven’t destroyed the market the way Sigma implied.
March 13th, 2007 at 1:18 pm
“viscious” is misspelled.
Using words like “newfangled” makes you seem weird or old.
I agree with most of your points. However, there’s a fundamental thing with knowledge workers in general, which is being stuck in an office, cube, workplace all day. It sucks. Or maybe I’m just cranky because I don’t have windows, and if I did all they would show is snow and clouds.
Ah well, I did it to myself and it sure as hell ain’t gonna be permanent.
March 13th, 2007 at 1:50 pm
What’s wrong with learning new things as the years go on? I consider that to be one of the BENEFITS of this gig. I make good money, (high 5 figures), and better money than my parents did at my age (adjusting for inflation) and they were a Chemist and a NASA engineer. I make about the same as my friends in engineering and financial management. I have a Bachelors in music and I’ve had one programming course (in C) at a community college. I feel very lucky to have a gig that pays so well, required very little monetary investment from me, and allows me to constantly be creative and learn new things. Also, studies have shown that 70 some percent of lawyers would not do it again if they had a choice.
March 13th, 2007 at 2:37 pm
Not to detract from your point, however, he might have meant the Ivy League specifically. He didn’t say anything about MIT. MIT, though an exceptionally good school, is not a member of the Ivy League.
March 13th, 2007 at 2:41 pm
I agree with what you said. As for some comments on location, I know there are good companies almost everywhere. The key is if you are not a good programmer you won’t even get in the door.
Now I also know that if you really want to live in the boondocks you need to make sacrifices, but I also know that there are some good telecommuting jobs out there as well. These are only going to get more prevalent.
March 13th, 2007 at 3:26 pm
You wrote “If Devry could churn out MDs, you better believe that they would.” Actually, they do. DeVry owns Ross University in the caribbean, an MD granting medical university. This has no bearing on your response, it’s just a bit of tangential trivia.
March 13th, 2007 at 3:58 pm
No matter what career you choose, if you choose one that does not make you happy you are headed for a world of hurt.
As for prestige, if you think Lawyers are respected, think again. Most lawyers I know hate the work and really struggle trying to find meaning in what they do. They make good money (maybe 120k) but they work six ten hour days to make it. On friend had to work on Christmas. Not many programming jobs are like that. Doctors work horrible hours too. Do you dream about what it would be like to be a proctologist? Is that your life’s ambition?
As for salary stagnation, that could be a general societal thing, as cheap foreign labor and the collapse of the US dollar are taking their toll on the economy.
Where you work will impact your earning potential in any profession. Working in the Bay area you may earn 30k more, but your rent will be $2000 a month after tax. Same with New York, London, …
As for programmer unemployment, there are too many crappy programmers out there because the schools allowed too many students in to fill the demand created by industry. Students chose computer science as a “make money fast” track, rather than out of love of the art. This is something that will eventually balance out. It is in the nature of programming that amateurs can pick up the craft, and that has always had an influence on the industry.
I think if there is a problem, it is that the students in computer science today are lied to, and told that their jobs will be glamourous and that they will get rich and see the world, when in fact a huge amount of programming is testing and debugging, in a cubical, with little social life. The money still pays far better than many jobs out there, but you have to work for it if you want promotions and raises.
The one constant in our industry is change. Job security is not there, but I argue that it is not there in many industries where it used to be, even ten years ago.
If you want to get ahead as a programmer, deliver value, reliably. Learn how to do something that other programmers don’t know how to do. Take an interest in why you are doing what you do, not just how. But these tips are not specific to programming but could be generalized for anything you do in your life.
Good Luck!
March 13th, 2007 at 4:41 pm
I haven’t pried, but several H1B coworkers have complained about pay over the years. My outsider’s impression is that it isn’t a free market for them — they can’t easily jump jobs, so yes they do accept less in wages.
Bill’s H1B comments have been debunked:
http://arstechnica.com/news.ars/post/20070226-8924.html
(I know some H1Bs at Microsoft that would love to be at $100k/year)
March 13th, 2007 at 8:46 pm
I thought that I had posted this comment before, but, MIT isn’t an Ivy League school. It’s a very good school, it’s not in the Ivy League.
March 14th, 2007 at 7:08 am
Chunkatron and Jason, thanks for the info.
Ian, I completely agree about lawyers. Most of the lawyers I know hate their jobs. Working 60+ hours a week is not fun, and that’s where most lawyers start (and where many stay).
March 14th, 2007 at 8:01 am
I totally agree with Sigma!
Derek, I find that you are so enthusiastic about computer programming. Big software companies need people like you, and they make a great use of them every day. But when you will become older like “us” with enough insight to find out that what Sigma said was true, it will maybe be too late for you.
It’s very good to like what you do but it’s really ugly not to listen to “experience”.
Enjoy computer programming!
March 14th, 2007 at 9:33 am
Well written Derek!
March 14th, 2007 at 9:50 am
Khaled, in every field, there are experienced workers who’ve grown to hate the job. Likewise, in every field, there are experienced people who love the job. The fact that a few disgruntled programmers don’t like programming anymore doesn’t mean it’s a bad profession to be in. Programming is a good fit for some people and a bad fit for others. If you’ve grown to dislike programming, then that’s fine, but it doesn’t mean everyone else is going to eventually grow to dislike programming.
March 14th, 2007 at 10:07 am
Derek, I think I didn’t make myself clear. When I said that you were enthusiastic about programming I meant (as I used to be 20 years ago).
Sure I didn’t like programming. I loved programming.
I think that Sigma too, loved programming. We all - the BEST experienced programmers - loved programming. Programming has given us a lot, but taken from us lots. (Time, efforts, money, and lots of sacrifices…)
We should always look at the two faces of the coin. Yes disgruntled but not in the bad way.
I better consider myself unhappy and decide to leave this way.
Better late than never.
Goodbye programmers…
March 14th, 2007 at 11:46 am
Hah! Thanks for writing the response that I so badly wanted to write to Sigma but didn’t have time to put down on “paper”.
March 14th, 2007 at 3:15 pm
Justin, you’re right. MIT isn’t technically Ivy League. I misused the term.
I think Sigma did intend to group MIT with the Ivy League, as I did, but even if he didn’t there are in fact Ivy League students getting computer science degrees.
And sorry your comments didn’t appear earlier. They got trapped by the spam filter for some reason.
March 14th, 2007 at 11:50 pm
Super Awesome !!
Well said, even better analyzed !
March 15th, 2007 at 2:26 am
Programming is a profession that comes with an expiry date. Have no doubts about that.
Remember punch-cards ? Do you think that somebody who was a whiz at programming using punch cards, can still use this knowledge outside of the context of story -telling to his children/grand children ?
Remember the Zilog Z80 processor ? 8086 ? Cobol ? Turbo-Pascal ? Turbo-Prolog ? Clipper and dbaseIII ? (If you don’t remember it just means that we are not from the same age group !) They are not being used anymore. An expert knowing this stuff, would not find a suitable job to just get him to put bread on his dinner table.
If you were working on a project using dbaseIII/Clipper, while others started using the first iteration of Oracle, you are already behind. Why ? because you are an expert of the project, no one wants you to leave to another one. Your manager still wants you to kill some bugs, add a data interface for that client and to throw-in some additional features. So at the end you will not have time to learn that new Oracle thing, hence you will be left behind.
Now, honestly, if you have an Oracle project, would you hire a Clipper/dbaseIII expert and allow him time to learn on the project ? I wouldn’t hire him, even though the concept is the same.
Programming is a good thing to learn and to work with for some time. Then you should shift to something else more stable. You should always use that knowledge but in a different way. You should start looking at computers from a user perspective. Use it as a tool in your business, not as a business.
I went through the whole cycle: Programmer, analyst, designer, project manager, director and consultant. I really loved it, but it is time to shift to something else (Reading suggestion : Who moved my cheese).
Now it is time for me to start using computers as a business user, not as anything else.
March 15th, 2007 at 3:00 am
Georges LAHAM!
Very well said, and very well explained!
I agree with ALL what you said…
Thank Goodness that there are some people on earth with REAL experience in computer programming.
Congratulations that you have found out that and may other wise and not stubborn people join you before it will be too late for them.
Ciao
March 16th, 2007 at 2:56 am
On the whole, a very nice response. I love being a programmer, but that’s because it’s the right fit for my personality and intellectual interests.
Minor disagreement with you here though:
> You say that foreignization causes a vicious cycle
> of low pay when combined with low prestige. This
> only makes sense if programmers have low prestige,
> which is not the case. Additionally, Microsoft and
> other companies pay the same wages to H1-B workers
> as citizen workers, according to Gates. No one’s
> bringing in genius programmers and paying them
> minimum wage.
I think an issue here is that, unfortunately, foreign talent is more likely to accept lower pay for advanced positions, which in turn lowers the salary bar throughout the industry. I enjoy interacting with my Indian and Chinese co-workers because they are wonderful people. However, it is true that many of them are apt to take positions with lower pay more readily than their American counterparts, simply because they feel fortunate to have been given the opportunity. A nice sentiment to be sure, but I want them to understand how much they - and by extension we - are worth, and seek out salaries that are commensurate with their expertise.
March 16th, 2007 at 9:52 am
+1 SMB
June 18th, 2007 at 8:28 pm
a career in programming might not suck for some, but chances are it probably will for most. prepare to spend a lot of time debugging undocumented legacy code some hack made or reading poorly written software manuals on some esoteric API because the company doesn’t have the time or expertise to build their own tools properly. you probably went into software thinking you’d design some really elegant stuff. your manager doesn’t care about implementation, just whether he can land the next big client with an impressive GUI. then there are the deadlines and the unpaid overtime. and the eyestrain. there’s a reason why most programmers wear glasses. and then there’s the project itself. most projects in the corporate world are downright dull. Would you like to be a taper or a buttonmaker? Tape this interface to that one. Slap on some pretty buttons and voila you’re in the fantastic world of business programming. If you relate to machines more than people, then the job is ok. Hey, you can spend 10 hours making out with your terminal. Having said that, all is not lost. if you can make a lot of cash from the job, the negatives can be tolerated. but you’ll need to do some hard time slogging at the bottom before you can land decent cash, at least five years. if you can choose your own projets to work on and when to work on them, it can even be fun (remember graduate school?) But let’s face it, that’s not the reality for most.
July 3rd, 2007 at 3:21 pm
You’re describing one of the worst possible scenarios and acting as if that’s the norm. Maybe that’s the norm where you work, or with the people you know, but it’s not the norm industry-wide. Lots of programmers have interesting jobs. I have an interesting job, even though I am by no means always happy. Some of my friends have interesting jobs. None of my friends are miserable.
The truth is that *most* jobs suck for most people. Most people don’t like being a nurse. Most people don’t like being an accountant. Most people don’t like being a cook. Most people don’t like being a lawyer. And yes, most people don’t like being a programmer. So you need to find something you *do* like. If programming isn’t what you like, find something else.
(Sorry about the late reply. I’ve been away on business for a few weeks.)
August 29th, 2007 at 8:29 pm
Nice piece! I’d say there is a bit of a real problem with corporations seeking to marginalize programmers and engineers, just because that tactic is regarded as “the thing to do”. On a brighter note, I agree 100% that programming skill doesn’t become as quickly obsolete as many fear. At work we had one fellow retire recently at 55, and he was a fantastically skilled Java programmer. I really am in awe of how good he was (and we’ll miss him). If I remember correctly, he cut his teeth on Fortran. Anyway, it was obvious that his many years of thinking in code made it second nature to him, regardless of the syntax of the tool of the moment. Some of the old guys who have been doing this for a while are just very good, with very good instincts about how to get things done. It’s something we can all aspire to.
October 13th, 2007 at 4:15 pm
I think the author of this reply missed the point of what Half Sigma was trying to say. What you say about the temporary nature of knowledge capital is fine, in THEORY, or perhaps in shangri la, but in real life it doesn’t necessarially work that way.
I was one of the “lucky” ones to have my software job go over seas a little over 5 years ago. Ever since then it’s been a complete hell to try to find stable work in the IT industry. Most employers are much too specific skills focused and in my experience if an employer wants Java if you know C++, well, that’s too bad. Your skills are not transferable, even though Java is from the same family of languages and OO is basically OO in any language.
Before you tell me how I just don’t want to learn or acquire new skills, I went back to school to earn a Master’s degree in CS, where I used and honed Java skills and was as many othere skills (such as Security, TCP/IP, combinatorial search, etc).
Employers just don’t care about education or skills acquired in school, if you can’t show them real life experience using a specific skill or language it just doesn’t matter. Talk about an infuriating experience.
So, until we can get some kind of certifcation program, like all other engineering disciplines and management gets it through their pointy little heads that concepts and theory are important (much like you discussed in the first bullet) it’s my opinion that that computer programming will continue to suck. Management will continue to use absurb criteria for determining a qualified candidate and we’ll all have to suffer the consequences.
End of rant.
October 15th, 2007 at 7:53 am
So you got a masters degree, spent lot of time learning Java, and you still can’t hold a job because they don’t trust your Java skills? I think either your skills are not at the level you imagine them to be, or you’re not telling the truth. Seriously, employers are still hiring programmers. If you can’t get hired, that says something about you just as much as it says something about the employers.
Get involved in some sort of project if you want to prove real-world skills. Do something open source, or write some kind of useful closed-source tool yourself. If you want to demonstrate ability to do real-world work, then do some real-world work.
Complaining about a lack of certification doesn’t accomplish anything. I think industry-standard certification could be a good thing, but even if it happened, employers would still want everything that they are looking for now. They would want the certification as an additional qualification, not as a replacement for other qualifications.
December 2nd, 2007 at 10:43 pm
I run into the “why haven’t you been hired” problem a lot of the time at interviews. I was unlucky to be laid off at my last two jobs: one because the company was bought, and the other because management discontinued the project I was working on. But I did a lot of valuable work for both companies, especially being able to clarify to the highest levels of management of the search engine the issues regarding click fraud and other unwanted traffic.
For most of the interviews I’ve had, the questions have been highly specific, rather than conceptual. I’ve been asked things like “What is the command to print DNS packets in tcpdump?” or “What command do you use in vi to do global substitutions?” These are things that no one ever cared about until today. In the past, people asked you to explain your past projects, and they understood enough about the principles of computer science to be able to discuss design issues, tradeoffs, and the like. It was possible to determine who had good software engineering skills without resorting to memorization quizzes.
I think certification can help to at least bound the scope of expected criteria for hire. At present, I have no way to practically prepare for the interviews I go on. I’ve worked in the field for over 20 years, so I have no way to memorize everything that possibly could have come up on one of my projects. Furthermore, as I said above, it was never necessary. We referred to manuals to deal with specifics, and concentrated our energies on solving our clients’ problems.
December 15th, 2007 at 11:17 am
very interesting, but I don’t agree with you
Idetrorce