Embedded Linux Software Engineer
Chicago, IL, United States
Welcome to DAS Technology Group; we are specialized recruiters for the RF/Microwave & Defense/Space Industry. We are working on behalf of our client who designs and deploys RF and Radar products for a wide variety of exciting commercial and military applications.
We are seeking an Embedded Linux Software Engineer to help create innovative solutions that include embedded software on a Linux platform. This includes design and optimization of software running on ARM cores and/or GPUs to provide cutting edge real-time processing and control of sensors such as radar as well as novel mesh communications systems.
Responsibilities
• Perform object-oriented and test-driven development in our CI/CD development environment using
light-weight Agile methods. All development uses C/C++ and Python.
• Contribute to software design through UML modeling and creation of software architecture and
design documents
• Develop performance optimized software on embedded computers, such as ARM cores or GPUs running
Linux OS. Applications include signal and data processing, distributed sensor processing and
controlling custom designed hardware for sensing and communications.
• Contribute to development across the full stack – from lightweight, low-level hardware interface
and algorithmic code to higher level application code and middleware.
• Develop software for automated deployment to target hardware to streamline build to runtime
transition
• Perform software and system testing in simulations (Software-in-the-loop, Simulation-in-
Hardware, and others) as well as live hardware tests
• Develop unit tests, integration, and verification tests throughout the development
cycle.
• Leverage static code analysis tools such as Coverity for secure and robust software
implementation
• Provide input to and help execute collaborative software development practices, including code
reviews, and group design sessions
• Create software application for sensors and communication systems
o Control of RF circuits and phased array antennas
o Communications and mesh network processing
o Radar signal processing implementations
o Control of peripherals
• Assist with integration of AI processing capabilities onto embedded processor
architectures
• Evaluate processor requirements and create implementation strategy
• Participate in partitioning between processor and programmable logic architectures
Skills:
• Expertise developing software for embedded platforms in C/C++ or Python
• Realtime, multi-tasking, multi-threaded development experience
• Optimization of run-time executables for targeted CPU architectures
• ARM processor experience
• Xilinx Zynq and Ultrascale experience
• Knowledge of or experience with FPGA (VHDL) development
• Linux experience - creating and/or tailoring device drivers and board support packages
• Experience with signal and data processing for Radar/RF applications
• Knowledge of communication protocols such as 802.11xx, and mesh communications is a
plus
• Excellent software engineering skills including architectural definition, task identification,
design, implementation, and test – from concept through completion
• Demonstrated hardware debugging skill using bench equipment (oscilloscopes, etc.)
• Ability to understand electrical hardware schematics and PCB layout
• Demonstrated success in resolution of technical challenges leveraging strong problem-solving
skills
• Strong written & verbal communications skills, and good interpersonal skills
• Experience with software verification & testing
Requirements:
• Bachelor of Science in Electrical Engineering, Computer Science or Computer Engineering
• 2+ years embedded Linux software design and 5+ years of software development experience
• Must be a US Citizen