Machine Learning Engineer - Backend
Description
【About the Role】
As a Machine Learning Engineer specializing in Backend development, you will build the services and automation systems that connect our machine learning products with different user interfaces, internal systems, and production equipment.
You will develop reliable APIs, background services, and automated workflows that support machine learning systems in real production environments. The role extends beyond conventional backend development and may include managing system workflows with job queues and interacting directly with production equipment and systems.
You will work closely with machine learning engineers, frontend engineers, data scientists, deployment teams, and other product stakeholders to build backend systems that are scalable, maintainable, and dependable in long-term operation.
【Responsibilities】
- Design, build, deploy, and maintain backend APIs, internal services, and automation systems using technologies such as Python and FastAPI, with an emphasis on clear, reliable, and maintainable API design.
- Develop and maintain integrations with relational databases, caches, messaging and streaming systems, schedulers, and other service infrastructure.
- Build automation services that communicate with production equipment and systems, supporting capabilities such as job scheduling, task coordination, status tracking, retries, and failure recovery.
- Design, operate, and troubleshoot backend services to maintain reliability and performance as workloads, data volumes, and connected systems grow.
- Collaborate with cross-functional teams to translate product and production requirements into practical backend architectures and services.
- Follow and promote good engineering practices through clean and testable code, code reviews, automated testing, CI/CD, and clear technical documentation.
【Key Qualifications】
- Strong programming and software engineering fundamentals, with proficiency in Python or other relevant languages and the ability to work effectively with Python-based systems.
- Experience developing backend applications and services using FastAPI or a similar framework with Git-based development workflows and CI/CD practices.
- A solid understanding of API design, including approaches such as RESTful APIs, and the ability to build clear and maintainable service interfaces.
- Experience working with relational databases and SQL, as well as understanding of caching and messaging/streaming technologies such as Redis, RabbitMQ, or similar systems.
- Understanding of the scalability and reliability considerations of background jobs, schedulers, asynchronous task execution, and failure handling.
- Strong problem-solving, communication, and collaboration skills, with an interest in developing meaningful ownership of backend systems and product infrastructure.
【Preferred, but Not Required】
- Experience building automation systems that interact with industrial equipment or production systems.
- Familiarity with containers, orchestration, monitoring, and observability using technologies such as Docker, Kubernetes, Prometheus.
- Familiarity with the end-to-end machine learning lifecycle and experience supporting inference and training services in computer vision, image processing, or another machine learning domain.
- Experience designing distributed or event-driven backend systems, with an understanding of asynchronous programming, concurrency and I/O-intensive workloads.
- Experience with data pipelines, ETL workflows, workflow orchestration with tools such as Apache Airflow.
You do not need to match every preferred qualification. We value strong backend engineering fundamentals, practical problem-solving skills, and the ability to learn the systems and production processes surrounding the product. We are hiring for both mid-level and senior-level engineering positions, and the scope and expectations of the role will be considered based on your experience and seniority during the interview process.