Role OverviewCesiumAstro is seeking a highly skilled and experienced Staff Embedded Software Engineer to join our software team. In this position, you will be the organization's technical authority for embedded software engineering, responsible for defining embedded software architectures, advancing engineering methodologies, and solving the organization's most complex software and hardware integration challenges. This role shapes the technical direction of multiple products and programs while driving the development of next-generation embedded software technologies.
What You Will Do
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, and analyze code for efficiency, stability and scalability. Integrate and validate new product designs, support software quality assurance and optimize I/O performance, and provide post-production/in-orbit customer support.
Why It Might Be a Fit
This role requires a minimum of 8 years of industry experience in software development and extensive programming experience in C and an object oriented programming language, preferably C++. You will work cross-functionally with software, electrical, systems, hardware, quality, and test engineering teams, advising leadership and customers. Full-time employment offers include company stock options and a generous benefits package including health, dental, vision, HSA, FSA, life, disability and retirement plans.
Requirements
- Bachelor of Science (BS) or Master of Science (MS) degree in Computer Science, Electrical Engineering, or Computer Engineering
- Minimum of 8 years of industry experience in software development
- Experience in hands-on development and troubleshooting of embedded hardware
- API design for interfacing with FPGAs
- Extensive programming experience in C and an object oriented programming language, preferably 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
Benefits
- Company stock options
- Health insurance
- Dental insurance
- Vision insurance
- HSA
- FSA
- Life insurance
- Disability insurance
- Retirement plans
]]>