[Job Description] Senior Software Engineer<br>Who are we<br>At Ultralytics, we are dedicated to continuous innovation in the field of artificial intelligence and finding team members who resonate with our ambitious goals: to spread the power of AI, making it accessible and usable by everyone. We achieve this by building cutting-edge computer vision AI models based on the YOLO framework, and a no-code cloud training and deployment platform built using event-driven microservices and modern cloud-native patterns.<br>What will you do?<br>As a senior software engineer at Ultralytics, you will play a key role in developing and maintaining Ultralytics HUB (a leading platform for cloud-based training and deployment of YOLO AI models).<br>Responsibilities include:<br>1. Design and implement secure, scalable, and maintainable event-driven Web solutions that seamlessly integrate with cloud services (GCP, Azure, AWS).<br>2. Contribute to distributed systems, where services communicate through events rather than tightly coupled APIs.<br>3. Develop and maintain GitHub Actions for CI/CD pipelines, which are customized for cloud deployments involving Docker and Kubernetes.<br>4. Use cloud functions and various orchestration tools to ensure application deployment reliability and efficiency.<br>5. Collaborate with ML teams to effectively embed advanced machine learning models into our cloud solutions.<br>6. Optimize cloud resources to improve performance and maximize cost savings.<br>7. Provide technical guidance and support to ensure that best practices are followed in cloud development and deployment.<br><br>Your strategic vision and technical expertise are crucial in supporting Ultralytics in providing top-notch machine learning tools and models to the community.<br><br>Skills and experience<br>1.7 years of Python experience or more.<br>2. Proficient in designing, developing, maintaining and debugging event-driven systems, asynchronous workflows.<br>3. Familiar with working in a layout/collaboration setting.<br>4. Proficient in using Google Cloud Platform to build scalable and secure cloud solutions.<br>5. Have in-depth professional knowledge in object-oriented programming (OOP) and hexagonal architecture principles.<br>6. Have rich knowledge in concurrent and distributed transaction management.<br>7. Understand MongoDB and other NoSQL databases.<br>8. Have practical experience in using Kafka, RabbitMQ or Google Pub/Sub as message brokers to build production systems.<br>9. Familiar with Domain-Driven Design (DDD) concepts is preferred.<br>10. Have basic knowledge of front-end technologies such as Next.js.<br>11. Strong ability to create clear, structured and comprehensive documents and charts as an indispensable part of functional development.<br>12. Proficient in CI/CD pipeline construction, especially using GitHub Actions.<br>13. Bachelor's degree or higher in Computer Science or related fields.<br><br>Cultural fit<br><br>At Ultralytics, we believe the transition from traditional software to artificial intelligence is one of the most important changes in our time. We are pushing the boundaries of what artificial intelligence can achieve, which requires us to have an unrelenting spirit and a mindset that breaks out of the box. We are seeking candidates who are passionate, proactive, and deeply committed to artificial intelligence innovation. Our ambitious goals often require people to go beyond themselves and thrive in a vibrant, fast-paced environment.<br>We are an equal opportunity employer committed to building an inclusive workplace. We believe that everyone should be able to fully engage in their work, and we do not discriminate based on race, religion, nationality, gender, sexual orientation, age, veteran status, disability, or any other legally protected identity.<br>