About the Team
Our team is responsible for developing and maintaining embedded software solutions that power the testing and validation of Printed Circuit Board Assemblies (PCBA) for autonomous delivery robots. We work closely with hardware engineers, manufacturing teams, and cloud infrastructure specialists to ensure that every electronic component meets the highest quality standards before deployment. Our focus is on automation, data-driven analytics, and seamless integration between hardware testing systems, cloud services, and firmware development pipelines.
About the Role
As an Embedded Software Engineer, you will design and develop software solutions for automated PCBA testing, firmware validation, and production data management. Your role will involve building test benches, developing custom firmware update mechanisms, and integrating hardware test results with cloud-based analytics platforms. You will work with microprocessors, real-time operating systems, and industrial communication protocols to enhance the efficiency and reliability of the manufacturing process. This position requires a strong understanding of embedded systems, networking technologies, and cloud infrastructure to support large-scale production and deployment of autonomous robotics.
What You'll Do
- Design and develop software for Test Procedures of Printed Circuit Board Assembly (PCBA) at mass-production manufacturing plant for delivery Robots.
- Design and develop software for unique hardware test benches at manufacturing plant.
- Design and develop software (User Interface) for assembly operators at manufacturing plant.
- Design and develop software, which transfers and stores Test Procedure results & log files from manufacturing plant’s database to Cloud App & Database.
- Design and develop infrastructure for Cloud App & Database.
- Design and develop software for Postprocessing & Analytics of Test Procedure results & log files.
- Automation of PCBA firmware code quality checks, including usage of specialized test benches.
- Design and develop internal tools for automation of PCBA firmware builds and integration.
- Design and develop proprietary Firmware Update & Parameter Configuration solution for various types of PCBAs.
- Cloud Automation for firmware builds.
- Design and develop internal release tools for PCBAs firmware.
What You'll Need
- Master's degree in Computer Science or Applied Mathematics.
- At least 5 years of professional experience with Python.
- At least 5 years of professional experience in Software Engineering or similar.
- At least 5 years of extensive using of Git.
- At least 5 years of professional experience with GNU Make, CMake, or Bazel.
- At least 5 years of experience working with STM32 microprocessors.
- At least 3 years of experience working with NXP microprocessors.
- At least 5 years of professional experience with Real-Time Operating Systems (RTOS) like FreeRTOS and Hardware Abstraction Layer (HAL).
- At least 5 years of professional experience with OpenHTF.
- Deep understanding of networking technologies, especially UDP/TCP/Modbus/SCPI/HTTP.
- At least 3 years of hands on experience using Python asyncio and Tornado.
- At least 5 years of experience using web frameworks Javascript/Typescript/Angular.
- At least 5 years of using MySQL/PostgreSQL/Mongo databases.
- At least 5 years of experience with containerization technologies Docker/Podman.
- At least 5 years of experience with ORM Python SQLAlchemy.
- At least 5 years of experience with Python Flask web server.
- At least 5 years of experience with Linux subsystems - systemd, CRON, Bash.
- At least 5 years of experience with container orchestration using Kubernetes.
- At least 5 years of experience using AWS Cloud: Fargate, RDS, ECR, EKS, EC2, VPN, Route53, CloudWatch.
- At least 5 years of experience with GNU Make/CMake.
- At least 5 years of experience with GitHub CI.
- At least 5 years of experience with Travis CI/Jenkins.
- At least 5 years of experience with SCPI, LXI, VXI, VISA protocols.
- At least 5 years of experience using Bazel, Starlark, Bash, Python for automatization
- At least 5 years of experience using code coverage tools like SonarQube, Codecov, or Coveralls.
- At least 5 years of experience implementing and using automotive protocols: UDS, IsoTp, DoIP, CAN, Ethernet.
Nice to Have
Candidates are required to be authorized to work in the U.S. The employer is not offering relocation sponsorship, and remote work options are not available.