Software Engineer

Date: Mar 4, 2023

Location: Lexington, MA, US

Company: MIT Lincoln Laboratory


The Embedded and Open Systems Group at MIT Lincoln Laboratory (MIT LL) conducts research and design to prototype, evaluate, and transition next generation, high-performance, real-time, embedded processing solutions in support of national security. Our technology efforts primarily focus on operation at the tactical edge on highly-varied air, ground, and sea-based platforms across all theaters of operation. To meet the diversity of missions and the challenging constrains of these environments, we leverage diverse computational elements from General Processors to Application-Specific Integrated Circuits. Mission categories we work in include sensing, communications, and decision support requiring expertise in a wide array of technical areas like distributed processing, signal processing, and artificial intelligence. To meet these diverse needs our teams are composed of experts in hardware, software, signal processing, security, systems engineering, and other domains drawn from within our Group and across MIT LL. We succeed by participating and producing results in all phases of an effort including system analysis, requirements definition, architecture selection, software design, hardware mapping, system prototyping, field testing, and ultimately transfer of these technologies to operational systems and industry.


Position Description

We are looking for talented engineers who can contribute to research and prototyping efforts to create advanced real-time, computational solutions to meet challenging operational requirements. As a member of one or more technical teams, you will implement and help refine software for real-time performance and deployment to embedded processors. Your responsibilities may also include distributed software design, mapping to multi-node hardware, real-time optimization, and benchmarking of your and your team’s collective work. Our work is often anchored in a variety of industry/community system and software Open Architectures which you will have the opportunity to become expert in over time. Being effective in our teams will require you to regularly and clearly communicate and coordinate your progress, challenges, and plans with your colleagues.  As you mature in this role, you will be given the opportunity to give technical briefings to our sponsors and the MIT LL community about our efforts. Those most successful in role are active learners, self-disciplined, communicative, and collaborative in productive, multi-disciplinary technical teams.

Help drive our future technology by:

  • Being an technical contributor to the research, design, development, prototyping, and transition of next-generation, tactical-edge, embedded processing solutions.
  • Participating in the implementation, deployment, and optimization of real-time software onto distributed and heterogeneous computational stacks.
  • Collaborating with multi-disciplinary technical teams to realize, evaluate, and iteratively refine complex system-of-systems prototypes.
  • Helping implement and demonstrate system and software Open Architectures for use both within MIT LL and broader technical and operational communities.

To be successful in this role you will need:

  • A Bachelor’s degree in Computer Science, Electrical Engineering, or related fields.
  • Demonstrated expertise in implementation of real-time software in performant languages such as C++.
  • Experience working in a technical project team(s).
  • Experience utilizing industry-standard processes and tools for software development and collaboration such as version control, issue management, and code reviews.
  • Effective written and oral communications skills in technical environments.
  • Experience in producing well documented software and related technical documentation.
  • U.S. Citizenship required.

You will stand out if you demonstrate any of the following:

  • Experience in deploying/mapping to and optimizing for distributed systems such as multi-core and multi-board processors.
  • Experience implementing software for computational accelerators such as FPGAs and GPUs.
  • Experience designing, implementing, and deploying real-time software utilizing heterogeneous processors, e.g., those composed of a mixture of CPUs, GPUs, and/or FPGAs.
  • Experience with Radiofrequency systems particularly radar and/or communication systems.
  • Experience with artificial intelligence/machine learning techniques and the computational acceleration of both training and inference/prediction stages.
  • Experience using commercial APIs such as CUDA, Open CL, TensorFlow, or PyTorch.
  • A good understanding of adaptive digital signal processing and/or linear algebra.
  • A willingness to participate in field operations such as hardware integration and test campaigns.
  • Current in scope Secret or Top Secret level DoD security clearance.

For Benefits Information, click

Selected candidate will be subject to a pre-employment background investigation and must be able to obtain and maintain a Secret level DoD security clearance.

To safeguard our health and well-being, MIT Lincoln Laboratory requires COVID-19 vaccination for all employees.  Individuals may request exemption from the vaccine requirement for medical or religious reason.

MIT Lincoln Laboratory is an Equal Employment Opportunity (EEO) employer. All qualified applicants will receive consideration for employment and will not be discriminated against on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, age, veteran status, disability status, or genetic information; U.S. citizenship is required.


Requisition ID: 38476 #CJ

Nearest Major Market: Boston

Job Segment: Embedded, Test Engineer, Testing, Security Clearance, Software Engineer, Technology, Engineering, Government