Position: Senior Embedded Software Developer
Location: Marlborough, MA
Reports to: Principal Embedded Software Engineer
Date Written/Last Revised: 1/6/2021
Established in 1957, Adcole Space has been at the forefront of space exploration since its beginning, providing satellite components that are integral to the mission success of hundreds of low-earth orbit (LEO), geosynchronous (GEO) and interplanetary spacecraft.
Adcole is developing its next generation of flight cameras and star trackers and is looking for a Senior Embedded Software Engineer to deliver highly reliable SoC/FPGA firmware for Adcole developed hardware. The embedded software engineer will collaborate with a development team to design, implement, and test Adcole’s newest flight cameras and star tracker systems. This highly visible role is an excellent opportunity for an exceptional individual to become integral to the development of Adcole’s space navigation products and drive the company forward.
- Work with software, hardware, and FPGA engineers to propose SW solution(s) to meet system specifications including performance requirements.
- Collaborate on the development of Agile Epics & Stories to meet project objectives.
- Create, organize, and estimate tasks required to meet story objectives including verification and/or demonstration.
- Collaborate with SQA on test concepts, plans, and integration of testing into the development cycle.
- Use a solid grasp of the Xilinx Vitis unified software platform to build, deploy, test, and debug software on a Zynq 7000 based product.
- Identify and acquire necessary software components to address requirements including in-house prior art, commercial IP, and selective open source solutions that have acceptable quality and license provisions.
- Able to understand, propose, and implement diagnostics and other built in test solutions for board bring up and product monitoring.
- Effectively document software designs.
- Interact with customer technical staff as part of a design review or audit to address detail Q&A.
- Present and defend software solutions to other Adcole Engineers and customers.
- As needed, take maintenance ownership of existing software products (1st Gen Star Tracker, Camera) as necessary. Provide necessary support including modification and testing of any or all system code including OS, Bootloader(s), or application.
The successful candidate will have:
- Experience with MATLAB Code Gen tools to port algorithmic solutions to embedded processors.
- Deep familiarity with Xilinx Vitis unified software development toolchain.
- Experience with machine vision camera standards such as GigE Vision and GenICam.
- Experience with SoC/FPGA system design for hardware interfaces such as UART, SPI, I2C, CAN, Camera Sensor Interface (CSI) & Ethernet.
- Administrative experience with tools such as Atlassian Jira/Confluence/BitBucket.
Preferred Skills and Education:
Education: BS/MS Degree in EE, CS, CE or related field.
- 5+ years of experience building and shipping high reliability embedded systems using embedded Linux or RTOS (FreeRTOS preferred).
- Strong software development process experience using the Gitflow workflow model.
- Experience with development tools including Atlassian and Jenkins automation.
- User and proponent of Agile methods.
- Strong understanding of operating systems fundamentals such as schedulers, network stack, file system & memory management.
- Strong understanding of software architecture, memory mapping, caching, DMA, interrupts error detection and correction.
- Experience with RTOS and Embedded Linux device drivers and bootloaders.
- Experience with initial board bring-up, diagnostic tools, HW/SW integration.
- Proficiency in C, C++.
- Ability to troubleshoot low-level software issues and distinguish between hardware and software issues.
- Ability to interpret hardware schematics.
- Excellent communication skills
Interested applicants should email their resume to email@example.com.