Where Do All of the Old Programmers Go?
full-of-beans asks: "I work as a software developer for a large UK based international organization. Most of my colleagues that program are under 40 years old. Those that are over 40 tend to be in either Management or IT Support! I was wondering were do all the old programmers go? They can't all end up in management. I know we don't get paid enough to take early retirement. Is there some other career that tends to attract 40+ year old programmers, if so I'd like to know, because I'm not that far of 40 myself!"
... or possibly, there just aren't that many programmers over 40. Most educations aimed at programming started approximately 15-20 years ago or less. If you were programming before that, it wasn't very likely that you had been educated for programming, but for something else...
I have a really elegant proof for Fermat's last theorem. If this sig was only a bit longer...
I'm 41, a former programmer, and thats where I am - getting my MBA (and currently managing development outsourced to India). A good friend of mine has left the development world and gone back to Law School. Not an uncommon story.
preferably India Institute of Technology, where they train the next generation of yes men.
Agreed with everything except that last clause there. Do you really know what you are talking about or are you just randomly talkin' out your ass? Whether you are a 'yes man' or not, is completely based on your own personality and not where you go to college. I think what you meant to say is that 'preferably IIT, which has typically churned out excellent graduates' (note: I am at UCB not IIT, so this is by no means a biased statement).
I can't speak for all old coders, but I got kind of tired of coding just for the sake of coding. You can only do an implementation of a queue so many times before you ask yourself why you're writing it. I started a company with another guy, and we are a solution provider. Part of my time is spent with customers, and part of it coding. I much prefer this way of doing things because I can produce better results and my customers get a better product. Maybe all the old coders move on to smaller companies where they can be closer to the end user.
If you don't want crime to pay, let the government run it.
My company is aggressively hiring software engineers right now. When we interview a senior developer who really knows what he/she is talking about it, it's like a breath of fresh air.
It's true you can get more raw work done by two junior bodies vs. one senior engineer at twice the price, but when your production database server is dying under load, you want the engineer with experience to be there.
Agreed with everything except that last clause there. Do you really know what you are talking about or are you just randomly talkin' out your ass? Whether you are a 'yes man' or not, is completely based on your own personality and not where you go to college. I think what you meant to say is that 'preferably IIT, which has typically churned out excellent graduates' (note: I am at UCB not IIT, so this is by no means a biased statement).
As a 30-something programmer who went to a good American school, it's something I've noticed in the newest generation of H-1bs hired from India. Most of them are from IIT, and most of them know the language that they were hired to work in- but NONE know when to tell managment off when they need telling off. Managment likes this, and this is the reason I got laid off, moved to contracting for a state agency, and am in the process of interviewing for a permanent position with the same agency. It's more a function of age than where you graduate from I think- though there does seem to be something in the Eastern cultures that lends itself to working on teams and not rocking the boat.
At any rate, it seems obvious that private industry has no place for an old curmudgeon like me- which is why I'm headed for the public sector.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
As you get older, your brain changes configuration. You don't want/can't learn as fast, or don't care about the details anymore.
Actually, as you get older you realize that school habits are not applicable to the real world. Jobs are not like a quiz, you shouldn't be pulling details from memory, that's why we have reference manuals. Do I need to memorize the the run-time complexity of 10 sorting algorithms? No, what a waste, I merely need to have Knuth Vol 3 Sorting and Searching with a post-it note on the page with side-by-side comparisons of various sorting alogorithms, their run-tme complexity giving various types of data, info on optimal and degenerate data, etc.
Learning is not about memorizing lots of trivia. It is about filtering important info from the huge volume of crap and trivia. Learning was once described to me as the *selective* loss of information. You have to think about that for a second. We're bombarded with info, overwhelmed with it, we have to discard some of it. The better strategy is to discard info on a selective basis, the trivia, rather than discard info randomly. What some consider "not caring" is what others would consider "being selective".
He also taught us incredible lessons. In 8 hours a day, 40 a week, he was able to get all his work done. And he did finally hit it big, and 2 years ago bought his dream house on the beach. As a spot of bad luck that beach was in Gulfport MS, so he'll have to rebuild, but that's not really the point.
The best lesson he taught us was "embrace new technology -- because that's what your job really is." As a result he embraced Windows when it came out, Java, Open Source, XP, and was incredibly relevant, even at the the ripe age of 55. Of course he embraced some things that did not become important. He became a Notes developer. He spent a month becoming an expert on XML, and I know it never really became useful for him. What he knew, and taught us -- there is no point in this profession where you can stop learning. For some people, when they realize that, they decide they want to move to management, where learning actualy hinders your career.
The reason you don't see many old developers is because they can't/won't learn new tricks. All you guys out there who won't learn Ruby? You're days are numbered -- not because Ruby IS the next great thing -- but because it MIGHT be. As a technologist, if you want to keep working with technology, you have to embrace the fact that technology changes.
My last comment is thanks Leo! I know you'll see this, and I just wanted to let you know about the debt that we all owe you, and hope that some day I can pass on the lessons you taught to me to other young developers.
Nothing great was ever achieved without enthusiasm
-Thomas Jefferson
To paraphrase what I think he is saying is that I, nor you, nor the government actually can give or take away any type of rights at all. These are things that exist but cannot simply be handed out like physical things since they are given by either god or the natural order of the universe.
Rights are simply there.
"I am the king of the Romans, and am superior to rules of grammar!"
-Sigismund, Holy Roman Emperor (1368-1437)
I am sorry to hear this. I am from IIT and I am working in USA (not on H1B but with a Green Card). What you dont get is that the US Dollar is 45 Indian Rupees. If an Indian with an H1B visa works here, it is not for the life in USA, it is for the money which he gets in USA which gets converted to 45 times that of Indian money. Agreed some inflation, and standard of living has to be accounted for, but even then it is a large amount of money for that Indian on an H1B visa. And if this guy starts "telling off" his managers, he will be sent back to India, and another "yes man" will be brought in. This guy might have family that he needs to support etc. , so you cannot say that all IIT graduates are "yes men". In fact most of them are far from it. It is the circumstances that make a man a "yes man".
I on the other hand do speak my mind with my boss, because I have no fear of getting fired and being sent back to India, because I live here and since I have a green card I can apply for another job in the worst case scenario.
Then make one. Find someone who has a problem and propose a solution. Update your skills. Go make something happen. When I moved to Seattle in 1992, I had no job and things weren't good for VAX programmers. While I was looking for work, I learned new skills on my own and turned those skills into something very successful. I think that one problem with today's programmers is that they believe that opportunities will just jump in their lap. I hate to tell you this, but those days are long gone. But if you row into lake in your boat and fish don't jump in, do you stop fishing? If you fish and don't catch anything, don't you buy better tackle?
Oh I did that too- but a side job doesn't pay the bills, though it is a great way to keep the skills sharp. The fact of the matter is, the skills of a coder are very much oversupplied these days- most of the paying jobs are in Microsoft land or Java land, so those are the skills you need- but those are ALSO the skills that 50,000 new IIT graduates get EVERY SINGLE YEAR- and they don't have a family to feed or a mortgage to pay, and they will give their right arm to work in America, instead of giving managment a fight over deadlines and things that can't be accomplished.
It's more like coders are the fish- and for every line of employment, every opportunity in the private sector, there are several hundred fish going for the line, and twenty or thirty eating the bait (getting an interview). Contrast that with public service, where they must hire a citizen, and there are usually only 30-40 applicants for a job, and the permanent position I just interviewed for yesterday had only 4 people interviewed.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
I didn't really think it was a function of where one graduated. But thanks for correcting me that it's more a problem of the indentured servitude (employer purchased) visas as opposed to culture.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
And if this guy starts "telling off" his managers, he will be sent back to India, and another "yes man" will be brought in.
Can you tell me how that doesn't validate his point?
You're saying that because you don't fear being deported (like a natural born citizen would), that you have no problem telling your boss off, but that those from India need to be "Yes Men" to stay in the country. Regardless of whether they are all 'Yes Men' by nature, what you're saying is: they have to be to have the jobs here. Thus they ARE willing to bend over for the company and thus ARE more attractive to the company as employees.
Crap code doesn't seem to have a big correlation with age. A couple of heinous WTF's I've submitted to that site were created by the 40+ crowd.
A 45 year old programmer (who has spent their entire career programming) has been programming since 1980. There weren't a lot of programmers in 1980.
There will be a considerably higher population of older programmers in 2025 but right now it's still a young industry.
On this I could comment as well. I have seen this before, both from India and from others. I am myself from Europe/France and came here (New York/98) with a visa. The first 2 years, well, it was new and I loved my job, but then, after abused and all, I just wanted to leave. Too bad the economy sucked (end of the .com bubble, 2000/2001). I had no choice than to say yes to keep my job. I got married, got my work authorization independent from my Visa, I was free. I resigned, created my own business, didn't work so found another job as a Manager in another company. I wasn't a yes man, at all, but was really good so they kept me.
They hired a new boss there, he was the best one and the most knowledgeable of the company but he got fired by the CIO because he was a NO man, better than our CEO, more experienced, and speaking his mind on what should be changed and what should be done right. He got laid off. Everybody was saying, even in other divisions that he was the best one. But his manager could not stand him not agreeing. Later he was replaced... by a friend of the CIO, an indian guy... Who was a yes man with the CIO and tough with everybody else. Everybody else hated that guy, and he was not competent. After 9 months at the job and a few months of lateness in the biggest project of the company, he got laid off.
I wonder if there is a lesson to learn there...
By the way... on the original topic. I think that there is just not that MANY programmers over 40 these days because real development, outside of cobol/fortran over 20 years ago was very limited and not that many positions compared to today. I would say probably 1/50th the number of IT developers than there is in the industry these days. I know a few, they either went to management, or moved to architect positions, or moved out of IT, or are still very much in demand for legacy Cobol/VMS applications...
my 2c on this.
Where does this notion that countries with low value currency units are cheap places to live?
The cost of living seems to have very little to do with the currency exchange rate, if it did then i'd be moving to Japan as i'd get 116 yen for my dollar or perhaps turkey where i'd get over a million lira to my $.
Actually, I'm very familiar with STL, and have used it on projects. It was a welcomed addition to my programming toolkit.
Now I'm going to tell you how STL sucks. I taught CS for a year at a local university and asked my students to implement a queue. Immediately I was asked if STL was an option. I told the students that I wanted them to understand how a queue worked and that the only was to do it was to write your own implementation. The sad fact, however, is that too many programmers, especially new programmers or those who didn't go to a theory-rich school, don't understand how things work under the covers. I know people who will argue that this doesn't matter, but these are the same guys who write really crappy code that doesn't perform well. I love it when you talk to a new hire about the difference between row and column matrix ordering and their effects on page faulting and get a blank stare back. You know, that old "deer in the headlights" look that tells you that they got cheated out of a good CS education.
If you don't want crime to pay, let the government run it.
The real problem with old programmers that I've seen is that they figure they're owed a huge salary even though their skills haven't kept up with modern needs.
The problem I've seen with new programmers is that they don't even have the basics in hand. Even after taking the 101 classes, they still don't uderstand the importance of getting the requirements first. They're always jumping into coding something and bolting it to the floor instead of understanding the problem, the business rules, and the customer's needs first. This leads to lots of rework and dings against the IT department. Yeah, this ain't sexy or fun, but it is what a software engineer does. I don't think you have any idea what "modern needs" are, since they are no different from needs 20 years ago. IT is simply a service that helps a business to achieve it's goal, hopefully in the most efficient manner possible.
It't not like time in is a valid reason to expect a high wage - experience counts, but productivity counts a hell of a lot more.
LOC != productivity. If you haven't learned that lesson yet, you still need to snatch the pebble of understanding from that old, overpaid, feeble, guy's hand.
Those that are over 40 tend to be in either Management or IT Support! I was wondering were do all the old programmers go?
Let's say that I'm a manager and I've got an employee making $50K/yr with 10+ years of experience, and 2 kids and a wife that sure like to use that health insurance. I've been asked to reduce costs (so that the CEO can report to the board that we've saved X dollars, so that he can get another 4 million dollar bonus and more stock options and "loans" that he'll never have to repay). So I say to myself, what do I need this old programmer for when I can pick up some desperate college grad for a measly $35K/yr who doesn't have a wife and kids, and doesn't care about working 12 hour days? Fire the old guy, hire the kid. Mmm, the smell of Christmas bonus.
Here come da fudge!
30 years ago, the exciting skillset for 20 year olds was COBOL.
20 years ago, the exciting skillset for 20 year olds was C. They still saw some COBOL programmers around.
10 years ago, the exciting skillset for 20 year olds was Java. They still saw some C programmers around but just about never had anything to do with COBOL programmers who were still working - just at other companies with legacy mainframes.
Now, the exciting skillset for 20 year olds is AJAX. They still see some Java programmers around but just about never have anything to do with C programmers - who are still working just on non web related tasks - and absolutely never see the COBOL programmers who are still working - just absolutely removed, in totally different companies.
In another ten years time, the exciting skillset will be [whatever]. They will never see any AJAX programmers as they were all fired for knowing a silly over-hyped skillset. They will very rarely see Java programmers if at all, never see C programmers and absolutely not see the baby boomer COBOL programmers who are hitting retirement age anyway and bankrupting the nation.
Ten years after that, the hip skill will be COBOL as companies pay out the ass to maintain legacy code that no one still working knows how to work with. And thus the cycle will repeat.
So, it's not that old programmers don't have jobs. It's just that trends change and the exciting, hip skillset of one decade means you see less of the people ten years ahead of you who are on somewhat removed skillsets and even less of the ones ten years ahead of them who are on even more removed skillsets. It's not that they don't exist - it's just that they work for totally different types of companies that do totally different things.
It makes me wonder if the now 50 something COBOL guys wonder why everyone's so old and how come no new blood ever enters the market.
I am an Indian and I don't agree with the GP's broad assertion that Indians are "Yes" men when they land in the US. I worked and lived in San Jose. I decided to come back to India after my contract ended even though my employer granted me full-time employment. One of the reasons I was offerred this employment is because I am not a "Yes" man.
The assumption that people will throw you out on the street if you don't keep sucking up to the management is false in most places; any management worth its salt expects to hear the truth from the floor and once the management gets around to the understanding that the people on the floor are lying to them and basically kissing butt, they will rapidly lose any respect for the opinions of these minions. Even the management expects to hear the truth - believe it or not.
It is incredibly esoteric. The sort of thing most programmers would only encounter in school.
Because you see, when you need to sort in the real world, you just call the sort method.
If you're using C++ it's quicksort, and you just don't care how fast it goes anyhow, because
everything else takes a hell of a lot longer. Unless you're doing something fancy, in which case you're into esoterica again.
I'm not saying that knowing and recognizing the differences between log and exponential time is not practically important, but knowing the names of a variety of sorting algorithms and their runtime complexity is very much unimportant, unless you're doing specialized work, where sorting becomes a focus. That's very rare.
-I like my women like I like my tea: green-
I agree with both of you.
Large companies are slow and stupid. You can spend months doing nothing and then they act like something is an emergency and then before it is finished, it's dropped and something new is chosen. Assuming all does go well, you suffer a huge productivity hit.
I was at small companies christmas party tonight and I asked about how long it would take them to make a 100 line change to production that involved adding a new column to the database.
They replied, as I remembered from my small company days, oh about 2 hours-- another said half a day. I told them (and it obviously shocked them) that it took 4 months at a large corporation. There are too many steps to go into, but it is a stutter step of forms to fill, required estimation of the size of the project, impact analysis (even if you know there is none), approval of the pmo office, more required forms, required kickoff meetings, (actual coding & testing), required weekly status meetings, required regression testing, approval of the database team, coordination with our outside hardware partners. Sarbanes Oxley can be responsible for about 1 month of that - the pmo office can be another month of that.
It is truly horrible. But yes, you still have career programmers because they are tired of spending their personal time to self train a few nights a week and really just want a pension and a stable job. It can be stable until this offshoring crap started- until inflation makes offshoring a bad deal (in 3-4 years) it piles on top of all the other horrible stuff.
But hey, it's a job- it pays okay as long as you leap to each new tech, and it can take months before the large company lays folks off if it decides it wants to do so today. They just don't want the risk. So they have you document everything and train your offshore replacement before they let you go. So you keep racing to take on new responsibilities so they can't let you go. And so on.
She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
You're very wrong about demand for COBOL programmers. I was one and there are very few COBOL jobs about now, most have been moved to India because there are no young, cheap people coming into that field (not surprisingly). I now find myself outside of IT and the only way I can get into the newer fields is to get a degree just so I can get back into something that I already have 15 years experience doing.
No-one wants to train me despite the fact that I did a C++ course at college and passed it with full marks (showing that it wouldn't take long for me to pick stuff up). It's in the nature of the wastefulness of corporate culture, they'd rather pay top dollar to poach someone or take on someone inexperienced in years than someone who only needs the language/platform skills, not all the analysis/design/corporate politics skills that takes years to learn rather than a few months.
Does a Christian soccer team even need a goalkeeper?
Most private companies don't have that luxury- they have to answer to their stockholders every three months, and would have to explain that all over again to the stockholders- most of whom will NOT understand the long view.
That's crap. Stockholders don't sue because company A is paying for quality, they sue for gross malfeasance, like with Enron. Mostly, they look for growth and don't really vote too much.
"We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
Yes. There is significant cost to any organization to hire and train new people. Companies can actually halve that amount and pay it in salary for retention purposes and still save money over the long run. Don't underestimate how much money an employee doing the same job for five years can and does save over time.
Think about the question for a minute. Assume, for the sake of argument, that one starts coding for a living right out of college.
If you're 40, that's starting a job as a coder in 1987.
If you're 50, that's starting a job as a coder in 1977.
If you're 60, that's starting a job as a coder in 1967.
Do you notice anything about those dates? Unlike, say, plumbers, in which you would expect there to be plenty of guys who were plumbing in 1967, you don't expect there to have been nearly as much demand for programmers in 1967 or 1977 as there was in 1987, and in 1997 the demand was much greater than in 1987.
It's simply an expression of the reality that programming is, as a human profession, in its infancy.
-- Hello_World.c: 17 Errors, 31 Warnings
I'm aware of this. It's called natural law, and I subscribe to it. It's the belief that we as human beings simply have certain rights, and governments can recognize them or not, but the government cannot take the right away, only repress it. The other end is that a man's rights are only what his government permits. Liberalism, in the classic, revolutionary sense, was a philosophy of natural law, and Jefferson rightfully said once:
In the context of my original points, I was referring not to the rights inherent with being a human being, those cannot be taken away. However, other rights can be. We generally call these "privileges" or whatever. Miranda rights, for example. It's a stretch to believe that the natural of the human soul is that we are born with the right to an attorney. This is an additional statutory right. They can be awarded and taken away. These are the types of rights I was referring to in the above post.
Sorry for the ambiguity.
"I have never won a debate with an ignorant person." -Ali ibn Abi Talib
I really wouldn't mind doing the same thing and making the same money.
Where I work there also seems to be the mentality of "don't you want to move up the ladder?" If you're not working to achieve the next rung on the corporate hierarchy, you must be lazy. Maybe. I happen to like the amount of responsibility I have now, like going home at a reasonable hour to see my wife and kid, don't really want to be working 60+ hours a week (and only reporting 40) to impress management. It really doesn't bother me if younger employees move past me on the ladder; good for them.
My job is not my life; it's what I do to earn $$$ so I can live my life. I've reached a point in my career where the job I perform, the $$$ I make, my enjoyment of that job, and the time I have to live my life are in a pretty good balance. So sorry if that doesn't make me a good employee.
- Jasen.