Programming Until Retirement?
DataDragon asks: "Here's the situation- I'm a now 30something computer programmer in Silicon Valley working for one of the local billion+ dollar tech companies. I'm unhappy with my present job, but am thankful that I've got one. Although I pride myself on having written over a million lines of code in my career, with nearly 15 commercial software products under my belt (8 of them were my own concepts from start-to-finish). I've had carpal tunnel for 6 years now, my skillset looks like it came from a 3 year old magazine, and I didn't make good on stock options. Since settling down in a quiet place somewhere and having a family sounds like a great idea to myself and my bride-to-be, I was wondering: instead of all the buzz I always get like Google's 'Do you <insert technology task> in your sleep?' job opportunities I've read about, are there any employers that would rather have a person who: wants to put in an honest day's work; get to know the job and the people well; and a desire to ultimately be a mentor for the company processes, instead of a here-today-gone-tomorrow programmer, who is interested in actually working there until retirement age?"
I'm a 30something programmer myself. I have worked for several tech companies in NorCal (startups that went nowhere), and after an 8 month stint of being unemployed I landed a programming job (mostly Perl no less) at a local CSU. Now I'm happy, I get lots of "perks" (Conferences, Training, etc.), and nobody busts my nuts when I "only" work 8 hours a day. I have good benefits, a good retirement & job stability (unless Schwartznegger screws me), and I work with good people who appreciate my work.
Well you have to make a choice. Are you going to be a programmer or are you going to be a manager. Just because you are a good programmer that does not mean you will make a good manager and vice versa. It's good that you are looking at alternatives though. In this economy I don't think you are expected to stay a programmer all your life. People expect forward progress on your resume and your managers are expecting some sort of an initive. Finally you might have to leave your company. In may companies the chances of upward movement depend on turnover and unless you expect people above you to be retiring or quitting soon you should start looking for other opportunities.
Get a free Mac Mini
I've worked commercial and academic. All of those were fun and interesting, but some (mostly commercial) demanded long hours. That late-night work never resulted in the promised recognition.
Now I work for a govt. research lab. Although money is sometimes tight, and the paperwork is sometimes a pain in the butt, there are some really nice things about it:
- The pay is good (not mind blowing, but quite good).
- I work with some of the smartest people I've ever worked with. Almost everyone has a master's degree, and a good fraction have their PhDs.
- The job stability is pretty good (although no guarantees)
- Because of the stability, I can feel free to dedicate my efforts to learning the problem domain, rather than staying abreast of each new glitzy programming language. I.e., I can focus on my current job rather than always focusing on being sellable in case I'm laid off.
- If you land the right job, you get the sense that you're work actually goes to help people, rather than just line the pockets of some rich sociopathological CEO. That's a nice feeling.
Maybe the most important thing is the regular hours. If you're planning on having kids, it's great for them to expect you home every night for dinner and for you to actually show up. Kids thrive with that kind of stability and with your actually being around when they're awake. They only have one childhood - don't miss it. A slightly more exciting career isn't worth it.
I think it depends on what sort of company you are with
I joined my current employer straight from university in 1972. At the time it was a small software development company, writing bespoke software for customers on a paid basis. They key to a long career in the same firm is to continue to re-invent yourself as the experience kicks in, and the industry changes, and to hope that the company continues to be a success and grows. For it is only the ability to take on more responsibility that allows the company to pay you more for the experience you have gained.
For the first 6 months I didn't really do any programming, more learning how the business worked (how to write proposals to customers! - when I started I didn't even know what a proposal was). Then I got an assignment at the space centre in Germany for a year, and when I came back I was seen as someone with a little experience. So then, not only did I program (I became the expert in RSX-11M on PDP 11s) but I was also expected to supervise others.
From there - right until the late 1980s, I combined technical work (not just programming, but as I got more experience I designed more and more complex systems) with project and eventually line management. The more senior I got, the less the technical work involved detail and the more it became strategic.
Some times this would combine with management responsibility for people (and profit) at other times I was setting technical policy for senior management (I was responsibly for getting networked PCs on to peoples desks in those early days of the PC).
At the beginning of the 1990s, the ability for our company to win projects in which you wrote a bespoke solution for a customer started to decline, and the new business was more about buying in products and configuring them to meet business requirements. So again, my career and my skill sets had to migrate. This time, it was more about understanding the business needs of the customer and being to select and propose the correct solution. So now my career became a combination of consultancy and pre-sales support. I still had to have a technical knowledge of what was possible, but it was now a long time since I had written serious amounts of software as a programmer, and the knowledge of how business operates and how IT can help it became more important.
And the type of business is changing again, and as it does so does my role. Business Process Outsourcing (possibly offshore) is where the real volume of business is now. My role therfore is to identify, on a worldwide basis, and in my specific business oriented field (IT necessary to allow competitive electricity and gas markets to work), where the market is spending money, and how our company can bring its experience to win business in the BPO area. I am then called upon to both present these issues to potential customers to help win business, but to also present in public forums (conferences, magazine articles etc) these ideas and why they are sound.
Each of these steps has been a step away from pure programming. Some steps have been scary (its very nerve racking having to present in public in front of a large audience), but ultimately the fact that you have met the challenge is very rewarding. And so today, I am far removed from the original career. But I am still with the same company, in the IT business, its just that I have changed with the times.
I have described my career, and I am not alone in the company of having people who have been around for a long time and continue to do (to a greater or lesser degree) technical (from an IT sense) sort of work (there are even more who have migrated into pure management). I don't think any of them do serious programming (although sometimes someone will write a small proof of concept or a quick demonstration for a customer), but somehow there careers have migrated to being the "liaison" between the business world and the technical world. I think all of them would say that its a rewarding type of role.
I definitely call bullsh*t on this. We're always looking for coders with 20+ years of experience. Some people burn out, but some people are still into coding, or want to get back into it after a management stint. They are awesome. They have made and seen tons of mistakes, so they can help newer guys (informally if not formally). Plus they tend to work as hard or harder than most people. Having a more stable outside work social life also means less drama in the office. You definitely need a good mix of people -- if it's all gnarled verterans, they just sit around telling war stories -- but you'd be crazy to dismiss someone becuase they've got Altair experience on their resume. (In fact, we're interviewing someone w/ Altair experience on their resume next week, and I'm extremely stoked about it.)
Dude, I think I can see my house from here.