Embedded Linux Developer
GM RESOURCE GROUP LLC
Troy, United States of America
3 days ago
Role details
Contract type
Temporary contract Employment type
Full-time (> 32 hours) Working hours
Shift work Languages
English Experience level
Senior Compensation
$ 85KJob location
Troy, United States of America
Tech stack
Board Bringup
Agile Methodologies
Confluence
JIRA
Booting (BIOS)
UClibc (C Standard Library)
C++
Computer Programming
Continuous Delivery
Continuous Integration
Software Debugging
Linux
Device Drivers
Digital Signature
Eclipse
Linux on Embedded Systems
Embedded Operating Systems
Embedded Software
GNU Compiler Collection
Information Systems Security Architecture Professional
Linux-Powered Devices
Open Source Technology
Performance Tuning
QT
Software Engineering
Software Requirements Analysis
Software Systems
System Programming
VxWorks
Real Time Systems
DOORS (Software)
Software Verification
Safety Critical Systems
Gitlab
GIT
Yocto
Selinux
Information Technology
Build Tools
Codebase
Bitbucket
Job description
- Leads activities to develop, document and maintain architectures, requirements, algorithms, interfaces, and designs for software systems. Leads development of code and integration of complex software components into a fully functional software system
- Develops software verification plans, test procedures and test environments, executing the test procedures and documenting test results to ensure software system requirements are met
- Load components with software images, in order to deploy official software releases in lab environments and vehicles.
- Building and configuring VxWorks, Linux, or other embedded operating systems.
- Perform Linux system programming tasks, including driver development and new hardware enablement on embedded Linux systems.
- Integrate various software into build systems.
- Design, develop, test, deploy, maintain and improve software
- Enable embedded system security using cryptography and secure architectures.
- Manage individual priorities, deadlines, deliverables.
- Performance optimization of systems and complex pipelines
- Other duties as assigned.
Requirements
- Bachelor of Science in Computer Science, Computer Science or Electrical Engineering required.
- 5-7 years relevant work experience.
- Ability to troubleshoot low level software issues and distinguish between hardware and software issues
- Capable of developing C and / or C++ code that can be maintained and updated over decades
- Experience with the full software development life cycle: requirements, use-cases, architecture, design, testing, integration, deployment, etc...
- Experience with safety critical systems or real time systems is desirable
- Strong understanding of programming in an asynchronous environment with multiple processes, threads, timers, interrupts, etc.
- Experience in dealing with existing, complex systems and codebases
- Working knowledge of hardware bring-up
- Excellent debugging skills
- Experience with one or more Linux system image build tools such as Buildroot, or in particular Yocto
- Experience with Windriver VxWorks and its debugging tools, such as Workbench
- Experience with Eclipse, GIT, gcc, DOORs, Jira / Bitbucket / Confluence, gdb, or QT is a plus
- Experience with Agile, gitlab, Continuous Integration and Continuous Deployment concepts, CI agents
- Experience with type I & II hypervisors is a plus
- Familiarity with common self-update strategies & open source self-updaters is a strong plus
- Familiarity with security features such as SELinux, verified boot and trusted execution environments is a plus.
- Experience with Linux device drivers, bootloaders, memory maps or other system programming is a strong plus
- Demonstrated problem solving skills, learning capabilities, and multitasking capabilities
- Proficient in Microsoft Office suite applications, This position will require the candidate to be able to climb on/off, work in, and work around military vehicles is desired. Must be able to pass ASR test (Anthropometric Size Requirement for confined space)
- Familiarity with the four areas of cyber; authentication, nonrepudiation, confidentiality, and integrity, as implemented through digital signatures and encryption.
- Enable embedded system security using cryptography and secure architectures.
- Experience with the new NIST quantum resistant algorithms.
- Be a self-starter and working in a fast-paced environment.
- The candidate will need to have strong written and oral communication skills and able to work with all levels of the organization and across functions.
- Organization will be essential due the volume of tasks and projects and being able to align with tight deadlines and lead times.
- Work environment will consist of prototype shop, laboratory, manufacturing, and office.
- Able to work overtime when required
- Able to bring continuous improvement processes and methodologies to the position. Strong communication, interpersonal, and organizational skills is required. Works well in team and individually