Software Engineer
Role details
Job location
Tech stack
Job description
The Cyber-Physical Systems Group, is seeking a Software Engineer to work on the full software lifecycle for complex prototypes that are built by mission groups across the Laboratory. Activities may include software design, implementation, and integration & test of hardware/software systems in a laboratory setting. The successful candidate will be able to contribute to multi-disciplinary teams executing advanced research and independently solve technical challenges. Occasional travel to support field exercises, presentations to sponsors and the community, and other events may be required. Staff in this position will have an opportunity to develop their leadership skills and begin to lead small teams over time., We support a wide variety of mechanisms for staff to continually grow their skills including:
- Direct mentorship within the Group and across MIT LL for projects and career guidance
- Participation in programs across MIT LL to broaden your network internally and externally
- Community exposure through external conferences/meetings and internal workshops that draw senior leaders from government and industry
- Continuing education through both external and internal courses on a variety of technical, communication, and work/project management fundamentals
Requirements
- Master's degree in Computer Engineering, Computer Science, or a related field (A bachelor's degree and at least 3 years of relevant experience will be considered)
- Strong programming skills in a systems language (e.g., C/C++ ), a high-level language (e.g., Java or Python), and a scripting language (e.g., Bash)
- Experience integrating hardware prototypes using Docker, Apache Kafka, Redis, Ettus USRPs, and other software-controlled hardware
- Excellent problem-solving skills and the ability to work in a dynamic, interdisciplinary team
- Strong communication skills with the ability to coherently convey complex technical-details to both technical and non-technical audiences, * Experience in AI/ML software and algorithms
- Experience with RF systems and familiarity with Digital Signals Processing
- Experience with debuggers such as gdb, lldb, etc
- Knowledge of communication and hardware protocols (e.g. UDP, TCP, UART, SPI, I2C, USB, PCIe, MIPI)
- Experience designing and developing hard real-time and near real-time software
- Experience using test equipment such as digital multimeters, oscilloscopes, waveform generators, spectrum analyzers and logic analyzers for integration and hardware debugging
Benefits & conditions
Recent Graduate Hiring Range: $116,400 - $140,000 Experienced Hiring Range: $116,400 - $182,200
Disclaimer: MIT Lincoln Laboratory provides a typical hiring range as a good faith estimate of what we reasonably expect to offer for this position at the time of posting. The final salary offered to a selected candidate will depend on various factors, including-but not limited to-the scope and responsibilities of the role, the candidate's experience, skills and education/training, internal equity considerations and applicable legal requirements. This range reflects base salary only and does not include additional forms of compensation or benefits.
At MIT Lincoln Laboratory, our exceptional career opportunities include many outstanding benefits to help you stay healthy, feel supported, and enjoy a fulfilling work-life balance. Benefits offered to employees include:
- Comprehensive health, dental, and vision plans
- MIT-funded pension
- Matching 401K
- Paid leave (including vacation, sick, parental, military, etc.)
- Tuition reimbursement and continuing education programs
- Mentorship programs
- A range of work-life balance options
- ... and much more!
Please visit our Benefits page for more information. As an employee of MIT, you can also take advantage of other voluntary benefits, discounts and perks .
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.