Lead Backend Software Developer
Job description
We are seeking an experienced backend engineer to architect and develop a high-performance web server for a scalable data solution. You will own the API logic, database design, and production server configuration, ensuring robust async processing while integrating logic from our data science team.
Skills description
The tech stack
- Core: Python 3.x, FastAPI
- Server/deployment: Nginx, Gunicorn, Docker, CI/CD
- Async/queues: Celery, Redis (Broker & Backend)
- Database: PostgreSQL, Alembic
Key responsibilities
- API architecture: Design and build robust RESTful APIs using FastAPI to serve complex business logic.
- Task queue management: Implement and manage workflows using Celery, utilizing Redis as the message broker and result backend.
- Database management: Design efficient relational database schemas in PostgreSQL and manage migrations with Alembic.
- DS collaboration: Integrate algorithmic logic and data models provided by data scientists into the production application.
- System stability: Monitor queue depths, worker health, and API latency to ensure reliability.
Requirements
- Experience: 5 to 7 years of professional backend engineering experience.
- Python proficiency: Deep knowledge of Python 3, FastAPI, SQLmodel and Pydantic.
- Redis & Celery: Proven experience configuring Redis for managed task queues (handling visibility timeouts, retries, and failures) in addition to caching.
- Server ops: Hands-on experience configuring Nginx and Gunicorn.
- Database: Strong SQL skills and experience managing schema lifecycles.
- ML familiarity: Comfortable working with Python data libraries (Pandas, NumPy) to bridge the gap between DS prototypes and production code.
- DevOps: Solid experience with Docker containerization and CI/CD pipelines.
Nice to have
- Experience with rule-based systems.
- Knowledge of Kubernetes or container orchestration.
- Cloud platform experience (AWS/GCP/Azure).