Position: Tech Lead Lead Python
Company: Unicsoft
Category: Python
Experience required: 5y
English level: upper

Looking for Tech Lead Python for a digital banking project

**Requirements**
- Experience in software development for more than 7 years;
- Excellent knowledge in Computer Science, Computing Theory:
- Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD);
- Database theory (RDBMS, NoSQL);
- Code testing practices;
- Algorithms;
- Data structures;
- Architectural, Enterprise and Design Patterns;
- Deployment patterns;
- Security patterns, Reverse engineering resistance, Common attacks types (OWASP);
- Understanding of network interactions:
protocols;
- conventions (e.g. REST, RPC);
- authentication and authorization flows; 
- standards and practices (e.g. oAuth, JWT);
- Excellent knowledge and experience in Python (more than 5 years);
- Practical commercial experience with:
- REST API development;
- Web application frameworks (e.g. Flask, Falcon, Django, Web2py, aiohttp, Tornado) (more than 4 years);
- Testing frameworks (e.g. e.g. pyTest, unittest);
- ORM (e.g. SQLAlchemy) (more than 4 year);
- RDBMS (e.g PostgreSQL, MySQL/MariaDB, MS SQL) (more than 4 year);
- NoSQL (e.g. MongoDB, ElasticSearch, CouchDB);
- Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr);
- Key-value storages (e.g. Redis, Memcached);
- Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS, Azure Service Bus, Google Pub/Sub);
- Web Servers;
- Version control systems (GIT);
- Cloud computing platforms (e.g. AWS, Google Cloud Platform, Microsoft Azure);
- Integration with 3rd party solutions;
- Docker;
- Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo);
- Builders;
- Experience with:
1.Leading Team;
2.Troubleshooting, profiling and debugging applications;
3.Creation software architecture and design of complex applications, platforms, microservices solutions; 
4.Agile software processes and technologies;
5.Code Review process;
6.Refactoring process;
7. Fluent English;



**Will be a plus:**
- Certifications on:
- Python;
- Cloud computing platforms (AWS, GCP, Microsoft Azure);
- Delivery processes (SAFe, Agile, etc);
- Experience with Leading and Supporting medium to large size solution delivery projects;
- Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm);
- Practical commercial experience with:
- Serverless architecture;
- Provisioning tools (e.g. Terraform, Ansible);
- Quality tools (e.g. SonarQube);

**Responsibilities:**
- Lead development team; 
- Lead and improve the decision-making process in design solution architecture, solution development, architecture and code review;
- Back-end development to meet customer’s business needs and implement components according to modern software development environment (cloud-based platforms, microservice architecture, etc.);
- Develop and review feature design documents and provide inputs/update to specifications for the solution;
- Design and implement a set of various types of tests (unit, integration, functional, etc);
- Proactive position in architecture preparation, solution development, processes improvements;
- Working in an international distributed team in an Agile environment;
- Communicate with PMs, engineers, Architects, QA and other colleagues and stakeholders;
- Delivering the product roadmap and plannings;
- To use high coding standards, software best practices and write highly testable, automatable and performant code over the whole SDLC