P At b CesiumAstro /b, 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. /p p 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. /p p 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. /p p 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. /p b JOB DUTIES AND RESPONSIBILITIES /b ul li Designing and implementing software for embedded devices and systems, from requirements to production and commercial deployment. /li li Designing, developing, coding, testing, debugging, and documenting system software. /li li Reviewing code and system designs. /li li Analyzing code for efficiency, stability, and scalability. /li li Integrating and validating new product designs. /li li Supporting software quality assurance and optimizing I/O performance. /li li Providing post-production/in-orbit customer support. /li li Interfacing with hardware design and development engineers. /li li Assessing third-party and open-source software. /li /ul b JOB REQUIREMENTS AND MINIMUM QUALIFICATIONS /b ul li A Bachelor of Science (BS) or Master of Science (MS) degree in Computer Science, Electrical Engineering, or Computer Engineering. /li li 9+ years of industry experience in software development. /li li Experience in hands-on development and troubleshooting of embedded hardware. API design for interfacing with FPGAs. /li li Experience with products for aerospace applications. /li li Programming experience in C or C++. /li li Experience in embedded systems design with preemptive, multitasking real-time operating systems (experience with real-time Linux is desirable). /li li Familiarity with software configuration management tools, defect tracking tools, and peer review. /li li Excellent knowledge of real-time system coding techniques, IP protocols, interfaces, and hardware subsystems. /li li Excellent understanding of multi-threaded applications and resource management. /li li Excellent written and verbal communication skills. /li /ul b PREFERRED EXPERIENCE /b ul li Adequate knowledge of reading electronics schematics and component data sheets. /li li Experience with ARM processors and fully-featured microcontrollers. /li li Experience in the design and development of a Software Development Kit (SDK). /li /ul
J-18808-Ljbffr