I've worked as an engineer in the mobile industry in Silicon Valley for the past 6 years. I've published a short book about Android and I've written code embedded in millions of handsets.

If I wanted to diversify or movie into a different field, how would I go about it? I know from experience that large scale web engineers make really crappy embedded system engineers. I would assume that the reverse is true....but how do I break the mold? I don't have time to start up a large scale side project/website. I'd rather not take an entry level job and start over. Is there another way to shift expertise?

Have any of you attempted and succeeded in a task like this? How'd you pull it off?


I've been here, believe me. My advice is to be careful if you do jump ship. I left a job after nearly 5 years out of boredom, and joined a company on a lower salary specifically to get web experience . . . and wound up here (see my - ahem - rant in the comments on this answer stackoverflow.com/questions/901320/anti-joel-test/901361#901361)

Written by Binary Worrier

Would you possibly consider moving up the corporate ladder and being a manager or team lead? That would be another option for how to shift domains, but that may not be what you are asking...

Written by JB King

Accepted Answer

The trick to changing specialties, disciplines or even careers is to leverage what you already know.

Ok, so you've written embedded systems for mobile phones, possibly even written apps (or libraries for apps) on Android. So what you want to do is find something where that background is useful. I'm not sure what exactly. Possibly iphone development (either apps or Websites that run well on it)? Of course iphone development isn't the same as Android but you'll find many of the same issues: creating effective interfaces on small screens, etc.

Web development is like any other field: it has knowledge and skills that are particular to it. You'd have to pick those skills up and basically you'll need to do that on your own time or you will be taking quite a low level job. The key ones that come to mind are:

  • HTML
  • CSS
  • XML
  • Javascript
  • Possibly certain Javascript frameworks like jQuery
  • Web-centric languages and frameworks like PHP, Ruby on Rails, C# with ASP.NET, Java, etc

Not only do you need to pick those up but you have to be able to demonstrate your knowledge (or willingness to learn) to a prospective employer and without that background you'll probably find that (rightly or wrongly) you'll have a hard time getting your foot in the door.

Why are you switching, if I may ask?

Written by cletus
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki