Robot Platform Software Engineer
Job description
About the role
At Apptronik, we are pioneering the development of humanoid robots like Apollo, designed to assist in various sectors such as logistics, manufacturing, and potentially domestic settings in the future. This position is centered around enhancing the software infrastructure that enables these robots to effectively navigate and interact within environments designed for human use. As a key member of our team based in Austin, you will play a vital role in advancing the core platform architecture, preparing it for mass production. You will own the design and implementation of critical software modules that directly impact the robot's autonomy and operational reliability. The role requires a deep partnership with both software and hardware teams to ensure seamless integration from the firmware level up to the application layer. You will be responsible for translating high-level requirements into robust software solutions that meet stringent performance and safety criteria. Your work will directly influence the scalability and manufacturability of our robotic platforms. Ultimately, you will help define the software foundation that powers the next generation of human-centric automation.
Key facts
What you'll do
- Architect and develop scalable software solutions that manage the core functionalities of robotic hardware systems.
- Lead architectural design discussions with an emphasis on modularity, maintainability, and high performance for future scalability.
- Collaborate closely with hardware engineers to integrate mechanical and electrical components, validating seamless system communication.
- Perform detailed analyses of compute resource utilization by profiling software stacks to optimize performance in resource-constrained scenarios.
- Adapt and refine existing software frameworks to guarantee compatibility with evolving hardware platforms without compromising system integrity.
- Design and execute benchmarking tests to identify performance bottlenecks and drive enhancements in platform scalability.
- Enforce engineering best practices through rigorous code reviews, the creation of comprehensive technical documentation, and robust continuous integration pipelines.
- Partner with cross-functional teams to troubleshoot complex issues and implement effective solutions in real-time operational environments.
- Monitor the latest advancements in robotics and software engineering to continuously refine and improve our system capabilities.
- Mentor junior engineers by sharing technical knowledge and fostering a culture of continuous learning and innovation within the development team.
- Engineer and optimize user interfaces that facilitate intuitive interaction between humans and robots, enhancing overall usability and functionality.
- Support the preparation of detailed technical reports and presentations to effectively communicate progress, challenges, and findings to internal and external stakeholders.
- Implement low-level drivers and interface code to manage sensor data acquisition and ensure accurate state estimation.
- Contribute to the development of diagnostic tools that monitor system health and performance metrics throughout the robot's lifecycle.
Requirements
- Hold a Bachelor's degree in Computer Science, Engineering, or a closely related discipline; a Master's degree is highly regarded and preferred.
- Possess a minimum of 4 years of hands-on experience in software engineering with a demonstrated focus on system-level development and deployment.
- Exhibit a strong command of C++ programming language, particularly within Linux-based development environments and production systems.
- Demonstrate proven experience in hardware integration, including work with low-level drivers, sensor data management, and communication protocols such as CAN or EtherCAT.
- Show proficiency in conducting resource profiling for CPU usage, memory consumption, and latency issues to identify and resolve performance constraints.
- Have extensive experience in managing, refactoring, and enhancing complex, established codebases while maintaining high standards of quality.
- Apply knowledge of distributed systems, sound API design principles, and containerization technologies like Docker or Kubernetes for deployment and scaling.
- Meet the physical requirement to lift up to 15 pounds and perform standard office-related tasks necessary for the role.
- Maintain the ability to obtain necessary security clearances if required for specific project involvement.
- Commit to adhering to the company's coding standards, safety protocols, and documentation procedures consistently.
- Demonstrate strong analytical and problem-solving skills with the ability to debug complex software issues in a fast-paced environment.
- Communicate effectively and collaborate well within a diverse, interdisciplinary team setting.
Nice to have
- Familiarity with machine learning algorithms and their application in robotics for perception and decision-making tasks.
- Experience with real-time operating systems (RTOS) and their integration into robotic systems requiring deterministic behavior.
- Background in simulation tools and environments used for robotic testing, validation, and virtual commissioning.
- Understanding of safety standards and protocols relevant to robotic systems, including ISO 10218 or similar guidelines.
Skills & tools
- Proficient in C++ with a strong grasp of modern C++ standards (C++11, C++14, C++17).
- Experienced with Linux operating systems, including command-line proficiency and system administration basics.
- Knowledgeable in CAN and EtherCAT communication protocols for industrial and automotive networking.
- Familiar with containerization and orchestration tools such as Docker and Kubernetes for scalable deployments.
- Understanding of version control systems, preferably Git, and CI/CD pipelines.
- Basic familiarity with robotics frameworks such as ROS or ROS2 is a significant advantage.
- Experience with scripting languages like Python for automation and rapid prototyping.
Practical notes
- Apptronik is committed to fostering an inclusive workplace and is an equal opportunity employer.
- We do not accept unsolicited inquiries from external agencies or recruiters.
- This role is based in Austin, Texas, and requires relocation or local candidacy for the position.
- Direct hire engagement is offered, providing long-term career stability and growth within the organization.
- Candidates must be authorized to work in the United States without sponsorship for this position at this time.
Join us at Apptronik and be part of a team that is shaping the future of robotics. Your expertise will contribute to the development of innovative solutions that enhance the interaction between humans and machines, paving the way for a new era in automation and assistance technologies. If you are about robotics and software engineering, we encourage you to apply and help us build the next generation of humanoid robots.