September 20, 2012

Career Advice

My reply to someone asking for career advice of sorts - I can certainly relate - quite a while ago I had looked for a line to put on my resume that summed up my goal and what I came up with was "Help people do things they couldn't do before, using computers." It may sound trite but that's been the center of my career orbit. Sometimes I am closer to the heart of the vision, sometimes further away. Your desire to help people "solve their problems" definitely will extend beyond coding. Without even meeting you I suspect that it does already. How you use your skills and passion will be driven by that desire to help people and solve problems. What role you take on will change over time and I wholeheartedly recommend trying things outside pure coding or engineering. The most important skills that I learned beyond engineering have been people oriented. Being an "engineering lead" let me understand how very different individuals actually are and how groups of people interact - the 'emergent behavior' of a group is not always immediately obvious but it is something that can be learned with experience. Being a "project manager" let me understand how groups of technical and non-technical people work together effectively and also quite often how they don't work together. Together these have taught me how products are built and how customers are helped to be happy. Along they way I have picked up some entrepreneurial attitude - but perhaps that attitude is what got me to jump into different roles and join different startups over the years. As you look to the future, I would suggest that rather than thinking of 'career options' as the one true way forward forever and ever, think of careers or roles as a learning experience that makes you more adept and capable in different situations. This builds your skill in service to your ultimate vision - helping people. From this point, you may want to find a role that can use your engineering skill as a base to build on while you learn new things. I took a position as a technical project manager to learn how companies organize themselves to get things done. My engineering background let me not worry about understanding the technology (that part was easy) and instead soak in the experience of trying to coordinate many groups - herding cats basically. If you are able to not be too concerned about money you have many choices in how you spend your time. For example, you could work in the online advertising industry as an engineering lead - being less concerned about engineering (which you could do easily) and more concerned about team building and team coordination. You could spend a year being a project manager which is not making technology decisions at all (but you can call BS on silly design approaches), or you could find a small software technology company that needs a product manager - maybe something you haven't done before but it gives you a chance to dig in and learn. I hope this lengthy reply isn't too confusing. My recommendation is to definitely branch out, but use your strengths to move into new areas. I hope this helps.