I'm currently looking at moving to a new career: embedded software development. Technically, I'm currently a software developer... who hasn't actually developed software in a few years. My currently job is simply to move data from point A to point B, sometimes by paving the path between from start to finish. There's some small bit of coding, but not all that much, and not the type I prefer. I've spent a LOT of time thinking about what I want to do with my life, as many readers can attest, and now I'm moving in the general direction of embedded programming.
Right now, I have most of the tools I need to move in that direction, and a general plan. The dilemma mentioned in the title of this post is more of a matter of when than what or where. I've already decided to move into embedded development, but I don't know when.
My current lease is up in June. Recently, I had decided to pick up and get moving then and there. This would be great, as I have one more year to do what I enjoy doing. The downside is that the skills I need to handle embedded development, mostly C and Assembly programming, have atrophied over the years. I've only taken one class in college that dealt with Assembly (for Sparc processors; for those not technically inclined, Assembly is different for just about every processor) and a few with C; most of my classes required programming to be done in C++. I've done some C coding in the past month, but it's slow going as I rebuild the missing knowledge.
My other option is to wait one more year (thanks, stupid one-year leases) and move next June. This would give me a chance to get one more promotion at work, save up more money, and join one or more open source project to gain real experience in embedded development. I also own some books that, with careful study, will help me become a better embedded developer.
At the moment, I'm leaning toward the second option. This is a change from a week ago when I was looking at the first. I finally looked at the issue from a perspective of rushing things and hoping everything worked out, or being a bit more careful, gain more knowledge, experience, and resources, and have a greater chance of getting the career I want, all for the cost of one year. Thankfully, I'm not so old that the year will be too great a burden, but I'm old enough to realize the value of that year.
I'll be documenting this part of the journey, as you might have guessed. I'll list the books I'm reading, the microprocessors I'm programming, and the circuits I'm building. I'll also discuss my options for specializing in various areas, such as consumer electronics (DVD players, watches, blenders, microwaves, and such), communications (routers and phones), health care (MRI, fMRI, and PET scanners), aerospace, and automotive. I can basically discount automotive right now, as I want to leave Michigan rather than stay.
Until next time.