Group 102--Summer Research Program Intern--Embedded Software Engineering

Date: Mar 17, 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 students to join spend the summer working with one of our multi-disciplinary teams conducting exciting research and prototyping efforts in the general area of real-time software. Potential efforts include real-time implementation and optimization of advanced signal processing algorithms onto diverse computational elements such as GPUs and FPGAs, improving software development processes through automated and curated testing pipelines, development of operator UI for fielded test assets, and supporting lab demonstrations and field experiments. In addition to regular technical exchanges with your team members, you will have the opportunity to give technical briefings regarding your work to larger audiences such as the Group, fellow summer research program interns, and potentially the Laboratory community at large. Successful candidates will need a practical knowledge of modern programming (e.g., C/C++ and Python), familiarity with software engineering best practices (e.g., version control and code reviews), good communication and collaboration skills, and disciplined self-management of daily tasks.

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.

To be successful in this role you will need:

  • Completed coursework in Software Engineering related areas of study such as Computer Science, Electrical Engineering, and/or Computer Engineering.
  • Project and/or work experience 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 using commercial APIs such as CUDA, Open CL, TensorFlow, or PyTorch.
  • An understanding of Radiofrequency systems particularly radar and/or communication systems.
  • An understanding of artificial intelligence/machine learning techniques and the computational acceleration of both training and inference/prediction stages.
  • An understanding of adaptive digital signal processing and/or linear algebra.

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: 39421 

Nearest Major Market: Boston

Job Segment: Test Engineer, Embedded, Testing, R&D Engineer, Software Engineer, Engineering, Technology