Vault.com: the insider career network

Job Survey: Software Engineer

This Software Engineer career survey is just one of 1000s of exclusive career surveys available on Vault. Find out what it's actually like on the job with Vault's job surveys.

Read all Vault Career Surveys for the inside scoop on specific jobs
Read Vault Employee Surveys for the inside scoop on specific employers
Read Vault Student/Alumni Surveys for the inside scoop on colleges and grad schools



Location: Baltimore, MD
Company: Northrop Grumman ESSD
Experience: Mid-level
Highest Level of Education: MA - Academic Program



Job Responsibilities
Design, develop, code, and test software for avionics systems. I am on a pseudo R&D project, so we don't spend much time on design and development... a couple of hours a week...I use a whiteboard, our group is transitioning to a modeling tool, but for now I am suffering. I spend the other 30+ hours writing code in a standard programmer's editor, and the other few hours creating and running unit drivers. When we do integration on the "bench", I spend approximately 16 or so hours testing with the hardware, and then the remaining hours during the week bug-fixing my code.
Job Requirements
I am an anomaly. I graduated from the U.S. Naval Academy, served a five year career in the Navy, and worked as a manufacturing supervisor in other industries before getting involved in DoD systems and software development. My undergraduate degree is in Mathematics with emphasis in Computer Science, and I have a Master's in Computer Science as well. Having said that, software engineering is all about solving puzzles. You have to like solving puzzles, and have a strong personality for problem solving and analyzing everything. It's the personality that makes a good software engineer, not so much the schools you went to. IMHO, the best software engineers have undergraduate degrees in physics, electrical engineering, and mathematics -- not computer science. The comp sci graduates may know the details of the languages, but they lack the analytical thinking skills and math background the others I mentioned have. I went through a pretty tough undergrad program, and the professors didn't hold your hand. My master's program was more or less the things that the average Comp Sci major gets -- I didn't take those classes when I was an undergrad, so I took them later on. I plan on continuing my education, i.e. taking courses on things that will make me a better software engineer. I like coding.
Uppers
coding, coding, coding -- feel under-utilized if i am not writing code... There is always a good feeling when you get your code to work. It's the intellectual stimulation and satisfying intellectual curiosity that is most rewarding. Learning while you are working!
Downers
I hate waiting around, poorly planned projects. Not being given specific tasks, because of poorly understood requirements. Not having the tool set available to do the job. Using old technology, old toolsets. Dealing with managers who don't do their homework, and who don't really understand what the team is supposed to be building.
Lifestyle
Typically a 40 hour work week when everything goes well. Some folks work weekends every now and again. I have never worked a weekend that I can remember. Sometimes you travel and go into the field for engineering testing which is interesting, because you see how the customer will use your product. I always dress down in jeans, t-shirts, sneakers, sweatshirts, never shorts and sandals, etc. I never really wear appropriate office attire, but I have been working in a pretty relaxed environment for quite some time. We have some luncheons for folks retiring or when a flight test goes well. I have never been to an after hours event, except for beers and dinner with my colleagues when I am on travel. Bear in mind good software engineers are analytical, intellectual, and definitely not the greatest communicators in the world. As a whole we are deep down inside geeks. Many are athletic, and into sports, but not so much in an extroverted social way. Many separate work from their social life. As a whole, if you are not interested in ladder climbing, and like to spend time creating the product -- it's great work, because you only have to manage yourself. You go home at the end of the day without bringing home your work. There is always plenty of work with a good company, so nobody feels obligated to bring it home...if you did, you could be working 24/7/365...your work is never really "done".
Compensation
Most good software engineers are not really motivated by salary, they are motivated by the intellectual stimualtion they receive while trying to solve "the puzzle" at hand. However, that doesn't mean a software engineer will be loyal to the end. We are like software engineering prostitutes -- we generally sell out to the highest bidder, with good "toys to play with" (system to work on, problem to solve), and an easy-going environment that doesn't have too much stress. Starting salary varies; however, with business trying to lower salaries to the McDonald's level by outsourcing to places like India -- one saving grace is defense work (U.S. citizens only). We generally don't get stock options, unless you work for a really risky start up. I like to stay with the top of the line, big companies, where benefits are standard, and you might get a bonus every now and again if you work on a good project team that does something great. The bottom line in this profession is...if you can write good code, and do good work, you get compensated fairly -- if you aren't, maybe you should pick another company, or another line of work. There are some, who are successful at BS-ing their way to an outlandish salary, but you can spot them easily, because they don't write much code, and they generally don't last more than a year with the team or the company. Bottom line: companies collude to set salaries for a given region by job title, so you generally get what your neighbor is getting who works for a different company, same job, similar industry.
Advice to Jobseekers
Number 1: You have to like solving puzzles. Must have that "Mr. Fix-it" personality. Must be the type that analyzes everything. Number 2: Must like working by yourself without someone standing over your shoulder and coaching you. Must be able to solve problems by yourself without having the group involved every step of the way. Number 3: Must be the type who likes learning on the job. Intellectually curious.

This Software Engineer career survey is just one of 1000s of exclusive career surveys available on Vault. Find out what it's actually like on the job with Vault's job surveys.

Read all Vault Career Surveys for the inside scoop on specific jobs
Read Vault Employee Surveys for the inside scoop on specific employers
Read Vault Student/Alumni Surveys for the inside scoop on colleges and grad schools