Principal Embedded Software Engineer

DraperCambridge, MA
72d$95,000 - $237,500

About The Position

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. The Software Engineer (PMTS) 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.

Requirements

  • Requires a bachelor’s degree in Computer Science, Computer Engineering, or Electrical Engineering.
  • Requires 10-15 years experience in Software Engineering or related.
  • Excellent development and troubleshooting skills on embedded targets.
  • Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems.
  • Expertise in software development for real-time systems.
  • Mastery of high level development languages (e.g. C/C++, Rust).
  • Excellent organizational skills and attention to detail.
  • Strong analytical and problem-solving skills.
  • Knowledge of software configuration management tools, defect tracking tools, and peer review processes.
  • Excellent time management skills with the proven ability to meet deadlines.
  • Excellent verbal and written communications skills.
  • Experience with UML/SysML.
  • Experience with in-circuit emulators, JTAG debuggers and laboratory test equipment.

Nice To Haves

  • Expertise in embedded systems, multi-core operating systems, modifying or writing kernel code, machine code, and C & C++.
  • Knowledge of multi-core processing, knowledge of scheduling, knowledge of RISC-V architecture.
  • Working knowledge of RUST or C experience and strong desire to learn RUST.
  • Familiarity with processor low-level peripherals such as UART, SPI, DMA controller, memory controller.
  • Ability to debug and isolate HW issues from a SW/user perspective.
  • Familiarity with RISC-V architecture is preferred as is Python experience.

Responsibilities

  • Evaluates requirements, proposes solutions, explores design trades to support a design.
  • Designs algorithms using modern theory and proven techniques.
  • Develops embedded software based on prototype algorithms with supervision.
  • 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.
  • Drive solutions to complex problems with limited direction – contribute to requirements development and architecture solution ideation.
  • Responsibility for subset of engineering scope.
  • Identifies program/system-level technical risks and develop and execute mitigation strategies.
  • Actively mentor less experienced engineers.
  • Performs other duties as assigned.

Benefits

  • Work-life balance programs including workplace flexibility.
  • Employee clubs ranging from photography to yoga.
  • Health and finance workshops.
  • Off site social events.
  • Discounts to local museums and cultural activities.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service