Software Engineering vs. Systems Engineering?
An anonymous reader asks: "I recently graduated with a master's degree in computer engineering. I am currently a software engineer for a defense contractor. They (same company) have now offered me a position as a systems engineer. Any advice? What are the long and short term ramifications of the change, in respect to job duties, advancement, compensation? I am pretty much fresh out of college, with only a year of co-op experience. I am a little over whelmed by the choice with no experience to go by, but I also don't want to pass up a great opportunity. Thanks for the help."
Do you like to write code? Do you like to do analysis and design of systems? Which one do you like better?
I think that I would find Systems Engineering boring. Of course, I am a Software Engineer.
If you are in defense contracting, get the highest clearance level that you can, preferably T.S. That will give you more job security and demand on the contracting market if you do need a new job. That is way more important that Software or Systems engineer.
IMHO, you all should be worrying about your computer jobs over the next 10 years, EXCEPT in defense because they can't outsource classified projects to India.
A Software Engineer will be closer to the code, though in the defense industry there are software engineers who don't do alot of coding.
As far as career advancement, I don't see a whole lot of difference. It all depends on what you want to be doing....
In systems engineering they focus on killing the whole person.
Sorry. Can't help it. Consider the ethics of what you'll do for a living in either position.
There are no trails. There are no trees out here.
During my long years I've been both a software engineer and a systems engineer (and a brief stint as a manager that we just won't talk about, mmmmkay?)
Anyway, the choice basically comes down to what you prefer. Both are heavily analytical but software engineering is probably a little less "dynamic" (not in the good sense) than systems. The reason is that systems primarily deals with hardware and operating systems; stuff that changes often. You get behind and it's tough to catch up. It's not often that you get a new language to work with as a software eng, but sometimes concepts change.
I personally have gravitated recently toward being a systems engineer (R&D) because I actually get a kick out of the dynamic nature of systems at the moment. However, stability isn't really there; there's plenty of people younger than I who are quite willing and able to do some of the same stuff I do... but often I bring a level of experience to the table that they can't beat. On the other hand, software engineers are easier to outsource / offshore!
Do whatever you think you will enjoy. Myself I find that systems engineering can be tedious; I've just spent an entire day at work troubleshooting problems with Lights Out cards on HP Blades (turned out to be another engineer had cocked up the IP subnets on 2/3 of them!), and so to be honest I feel like I've come full circle and accomplished next to nothing today. I must admit I had fewer days like this in Software because at the end of the day no matter what I had usually made strides in the code I was working with.
I guess this might help; if you enjoy massive bugfixing sessions in your current software engineering job, then you might be a good match for systems engineering. If you prefer the creative element to software engineering then systems is probably not for you.
Hope this helps!
What do the job descriptions say? What are you likely to spend your time doing during, say, the first 6 months? What are the prospects going forward? Which do you think you might enjoy doing more?
"Also try asking people that already have the position what they do and decide if you would like doing what they do"
/. lately and the Ask Slashdot threads, post an Ask Slashdot about it. I mean, Ask Slashdot, in my mind, is all about getting information from peers and other professionals. If it isn't that just what on earth is it good for?
Gee, that kinda looks like what he's trying to do, in a slightly more abstract sense. He IS fresh out of school, he says. He probably doesn't have many connections and more experienced peers to look to. I think it's a perfectly appropriate question for Slashdot because there are lots of professionals here who can tell him about what they do.
"Then grow some balls and make a damn decision by yourself."
What, without information? Let's have a leap of faith. But wait, you painted a path to this decision in your post. It involved querying others who do that kind of work. Thus he turned up here.
If you're so pissy about
Dude, this is a no brainer. Take the JOB, not the dirty, blue collar, life limiting, chicken shit cop out. You can always code for free on the weekends on some open source project to get your ya yas out.
"This mission is too important to allow you to jeopardize it." -- HAL
This post is an agregate of posts that I've read in this discussion, filtered through MY filter based on MY experience. Take it as that.
As a systems engineer, you will be doing a lot of writing. This writing will be specifying how systems will work. In order to do this job competently, you will need a lot of experience with how the system has worked in the past. In order to write the correct stuff, you will need experience that you have not yet had.
My advise is to tough it out with a real-world company (i.e. not government contract work) for a bit and see what real-world engineering entails. After you get sick of that, go back to the government contracts and change the way they waste money.
Private industry teaches you a lot that you will not learn working at Boeing/Lockheed/whoever.