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?
Because no manager will ever allow a programmer to be paid as much as himself. therefore a programmer will always get less pay until you join them.
simple economics... You will NEVER see a CTO or CEO that is a programmer.... it isnt allowed.
(Note: Bill Gates is NOT a programmer. He might have been one in the past but that was not what he was good at. he is good at marketing and Business)
Do not look at laser with remaining good eye.
And is exactly why Loki lasted as long as it did..
"I can't give you a brain, so I'll give you a diploma" - The Great Oz (blatently stolen sig)
I think that programming is by NO means a dead end. Sure there is a bit of a tough time right now with the economy in its current state. But, we are just now seeing an emergence of whole new computational fields. These mainly being in the life sciences arena. Genomic sequencng projects are quickly overloading scientists with raw data that someone needs to turn into usefull information. The area of developing these tools is vast. Possibly more important will be people who come up with better algorythms for predicting protein structre and interactions based on sequences. This is an amazing field that has the promise of keeping computre scientists, biologists, and bioinformatics people busy for decades to come. I think the field is ready to make leaps and bounds.... and most definitly not a dead end.
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
... even if that means getting less paid.
Two reasons:
1. I enjoy programming, and I have (some) skill for that.
2. I dislike managing, economics and the like and I have zero skill for those.
If it were for the money I would have been something else. But as long as I have enough for a living, I don't care.
--- Sueños del Sur - a webcomic about four young siblings
Personally, flipping burgers is a dead end position as I understand it. Doing the "same thing" in it of it self is not a dead end career track. As long as you like what you're doing, then that's all that matters, and making lots of money helps too.
actually first person observation is all the accuracy YOU'LL ever need...
if you need a php coder and none are available, that sucks for you. who cares about the rest of america?
by the way, i'm a php coder and i'm swamped, so that PROVES that the market is good.
MARIJUANA, SHROOMS, X: ONLINE?! - E
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!"
Software engineering, compared to most other fields, is still VERY young and immature. Despite the fact that "pretty good" software is being produced today, as the field matures there will be vast improvements in the quality of software applications. For many many years, there will be a need for talented programmers to produce the latest and greatest advancements in software.
:)
Don't panic
As long as you slave away for someone else, that qualifies as "dead end" in my book...unless you are slaving away with a plan. Either a plan for a new job (going from programmer to managment) to slave away in, or a plan for financial freedom.
When you stop having ambition is when you start having a dead end job.
A modern day witchhunt.
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.
If that's the accepted definition of a dead-end job, then I sure hope it's true. Those of us who have coding in our blood don't want to do anything else. I've been coding since I was 8 years old and it's still the only thing I really love to do.
Die-hard coders live for the crunch of a deadline; it's when we're at our best. If it means we have to go without sleep or food or hygiene then so be it, we couldn't be more happy.
When we have spare time, we code. Utilities, games, time-wasters, whatever strikes our fancy at the time. How many people go to work doing something all day and then come home and do the exact same thing for fun, and still enjoy it?
Speaking for myself, I can live comfortably off of a senior programmer's salary all my life. The extra figures don't mean enough to me. I love every aspect of coding and have no interest in a management position. Having just completed a software engineering course that felt more like a management course, I now know more than ever that this is true.
Some of us are just born to code. Those that aren't can probably tolerate it for a while, but then they'll want to move on. I think that's largely true of any profession, not just coding.
As for me, I hope I can code until I die.
The actual act of getting paid to program is a dead-end job. The act of getting paid to produce any kind of product for someone else is a dead-end job.
The reason is there's always going to be a finite amount of money you can earn. There's only so many hours in the day, and only so much people are going to be willing to pay for the hourly output of a single worker. Unless you produce intellectual property, and are one of the very, very few who can produce IP that everyone wants and will pay for, you're never going to escape the fact that your earnings will butt heads with an asymptote at some point.
Real money always has been, and probably always will be, in starting a business and skimming off the top of other workers. Once you can pay other people less than you can get for their work, you have escaped the limit, and your "job" is no longer a dead-end.
This tagline is umop apisdn.
Maybe programmers program because they like making good products as many have said. Myself, I like making lots of money, and I think I have IMTS (I Made This Syndrome). Ever since I was 12 years old (programming QuickBasic! woot) I have gotton a kick from showing people what I made. Be it friends, family, or coworkers. When I recently wrote 3000 lines in 5 hours for a quake 2 model loader/display engine from scratch I got that kick (read: ego boost). That is why I program. I program because it is one of the VERY few things that *I* can do and no one else can. People all around the world can run faster than me, jump higher than me, and sing better than me, but damn it, there aren't too many people that can code better than me. (obviously there are (tens of?)thousands of better coders than me, but considering there are billions of people on this rock I feel pretty special.) In a world where people are amazed you know how to reinstall a printer driver, writing neet programs makes the sheep see you as a guru. That is why I program.
-EvilMonkeyNinja
Mild Mannered Host by Day
Wild Hammered Programmer by Night
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.
IT programming jobs are fairly horrible - you know, database work.
i did a database job for 3 years, and drove me absolutely bonkers - a decently smart CompSci guy should pick up everything you need to know about databases in about 6 months.
everything. and then for the next N years of your life, you spew reports that you could care less about.
now... true "systems engineering" type jobs... or lower level, more technical stuff - there is definite value in having more experienced people, and the burnout isnt a bad.
IT programmers have a useful life of 12 years. thats it. you will drive yourslef insane shortly after that.
... hi bingo
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.
I guess another way to look at it is: Are you in it for the money, or for the glory?
:)
Those who only took up programming because they saw dollar-signs, and have no further interest in the art would, in my opinion, be the most likely to get bored/burntout/tired and jump ship to management.
I don't necessarily see this as a problem. I have had lots of problems in the past dealing with those types of programmers. Great people, but just have too much of a lack of interest in what they are doing, and therefore to a worse job than those who enjoy it. I say good riddance to them, and wish them well in management.
This frees up jobs for those of us who find this line of work interesting and actually, God forbid, enjoy our jobs. This increases our average salaries and decreases the amount of incompetence we have to deal with everyday (although some could argue that more management = more incompetence
Anyway... my point is: This realization, coupled with the dot-com bust is ultimately making things better for the average programmer (and by programmer I mean one who is in it for the programming, not necessarily the $$$).
if by dead end you mean limited earning potential.
You cannot have limitless income potential
without reaching the position of benefitting from
the work of others. That means "business" -
finance, real-estate, or maybe law, and likely
not having a "job."
I don't think there are many people that have
the range to choose between that and being a
technical person though. The quarterback is
never captain of the chess club.
I think you are right. A person with a degree in a particular field (such as medicine, geology) and knows how to code will do better in the long run than a person who just studied coding. You will then get to work on the interesting intellectual challenges in your field.
The fact that a phrase like "the dark side" is used, however tongue in cheek, indicates just how little some geeks get it.
In the commercial world, software isn't developed in a vacuum. In order to build a successful business you need to understand: who are your customers? what problems do they have? what software should you build to solve those problems?
People pay money for your software because it has value for them: it solves their problems. If enough people pay you enough money you will build a business.
Management and marketing aren't impediments to the "good guys" doing their jobs. They are essential parts of the overall job of building a successful business. The world doesn't owe you a living, no matter how skilled you are. It pays you for doing something that is valuable.
If your company is well run and you disagree with your management its because you aren't seeing the bigger picture. It may be cool to build technology X, but if no-one wants that and everyone wants technology Y, then you are wasting your time and skills working on X.
Of course there are bad companies with bozo managers. But that is a function of particular people, not of the role of the manager or leader.
Sailing over the event horizon
The question isn't if programmers will ever (all) become obsolete. The question is how long the industry will be able to get 80 hours a week from them before IT's in general finally form a union?
My boss (our VP and I think CTO) is the developer of utmost Deep Magic. But of course, we're a relatively small company.
But to take the other side of the coin up, I know of developers who made more than their managers (as one of my classmates ascended to management, I know several of the lead developers were making significantly more than he was).
There are two or three GOOD reasons why managers make the big bucks. In theory, they are the RESPONSIBLE ones. The buck stops there. Programmers can often excuse problems as being the result of other people's work, their deadlines, etc. But a manager has no such refuge. That responsibility should be commensurately rewarded.[1]
Also note that some highly paid programmers who make more than their management treat their management like inferiors. I've seen this. At the end of the day, some of the geek community only respect salary or other raw displays of power and authority. Sad but true.
Lastly, good managers are worth their weight in gold and do significantly benefit a project. They coordinate people, resources, and customers. They manage customer expectations, attend to the wellbeing of their managed, and ensure that all required resources are forseen and in place when required.[1].
So even though the comment about programmers not getting paid more than managers has exceptions, there are some good reasons for things to be as they are.
[1] - I know very damn well that the theory often doesn't match practice. For some reason, many companies keep inept management in place, I suspect because the next management level up is equally inept. I've had precisely three fair to okay managers, 1 really great manager, and several of the nightmarishly inept variety. But why companies keep incompetent managers in positions of power despite all the damage this causes is an utterly separate issue from the reasons why managers are paid more than programmers. Valid, but different.
-- Mal: "Well they tell you: never hit a man with a closed fist. But it is, on occasion, hilarious."
Hell yes....but it doesn't suck. The pay is pretty good and you always have something to do. Nobody really forces a dress code on you and you can set your own hours...within reason.
As long as you're doing your job well nobody screws with you and you get a certain amount of respect. The company will always need leadership, so as long as you don't screw anything up you will have a job.
And the same things go for programming. This was a silly question.
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.
OK First dirty secret (more to come).....
;) )
....but I really would like the 'Vette back :( .
:(
I'm over 40 (but not by much!)
I've been coding professionally since '86 (non professionally since I was 13 - can you say "hacker" on a PDP-8S
I've coded via contracts for Wells Fargo, Boeing and Intel. I've worked for Borland and Nantucket (remember them ). A year and a half ago my going rate was $65-$70 and hour and I've been pulling in 10K-12K a month for the last two years I've been contracting.
Now here's my second dirty secret:
For the last nine months I haven't been able to get a programming job to save my life! I'm actually on unemployment now - the first time since '92 (!!) and I've now been unemployed for the longest period in my entire life
The contracts I priced out on at $70 an hour are now paying $30-$35 for a senior developer position! and I can't even get those because of the influx of overseas programmers and younger ones who would be willing to do it for $20-25 an hour!
I had a Corvette last year and had to sell it to pay the rent (Yeah I know don't cry for me Argentina ). I had to move out of my nice 2 bedroom apartment in L.A. and into a weekly hotel (Ibid). Well I've been poor before so it's cool
Now here's my third dirty little secret....
I've just said f*ck it last month and decided to get out of the profession. I used to be a paramedic way back when so I signed up at the local community college and in two semesters I'll
be a nursing assistant and EMT and in three years I'll be an RN - I'd like to do Emergency Room work. Maybe I'll go on to get a P.A after that I suppose.
But the point is that it's friggin hard for a 40+ year old coder to get a job in todays market. WHen I heard the same story from people back around 5 or 6 years ago I though "What a bunch of whining lusers!"
Now I are one
The freaking establishment has suceeded via blatent lies about a shortage of programmers and an overabundence of programming work visas to drive the salary levels down to ONE HALF of what they were 18 months ago. It is NO coincidence that the job market crash happenned within ONE YEAR of the new programming visa "reforms".
So I go back to college for a new carreer...it's all good...
One last dirty secret though....
While I'm waiting for the summer semester to begin I've stocked up on Jolt Cola and O'Reilly Books. I'm learning Internet protocols and some linux. Now that I'm not burning up my brain writing useless software for fatcat corps I have a few ideas of my own about some communications software that maybe I can market.
I want my Corvette back Damn it !!
----- In Your Cubicle No One Can Hear You Scream...
the smart &/or talented programmers don't get stuck with one language. In this industry - that's the dead-endedness.
Imagine, if you were a Zeppelin pilot... well, you wouldn't have much work unless you learned a similar skill, perhaps you could transition to becoming an airline pilot.
Getting stuck in a rut is never good - continuous learning is. The trick is being able to figure out quickly which technologies will tank quickly and hard before you climb on, and which ones will stick around and thrive.
- passion
I've been programming since before they invented the Apple I (one), and, at age 40, I'm still in love with "moving bits".
What burns out most programmers isn't the act of writing programs, but the stupidity of management and the lack of respect from those who profit by our work. Like miners, we're used and abused because bosses know they can always find someone else, somewhere.
I don't begrudge someone in New Delhi or Russia who needs a job; they've got families to feed, just like we do.
But I get angry at American employers who start refering to people as "resources" and talking about salaries being "over market", turning workers into accounting chits. It surprises me how bean counters will spend huge sums on opening uselss branch offices or on golf games, while nit-picking a few thousand here and there on people's salaries.
I'm branching out in my "old age", but I'm not likely to stop programming, ever. It may just be bit shovelling -- but then again, genetic engineering only has four letter in its alphabet. ;)
1. Learn to program. And I am not just talking about learning a programing language. I mean learn computer science. As each new "hot tech of the week comes along" you'll be able to absorb it cause there all built on the same principals.
2. Learn a vertical. Don't just be an expert Java/C++/whatever coder. Be the guy who knows more about the industry you want to work in than anybody else. Whether it's medical, financial, entertainment, education. Know more that those you code for and you'll set your own salary.
First of all, in private industry, programming is a terrible job. You're forced to sign noncompetes and nondisclosures that lay claim to everything you invent, both at home and at work, thus ensuring that your days of hacking around on a saturday afternoon are over; you have to work ridiculously long hours, often as many as 80 a week, thus ensuring that you have no social life whatsoever and can't maintain any meaningful relationships outside of work; You're constantly badgered by idiot suits and marketing droids who hand you moronic "passion speeches" which patronize you and lie brazenly about where your priorities should lie; you're offered stock options that ultimately become worthless while salesmen and marketing droids make more than you while doing less; and ultimately, you're farmed out to pasture at 35 to be replaced by an inexpensive H1-B so some corporate fat-cat can make ten cents per share on his newly-acquired stock and buy another boat.
Compare this with public service jobs (which, by the way are almost always UNION jobs) in programming (humor me, I know the pay is low but you don't know the whole story yet).
First of all, you get hired at a lower rate (in the 40-50k range), but you get training, and promotions are strictly from within, so you don't have to compete with outsiders for the good positions that come up later on (I'll be making 60K in a year or two, and in four or five years I could be making between 70 and 80K, IF I do well on the promotion exams). Then, you get full medical, dental, vision, mental health, and a number of other insurance benefits. You work a nine-to-five job, and (gasp!) actually get OVERTIME PAY when you stay longer. Your likelihood of a layoff is nil (at most, you might get offered an early retirement package at 55). And, best of all, the people are nice, the office environment is sedate and friendly, and THERE ARE NO NONCOMPETE, NONDISCLOSURE, OR INTELLECTUAL PROPERTY AGREEMENTS TO SIGN. That's right, none. Which means INTELLECTUAL FREEDOM. And, if you don't want to retire, you can work until they find you dead at your desk -- how many private programming jobs will last until you're seventy?
For the life of me, I don't understand why anyone would want to work for a private company. They make you sign away all of your creative talents! Why would you want to put up with their bullshit? Fuck 'em. I'd rather work as a plumber and program on the side, but luckily I discovered public service and can have my cake and eat it too.
FYI, Federal is best, state is almost as good, county is a little weaker but still not bad. I've worked in two out of three, and a couple of dot-coms, so I do have some basis for this comparison. Just don't work at the town level. The unions generally aren't national, so your protection is weak at best.
P
Go back and live with mom and dad for a few years while you work. If the job won't let you stay in town, find a distant relative, or a friend of a friend to take you in for cheap.
Seriously.
If you need one, buy a car with 2-3 years of use on it, pay your taxes and loans, and then put the rest of your first year's pay in a trust fund where no one can touch it. (Talk to a lawyer about this. You can make the money all but bullet-proof, guaranteed to pay your retirement.)
Take the money you earn over the next four years, invest until you have a hefty down-payment on a house. Be sure to do the math on the interest your investments earn minus the interest on your debts, and give yourself a safety margin.
You'll be 27, own your home and your car and have your retirement assured.
After that, no job is a dead end job, because no employer will have anything to hold over your head. They won't pay you what you want? You can leave. They want you to work too many hours? You can leave. Personal conflicts? You can leave.
People in this position do what they want to, and they do it well. They do not have to deal with "burnout" or "overwork".
You've just worked your ass off for four years. Another five aren't going to kill you.
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 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
Of course, you could easily say the same thing of Microsoft itself, as each new version of Windows has more and more *applications* included with it by default, they are also "hurting the industry". By including CD burning software with Windows, they obliterate the market for 3rd party CD burning software, for example (OK, so XPs CD burning sucks, but the next version will suck less). Same goes for remote access software, email software, web browsers etc. So by Microsofts own arguments, they are "hurting the industry" just as much, by turning these software modules into commodities.
Of course, this trend happens just as much in commercial or free software. Free software may accelerate the process slightly, but the fact of the matter is, "new" software costs money, but eventually as it becomes more commonplace, and more companies produce it, and computers become faster, such software becomes commoditized and costs fall to zero. Once upon a time you had to buy your TCP/IP stack!
This is something that is naturally going to occur, and by stifling the process by attempting to create artificial scarcity you don't *really* "benefit the industry", as Microsoft would claim, because software ends up being much more costly for end-users, and thus every other industry using computers has to pay more to do it, and thus can do less. By making software cheaper, it becomes more accessible, and other companies can be more productive. This does mean that programmers have to keep "pushing the envelope" to come up with new stuff (or do as MS is trying and switch to "renting software" - then you'll never have to improve your software, its a continual revenue stream generator regardless).
One major reason there are "less and less companies paying people to program things" is precisely Microsoft itself: any piece of software that becomes sufficiently popular, Microsoft will bundle something similar into the next release of Windows. There is only a small "window (no pun intended) of time" where you can make money off any *mainstream* software before you are killed by Microsoft. Thus the only market left for making money in software is *niche* markets, where Microsoft isn't (yet) interested.
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
All that suggests is that those software components have become a commodity market. Opensource appears to work best on commodity software where there is great group interest and little fiscal benefit in lots of similar functional API's being written in isolation.
Several years ago any company that made a Servlet based website had to write their own Framework. Now there are several quality OSS Frameworks around. Mainly because they became a commodity, every Java shop was having to make their own. Much easier to chuck your time into an OSS one, the pay off is much greater for everyone.
I dont think there should be any surprise that software API's and components have become commodities. Most markets do eventually.
mocom--
We used to joke about it, you get promoted to management in direct correlation to your level of incompetence.
Rarely were people who were good at their job, promoted. Financial compensation still happens but the elevation up into management doesn't.
If it did, there wouldn't be nearly the number of project management snafu's or death marchs based on the management actually having a clue about what it may take to get various milestones met.
I saw first-hand many times that someone who was a problem person or incompentent placed in the position of managing a new project or department.
I asked once and the manager said(not the one moved) it was easier to move them out of the way then go through the HR nightmare of firing him.
What you say is nice when practiced, but I have yet to see it happen with any consistency.
(* It can be difficult to keep up with quickly changing technology, but it can also be exciting. *)
I like learning new things when I see *value* in them. However, it seems like that I.T. is becoming more like the clothing fashion industry: it makes more money when styles change because people don't buy new clothes as often if styles don't change. Thus, there is a built-in incentive to hype "new things" just for the sake of change.
Such change is often not evolution upward, but sideways change just because it is different.
Java sucks eggs and XML is warmed-over static LISP. The "newer" guys suck up all the BS about these because they don't know better. Those of us who have seen the same things get repackaged and re-combined under a different name are a bit frustrated with pointless change.
True "eureka!" technologies only come about once a decade. The rest is just trade-rag play and marketing gimmicks. PHB's are almost as gullible as the newbies.
However, those of us who express such skepticism are often looked down upon as "out of touch". Thus, the oldbees are forced to go with the flow and *pretend*. If I was one who liked pretending, then I would be a manager instead of programmer.
More about the self-fulfilling fad-tred-mill at:
http://geocities.com/tablizer/itpot.htm
Table-ized A.I.
I pursued my degree in computer science because I wanted to learn. If you went into this field for other reasons... well, maybe you shouldn't have.
Ok, it's quite clear that you are not an engineer, or were done a great disservice from your university.
7 05 . tml
Just like the professions you list, Engineers have these organizations. There are many of them just as there are many Engineering fields. ASME, ASCE, IEEE, ACM, AICHE, and so on. 'Professional Engineer' is a formal title granted by most states, Canada, UK, not unlike Attorney at Law, Physician, Registered Nurse, Certified Public Accountant.
States are now beginning to recognize 'Professional Software Engineer' as a formal title. Texas was the first. New Jersey is considering doing the same.
http://www.chipcenter.com/columns/COL_SLO_20000
The problem is that you have the issue totally wrong. None of these organizations or structures are created to protect jobs. Nobody gives a shit whether you keep your job or not. These groups exist (as do the AMA, ABA, etc.) to protect the integrity of the profession. If you feel these H1B workers are undermining the integrity of this profession, or are causing a risk to the public at large, that's a excellent reason to protect the profession - to ensure that those who practice are of high caliber and bear the responsibility that comes with the job. And who oversees the licensing of engineers, works with the state labor boards, designs the exams? ASME, ASCE, IEEE, ACM, AICHE, and so on.
Don't be too eager for this to happen. All Professional Engineers (PEs) need to graduate from an accredited program (most CS programs are not accredited) pass an exam called the Fundamentals of Engineering, work for a minimum of 4 years under a Professional Engineer and earn 5 letters of recommendation to the state labor board from Professional Engineers, and take another exam called the Principles and Practices of Engineering.
As a Professional Engineer, you will be solely qualified to perform specific job tasks - such as seal design plans, testify as an expert witness, and so on. Nobody can encroach on your job. You can also be sued for malpractice and be held criminally liable for work that fails to adhere to federal, state, and local standards. And you get to do this for every state that you practice in.
The problem that programmers are facing stems from the fact that as a group, they are unwilling to establish standards for practice. There are no standards as to what constitutes good software or bad software. There are no standards for testing. No standards for interface or for communication. No standards for what constitutes a proper education to practice.
Engineers as a group have done this. Without it, there is no case to be made that some 14 year old from Thailand isn't as fully qualified to as a 50 year old Ph.D. with 25 years of experience at writing software.
Just to be clear - I'm not an engineer. I'm a mathematician and physicist. I can't be an engineer. I can't pretend to be an engineer. But I've been a programmer and as far as anyone is concerned, I'm every bit as qualified as you to be one. After all, I don't have to take responsibility for my work either.