Descripción del trabajo
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 reviewDevelop and review feature design documents and provide inputs/update to specifications for the solutionProactive position in solution development, processes improvementsWorking in an international distributed team in an Agile environmentCommunicate with PMs, engineers, Architects, QA and other colleagues and stakeholdersDelivering the product roadmap and planningsTo 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 yearsStrong Linux knowledge (more than 3 years)Excellent knowledge in Computing Theory:Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD)Database theory (RDBMS, NoSQL)Code testing practicesAlgorithmsData structuresArchitectural, Enterprise and Design PatternsUnderstanding of network interactions:ProtocolsConventions (e.g. REST, RPC)Authentication and authorization flowsStandards and practices (e.g. oAuth, JWT)Excellent knowledge and experience in Python (more than 5 years):Strong Multiprocessing, Threading and AIO knowledgeLow-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 systemCloud computing platforms AWS or GoogleCloud PlatformDockerContinuous Integration tools (e.g. Gitlab Pipeline, Jenkins)Experience with:Troubleshooting, profiling and debugging applicationsCreation software architecture and design of complex applicationsAgile software processes and technologiesCode Review processRefactoring processFluent or Upper-Intermediate English Desirable:Certifications on:PythonCloud computing platforms (AWS, GoogleCloud Platform)Ability to lead feature development, take full ownership of tasks from A-Z and deliver independently with minimum supervisionUnderstanding of orchestration and containerisation (e.g. Kubernetes, Swarm)Knowledge in Deployment patternsPractical 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 BelarusClose cooperation with the clientA constant flow of new projectsDynamic and challenging tasksAbility to influence project technologiesProjects from scratchTeam of professionals: learn from colleagues and gain recognition of your skillsEuropean management styleContinuous 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.