Embedded Software- Engineer - Encode Inc
Lexington, MA 02421
About the Job
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 post production 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++. 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.
The Control and Autonomous Systems Engineering Group is focused on the synthesis of dynamic and complex control and autonomous systems, from concept to realization, for a wide variety of prototypes. Prototype applications span various mission areas, such as space control; air, missile and maritime defense; communication and tactical systems; homeland protection; and intelligence, surveillance, and reconnaissance systems. The group has expertise in dynamic stabilization and platform control; advanced autonomy; pointing, acquisition, and tracking; guidance; navigation and estimation; robotics; mapping; intra- and inter-system planning (e.g., swarming); demanding real- time embedded software and firmware control; image processing; machine learning; human-machine interaction; space-qualified electronics; and analog and power electronics. Applied research and development projects include space optical payloads, small satellites, airborne laser radars and imaging systems, and autonomous air, ground, and maritime systems. The candidate should have experience with developing software for autonomous systems, in particular autonomous ground and air vehicles.
The Control and Autonomous Systems Engineering Group is focused on the synthesis of dynamic and complex control and autonomous systems, from concept to realization, for a wide variety of prototypes. Prototype applications span various mission areas, such as space control; air, missile and maritime defense; communication and tactical systems; homeland protection; and intelligence, surveillance, and reconnaissance systems. The group has expertise in dynamic stabilization and platform control; advanced autonomy; pointing, acquisition, and tracking; guidance; navigation and estimation; robotics; mapping; intra- and inter-system planning (e.g., swarming); demanding real- time embedded software and firmware control; image processing; machine learning; human-machine interaction; space-qualified electronics; and analog and power electronics. Applied research and development projects include space optical payloads, small satellites, airborne laser radars and imaging systems, and autonomous air, ground, and maritime systems. The candidate should have experience with developing software for autonomous systems, in particular autonomous ground and air vehicles.
This selected contingent worker will design, implement, and test software on state-of-the-art robotic and unmanned systems within a team composed of staff, contingent workers, and external partners. The software is often embedded in the robotic or unmanned system and executes on high-performance headless computing systems. Typical software tasks may include interfacing with sensor hardware via network connections to receive data, implementing an algorithm designed by other engineers or from an academic paper, updating software to a use a newer version of a library, and investigating observables and source code to identify and resolve an issue. The CW may perform analysis of software or algorithm performance and present the results in presentations or written documents. Required skills: - Embedded C/C++/Python programming skills - Direct experience programming, running, and debugging with the Robot Operating System (ROS) Version 2 software framework - Direct experience with network-connected video cameras (sending commands and receiving data) - CMake experience - Direct experience with ROS-1/2 node development - Direct experience with autonomous vehicle sensors and processing such as EO/IR, Lidar, Radar, GNSS, Magnetic sensors. -The position will require someone to come onsite at least 1 or 2 days a week though that may ebb and flow with the program needs to be more. -Interview process will be 2 rounds of interviews -Interim is sufficient for this role to start the project |
Source : Encode Inc