Job Description:
- Lead team, design architect, develop, execute, deliver and maintain large software system development and maintenance projects;
- Lead technical skills an Agile Software Development inhouse team that is comprised of for members: coaching, review code, guide...;
- Ensure that Software Development team adheres to and contributes to the defined processes while still being able to deliver efficiently;
- Deliver high-quality, secure, scalable and maintainable production software
Requirements:
+++Core Python Expertise
- Proficient in async/await, asyncio, and concurrent programming patterns
- Strong knowledge of Python's memory management and garbage collection
- Hands-on experience with Stream API, Lambda expressions, and Functional Interfaces.
- Proficient in Python frameworks such as Django, FastAPI or Flask.
+++Backend & API Development
- Skilled in designing complex REST APIs (including pagination, rate limiting, and filtering).
- Experience with Celery for task queues
- Knowledge of API monitoring, caching strategies, and load balancing
- Understanding of GraphQL is a plus
+++Database
- Strong command of SQL: complex queries, subqueries, views, indexes, and query optimization
- Solid understanding of ACID properties
- Ability to optimize SQL queries and explain transaction mechanisms (purpose and behavior).
- Hands-on experience with at least one NoSQL database (MongoDB, Redis, Cassandra, etc.)
- Proficient in ORM frameworks (SQLAlchemy, Django ORM)
- Experience with database migrations and schema design
+++Cloud & Infrastructure
- Experience working with at least one major cloud provider (AWS, GCP, or Azure).
- Basic understanding of EC2 (AWS) or equivalent services on GCP/Azure.
- Knowledge of object storage concepts (e.g., AWS S3).
- Proficient in Docker and containerization concepts
- Basic understanding of Kubernetes is a plus
+++Message Queues & Caching
- Experience with Redis for caching and session management
- Hands-on experience with message brokers (Kafka, RabbitMQ, or AWS SQS)
+++Software Architecture & Design
- Strong grasp of SOLID principles and software design best practices.
- Proficient in common design patterns (Factory, Singleton, Observer, Strategy, Proxy, Visitor, etc.)
- Understanding of TDD/BDD principles
- Good knowledge of microservices architecture and inter-service communication.
- Ability to create UML diagrams and system architecture documentation
+++Security
- Understanding of common vulnerabilities (OWASP Top 10: XSS, CSRF, SQL Injection, etc.)
- Knowledge of authentication/authorization mechanisms (JWT, OAuth2)
- Familiar with application access control models (RBAC, ABAC).
- Experience implementing secure API practices
+++Testing
- Strong experience writing unit tests with pytest
- Knowledge of integration testing and end-to-end testing
- Familiar with test coverage tools