Position: Senior Java Developer for Ciklum Client
Company: Ciklum
Experience required: 3y
English level: upper

Our Сlient is a leading supplier of toll road software and architecture starting a new product for managing toll roads from scratch. The solution includes mobile application, back office and tolling services estimator. Also, a lot of integration with financial tools, tolling agencies, and payment methods are crucial for product success. Ciklum team is playing a leading role for the whole program management, leading and coordinating the efforts of several teams and vendors.

**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
● 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

**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
○	Data structures
○	Security patterns, Reverse engineering resistance, Common attacks types (OWASP)
●	Understanding of network interactions:
○	protocols;
○	standards and practices (e.g. oAuth, JWT)
● Excellent knowledge and experience in Java (more than 3 years)
● Practical commercial experience with:
○	REST API development
○	Web application frameworks (e.g. Spring Boot Framework) (more than 2 years)
○	Testing frameworks (e.g. JUnit, PowerMock, WiresMock) (more than 2 years)
○	ORM (e.g. Hibernate) (more than 2 years);
○	RDBMS (e.g MySQL/MariaDB, PostgreSQL, Oracle) (more than 2 years)
○	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)
○	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
● Upper-Intermediate English

**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 warm atmosphere which creates really good working conditions