AtCesiumAstro, we are developers and pioneers of out-of-the-box communication systems for satellites, UAVs, launch vehicles, and other space and airborne platforms. We take pride in our dynamic and cross-functional work environment, which allows us to learn, develop, and engage across our organization. If you are looking for hands-on, interactive, and autonomous work, CesiumAstro is the place for you. We are actively seeking passionate, collaborative, energetic, and forward-thinking individuals to join our team.
In this position, you will be responsible for low-level and high-level software in Cesium’s products through all phases of the development process. Key projects will include Linux-based single-board computers and high-reliability microcontroller systems. Cesium’s goal is to create an out-of-the-box hardware and software experience which enhances our customers’ ability to rapidly integrate our products into their systems.
As a Cesium software team member, you will be responsible for software designs from concept through production, including product roadmaps, block diagrams, detailed design and coding, analysis, test, qualification, and in-orbit support. The ideal candidate will have development experience at nearly every level of the software stack, including microcontrollers, low-level drivers, board support packages (BSP), end-use applications, and user interfaces. Additionally, the ideal candidate will have experience in software testing and high-reliability qualification, as well as software engineering and software project management practices.
The successful candidate will present engineering design review materials to our customers and executive team, as well as participate in proposal-writing efforts. As such, excellent written and verbal communication skills are required.
JOB DUTIES AND RESPONSIBILITIES
* Designing and implementing software for embedded devices and systems, from requirements to production and commercial deployment.
* Designing, developing, coding, testing, debugging, and documenting system software.
* Reviewing code and system designs.
* Analyzing code for efficiency, stability, and scalability.
* Integrating and validating new product designs.
* Supporting software quality assurance and optimizing I/O performance.
* Providing post-production/in-orbit customer support.
* Interfacing with hardware design and development engineers.
* Assessing third-party and open-source software.
JOB REQUIREMENTS AND MINIMUM QUALIFICATIONS
* A Bachelor of Science (BS) or Master of Science (MS) degree in Computer Science, Electrical Engineering, or Computer Engineering.
* 6+ years of industry experience in software development.
* Experience in hands-on development and troubleshooting of embedded hardware. API design for interfacing with FPGAs.
* Experience with products for aerospace applications.
* Programming experience in C or C++.
* Experience in embedded systems design with preemptive, multitasking real-time operating systems (experience with real-time Linux is desirable).
* Familiarity with software configuration management tools, defect tracking tools, and peer review.
* Excellent knowledge of real-time system coding techniques, IP protocols, interfaces, and hardware subsystems.
* Excellent understanding of multi-threaded applications and resource management.
* Excellent written and verbal communication skills.
PREFERRED EXPERIENCE
* Adequate knowledge of reading electronics schematics and component data sheets.
* Experience with ARM processors and fully-featured microcontrollers.
* Experience in the design and development of a Software Development Kit (SDK).
CesiumAstro considers several factors when extending an offer, including but not limited to, the role and associated responsibilities, a candidate’s work experience, education/training, and key skills.
#J-18808-Ljbffr