How Not to Plan a Career in Software
The year is 1995. Fresh from helping design CDE Mail and contributing to the SGI desktop, I find myself in an interview. The interviewer asks one of the text book questions, "Where do you see yourself in 5 and 10 years?" Of course my answers is exactly what any senior engineer in 1995 would have offered.
"In 5 years I will be running a consulting company helping organizations ranging in size from small startups to the Fortune 500 discover ways to more effectively leverage the Internet to reduce costs and expand their market. In 10 years, I'll be a fellow at a one of the largest success stories of the Internet."
Of course I didn't give that answer. If I had that kind of foresight, I wouldn't even bother working. I'd pick the 10-100X stocks every year and watch it half the year from my beach front home and half in my mountain retreat. But I don't have any such clairvoyance so like most of us, I work. But I'm blessed in that I have a career doing something I truly enjoy and also pays well.
My career got off to a strange start. At one of my school's career fairs, the organizer incorrectly listed my degree as chemical engineering. I spent the day with interviewers who had been sent to tell me they weren't hiring chemical engineers. One of them, from a medium sized company in Sunnyvale, decided that they were interested in me as a computer scientist. An interview intended to politely dismiss me turned into my first job, in the Silicon Valley no less. So perhaps serendipity was meant to be my career plan from the start.
Career planning in software, I believe is unlike careers in many other disciplines. It has a lot more to do with the project opportunities than any goals you might set for yourself. Each of my career advancements came because I asked for opportunities that were realistically just a bit beyond my current skills. I've had the good fortune to have people with the willingness and authority to take a risk on me. Part of the willingness was due to demonstrated ability but part of it was also due to my initiative in asking for the opportunity.
Serendipity played a role in most of the opportunities as well. Sometimes I looked around as one project was finishing up and selected something I thought would be a challenge. At other times, opportunities were handed to me to tackle. A few times I sought challenges that would help round out my resume but those decisions were certainly infrequent.
There was one career decision I made several years ago though that is definitely in line with more traditional career planning. Every engineer reaches the point where they have to decide between a management or technical track. I thought I would go through management because the rate of ascent and overall pinnacle is better. I tried my hand at management and discovered I really wasn't very good at it. So that left me with one option. Drive up the technical path.
So am I advising you to ignore career planning? No, but hey, it's worked for me! Seriously though, with the turn of technology, it is impossible to even know what technology you'll have to know in 5 years and certainly not 10 years. If your intention is to stay on a technical path, then relying on serendipity to broaden your knowledge and skill isn't a terrible idea. It certainly leads to an interesting career if nothing else!
Technorati Tags: programming, careers, software, to_read, toread, web
I couldn't help respond because this is an area I've thought about a lot over the years. First, when you were asked about your 5 / 10 year plan, your interviewing manager wasn't expecting a detailed timeline and expected roles. He was checking to see that a) You had thought about your future and what excites you b) You could put together a coherent set of thoughts and communicate them c) You had some ambition d) You weren't raising any red flags like "I'm going to work for a year and then go back and get my MBA".
Second, I would agree that varied project exposure is important as your progress through your career, but I would contend that career opportunities are much more often the result of pro-active steps vs serendipity. You mention asking for new projects beyond current skillsets, etc.
I think the key to all this is that engineers need to be much more pro-active in their career evolution. I see so many who drift along, waiting to see if the next project will be more interesting, waiting for the startup to succeed, waiting for the options to vest, waiting for... I certainly have done some of this over the years, but I've become to believe more in the value of "making your own luck". I've considered writing a book about technical career planning and that would make a good title.
In any case, congrats on your success.
Wayne
Posted by:Wayne Fenton | Wednesday, January 03, 2007 at 10:50 PM