Software Engineer Intern - Firmware (Summer 2024)
Apptronik is building robots for the real world to improve human quality of life and to help solve the ever-increasing labor shortage problem. Our team has been building some of the most advanced robots on the planet for years, dating back to the DARPA Robotics Challenge. We apply our expertise across the full robotics stack to some of the most important and impactful problems our society faces, and expect our products and technology to change the world for the better. We value passion, creativity, and collaboration to help us overcome existing technological barriers in the industry to create truly innovative products.
You will join a team developing a state-of-the-art general-purpose robots designed to operate in human spaces and with human tools. It is designed to work alongside humans, mobilize to human spaces, and manipulate the world around it.
We're looking for an experienced Software Engineering Intern with proven hands-on capabilities and a strong theoretical background. We are primarily interested in candidates with prior robotics hardware implementation experience. In this role, you will work on control, planning, perception, and autonomy algorithms; software, sensor, and hardware integrations; or machine learning and testing in sim and on real robot platforms. You will work as part of a team focused on developing a dynamic humanoid robot robust to unstructured environments and able to perform useful tasks.
What To Expect
This position is expected to start in-person around May/June 2024 and continue through the entire Summer (i.e. through Aug/Sep 2024). We ask for a minimum of 10 weeks. Interns should expect to work Monday-Friday, up to 40 hours per week, typically between 9am-5pm. Specific team norms around working hours will be communicated by your manager. Please consider before applying.
- MUST be an undergraduate or graduate student enrolled in an accredited program during the internship term. (New graduates not enrolled in an accredited program for Fall 2024 are ineligible.)
- Pursuing a degree in Computer Science, Electrical/ Mechanical/ Aerospace Engineering or similar.
- Proficient in C++ in a Linux development environment (1+ years of experience), with prior demonstrated ability to:
- Translate complex theoretical concepts and algorithms into practical, efficient, and bug-free software implementations
- Perform on a fast-paced software development team using standard CI tools like Git while following rigorous documentation and testing standards
- Familiar with modern software tools / libraries relevant to your skillset
- Robotics frameworks and libraries such as ROS, Ignition Gazebo, Pinocchio, MuJuCo, OMPL, MoveIt etc.
- Strong theoretical understanding of some significant subset of dynamics, controls, estimation, data science, or linear algebra
- Excellent communication and documentation skills
- GPA of 3.0 or above
- Experience working with embedded technologies such as:
- Communication protocols (SPI, EtherCAT, Ethernet, UART, CAN, etc.)
- Sensing (incremental and absolute encoders, analog sensors, IMUs)
- Knowledge of real time operating system concepts and prior experience with an RTOS
Nice to have
- Experience developing and debugging real-time, multithreaded software systems
- Experience implementing model-based feedback control of articulated robots and troubleshooting hardware
- Experience with modeling dynamic systems, system identification, and optimization solvers
- Experience with embedded systems and firmware development
- Familiarity with RTPreempt and Linux kernel configuration
- Experience with EtherCAT
*This is a direct hire. Please, no outside Agency solicitations.
Apptronik provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.