Principal Embedded Software Engineer

Draper LaboratoryCambridge, 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

  • Familiarity with RISC-V architecture is preferred.
  • Python experience.
  • 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.

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

  • Workplace flexibility.
  • Employee clubs ranging from photography to yoga.
  • Health and finance workshops.
  • Off site social events.
  • Discounts to local museums and cultural activities.

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Senior

Industry

Professional, Scientific, and Technical Services

Education Level

Bachelor's degree

Number of Employees

1,001-5,000 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service