Senior Full Stack Software Engineer
Role details
Job location
Tech stack
Job description
We're looking for a Senior Software Engineer to join our Data Platform team. You'll build and maintain the internal tools and infrastructure that power Zipline's autonomy development, from data pipelines to the applications our engineers and operators rely on every day.
You'll work closely with senior engineers across our global team, including our San Francisco headquarters, where much of Zipline's core autonomy and data platform work happens. It's a chance to learn from experienced engineers, ship code that supports aircraft flying real missions, and grow your career on a team that operates at a high bar., * Application Development: Design, develop and maintain a suite of internal tools that support the annotation team in producing high-quality ML datasets.
- Collaboration with Internal Customers: Work closely with Machine Learning and Autonomy teams to understand their needs and requirements for annotation tools, ensuring that the tools are optimized for their workflows and deliver high-quality, accurate data.
- Data Engineering: Work with the Data Platform team to develop data pipelines and data models for integrating labelled Machine Learning data for Autonomy engineers.
- Automation & Efficiency: Identify opportunities to automate and optimize manual processes within the annotation workflows to reduce time and increase efficiency without compromising quality.
- Data Integrity & Quality Control: Implement features to track the progress and quality of annotations, monitor for errors and provide feedback to ensure the highest standards of data quality.
Reporting & Observability: Work with stakeholders to support building reports for internal vitals, data quality, and team performance.
- Version Control & Documentation: Maintain versioned releases of the annotation tools, ensuring proper documentation is in place for both internal users and external contractors.
- Bug Fixes & Troubleshooting: Respond to and resolve technical issues that arise with annotation tools, both in production environments and in development cycles.
- Cross-Functional Collaboration: Work with other engineering teams (e.g., Data Platform Team) to integrate the annotation tools with other internal systems and pipelines, as well as ensure smooth data flow between teams.
- Continuous Improvement: Continuously monitor the tool usage and performance, gather feedback from users, and iterate on the tools to improve usability, scalability and efficiency.
Requirements
- Bachelor's or Master's degree in Software, Computer Science, Engineering, or a related field, or equivalent practical experience.
- Strong proficiency in programming languages such as React, Python, SQL or Rust
- 5+ years experience building, deploying, and maintaining software tools or applications that interact with both internal teams and external users/contractors.
- Experience with API integrations, web-hooks and other 3rd party integration technologies
- Familiarity with software development practices, including version control (e.g., Git), testing, and CI/CD pipelines.
- Strong problem-solving skills and ability to troubleshoot complex software issues.
- Excellent communication skills and ability to work effectively with cross-functional teams, both internal and external.
- Ability to relocate to Kigali, Rwanda
Preferred:
- Familiarity with UI/UX design principles and experience building or enhancing user interfaces.
- Knowledge of database management and integration (e.g., SQL, NoSQL).
- Experience with cloud platforms (e.g., AWS, GCP) or containerization technologies (e.g., Docker, Kubernetes).
- Familiarity with data annotation platforms or tools used in AI and machine learning workflows (e.g., Labelbox, v7, Encord, etc.).
- Experience with autonomous systems, robotics, or machine learning/AI-based tools.
- Familiarity with Agile development methodologies.