Position: Middle Python Developer for Ciklum Digital
Company: Ciklum
Experience required: 2y
English level: intermediate

**Responsibilities**
Back-end development of new functionality;
Code and Architectural review;
Transform requirements to a set of various types of tests;
Communicate with PMs, developers, architects, QA engineers and other colleagues and stakeholders;
Proactive position in solution development, processes improvements;
Delivering the product roadmap and planning for the future;
Handle complex problems that might arise during solution development and provide field support with creative and rapid solutions;
Ensure that the highest coding standards are met and write highly testable, automatable and performant code over the whole SDLC.

**Requirements**
Good knowledge of computer science and computing theory:
OOP, SOLID, TDD;
Database theory (RDBMS);
Algorithms and data structures;
Design patterns.
Understanding of network interactions and protocols, conventions (REST), authentication and authorization standards and practices (oAuth, JWT);
Good knowledge and experience in Python (more than 2 years);
Troubleshooting and debugging Python applications;
Practical experience with:
Web frameworks (e.g. Flask, Falcon, Django, Web2py, aiohttp, Tornado);
Testing frameworks (e.g. pyTest, unittest);
ORM (e.g. SQLAlchemy);
NoSQL, RDBMS;
Continuous Integration;
Version control systems (e.g. GIT).

**Desirable**
Understanding of orchestration and virtualization (Docker);
Experience with Cloud solutions (e.g. AWS, Google Cloud, Azure);
Knowledge of message broker systems (e.g. RabbitMQ, Apache Kafka);
Knowledge of key-value storages (e.g. Redis, Memcached, DynamoDB).

**Personal skills**
Good team player, motivated to develop and solve complex tasks;
Strong communication and problem solving skills;
Self-motivated, self-disciplined and result-oriented;
Willing to improve professional knowledge.

**What's in it for you**
Career growth opportunities;
Realization of your innovative ideas in building new solutions and services;
Possibility to propose solutions on a project;
Friendly collaborative teams and enjoyable working environment;
Professional skills development and training programs;
Variety of knowledge sharing, training and self-development opportunities;
Learn different business domains;
Constant flow of new projects;
Dynamic and challenging tasks;
Projects from scratch;
Continuous self-improvement;
State of the art, cool, centrally located offices with warm atmosphere which creates really good working conditions;
Long-term employment with 20 working-days paid vacation and other social benefits.