Software Engineer
WGS Systems, LLC · Frederick, MD · 2 wk ago
On-siteEngineeringFull-time
Essential Duties and Responsibilities
- System software requirements definition, coordination and compliance, including functional, interface, and communications specifications
- Development of device drivers and board support packages for custom processing hardware
- Board bring-up and testing on first time custom processing hardware
- Design and develop flexible and powerful APIs to support higher level software system integration
- Perform system modeling of throughput, processor load, and memory utilization
- Software development in C/C++ with strong understanding in object-oriented programming
- Create, configure, and maintain embedded Linux systems using both prebuilt Linux distributions (Ubuntu, Arch) and custom built and configured OS (Yocto, OpenWRT)
- Develop test plans and system compliance and acceptance programs for all developed software programs and systems
Minimum Requirements
- BSCS or equivalent degree with at least 4 years of applicable experience or MS engineering degree with 3 years of applicable embedded software development experience
- Ability to work with minimal supervision and drive the system design from concept to deployment
- Possess effective communication, report writing, and presentation skills
- Experience in project task planning
- Knowledge of professional software engineering and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
- Embedded architecture and design patterns
- Experience in object-oriented design and program
- Experience in development of embedded software using Linux, MS Windows, VX Works, or equivalent operating systems
- Basic system administration of computers and computer networks
Ideal Requirements
- Significant experience configuring Linux build systems such as Yocto, QSDK, or OpenWRT
- Experience with embedded real-time operating systems such as FreeRTOS, TI-RTOS (SYS/BIOS)
- Some experience with web application frameworks and javascript / TypeScript
- Understanding of C/C++ memory management and POSIX standards
- Experience in development of embedded software using Linux, MS Windows, VX Works, or equivalent operating systems
Work Environment
- Remote work is permitted although some work could be in aircraft hangars and on-board aircraft
- Testing may require the candidate to fly on government owned and operated aircraft
- A majority of the work will be performed in Frederick, Maryland, with work in other locations in the greater Baltimore, Maryland/Washington, D.C. as required
- Occasional travel will be required