Senior Embedded Software Engineer at CesiumAstro
Please Note: US citizenship or permanent residency is required for this position.
CesiumAstro is a rapidly growing space technology startup in Austin, Texas, developing out-of-the-box communication systems for satellites, UAVs, launch vehicles, and other space and airborne platforms. Our approach is unique, and our team is changing the world of space communications. Learn more about our company at https://www.cesiumastro.com.
We are looking to add an Senior Embedded Software Engineer to our team. If you are great at what you do, enjoy working in a startup environment, and are passionate about developing leading-edge software for satellites, spacecraft, and aerospace systems, we would like to hear from you.
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.
CesiumAstro is proud to be an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, pregnancy, sexual orientation, gender identity, national origin, age, protected veteran status, or disability status.
We provide a generous benefits and stock option package to all our employees.
- Design and implement software for embedded devices and systems, from requirements to production and commercial deployment
- Design, develop, code, test, debug and document system software
- Review code and system designs
- Analyze code for efficiency, stability and scalability
- Integrate and validate new product designs
- Support software quality assurance and optimize I/O performance
- Provide post-production/in-orbit customer support
- Interface with hardware design and development engineers
- Assess third party and open source software
Successful candidates will require, as a minimum:
- Bachelor of Science (BS) or Master of Science (MS) degree in Computer Science, Electrical Engineering, or Computer Engineering
- Minimum of 5 years of industry experience in software development.
- Experience in hands-on development and troubleshooting of embedded hardware. API design for interfacing with FPGAs.
- 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 includes:
- Experience with products for aerospace applications
- Adequate knowledge of reading electronics schematics and component data sheets
- Experience with ARM processors and fully-featured microcontrollers
- Experience in design and development of a Software Development Kit (SDK)