views:

365

answers:

2

I'm a fairly junior engineer (2-3 years exp) about to make the jump from an embedded software environment at a large aerospace/defense company to a position at a smaller, private medical device company working on a large windows application (.NET/C#).

The move was more or less inspired out of necessity due to the recession, pay cuts, and budget cuts (google: FCS cuts). The new job is great as far as environment and benefits, however I am curious if I'm doing the right thing in choosing to go more of an applications route.

Has anybody gone this route or vice versa? What path would you prefer? Things I may take into account are current/future employment, security, salary, coolness (geekiness), and all around career satisfaction.

Thanks!

+5  A: 

First of all, this is very subjective and I'm not addressing all points.

Large vs. Small
I find that working for a smaller company is almost allays better than a larger. The chain of command is usually shorter and bureaucracy smaller so it's easier to get things done.

Embedded vs. Applications
I sometimes yearn for some close to the metal programming. I haven't done any since I left university. But after over 15 years developing applications with "users" I can say it's both rewarding and frustrating.

All stories you have heard about stupid users are true. But what is seldom talked about is the thankfulness some users can show when you implement something they really really need or want (not necessary the same thing). And making something that makes other people happy is very rewarding.

Nifle
On the other hand, working for a small company you also see the negative impacts of the code you have written. I started working for my current company about a 1.5 years ago and my system has currently made 7 positions(more people than that) obsolete by automating their manual processes. That is a fairly large negative for me even though I know that is the nature of our job.
joshlrogers
+2  A: 

I think it is a perfectly fine move as long as you feel you are going to be challenged enough. Business apps are not always the most challenging when it comes to development, it is challenging as far as politics and having to deal with users, but the actual code is often times trivial.

There isn't any way, at least not to my knowledge, to really know whether their needs are going to challenge you as a developer until your into it.

I would warn you first that jumping into a small company you need to make sure that whoever you're reporting to has some insight into the mind of developers. Working for someone who has no idea what your doing every day and doesn't understand why x takes longer than y even though x may at first glance appear to be a trivial project is terribly frustrating. You will be faced with having to break everything down into layman's terms. In contrast if you plan on going into management later in your career this will actually be of great value to you as you'll have to report to decreasingly technically astute executives.

If you find yourself unchallenged but not wanting to change jobs again for whatever reason I would contribute to some open source projects, or create your own. This hopefully will have a two fold benefit of keeping you abreast of new paradigms in the industry as well as you're able to boast that you are a contributor/owner of the xyz open source project.

joshlrogers