Job Title: Software Engineer
Type of Company: I work for a multi-national defense contractor, which develops and manufactures a wide variety of defense and homeland security products and converts the technologies it develops to commercial uses.
Education: BS, Mechanical Engineering, Worcester Polytechnic Institute
Previous Experience: I started my own computer company after graduating from college and that led to a full-time position at a start-up mapping company. After switching companies a couple of times, I eventually ended up working for the well-known defense contractor which employs me today.
Job Tasks: My primary responsibility is to design and develop radar software, based on specifications I receive from our system engineers. Some of the information I work with is classified so I'm forced to observe security protocols set by the government.
The part of the software I work on is known as FCT -- "Fault detection/fault isolation, Calibration and Test assist." It tests the radar's health and helps to detect hardware problems. It can also be used to calibrate the radar and ensure that it's functioning properly, and it provides engineers with a range of diagnostic tools to test particular functions.
On any given day I'm likely to do one or more of the following things:
1) Design work. Design work starts with a set of requirements. I look these over to be sure I understand them and that I've got the information that I need. If I feel that something's missing or unclear, I confer with system engineers to get a better idea. I then produce flow charts and other design documents to show how I propose to get the job done. This can take anywhere from a day to several weeks (or even months). During that time, as issues come up, I often need to consult with system engineers and my colleagues.
Once the design document's been readied I submit it for review. Both my peers and an external overseer participate in this critique -- a meeting, in fact, which can last several hours. During that time I answer questions and make a note of any changes or improvements that people have suggested. If truly significant issues are flushed out, I sometimes have to schedule another design review.
2) Implementation. Once I've received a design, I can start to write the software, making sure to meet the requirements the design team provides. I work alone on occasion; more often, though, I work with other coders. It depends on the size of the job.
Once the software's been written, I have to formulate code that will test what I've done. I want to be sure that it generates the results we had in mind and that it's capable too of handling unexpected inputs. Part of this testing is aimed at putting the code through its paces and ensuring that it meets the parameters we've been handed by the system engineers. It gets run every night until we're certain that changes to the system don't affect its interactions with other portions of the code.
3) Bugs. Despite the rigorous testing I detailed above, errors can creep into the software. But sometimes too requirements will change at the last moment. In either eventuality, a member of the software team submits an STR, or system trouble report as its known. The STR is then assigned to an engineer (with a due date and priority code) and the engineer tinkers with the code 'til it's fixed. Like coding and design work, this can take an hour or a month depending on the scope of the problem.
The steps outlined above are usually performed contemporaneously, with STR work, design work and coding going on side by side. Training classes and various meetings are a part of the mix.
Since the radar we work on is used by battleships and affects people's lives, we take our work very seriously.
Best and Worst Parts of the Job: The best part of my job is solving problems. Each new design or STR is a unique challenge and coming up with an elegant and efficient solution is very enjoyable and satisfying.
The worst part of the job is some of the bureaucracy involved. Each of the design and coding phases entails a lot of red tape.
Job Tips: Apply for internships while you're still in college. They're a great way to get experience with large companies. If you can land an internship at a company that does work you are especially interested in, that's even better. But any internship will serve your purpose and it'll help you make contacts in the wider world of business.
Additional Thoughts: One of the nice things about software engineering is that many companies have flexible hours which allow you to side-step the 9-5 grind. In general the pay for engineering jobs is pretty decent as well. If you enjoy solving problems, engineering may be the field for you!
These schools offer particularly quick info upon request, and we have written detailed profiles for each (click school names to see the profiles).
Request info from multiple schools, by clicking the Request Info links.
ABCO Technology is an accredited computer training academy that offers diploma programs for individual students, professionals and companies to learn different areas of Information technology and seek gainful employment.
Turn your talents into a career at nationally recognized and accredited Platt College.
Baker College is proud to be the largest independent college in Michigan with the most focused approach to education and training available. With one of the highest graduate employment rates in the country, our mission is to help our students find meaningful employment.
The Secret to Getting Ahead is Getting Started
You’re serious about success. With your busy schedule and the desire to move your career forward, you can earn an accredited associate, bachelors or master’s degree at a pace that works for you anywhere, anytime, 24/7.
At AIU, the Serious U, you can get started to get ahead.
Study online with California University of Pennsylvania.
Only Coding Dojo teaches five full stacks of the industry’s most in-demand web and mobile development technologies and languages with its onsite flex bootcamp.
You've found Ashford University, where school comes to you. Earn your bachelor's or master's degree online.
As a student at South University, Online Programs, you will receive the same quality instruction, variety of learning options and level of service found at the campus locations.
Liberty University provides a world-class education with a solid Christian foundation, equipping men and women with the values, knowledge, and skills essential for success in every aspect of life.
The inside stories from people actually working in the field.
Click a story title to show the story, and click the title again to hide it.
Career Stories are concise, real-world career overviews written by people relating their personal career experiences and wisdom. They provide invaluable insights and mentoring advice to students and career changers.
Most stories include:
Please also see our detailed information about Software Engineers For Applications, including: