Is Programming a Dead End Job?
Embedded Geek asks: "There's an interesting opinion piece at Embedded Systems Magazine about [embedded] programming being a dead end job. The author cites burnout ('Pushing ones and zeroes around doesn't sound like a lot of work, but getting each and every one of a hundred million perfect is tremendously difficult.'), prestige, and skill obsolescence as big reasons for programmers to quit or to go 'over to the dark side' and join management or marketing positions. While the piece primarily addresses embedded programmers, the issue is rising for IT workers and other tech workers. When the age issue is combined with the export of jobs offshore, it makes me nervous just to be pushing 35..." Even though the market is going thru a rough patch, and the number of detrimental aspects to programming are increasing (ageism and so forth), I still do not feel that programming is a dead end job. Computers are going nowhere folks, and as long as they are around, programmers will be necessary. People who are in this career for the money or the prestige may not like it after a while, but the people who are in this for something else will tolerate quite a bit before deciding to opt out. The simple measure here: "as long as you love doing it, you'll keep doing it." Isn't this true for any career?
You get into you because you like it, the pay is better than McDonalds, and your social skills are such that you can't interact with customers.
The things that make a person a good programmer are the same ones that stop you from being a good manager. So you can't move up and you're too valuable to the company to move down.
D
The first, last, and only tech news site on the net
You have to keep learning and changing, othewise you burn out, get stuck in a rut and turn over to the dark side
I originally got into programming because I really love to do it. I can sit in front of a computer and hack away for hours (days) on end and never tire of it. However, at work, I often start to feel what the "burn out" effect that the poster was talking about. I've come to realize that programming is just half of the equasion. It matters what you are programming as well.
On my own personal projects, I get to choose something I'm interested in. At work, I don't. It amazed me when I realized that when I was feeling most "burnt out" was when I was concentrating more on my work projects and less on my personal projects.
So, now my #1 concern when looking for a new job is, "am I interested in what I will be programming?" If the answer is no, then no amount of "cool technology" or "cool workplace environment" can make it worthwhile.
"Don't blame me, I voted for Kodos!"
My name is Earl and my name is stitched on my jumpers. Except it's not Earl and I don't wear jumpers. My name is Phyllis and I have a plastic card key-name badge. I am a code crunching monkey who slings all day at the bottom of the food chain for asshole users and clueless fucking managers. You will never let me do it right so I will do it over. Forever. That's why I'm indispensible. Now let me get back to my soul sucking veal pen cubicle so I can shit out some more gorp you don't give two shits about whether I'm proud of it or not.
At least it's not the fucking helpdesk. Then I would drink bathroom cleaner.
I wouldn't know, I don't get to see his code.
Excessive forking causes un-wanted children.
What? I know for a fact that managers can make less than technical people under them (including programmers). In bigger companies, you either choose the technical route or the managerial route. That is the way it should be - managers manage people and projects. It shouldn't be about the money. Many times it is about the power. I have heard from managers that they want to have highly paid technical people working for them. Those are the people they can rely on. Just because someone chooses not to go down the managerial path does not mean that their salaries are limited.
My beliefs do not require that you agree with them.
This makes the assumption that the reason to stay in a job is because of the money you make.
Some people, believe it or not, are quite happy making less money than somebody else who may even apparently be doing less work, simply because he or she doesn't want to be doing anything else. This isn't a rut or a dead end. It's just job satisfaction. The only reason for discontent to arise in such a situation is if the employer is actually not paying fairly for the work that is being done. This can usually be rectified with nothing more than a modest annual cost-of-living increase in pay. And my view is that if the employee doesn't deserve even that, then he probably should be let go.
File under 'M' for 'Manic ranting'
And I am not talking about prestige, either. You know what? I LIKE being able to wear jeans and Tshirts every day. I like having flex time. I like working with technology. I like talking to the IT guys about PCs and stuff, and having them give me old equipment that they are going to throw out. I like that stuff. And I am not a programmer, I am in QA. But the atmosphere is the same for the programmers. It seems like those who aspire to be managers either are told, or feel the need, to "clean up their act" and hang out with other managers, dress up a bit, and shmooze. I am glad I don't have to do that. We have a pretty sweet work environment, which means a lot. Not everyone can say that. And in reality, pretty much EVERY job is a dead-end job. Where do you want to go, anyway?
My beliefs do not require that you agree with them.
The notion of "promotion" is seriously overrated anyway. Do you really want to spend your days talking to whiny investment bankers, composing meaningless vision statements, having half your company snicker about you behind your back, having all stress and no free time, and managing people problems? If you do, go right ahead and aspire to that management position. But there is a reason those positions are paid highly: it's hazard pay for dirty work most people don't want to do.
Seriously, people do what they like, what they get paid for, and what they are good at. Many people who aren't qualified as programmers would love to have a $80k/year "dead-end job" with full benefits.
As for the supposed age limit, jobs going off-shore, and all that, in my opinion, Matloff is a loony. His claims are poorly supported by data and contradict what people who actually try to hire programmers experience. Sure, occasionally, you'll see age discrimination, and occasionally you'll see companies taking advantage of immigration issues. But the former is already covered by non-discrimination statutes, and the latter has been addressed with H1B portability and faster green-card approvals. Jobs will probably continue to go off-shore, but the best way of stemming that is to bring the qualified programmers from those other countries to the US; if you force them to go back to their countries of origin, they won't become farmers, they'll create a thriving and competitive software industry there.
In my opinion (which is not so humble today) - the MORE ex-programmers move into marketing and managerial positions, the better place the world will be.
We've seen what happens when you put MBA's into marketing and managerial positions in tech companies. Hell on Earth.
The world needs MORE engineering-driven tech companies, and less lawyer-driven tech companies.
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
You simply cannot get a job, even with current skills and a solid history. There is an inherent bias against over 40 coders, we are expected to have moved into management. After the dot com collapse and then the telecom collapse, there are a lot of over 40 coders out there from the mass layoffs.
I am one of them, 44 to be precise. I originally used to put my employemnt history back into the 1980's, and put the years my degrees were granted. And for some reason I never got a call back. So I took all the stuff prior to 1992 out, removed the dates from the degrees, and put the resume back out there.
Within a week, I got 4 job calls where my qualifications and resume were deemed "excellent" on by reviewers on phone interviews, and I aced the tech interviews over the phone as well (I used to be the guy in my group that did the C++ and Java tech screening!). Plus my references were checked, and I have excellent references. I generally interview quite well in person or over the phone, having been a member of Toastmasters due to needing speaking/presentation skills at my old company. Listening is as important as talking.
But when I show up at the "final" interview, in a nice tailored conservative business suit, with my short but gray hair, all of a sudden they seemed to get cold feet. And within a week of each interview every single one of them sent me a "Regretfully you do not meet the qualifications, your resume will be on file for one year" letter.
As long as this continues, then programming *is* a dead end job. You can get snarky if you like, but you'll be here in my shoes one day if you live that long, and you will be wondering why you cant get hired even though you can code circles around half their staff.
FYI, I did get a contract job 2 weeks later where all the business was conducted over the phone. I have had my contract renewed with a raise due to performance, twice, and thats despite the company going through 3 layoffs.
But I learned my lesson, Im getting my MBA and moving into management, even though I make a hell of a lot better systems-architect or software-engineer or developer/coder than I do a manager. I will miss coding for a living, but I'll not play martyr at the expense of my wife and children.
I got a degree in Computer Science from Waterloo University. I am beginning to think I wasted 5 years of my life. U of W is one of Canada's best for CS... they came in 3rd in the last ACM contest behind MIT and Shanghi.
The degree was a lot of work. Many of my friends failed out. There was only 13% girls in my classes and most guys did not have or a girlfriend or have time for one during those five years. I had co-op work experience and had no problem finding a job at Cisco when I graduated. A year and a half later they shut down our division. Now it has almost been a year now and I still can't find work. I have skills such as Java and C++ and excellent references... but no one is hiring.
I remember a long time ago someone from Microsoft made some comment about Open Source hurting the industry. At the time I thought it was an absurd comment. But lately I've been thinking it may be true. a few years ago if I wanted a library API for some network protocol my company would have had to purchase something. However, now there is almost always a free alternative that is of great quality... so there is less and less companies paying people to program things because there are free ones out there. I dunno.. just a thought.
But still... if I had gotten something like a music degree.... I'd probably be equally unemployed right now.... but I'd probably be married too and maybe a little happier.
actually gates is a genius programmer...
Uh... really? Paul Allen was always the "genius" coder. (disclosure: the company I work for is owned by PA) Everything I've ever heard about Gates' actual *code* was that he was only mediocre. That's not to say he was BAD at it, just only ok. On the other hand, he *is* a genious capitalist, or rather, he's really good at exploiting American style capitalism through admittedly brilliant but wholly fucking evil marketing tactics, and making a gazillion bucks in the process.
his accomplishments back in the day far supercede anything ANYONE who posts to this site have accomplished.
no. Once again, almost all the hardcore coding shit from MS was Paul Allen. And as for Bill being a better coder than *any* Slashdot poster? I'm pretty sure that's bullshit.
The Free desktop that Just Works
Progamming in the modern world of computing is a one-time job. Software is written once, and used many, many times. Yes, there is software revision, upgrades, etc., but the bulk of work being done is being done by the /few/, for the /many/.
Therefore, there are only going to be a small amount of meaningful programming jobs relative to the computing industry as a whole, unless the general attitude towards software changes dramatically.
Now, administration is a whole different story. because software tends to be written by the few for the many, there are bound to be issues that those few never thought of. Administration is an ongoing job that everyone needs.
Personally, I think this is a big, secondary reason that so many geeks are perpetually hyped about open source software. It seems to promise that software development will cease to be a few-to-many service, and become a many-to-many service. I think there are a lot of geeks out there working in administration, frustrated with their jobs, wishing to become guru kernal hackers. They feel that if the IT world at large would simply embrace open source, tons of programming jobs would open up for companies wanting to customize and enhance software to fit their needs.
Unfortunately, the reality is not that development is a few-to-many business because of the closed-source model. Rather, development is done the way it is because proramming is *hard*. Nitty-gritty, systems development (as opposed to Web developemnt, or writing DB front ends, or using some SDK with the hard stuff taken care of already) takes real talent, and very few have the talent necessary. Furthermore, it is many, many times more cost-effective to buy software off the shelf (be it open- or closed-source) and pay for high administrative costs than it is to custom-design software to fit an organization's exact needs.
My advice to CS majors is to get used to the idea that you probably won't be coding linked lists and creating filesystems for a living. Learn to be a good Unix admin, how to be a DBA, how to troubleshoot buggy applications and OSes. Learn how to assist and teach non-clued end-users. 1% of CS grads are going to be programmers and software engineers. Guess what the other 99% get to do?
dinner: it's what's for beer
B-school types asked Conrail: "What do you do?"
Conrail answered: "We run a train system."
The "correct" answer really was "We provide a service to move goods from one location to another." They doomed themselves by competing with train systems when they were competing with trucks and air freight as well.
What business are you in? Is it "programming", is it "collecting and codifying business rules", I don't know what the answer is but I'm pretty sure the bulk of the business of "conversion of business ideas into source code" is going overseas.
It's one of those "seeing the forest for the trees" problems. My point is that next year you'll have a job, the year after that you will, probably for the next 10 years you will.
But the Indians and Chinese are getting better and better at outsourced work. There's a huge information/cultural/communication gap now but don't think that will stand in the way 20 years from now.
"Programming" as a job is as dead as being a cobbler (that's a shoemaker for the verbally challenged).
On the other hand, there are a lot of idiots in business-land with a lack of analytic skills. Transitivity is where Dracula comes from to most pointy-heads. There are jobs utilizing the same analytic and logical skills -- your business is not "programming", it's "analysis" or "rule-based business structuring."
Change now or become a cobbler.
In a sufficiently fat comapny, managers have a much better refuge: Other managers. Enter the theory of "circular accountability." Each manager points to the manager to the [right|left] of [him|her]. So, the buck never really stops anywhere. If the shit really hits the fan, and someone needs to be accountable for something, they hit the "reorg" alarm, ring the bell, and quickly play management musical chairs so that each manager can say one or the other of these classic quotes:
Yes, and dentist's have the ADA, accountants have the AICPA, and lawyer's have the ABA. What professional association of the magnitude of the ABA or AMA represents modern IT engineers? The answer is, there is no professional association with any weight behind it that represents engineers.
We do have a well-financed association or lobbying group financed by the employers of the IT profession (Microsoft, IBM etc.) called the ITAA, which has been making war on our profession for years. Their sole purpose is to flood the IT labor market in order to drive up IT unemployment and drive down wages. They also despise worker independence which is why they love H1-B restrictions (forcing H1-Bs to stick with rotten companies during green card applications) and support section 1706 in the tax code (which forces independent consultants into body shops).
The first high-rated post said "we can all become managers!" Um, no, we can not all become managers, most of the IT departments I've worked at have had anywhere from 10-30 people under a manager, so when one of them goes on to be a manager, what becomes of everyone else. Also, good programmers don't necessarily mean good managers, and mediocre programmers can be good managers. I could go on, but the article is true that 24/7 oncall for years on end, constantly working weekends and 60 hour weeks can lead to burnout, and that many companies don't like hiring people over a certain age.
From a personal standpoint, I believe the failure of engineers to form an association that can counter the ITAA's war on our profession in Washington, as well as the failure to form consulting companies which are geared more towards worker-ownership and worker-control (although there are some, like RMPCP) is due to the fact that many of the people in this profession are the stereotypical socially retarted dorks, who are unable to socialize normally with other human beings, and who place their entire self-worth in the idea that they are the smartest programming super-genius whose skills are better than everyone else, who works harder than anyone else and so forth, so why would he have to have an association like the ABA or AMA with other engineers like every other god-damn profession does? Believe me, doctors are not stupid, cutting someone open and operating on their beating heart is a lot more complicated than opening up a computer and adding more RAM to it. They're not stupid, many of them are very smart actually, and we should follow their example and form a professional association.
For my preference, I like the Programmer's Guild, if you don't like them you can form your own or join a different one, although I'd hope if there were several associations they'd work together in fighting the ITAA's attempts to steal our intellectual property and drive us out of work in Washington. There are engineers working on this and have been for years, but our numbers are small and we need more engineers to just cursorily educate themselves about these things, and then spread the word and educate others about these things, just a few more people on board and it will reach critical mass and we can get the word out more. To me, it's not just about fighting for my profession, it's a principle thing, I'm sick of being kicked around by Microsoft (and IBM, Oracle etc.) via their ITAA yap dog, and I'm glad that I'm actually doing something about it.
My web page that deals with all of this is the Oncall Guild web page. We're not a group that seeks paying membership, anyone can be a member, just educate yourself about this, spread the word and join organizations like the Programmer's Guild or similar good organizations to do something about it. Some of the older engineering organizations are discussed on the web page, both the problems (corporate-financed to the point that they have killed campaigns that oppose the ITAA with threats, too academically focused, created decades ago and not focused on the modern IT profession and so forth) and good things (surveys about salary and other matters, allowing engineers to network with each other).
I agree that IEEE has some good points, especially in terms of discussion of technical issues. It also has some very glaring bad points with regards to professional issues other than increasing technical knowledge. Although a reform effort in IEEE and IEEE-USA would be helpful, reforming this century-old association is an enormous task, and associations like the Programmer's Guild can do a lot more in the meantime while that reform effort is underway.
h _s Ec2.5.1
Norm Matloff pinpoints the problem with IEEE so well in his excellent research paper "Debunking the Myth of a Software Labor Shortage" that I'll just excerpt from that:
http://heather.cs.ucdavis.edu/itaa.real.html#tt
In 1998, the engineering professional organization IEEE-USA (Institute of Electrical and Electronic Engineers-USA) had lobbied Congress strongly against the H-1B quota increase which was proposed that year. (It had been a major critic of the H-1B program in the past as well.) As an organization of over 200,000 members nationwide, it was a force to be reckoned with.
However, as a result, IEEE-USA then came under enormous pressure from corporate and academic interests in the parent organization IEEE to moderate its position. IEEE-USA then hired Paul Donnelly as a consultant, whose job was ``to help wean the organization from its outright opposition to immigration.'' (The New Republic, June 19, 2000.) Donnelly is the former staffer with the Congressional Commission on Immigration Reform described in Section 2.3.4.
Around the same time, IEEE-USA greatly toned down its Web site. It removed its ``Misfortune 500'' file, a compendium of 500 engineers, mainly older, who were having trouble finding engineering work in spite of the alleged high-tech boom. It also removed from the site its report on a 1998 Harris Poll which had shown that 82% of Americans opposed the H-1B increase.
Donnelly convinced IEEE-USA to support his proposal - similar to one formulated by Congressional Commission on Immigration Reform as mentioned above - under which industry could bring in foreign engineers and programmers on an expedited basis, giving them ``instant green cards'' and bypassing the H-1B stage. This new stance on IEEE-USA's part was counter to its previous view that industry should hire/retrain American programmers and engineers, but apparently the organization felt that its new position would relieve the pressure brought to bear on it by the parent organization.
However, Donnelly was up against his rival, Rick Swartz (again, see Section 2.3.4), and up against Swartz's allies representing the computer industry, who apparently wanted to retain the ``indentured servant'' nature of the H-1B workers. Those lobbyists dismissed Donnelly as ``anti-immigrant,'' in spite of his work as a consultant to immigrants and as a longtime advocate for relieving the greencard backlog for the spouses and children of immigrants. (Wired News, May 15, 2000.)
Meanwhile, Swartz had acquired a new client, the Immigrant Support Network, an organization of H-1Bs who were hoping to get Congress to alleviate the ``indentured servitude'' problem. (See Section 2.4.)
Donnelly still tried to get Microsoft to support the ``instant greencard'' proposal. However, Microsoft's counsel and lobbyist, Ira Rubinstein, simply stalled, saying that he may support the proposal in the future but now wished to concentrate on H-1Bs. Later Rubinstein tried other stall tactics as well. (Personal communication with Paul Donnelly, June 17, 2000.)
Personally I do not support the Donnelly proposal, because although it would fix the problem of H-1B ``indentured servitude,'' a worthy goal, it would not address the problems of age discrimination and so on which are being fueled by the influx of foreign programmers. Nevertheless, the industry's continuing rejection of the Donnelly proposal, which would bring in the workers they say are needed and would reduce paperwork and trouble for the employers, shows that they do indeed wish to retain the indentured-servant nature of the H-1B program. And the personal attacks on Donnelly are uncalled for.
Every job has a burnout rate. I would wager that 80% of the people in North America do their job because they can stand it and they need the money. 15% do it because they love it, and 5% don't need to because they're financially independant. 80% of the population looks forwards to Friday. That's 80% of about 280 million people (I'm discounting teenagers and youngins). Programming doesn't burn you out, your job does.
"It's here, but no one wants it." - The Sugar Speaker