Embedded Software Engineer
SGS Consulting
Lexington, United States of America
3 days ago
Role details
Contract type
Contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
EnglishJob location
Lexington, United States of America
Tech stack
Testing (Software)
Computer-Aided Design
ARM
Assembly Language
Booting (BIOS)
C++
Computer Engineering
Datasheets
Software Debugging
Linux
Embedded Software
Field-Programmable Gate Array (FPGA)
Hardware Design
Python
Real-Time Operating Systems
System on a Chip
System Software
Multithreading
Yocto
Information Technology
Software Coding
Job description
The Group is seeking eager candidates to develop embedded and real-time software to support prototyping, lab experimentation, and field experimentation of novel communications and sensing applications.
- Designs and implements software of embedded devices and systems from requirements to production and commercial deployment for product lines.
- Designs, develops, codes, tests, and debugs system software.
- Involved in specifications, design, and development of embedded firmware in engineering projects.
- Analyzes and enhances efficiency, stability, and scalability of system resources.
- Integrates and validates new product designs.
- Supports software QA.
- Provides postproduction support.
- Interfaces with hardware design and development.
- Experience in embedded systems development.
- Experience in hands-on development and troubleshooting on embedded targets.
- Solid programming experience in C or C++.
Requirements
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems.
- Knowledge of reading schematics and data sheets for components.
- Strong documentation and writing skills., * Bachelor s degree, Master s degree, or PhD in Computer Science, Computer Engineering, Electrical Engineering, Mathematics, Physics, or related scientific/engineering field
- Strong experience with C/C++ development
- Experience designing software for real-time and near-real-time software on embedded processors (such as ARM Cortex-class processors)
- Experience with multi-threaded programming in Linux and real-time OS environments
- Familiarity with continuous integration (CI) pipelines for joint FPGA and embedded software development
- Experience with laboratory benchtop testing of embedded software designs including the use of integrated debuggers and/or laboratory equipment such as stand-alone logic analyzers or digital oscilloscopes
- Familiarity with multi-stage boot loader configuration
- Experience programming in Python.
- Experience designing software for embedded ARM processors in FPGA System on Chip (SoC) architectures
- Experience with Yocto-based Linux OS development and deployment, preferably with PetaLinux.
- Strong verbal and written communications skills including collaborating with other on-site and/or remote technical team members, preparing and sharing technical results with others, and documenting work to aid other team members and activities.
DESIRED SKILLS:
- Familiarity with assembly programming
WORK MODE:
- Position requires on site activities each week - including classified discussions, prototype development, test, debug.
- Candidates should expect to be onsite 4 days/week with one remote day initially.