Is Programming a Dead End Job? 690
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?
why to go to the dark side.... (Score:2, Insightful)
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)
Re:why to go to the dark side.... (Score:3, Informative)
Re:why to go to the dark side.... (Score:2)
At this company, in no cases would someone get more salary than the person they report too.
Hell, as a matter of fact, most of our programmers are being outsourced to off-shore programming farms for a fraction of the cost.
Re:why to go to the dark side.... (Score:2)
It seems to me that the definition of the job CTO or CEO precludes them from being a programmer once a company gets to a certain size. It's not that they couldn't do it, but they have other responsibilities.
Not always true (Score:4, Insightful)
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.
Re:Not always true (Score:5, Insightful)
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:
Re:why to go to the dark side.... (Score:3)
I didnt feel bad about it all. Why should I feel bad about their good fortune? Anyway, their efforts helped push the stock up, so why should I complain.
Why I would (hopefully) never go to the dark side (Score:2, Insightful)
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.
Re:why to go to the dark side.... (Score:5, Insightful)
And back to the light side... (Score:3, Interesting)
Re:why to go to the dark side.... (Score:5, Insightful)
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.
Re:why to go to the dark side.... (Score:2, Funny)
Exactly, why else would anybody choose to be a teacher?
Re:why to go to the dark side.... (Score:2, Insightful)
Re:why to go to the dark side.... (Score:5, Insightful)
Counter-example: I was CTO in my last position and I wrote prototype and production code. I have been a programmer since 1981. I have more than a decade of commercial software engineering experience.
You asssertion is wrong. In most software development companies the CTO (as well as VP of Engineering, the Directors of Engineering, the Engineering Managers) is either an active programmer or spent a substantial proportion of their career as highly skilled programmers.
Another counter-example: Avie Tevanian lead the team that developed the Mach microkernel. He wrote substantial parts of the low-level system components in the NeXT operating system. He still maintains code in the Mac OS X code base. He is the CTO at Apple. Well, technically he is the "Senior VP of Software Engineering" but he is functionally CTO of a 10,000 person company.
Re:why to go to the dark side.... (Score:5, Insightful)
Re:why to go to the dark side.... (Score:2)
i would bet he at LEAST has input on the code even if he isn't typing it all in himself
Yeah, it also helps to be a founder and own 18% of the company.
Re:why to go to the dark side.... (Score:2)
Name one thing (THING) that Bill Gates coded himself, that wasn't stolen or bought from somewhere else.
Re:why to go to the dark side.... (Score:2)
I understand that he wrote a loader for basic back in the days of cassette tape drives.
Re:why to go to the dark side.... (Score:2)
I've heard Microsofties say this before. (I assume you are a Microsoftie otherwise you wouldn't be able to make such a claim. None of us mere mortals have ever seen any of his code).
But anyway, I am willing to believe you, if you actually tell me what he has coded, and why it is "genius". Really, I'd love to know. Can you point to a piece of code that he has done that is as "genius" as some of the stuff RMS or Bill Joys work?
his accomplishments back in the day far supercede anything ANYONE who posts to this site have accomplished
That's a pretty dumb thing to say. You don't know what people who post to this site have accomplised. Period. There are some pretty clever people here.
Is it just me or do there seem to be more and more Microsofties, or Microsoft apologists, posting to this site than ever. Why? I thought MSDN was supposed to be brilliant? Why do you post your comments there, where people will be more receptive to them?
Re:why to go to the dark side.... (Score:5, Interesting)
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 [slashdot.org] sure [slashdot.org] that's bullshit. [slashdot.org]
Re:why to go to the dark side.... (Score:3, Informative)
emulator's are easy. (Score:2)
And you don't need access to a machine. Have you never written an emulator for a machine didnt exist? How do you think they design machines?
If only the real machines worked as well as the emulators!
i'm not even going to read further. (Score:4, Insightful)
programming is a dead end profession. you will always be a coder... you may get promotions but you'll always be a coder. you'll make more money than 90% of america though, so is that still 'dead end'?
the best that can happen is you become a manager of programmers.... period. its not dead end in my opionion. you don't have to work up the corporate bullshit ladder, you are paid fairly and generally respected / depended on / over worked however you want to look at it.
if you are happy doing it, you can make a lifelong career out of it.
Re:i'm not even going to read further. (Score:3, Insightful)
Are lab technicians, medical interns, sales reps, graphic designers, accountants, legal consultants, or junior-level positions in ANY industry "dead end jobs"? Certainly, if you plan to work your entire career at that junior level job. It's dead end by definition.
But there are no more barriers to job promotion in the computer industry than any other. And a programming job is better than perhaps any other in the world if you _don't_ want to climb the corporate ladder. You can still make quite a bit of money programming in the trenches, if you master a specialty.
Or you can bail completely... (Score:5, Insightful)
So, I'm off to start my new life. The good news is that I still write code but I write it in my spare time for pleasure and nothing else. And it's starting to be fun again.
Re:i'm not even going to read further. (Score:3, Insightful)
You're kidding, right? I've seen many good, happy programmers "promoted" to be unhappy, bad managers. If you enjoy coding, potentially one of the worst things that can happen is becoming a manager. Depending on the company, you may not even be able to make more money as a manager. (Sometimes overtime is killed off, etc.)
Programming a Dead End Job? (Score:5, Funny)
[WILL WORK FOR CASINO CHIPS]
maybe not "dead-end" (Score:2)
Also, my approach to programming for a job is this: do what you love to do and money will follow. Maybe not all the money that you dream of, but if you love it enough and work enough, you can make a living. But you probably won't be a rock star.
you'll never take me alive (Score:2, Funny)
Dead End Job (Score:3, Informative)
I know, first person observation isn't an accurate reflection of a marketplace, but still...
Re:Dead End Job (Score:3, Insightful)
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.
Re:Dead end != unemployment (Score:3, Insightful)
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.
Cliff said it all (Score:3, Insightful)
And is exactly why Loki lasted as long as it did..
No way (Score:4, Insightful)
Programming is a DEAD END!!!!! (Score:4, Funny)
You have to love building great products (Score:2)
I highly recommend the book "The Art of Innovation" [amazon.com] which offers great ideas for kkeping workers engaged.
That's inane. Gut fish instead. (Score:2)
It's work, folks. It's not always going to be writing slashcode while sipping vodka in the Bahamas, but as jobs go it has a hell of a lot more growth and creativity than coal mining or clerking. I'm happy to be in the programming field. It beats gutting fish (an earlier job of mine).
ageism (Score:2)
Of course it is. (Score:5, Insightful)
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
Depends what dead end means to you (Score:2, Insightful)
you were right the first time... (Score:2)
Computers are going nowhere folks...
Guess I better just give up the idea of a job I love doing and learn to hate insurance or something.
Like a shark - keep moving or die :-) (Score:5, Insightful)
You have to keep learning and changing, othewise you burn out, get stuck in a rut and turn over to the dark side
It's not programming that burns you out... (Score:5, Insightful)
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.
Re:It's not programming that burns you out... (Score:2)
Being a mechanic is good for mechanics, but not if your job is building cars for people with way too much money, and no drivers licence. Sometimes I feel like when I start projects, thats when I get to start watching the car wreck in slo mo.
I think if you're programming to the needs of people who understand what you're doing, you 'share' the conceptual burden of your work, and you can identify with others. When you are simply a monkey wrench, someone who can do something that someone else who makes way more than you can't, and they keep making decisions that make your job difficult or are decisions that compromise time and time again the engineering considerations of the position, thats where the 'burn out' happens.
You just get tired of pimping out your ability to things that you have no vested interest in, and you're literally the 'last line of defence' between stupidity and a live system that has to be up 24/7, in an environment where people can't even understand what its like to be that.
be a jack of many trades (Score:3, Interesting)
We all wear smocks, get over it, monkey (Score:5, Funny)
At least it's not the fucking helpdesk. Then I would drink bathroom cleaner.
it will survive (Score:3, Insightful)
Don't panic
A friend of mine is experiencing this ... (Score:2)
Lately, he's been working as an independent contractor for programming Windows. He's been offered a position doing architecture design. He loves coding, and will probably do much, though not getting paid for it.
He feels that this is a very good step up, and no longer a "code monkey". He doesn't want to be in management (feels it would be the touch of death for him), and feels the same with any other position.
Long story short, he loves programming, but after 20+ years, he's going into archetecture of software. Programming definately helped him get to this level in his career.
My Dead End (Score:2)
I started coding for pure fun. Turned that fun into profit. Layed myself off. Now I just have fun, no profit.
Truly, a 'real programmer' doesn't give one hoot about a successful career and impressing the Joneses. He is like a crack addict who will live in a shambling garbage heap just to get his coding fix. If selling his wares gives him a mansion and a fast car, then so be it, but given a choice, he's always choose the addiction.
All jobs are dead end... (Score:3, Insightful)
When you stop having ambition is when you start having a dead end job.
Why I didn't go into CS/Programming (Score:2, Interesting)
I should not have gone into CS (Score:5, Interesting)
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.
Re:I should not have gone into CS (Score:3, Interesting)
Just order a Russian bride! [bluesapphires.net]
There is no problem that technology can't solve, my friend.
Re:I should not have gone into CS (Score:3, Interesting)
Where the money will be is not directly in a "technology company", but rather in consulting and in working for "non-tech" companies as a system integrator.
My official job title is IS/IT Coordinator. I work for a manufacturing company. Said company has large needs in the computing department, including digital workflows, data warehousing, and other things. These things can't be handled by off the shelf solutions. Our market is a niche market, but a necessary one (we print the labels that go on products you buy in grocery stores).
I think these companies are where the future is. They aren't tech companies, but they have large tech needs, needs that cannot be cost effectively filled by "turnkey solutions" or cookie-cutter software. Sure, they could farm out a lot of what we do to consultants, but having me and the rest of our small IT team saves them tons of money, and by working there and only there, we get unique insights into the company that would take years for a consultant to develop.
Anyway, go look around, at all companies, not just ones that are overtly technical. You may find a rewarding IT job where you least expect it.
You're right. (Score:3, Insightful)
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.
I totally agree (Score:2)
This no longer seems to be the case. Perhaps its dot com fallout but I have been less than enamored of this industry for the last few years. I feel like we have become the tech industries factory workers.
There is more to it than money (Score:5, Insightful)
I sure hope so. (Score:2, Insightful)
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.
Yes it is... (Score:3, Insightful)
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.
Re:Yes it is... (Score:2)
I decided that the managers above me were not smarter than me but just had more experience. Business experience that cannot be taught in a book or learned at a seminar.
So instead of waiting 10 more years only to realize that I should have started today I decided to strike out on my own and start a small software component business, eventually partnering with a colleague in the same position. We work our full time jobs 9-5 and work part time on the business. But the end goal is to work for ourselves and grow a successful company, not riches necessarily. As we are finding out every day, the journey itself is its own reward and no price tag can be placed on your freedom.
Will it be successful? I'm not sure. But at least we had the balls to be something more than just cogs in a machine working our asses off for the goals of others.
Well. (Score:2)
Programming should not be a dead-end job if you can communicate properly with your users and deliver wha they want in a reasonable time. Traditional programming - meaning locking yourself away to play with the most effecient search algorithm rather than creating anything useful - is a dead end profession.
If you can solve real problems for real people, then you are useful and ought to be regarded as such.
Re:Well. (Score:2, Funny)
Programming should not be a dead-end job if you can communicate properly with your users and deliver wha they want in a reasonable time
So in other words, we should all stop reading Slashdot and get back to work? :)
How could it be? (Score:2)
computers going nowhere? (Score:2)
Things will change as we get older (Score:2)
However, on the second point there is a solution for us aging programmers: stay knowledgeable on the new technologies! If you are a programmer who keeps up with the trends in technology, you are a much more valuable resource than the newbie fresh out of college! As the industry (and workers) get older, there will be companies that need programmers who know their way around the old systems AND who can program with the young guys too! If you keep your skills up-to-date, you should have no problems finding a great paying job!
Dead end job?? I think not.
Maybe... (Score:3, Insightful)
Economics 101 (kinda) (Score:2)
So if you've got guru-level skills at a programming specialty that is very much in demand and difficult to master, you will make outrageous dollars. If you are a hack VB programmer who can manage to not screw up an Access custom report too badly, you may find work, but you won't be making the big bucks and you may be the first one over the side when the waves come. Everyone else is in between. That's all there is to it.
Maybe I phrased it a little bit wrong up top. Programming is best described as a skilled trade. However, there are different specialties and skill levels within the trade. Think of auto mechanics. For every person who can diagnose a problem with your foreign exotic sportscar just by listening to the engine, there's a dozen who will never do more than oil changes - and they leave greasy palmprints on your dash.
For some people programming is a job. For the really good ones, it's a career.
As for me, I sucked at programming, so I became a net admin.
What? Who said the market is going through a (Score:2, Interesting)
Come on.. We have been hiring for a long time now. There are plenty of jobs out there.
I am so sick and tired of people claiming there is no jobs out there. We try to find real programmers, you know the ones that can program in C on a UNIX environment. The problems we find in hiring people is that they want to be "Network Admins" or "Web Programmers". Give me a break, go to a 2 year college for that, dont get a CS degree for a Network Admin job.
Also, ever hear of jobs being out there but people are not willingn to take the "cut" in pay? Making 70k is NOT a bad thing, its a JOB and a good thing in most areas. Ever notice how people with less experience are turning down jobs that pay more than your job? They are thrill seekers if you ask me. There are so many jobs in traditional Military application areas and systems areas it is not funny.
Anyone want to please send me your resume.
winston@mageslair.net
and I will talk to you. YES I will try and see if you want the job, and talk to you about it. Considering I can make a good buck on good people, I am willing to talk to people who are smart, good, fun, and willing to take good money, excellent benefits, great job over "perfect money" and a "network admin" job.
Sorry for the rant, but when many companies like where I work are hurting for C/C++ programmers and all I hear is "We cant find jobs" the answer is GROW UP, there are plenty of jobs around.
Is CEO a dead-end job? (Score:5, Insightful)
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.
depends (Score:4, Insightful)
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.
Usually its the incompetant programmers (Score:2)
Re: (Score:2)
Its a THANKLESS dead-end job. (Score:2)
Meanwhile you keep getting it in the shorts because "nothing is impossible to the guy who doesn't have to do it."
And when things finally cave, YOUR ass is grass.
a better world (Score:5, Insightful)
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.
Actually the opposite (Score:2, Interesting)
Meanwhile every company that wishes to not go out of business uses computers more and more. The number of jobs naturally goes up.
Now supply and demand says that there are not enough qualified people to fill the jobs. Managers will hire people who are highly underqualified because they are desperate.
Why we think this is a dead end job is because companies try to get their few competant employees to get all the work done, an impossible task. The result is lots of overtime which salaried workers don't see any extra money for. There is also a lot of pressure and stress.
What employees don't realize is that it doesn't have to be this way. We have what they need. Say "if I have to work overtime on a regular basis I will find another job" and you'd be suprised how scared they are of losing you.
I work 40 hours a week most weeks. I don't think I've ever put in more than 50, ever. I am paid better than my manager. My company needs me. Your company needs you as well.
Try being over 40 (Score:5, Interesting)
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.
Re:Try being over 40 (Score:3, Interesting)
The one thing about being older is that if you want to stay in the field, it's important to commit yourself to constantly renewing any obsolete skills. Back when I was a columnist, I wrote an article about how the addition of branch-prediction to newer microprocessors made me have to relearn performance programming essentially from scratch. My reaction should have been happiness that I no longer needed to spend all my effort worrying about branches, but my actual reaction was a feeling that I no longer knew how to program. All of my idioms and rules-of-thumbs had become incorrect. I had to make a decision at that point as to whether I was going to stay on the cutting-edge of implementation or move into management. I explicitly chose the former and relearned how to do performance programming more or less from scratch.
It's possible you are interviewing as technically solid but old-fashioned. Another possibility is that you are one of the many excellent coders of all ages right now who are struggling for work. We turned down a number of excellent candidates just because we didn't have enough openings.
Technology *does* change "too fast" (Score:3, Insightful)
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
Re:Technology *does* change "too fast" (Score:3)
I do care about the large library of Java code that is available and runs on Windows, Macs, Linux and Solaris. I do care about almost non-existent leaks, good exception support and all the other niceties. I do care about the help that I can get if I'm stuck with a problem. I do care about the great number of tools that are available for XML-processing. I do care about the fact that XML has been introduced at the right moment and has made everybody rally behind it. I do care that people are starting to develop industry-wide datamodels based on XML (www.hr-xml.org).
I can't get these things with your old, 'superior' technology. I agree that new technologies are usually overhyped and often misused, but a good programmer can seperate the hype from the substance. Your simple condemnation of 'new' things shows that you are indeed out of touch. Why? Because you are unwilling to learn. Smart programmers always jump on promising new technologies to test them out.
Re:XML is LISP? (Score:3, Informative)
For the short form, take a look at my
Re:Technology *does* change "too fast" (Score:3, Insightful)
Yes, but a programmer usually has little choice in such matters. A PHB will use a Hype-O-Meter to select.
(* Furthermore, as most things are just rehashing of old ideas, you should have little trouble picking up the new technologies *)
It is still time-consuming and project-slowing to learn the specific details and irrational bugs of each Great New Thing. It frankly becomes a somewhat boring chore after a while. I am thinking of creating my own database of commands that translate across one to another. I have probably seen 15 different ways to do a Contains (string) function/method/tag in my career. I can't pretend like I am thrilled to see #16.
I am starting to cross-mix them all. Information overload?
I can't act like the wide-eyed newbies who think XML is gonna solve world hunger, even if it is relatively easy to learn. IOW, I can learn it fine, but I cannot *pretend* to be the dupe-head that the newbie is.
"Dammit, Jim, I am a programmer, not an actor."
(* If you are consistently building systems in half the time and half the cost than others, then you should have no problems getting work... *)
No, because the next group that hires you likely don't know your work. References are nearly useless due to the buddy buddy system. I suppose it may work for contracting where the agency keeps track, but frankly I prefer longer term stuff because contractors are usually called in to clean up the messes made by dumb newbies, and I don't want to play Emergency Pasta Surgery any more.
Also, newbies actually tend to be relatively fast at creating new systems because they are full of blind, hyper fire. Their virgin fingers can copy-n-paste pretty quickly. Their main fault is the lack of longer-term maintanability of the results. However, they usually don't get penalized for such hit-and-run otrocities. The later-coming complainer is blamed.
IOW, the industry rewards the *appearence* of enthusiasm and the ability to return short-term results.
Most humans are superficial idiots who chase after bright shiney red things like a Chimp in a suit.
Merit Shmerit.
Self-doubt? (Score:2)
If your goal is to just make lots of money, then ask yourself what you're going to do with your money? If it doesn't amount to building a supercomputer in your basement and creating a turing machine, then maybe programming isn't for you. Whatever you want to do with the money you expect to make in programming is what you should be doing to make money in the first place.
40 year old programmer talks 1s, 0s. (Score:2, Interesting)
1. I have yet to find an employer who is suffering from a glut of programming talent. If you're good, there will always be work. You just have to stay sharp and keep your skills up. It also helps to not work in an area which is fueled by young, underpaid programmers (such as the game
industry).
1. A great way to keep your skills up is to teach, using your gray hairs to other's advantage. I personally set aside one day a week for teaching. It's a money loss, but still rewarding professionally and pschologically.
0. Sometimes it sucks being managed by folks who are significantly younger than you. This is a psychological issue that many of us will all have to deal with as we get older, regardless of the profession.
1. On the plus side, one of the advantages of getting older is finding the rare job which has good management and sticking with it, instead of constantly searching for greater prestige and a fatter paycheck. I've been burnt multiple times by accepting more money to work for folks I don't respect. No more of that, hopefully!
Humble Opinion & Experience (Score:2)
I began college with Mechanical Engineering in mind but then I took a required comp-sci course and it really appealed to me. At the time, I was an ex-geek who had given up the Doritos and Mountain Dew all-nighter lifestyle for something that was more suitable for a teenaged kid in suburbia high school (notably, girls and friends that I will have forever).
In any event, college rolled around and my geekness was awakened by this comp-sci class. I did not have a choice so I changed my major and became a reborn geek.
Fast forward to present day. I'm very good at what I do but I don't just see much *tangible* accomplishment. Sure - there is all this stuff that I have poured my heart and soul into but I didn't do it for me. Some will be quick to point out open source as a means of self expression or whatever but a PC is the last thing that I'd like to look at after a stressful day.
So what then? I've already identified that "geek" is the Hotel California of personality types - at least for me it is. All those 1s and 0s make a lot of sense to me. These types of jobs are the most profitable for me. The invisible hand put me here. I could have started my own business but I tried that. I am not cut out for that so I am happy to work for someone who pays me well for what I do best. As long as I can separate life from work and find something to make me happy.
In the end, I learned how to work for myself outside of work. I bought a house that needs fixing up. I'm currently installing an energy efficient hydronic radiant floor heating system (yes - there is tech available outside IT). This is required to satisfy my low noise floor requirement of the home theater that I installed a while ago. When I'm not watching/listening, I'm on my way out the door to go camping/canoeing (I actually just returned from getting my fishing license
This seems to be a reocurring theme on slasdot, eh?
Is the question really about dead-ends? (Score:2, Insightful)
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 $$$).
I think it can be assumed... (Score:2, Interesting)
How many of you work with completely incompetant developers? I mean the people who just skated through school or didn't go at all but somehow kissed enough ass to earn the title? As long as those people exist, and they always will, your job will be secure.
Obsolecense (Score:2)
Take XML. Hardly a new idea. It's a markup meta-language used to structure data into a tree. Tree databases have been around for years; that's all XML is, just a markup language for 40-year old "technology."
Incidently: tree-structured databases were replaced by the superior set-theory based relational databases. There were reasons for this. What is old is new again; and what was once thrown out as inferior gets a fresh coat of paint and resold as new.
Obsolete my ass.
Almost all careers are dead-end... (Score:2, Insightful)
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.
Programming vs. Administration (Score:5, Interesting)
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?
"The dark side" (Score:4, Insightful)
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.
Embedded much different from Internet and other IT (Score:3, Interesting)
I don't find out of country work a problem though. They just don't perform as well as the lazy American counter parts. The money you save in labor costs disappears as when you have a much longer bug/enhancement cycle. Most of which is caused by a culture/language gap.
Outsource to India can work well if you have a product that you have specific bug fixes that need to be done. But new products that require a really good analyst to have face side with the business and really hammer out details. Business like working face to face with someone who knows the lingo and can instill confidence. And they are willing to pay two to three times as much for that fuzzy feeling.
Programming is dead in 20 years (Score:5, Insightful)
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.
Why I am burned out. (Score:3, Interesting)
Hell, I love to hack...when I get home. My job has become more a place where they issue paychecks rather than the place where I code. Why?
Because of everything else unrelated to coding that I have to fend off: meetings, fickle graphic designers, shrinkwrap software that doesn't work and I end up "supporting," a boss that buys servers by the bushel because we have to use or lose our budget.
In short, I already am a manager.
Besides, at age 29, I cannot see myself with a family (I want one) if I'm spending 8-12 hours in front of a computer by day and a couple more by night to hone my skills. I don't instant message, own or carry a cell phone or pager, or pick up a phone without screening it via answering machine, and I still don't have a life to speak of. I've forgotten what a tit feels like!
Actually, I take that back. I'm growing my own.
I love programming. But it is a solitary discipline in its purest form. Unfortunately, there's too many people throwing their hats into the design process. And then you start coding from specs, and the specs change.
So lately, I'm neither programmer or social butterfly. I could code righteously, but only if there's nothing to code. It's a Catch-22. Yossarian lives!
We need organizations fighting for our profession (Score:5, Insightful)
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 [rmpcp.com]) 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 [programmersguild.org], 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 [geocities.com] 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).
Re:We need organizations fighting for our professi (Score:3, Insightful)
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.
IEEE problems (Score:5, Informative)
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.
Uhh.. (Score:5, Insightful)
Re:the big problem (Score:3, Informative)
This doesn't solve the problem, of course, because there are few fellowship positions available and there are few who can really fill this niche role, but it's a start I think.
Re:dead end? hah! (Score:2)
Re:Modern programming IS a dead-end (Score:4, Insightful)