Overview
Skills
Job Details
Title: Sr. Embedded Linux Software Engineer
Location: San Diego, CA (Need to be local weekly hybrid schedule) - Occasionally may be required to travel within the Continental U.
Length: 3-months Contract-to-hire
Process: 2 Rounds (1st rd. is 30 minutes, then a 2.5-hour onsite panel interview)
US Persons (USC) OR asylee/refugee status as defined by 8 U.S.C. 1324b(a)(3) required.
Summary
The Sr. Software Engineer (Embedded) has the opportunity to develop a variety of innovative unmanned and robotic systems for multiple defense and commercial applications. The Embedded Software Engineer writes functional software for deployment on embedded devices and systems like aircraft and payloads and have the opportunity to test out those devices in flight test environments. This requires the engineer to design, develop, code, test and debug system software as well as analyze and enhance efficiency, stability and scalability of the software on particular devices. There is a mix of full lifecycle development as well as a need to use existing software code base to expand the capabilities to match specific program requirements.
Position Responsibilities:
- Software development in support of company s vision-based navigation, autonomy, cooperative behaviors, and mission systems technology roadmap
- Writes and tests onboard embedded Linux application software to support integration of sensors, processors, or other robotics systems into aircraft
- Designs and implements software for prototypes and products using established Company and industry developed tools and practices. Ensure good configuration control and management of software
- Leads in writing of system requirements, system test plans, diagnostic tools, and in validation testing of software. Assist with hardware selection and recommend processing, memory and storage needs of systems
- Leads development of rapid prototyping and conceptual level testing and will require estimating time to develop software and scoping the depth of the development with project/program management to fit timeline and budget constraints
- Works closely with other engineering disciplines to ensure completion of tasks and projects in a timely manner
- Supports transition of development software to production environments and to certification. Participates in multi-disciplinary development teams
- Develops proof of concept capability demonstrations. Conducts and supports design reviews
- Follows Client's software development process to develop quality code
- Works on complex issues where analysis of situations or data requires an in-depth evaluation of identifiable factors.
- Other duties as assigned
Basic Qualifications (Required Skills & Experience):
- A BS degree in Computer Science/Engineering, Electrical Engineering, Aerospace, Mechanical Engineering or related field is required or equivalent combination of education, training, and experience
- Minimum 8 - 12 years of experience years of relevant experience in embedded Linux systems or GPUs
- Familiar with OOP software design patterns, SDLC, and STLC
- Experienced trouble-shooting systems is required and is proficient with C++11/17, Python, and STL
- Demonstrated knowledge of VS Code or similar IDE as well as defect tracking tools
- Experienced working with common protocols such as TCP, UDP, RS-485, RS-232, CAN, I2C, SPI, USB
- Experienced writing unit tests and automated testing frameworks
- Experienced with Agile software development methodologies and tools
- Demonstrated familiarity with source control tools such as Git and cloud-based CI/CD tools
- Experienced in configuring, developing, and deploying software within containerized environments like Docker
- Periodic travel will likely be required in support of testing equipment at approved flying locations
- Periods of development may require long irregular hours around deadlines, weekends and some holidays and in field test environments
Other Qualifications & Desired Competencies:
- Demonstrates competency in contributing to the design, coding, documenting and testing software
- Experience with computer vision and machine learning on embedded systems
- Experience with UAS, drones, robotics, autonomous vehicles, or other embedded systems
- Familiar with real-time controls, especially advanced estimations techniques
- Experience developing within the Robot Operating System (ROS2) framework on Linux/ARM
- Familiar with the FACE technical standard and UoC development
- Demonstrates strong interpersonal and communication (written and verbal) skills
- Understanding of the design of the system that one is working on and understand the role that assigned tasks play in the system
- Demonstrates competency in researching and re-engineering to propose alternate solutions to issues
- Able to excel in a fast-paced, deadline-driven environment, where small teams share a broad variety of duties
- Displays strong initiative and drive to accomplish goals and meet company objectives
- Takes ownership and responsibility for current and past work products
- Is committed to learning from mistakes and driven to improve and enhance performance of oneself, others, and the company
- Has effective problem-solving, analytical, interpersonal and communication skills
- Focuses on teamwork, collaboration and puts the success of the team above one's own interests