General Dynamics Mission Systems is a leading provider of high technology solutions for defense and scientific applications. They are seeking an Embedded Software Engineer to design and build resilient hardware and software for tactical communications in contested environments, working closely with Department of Defense customers.
Responsibilities:
- Strong proficiency in C/C++ programming languages
- Knowledge of networking protocols and socket programming
- Strong Linux background, including device trees and drivers
- Experience in software architecture
- Hands-on experience with microcontroller programming and debugging
- Familiarity with hardware interfaces such as I2C, SPI, UART, and GPIO
- Proficiency in using debugging tools like GDB, JTAG, and logic analyzers
- Experience with cross-compilation and toolchains for embedded systems
- Understanding of memory management and performance optimization in embedded systems
- Experience with real-time operating systems (RTOS)
- Knowledge of cryptographic protocols such as SSL/TLS, IPsec, and PGP
- Understanding of Public Key Infrastructure (PKI) concepts
- Familiarity with hypervisors and virtualization technologies (e.g., KVM, Xen)
- Ability to read and understand hardware schematics and datasheets
- Proficiency with Buildroot or similar build systems for embedded Linux
- Knowledge of security practices in embedded systems development
- Demonstrated experience leveraging AI-powered tools and technologies (e.g., GitHub Copilot, ChatGPT, or similar) to measurably improve software development productivity, code quality, or testing efficiency in an embedded systems environment
- Ability to lead the software development process
- Expertise in applying technical standards and methodologies to solve challenges in creative ways
- Collaborative team player eager to provide technical leadership and positioning others for success
- Thorough knowledge of technology trends and willingness to champion new ideas and process improvements
- Commitment to ongoing professional development for yourself and others
Requirements:
- Requires a Bachelor's degree in Software Engineering, or a related Science, Engineering, Technology or Mathematics field
- 5+ years of job-related experience, or a Master's degree plus 3 years of job-related experience
- Strong proficiency in C/C++ programming languages
- Knowledge of networking protocols and socket programming
- Strong Linux background, including device trees and drivers
- Experience in software architecture
- Ability to obtain a Department of Defense Secret security clearance
- U.S. citizenship is required
- Agile experience preferred
- Hands-on experience with microcontroller programming and debugging
- Familiarity with hardware interfaces such as I2C, SPI, UART, and GPIO
- Proficiency in using debugging tools like GDB, JTAG, and logic analyzers
- Experience with cross-compilation and toolchains for embedded systems
- Understanding of memory management and performance optimization in embedded systems
- Experience with real-time operating systems (RTOS)
- Knowledge of cryptographic protocols such as SSL/TLS, IPsec, and PGP
- Understanding of Public Key Infrastructure (PKI) concepts
- Familiarity with hypervisors and virtualization technologies (e.g., KVM, Xen)
- Ability to read and understand hardware schematics and datasheets
- Proficiency with Buildroot or similar build systems for embedded Linux
- Knowledge of security practices in embedded systems development
- Demonstrated experience leveraging AI-powered tools and technologies (e.g., GitHub Copilot, ChatGPT, or similar) to measurably improve software development productivity, code quality, or testing efficiency in an embedded systems environment