Embedded Software Engineer
We are seeking an experienced Embedded Software Engineer 3 to join our engineering team in Irving, TX. The ideal candidate will have strong expertise in C++ and Python, with hands-on experience developing software for robotics, autonomous systems, state estimation, and inertial measurement technologies.This role will focus on developing robust software solutions, troubleshooting complex technical issues, and taking innovative concepts from prototype through production.Key ResponsibilitiesDesign, develop, test, debug, and maintain embedded software using C++.Develop software solutions for robotics and autonomous systems, including localization, navigation, and state estimation.Implement and optimize filtering and estimation algorithms such as Kalman Filter, Extended Kalman Filter (EKF), and Error-State Kalman Filter.Develop Python-based tools and scripts for testing, automation, data analysis, and system validation.Analyze software requirements, system designs, specifications, and product development documentation.Diagnose and resolve complex software issues by analyzing code, logs, system behavior, and diagnostic data.Apply strong debugging, profiling, and structured programming practices to improve software quality and performance.Contribute to localization and SLAM (Simultaneous Localization and Mapping) solutions, including graph optimization and state-estimation techniques.Work with robotics frameworks such as Robot Operating System (ROS).Apply knowledge of 3D geometry, linear algebra, coordinate transformations, statistical error modeling, and physics-based modeling.Support development involving inertial navigation, guidance systems, vehicle dynamics, and motion modeling.Research technical literature and translate research concepts and algorithms into production-ready software.Identify technical problems, document potential solutions, and evaluate risks and trade-offs of alternative approaches.Participate across the Software Development Life Cycle (SDLC), from requirements and design through implementation, testing, integration, and deployment.Collaborate with cross-functional engineering teams to move prototypes and concepts into production.Document technical problems, troubleshooting procedures, solutions, and engineering decisions.Take ownership of complex technical challenges and drive them toward effective resolution.Communicate technical findings, risks, and solutions clearly to engineering and cross-functional teams.Required Qualifications5+ years of professional software/embedded software engineering experience.Bachelor's degree or higher in Computer Science, Computer Engineering, Electrical Engineering, Robotics, or a related field.Strong proficiency in C++.Strong working knowledge of Python.Experience with software debugging, profiling, troubleshooting, and problem resolution.Knowledge of inertial measurement technology and state estimation.Understanding of the Software Development Life Cycle (SDLC).Strong analytical, problem-solving, written, and verbal communication skills.Ability to work effectively in a collaborative, onsite engineering environment.