I need a career advice regarding working as a senior software engineer in a corporation.

I am a java developer and I have always worked as employee in very small flat-hierarchy companies or as founder in 2-3 people startups. As such, I am used to take care of a very diverse range of issues apart from code development, from requirements gathering to technology R&D, database design, system administration, integration etc.

My guess is that if I had chosen a career path in a big corporation, I would have focused more on programming and I would have learned a more specialized skill set, big team methodologies (?), and gathered much more experience as developer rather than do-all.

Now I am 38 years old, I have 13 years of working experience in Italy, and would like to try a new challenge moving towards a corporate job in Europe or North/South America. I would like to know your opinion and advice regarding how to do this.

I wonder if my flexibility could be appreciated in that environment or if I have to start from a junior position because I am not specialized. Also I am thinking if I should pursue a management position, where a horizontal rather then vertical knowledge would be needed, but I have the drawback of not knowing the corporate culture and mindset.

Thank you very much for your attention.

  • If the company you're looking at moving to values specialization over generalized-specialists (Java devs who can do way more than dev in Java), look for a different company. – aclear16 Aug 1 '13 at 22:32
  • Hello ale dino, welcome to The Workplace! The best questions here inspire answers that explain why and how. General career advice is less helpful to future visitors than questions that ask a broader question applicable to many. For instance, "What skills learned in a small business are effective to sell when looking for a job in a large corporation?" – jmac Aug 2 '13 at 0:54

If you go into corporations, I'd probably suggest a few different routes that may work:

  • Manager - With all those years of experience and working in start-ups you may have some leadership experience that companies could want to use in managing developers which in this case would be the shift into something that may be more bureaucratic as politics may matter more in the big companies.

  • Architect - This is if you want to stay technical and move up the technical ladder. This may make sense from the perspective that if you know technology and how to put things together to form a solution, this may be an option.

  • Senior developer - This would be if you still want to be a developer and just move into a corporate role. While you may not have been programming all the time, there is a good chance you have some maturity and skills that could be useful in working with junior developers in terms of making sure things get done and handling deadlines.

Each of these have their own pluses and minuses though if one route doesn't work, then you could just try another one after that.

Not the answer you're looking for? Browse other questions tagged or ask your own question.