Draper is an independent, nonprofit research and development company headquartered in Cambridge, MA. The 2,000+ employees of Draper tackle important national challenges with a promise of delivering successful and usable solutions. From military defense and space exploration to biomedical engineering, lives often depend on the solutions we provide. Our multidisciplinary teams of engineers and scientists work in a collaborative environment that inspires the cross-fertilization of ideas necessary for true innovation. For more information about Draper, visit www.draper.com. Job Description Summary: The Software Engineer 2 develops high performance solutions for resource constrained targets. Develops next-generation resilient and fault tolerant software solutions in the application domains of undersea, terrestrial, air, hypersonics and space. The Engineer is involved in the full software development life cycle. As a part of the Software Engineering Team, developers will build out software solutions and see a project through from the design and requirements stage all the way to testing and deployment in the field. We seek applicants who are experienced in the areas of: - Embedded software development on ARM processors, low power microcontrollers, C/C++, RTOS, and embedded Linux - Hardware interfaces and driver development - Communication protocols such as CAN, I2C, SPI, Serial, USB, Bluetooth Low Energy, TCP/IP and Wi-Fi - C#, Java or Android development experience is an added plus - Continuous Integration utilizing Docker, unit testing framework, system testing framework and static analysis tools - Compilers, make files, linker scripts, in-circuit emulators, JTAG debuggers and oscilloscopes. Job Description: Duties/Responsibilities • Evaluates requirements, proposes solutions, explores design trades to support a design with some guidance. • Designs algorithms using modern theory and proven techniques. • Develops embedded software based on prototype algorithms. • Analyzes designs to demonstrate performance and functionality. • Develops and executes software tests to check compliance with requirements. • Evaluates results to establish problem causes and develop solutions for inefficient or problems. • Prepares technical data, procedures, reports, drawings, manuals, and other required documentation. • Communicates with customers and stakeholders to establish requirements and describe the design and deliverables. • Contributes to the system design based on demonstrated expertise and applicable experience. • Contributes content for technical reports and presentations with minimal guidance. • Proactively identify needs and concerns associated with design decisions and communicate them to project leadership. • Adapt appropriately to changes in program requirement. • Identifies challenges associated with assigned work and communicate them to project leadership. • Performs other duties as assigned.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Mid Level
Number of Employees
501-1,000 employees