Position: Senior PHP Developer
Company: Ciklum
Experience required: 3y
English level: intermediate

**Project description:**

As a **Senior PHP Developer** you will join a dynamic team of Engineers who share a passion for technology and for providing the best experience possible to our members. In this role, you will become a part of the **Urban Sports Club** production engineering team, responsible for maintaining and improving our platform reliability, monitoring and automation of our processes. 
Urban Sports Club engineers are smart, flexible and great problem solvers. We follow software development best practices to build a well-specified, scalable product based on strongly modularized architecture, automated testing, and deployment. Join our team and help us continue to inspire people to lead an active and healthy life! 

**Responsibilities**
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
Design and implement a set of various types of tests (unit, integration, functional, etc)
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
Excellent knowledge in Computer Science, Computing Theory:
Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD)
Database theory (RDBMS, NoSQL)
Code testing practices
Algorithms & data structures
Enterprise and Application Design Patterns
Security patterns, 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 PHP (more than 3 years)
Practical commercial experience with:
REST API development
Web application frameworks (e.g. Symfony) (more than 3 years)
Testing frameworks (e.g. PHPUnit) (more than 2 years)
ORM (e.g. Doctrine) (more than 2 years)
RDBMS (e.g MySQL/MariaDB, PostgreSQL, MS SQL) (more than 2 years)
Key-value storages (e.g. Redis, Memcached)
Search engines (Elasticsearch) (more than 1 year)
Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS, Azure Service Bus, Google Pub/Sub)
Web Servers (e.g. NGINX, Apache)
Version control systems (GIT)
Cloud computing platforms (e.g. AWS, Google Cloud Platform, Microsoft Azure)
Docker
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
Builders
Experience with:
Troubleshooting, profiling and debugging applications
Creation software architecture and design of complex applications, platforms, microservices solutions
Agile software processes and technologies
Code Review process
Refactoring process
Fluent or Upper-Intermediate English

**Desirable**
Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm)
Knowledge of Deployment patterns
Practical commercial experience with:
NoSQL (e.g. MongoDB, CouchDB)
Provisioning tools (e.g. Terraform, Ansible)
Quality tools (e.g. SonarQube)

**What's in it for you**
Career growth opportunities
Realization of your innovative ideas in building new Ciklum Solutions and Services
Friendly collaborative teams and enjoyable working environment
Professional skills development and training programs
Variety of knowledge sharing, training and self-development opportunities
State of the art, cool, centrally located offices with a warm atmosphere which creates really good working conditions