DigitalGlobe C++ Software Engineer in United States
Please review the job details below.
Radiant Solutions is looking for a C++ Software Engineer at our Ann Arbor area location. This position involves working with a massive C++ codebase, and you must be willing to dive right in!
The selected candidates will work with collaborative teams on various technical projects associated with our core mission and will enhance their skill set by working among a talented and technically accomplished group of colleagues. Engineers enjoy a flexible work environment, where contributions are recognized and rewarded.
This position involves working with a massive C++ codebase, and you must be willing to dive right into it. This is primarily a heavy duty image processing code that crunches on big images, so it’s threaded throughout and optimized for memory and/or speed depending on what’s needed. Don’t worry about needing to be an expert on the image processing nuances from day 1 – we have scientists to handle that – but in order to get their help understanding a software problem, you must be able to effectively communicate it to them in English.
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've got a good grasp of C++.
You’ve got a working knowledge of some other languages – Java or Python preferably – as well as an aptitude for picking new languages up 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.
You can 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 (and you’ve got the unit tests to prove it).
You can take old code and channel any internal grumbling about how it’s not designed well into motivation to make it better.
Writing code that’s multi-platform (Linux, Solaris, and Windows) seems like a good thing to you rather than a nuisance, and you’re comfortable picking up whatever internal or open source libraries are needed to help you do it.
You will be using version control,, issue tracking,, and automated builds).
Not only are you a good coder yourself, but you’re 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. You know the codebase well enough that when someone else you don’t work with is wondering if there’s already code written to do something, they come to you first to find out because they know you cringe when code is rewritten for no good reason.
Undergraduate degree in Computer Science, Physics, Math, or related field with at least 3-5 years experience OR
Master's degree with 1-2 years experience OR
PhD level preferred
To be qualified you must be a US Citizen
DigitalGlobe and Radiant solutions offer a generous compensation package including a competitive salary; choice of medical plan; dental, life, and disability insurance; a 401(K) plan with competitive company match; paid holidays and paid time off.
We are a vertically integrated, new space economy story, including segments across the value continuum for every moment leading up to and following launch. We lead in satellite communications (building and operating), ground infrastructure, Earth observation, advanced analytics, insights from machine learning, next-generation propulsion, space robotics, on-orbit servicing, on-orbit assembly, and protection of space assets through cybersecurity and monitoring of space systems. By integrating our leading-edge capabilities, we provide innovative, cost-effective solutions, value for customers, and thus unlock the multiplier effect of our combined businesses.