Position: Backend Engineer (Python, Flask/FastAPI, Cloud Services, GPU Clusters, Hugging Face)
Company: Smartist
Category: Python
Experience required: 5y
English level: basic

We are seeking a skilled and experienced Backend Engineer to join our dynamic team. The ideal candidate will have a strong background in Python, Flask, or FastAPI, cloud services (AWS or Google Cloud), and setting up GPU clusters for inferencing models. Familiarity with Hugging Face is essential as we work extensively with their models and tools.

Responsibilities:
– Design, develop, and maintain scalable and efficient backend services using Python, Flask, or FastAPI.
– Build and maintain cloud infrastructure on AWS or Google Cloud, ensuring high availability and performance.
– Set up, optimize, and manage GPU clusters for inferencing models to support data scientists and machine learning engineers.
Integrate Hugging Face models and tools into the application stack, maintaining best practices and optimizing performance.
– Ensure high-quality code through rigorous testing, debugging, and code reviews.
– Monitor, analyze, and troubleshoot issues in production environments, providing timely resolutions.
– Stay up-to-date with industry trends and emerging technologies to inform the development of new features and improvements.

Requirements:
– Bachelor's degree in Computer Science, Engineering, or a related field; or equivalent experience.
– 3+ years of experience as a Backend Engineer, working with Python and web frameworks such as Flask or FastAPI.
– Strong experience with cloud services, specifically AWS or Google Cloud.
– Proven experience in setting up and managing GPU clusters for inferencing models.
– Familiarity with Hugging Face models and tools.
– Strong understanding of RESTful APIs, API design, and microservices architecture.
– Excellent problem-solving, debugging, and optimization skills.
– Strong knowledge of data structures, algorithms, and design patterns.
– Experience with version control systems such as Git.
– Excellent communication and collaboration skills.

Bonus Skills:
– Familiarity with containerization technologies like Docker and Kubernetes.
– Experience with continuous integration and deployment (CI/CD) tools.
– Knowledge of other programming languages like Java, C++, or Go.