About the Role
As a Senior Software Engineer, you will play a key role in designing, developing, and maintaining software solutions that empower the Computer Vision Teams to more easily and reliably train, evaluate, and deploy complex computer vision and AI systems in production. You will develop software solutions including databases, APIs, tools, and services, and use your software engineering expertise to propose and implement solutions based on requirements to help the team deliver quickly and efficiently.
Responsibilities
- Design, build, test, deploy and maintain libraries, components and backend services for our computer vision applications, including data processing pipelines, machine learning model training infrastructure, and API endpoints
- Participate in analyzing business requirements and designing new functionalities, breaking down complex and abstract requirements into smaller concrete components that will help the team deliver quickly and efficiently
- Research new technologies and methodologies to address technical issues
- Contribute to the continuous improvement of existing software solutions
Requirements
- Proficiency in Python
- Strong experience in managing larger projects from their conception to their maturity
- Expertise in CI/CD pipelines for software release lifecycle
- Experience with frameworks for web APIs (Flask, FastAPI, ...)
- Experience with API specifications (OpenAPI, gRPC)
- Familiarity of Cloud Service Providers (especially AWS)
- Solid knowledge of containerization technologies and processes
- Experience with databases (relational and non-relational)
- Knowledge of lifecycle of ML/DL applications
- Excellent communication skills
- Ability to work independently and as part of a team
- Strong organizational and problem-solving skills