Skills & Experience:
- Background in software engineering; degree in computer science or related technical discipline;
- Proficiency with Python: knowledge of Python internals (e.g., GIL) and advanced concepts (e.g., multiprocessing, Async IO);
- Experience with the Python ecosystem: ORMs (e.g., SQLAlchemy), web servers (e.g., Tornado), web/REST frameworks (e.g., FastAPI, Django, Flask);
- Understanding of basic computer science concepts: networking and network protocols, operating systems (e.g., threads/processes, IO), data structures, and algorithms;
- Experience with building microservices and understanding of service-oriented architectures;
- Understanding of distributed systems; experience with designing services that interact with distributed systems (e.g., databases and message queues);
- Experience with relational and distributed databases (e.g. PostgreSQL, MySQL, Cassandra, etc.); proficiency with SQL;
- Desire to lead the team;
- Upper-Intermediate English.
Nice to have:
- Experience with Amazon Web Services;
- Experience with Kubernetes: understanding of its properties and concepts and being able to deploy applications on the Kubernetes cluster.