You are viewing a preview of this job. Log in or register to view more details about this job.

Software Engineer - Intern

 

MDA Information Systems LLC is currently looking for Software Engineer Interns for 2017 at our Ann Arbor area location. This position has a massive C++ codebase, and the right candidate must be willing to dive right in.  This is primarily heavy duty image processing code that crunches on big images.

 

The Company: MDA Information Systems LLC is a major supplier of weather information and geospatial intelligence. The firm serves a diverse client base including commercial and governmental organizations in agriculture, energy, defense, and civilian government.

 

MDA is an industry leader in earth observation remote sensing technology and image processing. We build satellite ground systems that enable users to acquire and process imagery from the most sophisticated Earth-observing satellites in the world: much of the satellite imagery that you see on Google Maps was generated by our software!

 

To be qualified you must be a US Citizen

 

Responsibilities:

  • Some days you'll be examining outputs, notice a problem, and need to trace through code to see what's going wrong. You must figure out a quick way to hack a one-off program together to isolate the section of code in question so you're not spending all day waiting for something to run. After the problem's solved, you'll want to add an equivalent unit test for it so we don't run into this again down the road.
  • Other days you'll be designing a brand new component. First, you've got to work with the image scientist to figure out what the component is supposed to do. Then you've got to work with the software team to figure out what components we already have that you can reuse, how to make this new component flexible enough that we can reuse it too, and how to make this code run fast.
  • You will need to be able to take a complex algorithm handed to you as a set of equations or Matlab code and turn it into something that's elegant and flexible as well as bullet-proof, leak-free, and fast.
  • You will be using version control (we use Subversion in some complicated ways to bring in multiple repositories), issue tracking (we use Trac), and automated builds (we use Jenkins).
  • Not only do you need to be a good coder yourself, but you will need to be able to be motivated to make everyone around you better coders as well.  You're used to working as part of a team and figuring out how to divide up the work, how to offer suggestions, and how to play nice with others.  
  • Writing code that's multi-platform (Linux, Solaris, and Windows) will need to seem like a good thing to you rather than a nuisance, and you'll need to be comfortable picking up whatever internal or open source libraries are needed to help you do it.
  • You can take old code and channel any internal grumbling about how it's not designed well into motivation to make it better.

Qualifications:

  • Candidates must show a passion for innovation, a sophisticated understanding of software systems and applications, and the ability to effectively manage, grow and evolve MDA Information Systems LLC software solutions.
  •  
  • You've got a working knowledge of languages: C++, Java or Python preferably - as well as an aptitude for picking up new languages as the job requires.
  • You're familiar with XML- not just what it looks like, but how to represent things in it cleanly as well as how to use open source libraries to parse it and validate it against a schema.

 

Education

  • The Software Engineer Intern position requires current pursuit of a bachelors degree in a specialized area or equivalent field; or pursuing masters degree.

To be qualified you must be a US Citizen