Description de l'emploi
On behalf of Ciklum Digital, we are looking for a Senior Python Developer to join our team on a full-time basis. Ciklum is building a team to work on various projects which primary goal to improve and automate the customer’s business processes, reduce the time and efforts, required for various operations. Responsibilities: Design and implement a set of various types of tests (unit, integration, functional, etc) Back-end development to meet customer’s business needs and implement components according to modern software development environment (cloud-based platforms, microservice architecture, etc) Taking part in the decision-making process in design application architecture, solution development, architecture and code review Develop and review feature design documents and provide inputs/update to specifications for the solution Proactive position in 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 Requirements: Experience in software development for more than 5 years Strong Linux knowledge (more than 3 years) Excellent knowledge in Computing Theory: Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD) Database theory (RDBMS, NoSQL) Code testing practices Algorithms Data structures Architectural, Enterprise and Design Patterns 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): Strong Multiprocessing, Threading and AIO knowledge Low-level network knowing (e.g. socket, TCP / UDP) Practical commercial experience with: Web application frameworks (e.g. Flask, Falcon, Django, aiohttp) (more than 3 years) PyTest frameworks (more than 3 years) RDBMS (e.g PostgreSQL, MySQL/MariaDB, MS SQL) (more than 2 year) Key-value storages (e.g. Redis, Memcached) Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS) GIT Version control system Cloud computing platforms AWS or GoogleCloud Platform Docker Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins) Experience with: Troubleshooting, profiling and debugging applications Creation software architecture and design of complex applications Agile software processes and technologies Code Review process Refactoring process Fluent or Upper-Intermediate English Desirable: Certifications on: Python Cloud computing platforms (AWS, GoogleCloud Platform) Ability to lead feature development, take full ownership of tasks from A-Z and deliver independently with minimum supervision Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm) Knowledge in Deployment patterns Practical commercial experience with: NoSQL (e.g. MongoDB, ElasticSearch, CouchDB) Experience with Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr) Quality tools (e.g. SonarQube, Radon) What's in it for you? Employment under the law of the Republic of Belarus Close cooperation with the client A constant flow of new projects Dynamic and challenging tasks Ability to influence project technologies Projects from scratch Team of professionals: learn from colleagues and gain recognition of your skills European management style Continuous self-improvement Project description: Headquartered in New York City, VAST Data is simplifying the data center and redefining how organizations interact with data with its Universal Storage concept. They are looking for innovative, talented and hard-working people to join their fast-growing team. You will work in an environment where collaborating on ideas, questioning assumptions and rethinking the nature of the problem is as fundamental as the air they breathe. Where you thrive on finding new ways to move forward. Where you are challenged to reject incremental gains in favor of finding bold paths that can altogether change the nature of computing. Imagine the vast difference this would make. Their team thrives in an informal and collaborative environment where team members are encouraged to grow beyond the confines of their job description or role.