Long-Term Career Plans for Programmers?
zeno_lee asks: "Over the weekend, I spoke to a successful man in his 50s. He works in finance, but has had jobs in construction, trucking, and accounting. All throughout he has had concrete goals and pursued them vigorously. In his 20s he set a goal to be an expert in his field in finance, and achieved it successfully. I'm in my 20s and he advised me to envision what I want to do when I'm in my 50s, set my priorities and goals, and achieve that vision. He mentioned that success (career wise) depends on carefully planned goals with a vision, not a haphazard obstacle course with no end in sight.
Beyond receiving a paycheck in the short term and steadily gaining expertise in my field, I have not given my long-term career any concrete thought. I don't have a vision of what I will be doing when I'm 50. Has anyone thought of their long-term career thoroughly and are working towards it? By this I don't mean the usual vague response 'I'll probably be in management one day.' I'm looking to hear from both junior 'careerists' in their 20s who have concrete goals, and the older folks in this field who have established careers and have an opinion about this."
My Stuff: pspChess and foobar2000 plugins
Being aggressive is one thing, being stubborn is another. While it's nice to see success stories like that, not everyone knows what they'd be happy doing for the rest of their life by the time they graduate college.
While I was in college getting a degree is music I had the goal of owning my own recording studio one day. By the time I graduated that had changed to computer systems design and programming. Recent events have led me in yet another direction...but this time I can finally imagine myself doing this for the next 30 years.
Next week I'll begin classes to get an Emergency Medical Services degree and national certification as a Paramedic.
It's an old cliche, but if you do what you love you'll never have to work a day in your life!
Intl. Fire Rescue and EMS News: http://www.firehouse.com
Anyway, when I was 18, I had goals set for myself. When my personal circumstances changed, that pretty much scuttled whatever goals I had. I had honestly expected to work for a radio station as a disk jockey, and probably doing voice overs for the extra income. I would be married after I turned 25 to a girl I met after high school. (I never really had a high school sweetheart.) At this point, I was to have been through college after a year off to make extra money. I would have long hair and would never cut it.
Silly, naive me. The only thing that is true today is that I have taken a trivial amount of college (some ballet, a Japanese 101 course, and a CIS 111 course that I dropped because the curriculum revolved around things such as "This is a mouse"), and that I am married, but not to that girl I met right after high school. Oh, and I have long hair, but I cut it back in 1998.
And I didn't expect to have that spare tire until I was at least 35.
In retrospect, my dreams of being some rock star, being some multimillionaire, and actually having developed a real working version of Luke Skywalker's land speeder from the first star wars movie that I had when I was 10 were probably more feasible, but I would probably have washed up with the likes of 98 degrees and just built some goofy looking car with nothing to show at the end of the game.
Based on this, I'll give my naive advice. Make plans, but be flexible, and be prepared to adjust as necessary. If you expect that you will be in a spot by the time ten years elapses, you are probably going to be terribly disappointed. On the other hand, consider yourself either lucky or blessed by your respective god if things line up the way you expect.
Or, there is the short version: make the plans, but don't expect anything. (Side effect of this approach: the surprise of having come across an unexpected Good Thing is much more enjoyable than the satisfaction of things going right.)
This sig no verb.
But the reality is that no one really knows what tomorrow brings and it is the small decisions today which make the BIG differences tomorrow. In college, could I have planned to be a Business Analyst? NO! I did not know one existed. But by making the right small choices in life - finishing the things I loved in college, following advice of friends in jobs, working hard at the jobs I had, treating people right, keeping my eyes on God, etc. - I wound up in a very good place.
Is it the place I planned to be? No. I am still unmarried and have not yet written the great American novel. But I have few regrets.
I guess my point is: Feel free to plan, but never forsake now for the far-flung future and never take the low road now assuming you will get back to the high road later. You may not be around to get to your vision in 30 years.
Oh, and for the record, I am 28 now.
I see programming / software development / software engineering / whatever you want to call it as being like being a dentist.
In my first job, for what was then a large U.K. bespoke software house (and is now part of I.B.M.) I started with two 4 day training courses - one was essentially an introduction to the company and its methods, and one was an introduction to VMS, DCL and EDT, which I knew vaguely alreadyas I had uses VAXes at university.
After this I was put onto a project working on an end-to-end image management and processing system for the Ministry of Defence. Essentially I was allowed to design and develop the software without too much supervision.
I have done essentially the same thing i.e. talk to users, analyse requirements, design, develop and debug software for the following 16 years.
I expect to be doing the same for the next n years.
This is not unlike being a dentist e.g.
Day 1 - look in peoples' mouths. Diagnose problems. Drill, fill and extract teeth (etc.)
40 years later - look in peoples' mouths. Diagnose problems. Drill,fill and extract teeth (etc.)
Retire.
Die.
[this is obviously a simplification of what they do and not to denigrate the skills / knowledge of dentists]
I honestly don't see why our 'career' should be any different. I have more experience, obviously, and get paid more (about 5 times as much), but apart from being able to apply the experience I wouldn't claim to be much better at it (but then, I think I was pretty good to start with (!)).
- Always know your fire exits. Both literally (when checking into a new hotel while on a trip), figuratively (e.g., always keep an eye open for trucks with loose cargo that can suddenly dump heavy trash in your lane) and in life. Some day your life will depend on it.
- Plan for a rainy day. Hell, plan for a 100-year flood. And know how to recognize when you're in it. This should be automatic to anyone living through the current IT depression.
- Always have a backup plan. Always play with the next move or three in mind.
- Always keep some cash on hand. Liquid funds (before and separate from your "rainy day" funds) in the bank, even a kilobuck or two in a fire safe at home. Cash speaks in situations where nothing else will work.
- Always keep your car in working condition. Nothing is more worthless than an untrustworthy car - you can't use it when you need it, but the upkeep is a constant drain on your resources.
- Always keep a few days worth of emergency rations and water in your house. It will seem to be a wasted effort... until that crazy kid two blocks over blows up the substation and you're without power for a couple days.
- Finally, the little stuff adds up. If you're a regular runner your knees will be beat up unless you always wear good shoes. If you don't workout, you will resemble Jabba the Hutt as you hit middle age.
As for career advice, it's buried in the advice mentioned above. You can (and should) sketch out a general career arc, but don't bother trying to make a detailed prediction 30 years out because too much will change. E.g., what happens to your plan if you're diagnosed with MS (or worse, ALS) in another few years? What if your kid dies tragically in a decade, and you think you can see a way to help others avoid the same cruel fate?All you can do is ensure that you're never "checkmated" because you're stuck in a job you hate but can't afford to quit, with career skills that have become hopelessly outdated, that you aren't caught in an easily avoided layoff, etc.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
For me, it seems that setting concrete goals is too limiting. I prefer to change with my situation and try to enjoy it. I try to let my mood (and my personal ethics) rule, to some degree.
My greatest current goals are to raise my son to be respectful, outgoing and happy and to be the best husband that I can be to my wife. Being the best husband and father that I can requires changing with the situation. Spending all my time on career goals may make me richer and provide a level of comfort as far as money and posessions, but I may have found out by later in life that my son would have liked me to be around more to play ball rather than be in the office. My wife may have wished I was around more to provide her with emotional support.
Personally, I feel that a person has to be somewhat fluid in the way they handle the their lives. Iguess you could say I feel the journey is more important than the destination.
Having said all that, I suppose I am very stringent with putting my family ahead of everything else, so I guess that being a good husband and father is my stringent goal. All other things have to bend to fit that goal, however.
Everybody measures success in their own way, however...
One place to look for career paths are your (older) co-workers. Look around and see what people with technical backgrounds are doing now.
You probably know some older people who are doing roughly the same job as you. I know several older programmers who have an application that's their baby, they've been working on it forever, etc.
I also know a programmer or two who are still doing technical work, but have gained some authority -- they supervise a group of people, or are heavily involved in deciding future technical directions for projects and infrastructure.
Of course, there's always management. Does your boss have a tech background? Your boss's boss? How did they get there?
Personally (I'm in my mid-twenties, and have a baby daughter), I'm more interested in my quality of life than my career, per se. If they don't work me like a dog, I get to work on interesting stuff, and the money's OK, it's fine with me if I wind up working on the same application for twenty years. I think it's more likely I'd wind up in charge of a small team of programmers, that'd be cool, too.
-Esme
he's "in his 20s". Are you 20 or 29?
This struck me. I am just recently not "in my 20's" anymore. My cousin is an undergrad and he is in his early twenties. There is a huge difference. Undergrad days for me were done with a 286 and then later a very expensive 486. Programming was in TurboPascal, Fortran77, QuickBasic (ICK!), and dBase (dobule ICK!). For him, it is Java, OO-this and that, C++ if he is feeling old-school. So much has changed.
Structural changes have occured in the way that "we do what it is we do." How can anyone have specific longterm goals? I have had some success in the past several years by doing what I am good at, what I enjoy, and chasing after opportunities. I run my own company, but I can honestly say that I don't know what my plans are for 5 years from now, let alone 20. I guess I am not saying anything that you haven't...but let me try.
Planning a carreer is a nonlinear optimization problem. There is a functional that denotes value. It rolls up the financial, social, and intellectual rewards that you get from your carreer. This value functional must be integrated over a path from t=18 years to t=55 years. The path that we take should optimize that total value. But, the value space is highly nonlinear. There will be huge numbers of local extrema...making the best of the current situation. There will be paths that seem to be going nowhere and then lead to huge gains or falls.
So, in handling these types of optimization problems, we need to use common sense (gradient methods) to make the most of what we have at hand. But to keep from being locked into the first local extrema we find, we need to shake things up (entropy methods). Philosophically, I think the same recommendations hold for steering your life and carreer. Choose the best path in front of you, but never stop shaking things up, lest you get stuck.
Seeing the end is not nearly as important as seeing ALL of the now.