- Company Name
- IDnow
- Job Title
- Software Engineer Python (f/m/d)
- Job Description
-
**Job Title:** Software Engineer Python (Machine Learning/Data Platform)
**Role Summary:**
Design, implement, and operate data storage and management solutions that support AI/ML research and product testing. Build and maintain backend APIs, develop tooling for ML workflows, and ensure high‑quality, automated, and containerized deployments in an agile, multidisciplinary environment.
**Expectations:**
- Translate R&D requirements into scalable, well‑tested data platforms.
- Drive industrialization of data/ML pipelines with automation, reproducibility, and observability.
- Collaborate effectively with ML researchers, product engineers, and QA teams.
- Maintain a strong quality mindset, including automated testing and code coverage.
- Communicate clearly in English and demonstrate initiative, curiosity, and team spirit.
**Key Responsibilities:**
- Design and manage relational (PostgreSQL, MariaDB) and other data storage solutions.
- Develop Python‑based tools, services, and scripts for data ingestion, processing, and access.
- Build and maintain RESTful APIs (FastAPI/Django REST) for internal data consumption.
- Implement CI/CD pipelines (GitLab CI), containerization (Docker) and deployment automation (Ansible).
- Write automated tests with pytest and ensure high test coverage.
- Monitor and optimize database performance, migrations, and queries.
- Support Linux administration tasks (shell scripting, security, networking).
- Participate in agile ceremonies, prioritize backlog items, and contribute to continuous improvement.
**Required Skills:**
- Python development (tooling, services, packaging).
- REST API frameworks (FastAPI, Django REST or equivalent).
- Automated testing with pytest.
- Strong SQL expertise: PostgreSQL and MariaDB modeling, performance tuning, migrations.
- Experience designing/operating data storage solutions.
- Docker containerization; basic orchestration knowledge.
- CI/CD setup (GitLab CI) and deployment automation (Ansible).
- Linux system administration (shell, permissions, networking).
- Agile teamwork and stakeholder collaboration.
- Excellent English communication.
**Required Education & Certifications:**
- Bachelor’s degree in Computer Science, Software Engineering, Data Science, or related field (Master’s preferred).
- No specific certifications required; relevant professional certifications (e.g., AWS, Docker, PostgreSQL) are a plus.