Leads and/or contributes to activities to develop, document and maintain architectures, requirements, algorithms, interfaces and designs for software systems.
Develops code and integrates 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.
Provides technical leadership for software projects.
Leads development, selection, tailoring and deployment of processes, tools and metrics.
Plans, executes and documents software research and development projects.
Serves as a subject matter expert for software domains, system-specific issues, processes and regulations.
Works under minimal direction.
Ability to learn and adapt quickly.
Requirements
5+ Years professional development experience in the C programming language
3+ Years of professional experience developing in a Linux development environment
2+ Years professional experience projects related to embedded, device driver, or Linux kernel internals programming
Some professional experience working with the Yocto build system
Bachelor's degree or higher in electrical/computer engineering or computer science (Preferred)
Experience with the full software development life cycle (Preferred)
Experience contributing to Open Source Software (OSS) (Preferred)
Experience in any combination of C++, Python, Rust (Preferred)
Experience with git, gcc, clang, bazel (Preferred)
Experience with yocto or buildroot (Preferred)
Experience with DO-178C software development (Preferred)
Experience with bootloaders, hypervisors (Preferred)
Experience in multiple processor families (e.g. x86, ARM) (Preferred)
Experience with CI/CD tooling such as Gitlab CI (Preferred)
Experience in aerospace and defense industry (Preferred)
Experience with estimating and costing new business (Preferred)
Benefits
Health insurance
Flexible spending accounts
Health savings accounts
Retirement savings plans
Life and disability insurance programs
Paid and unpaid time away from work
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
C programming languageLinux development environmentembedded programmingdevice driver programmingLinux kernel internals programmingYocto build systemC++PythonRustDO-178C software development
Soft skills
technical leadershipability to learn quicklyadaptability
Certifications
Bachelor's degree in electrical engineeringBachelor's degree in computer engineeringBachelor's degree in computer science