Position: Expert Java Developer
Company: Ciklum
Category: Java
Experience required: 5y
English level: intermediate

Responsibilities
Lead development team
Lead and improve the decision-making process in design solution architecture, solution development, architecture and code review
Back-end development to meet customer’s business needs and implement components according to modern software development environment (cloud-based platforms, microservice architecture, etc.)
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 architecture preparation, 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 7 years
Must have: Senior mindset, problem solver, deep technical knowledge
Big Plus: Experience with high-performance and high-load systems
Excellent knowledge in Computer Science, Computing Theory:
Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD)
Database theory (RDBMS, NoSQL)
Code testing practices
Algorithms
Data structures
Architectural, Enterprise and Design Patterns
Deployment patterns
Security patterns, Reverse engineering resistance, 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 Java and (more than 5 years)
Big Plus: Kotlin / Reactive programming experience (Spring Boot Reactor)
Big Plus: Domain Driven Design expertise
Big Plus: Ops insights, comfortable with Linux, command lines, Kubernetes
Plus: Node.js / Typescript experience (for AWS lambda’s)
Plus: AWS experience (Aurora, Lambda’s, Step Functions…)
Practical commercial experience with:
REST API development
Web application frameworks (e.g. Spring Boot Framework) (more than 4 years)
Testing frameworks (e.g.g. JUnit, PowerMock, WiresMock) (more than 4 years)
ORM (e.g. Hibernate) (more than 2 years)
RDBMS (e.g MySQL/MariaDB, PostgreSQL, Oracle) (more than 4 years)
NoSQL (e.g. MongoDB, ElasticSearch, CouchDB)
Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr)
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 solutions (e.g. AWS, Google Cloud Platform, Microsoft Azure)
Integration with 3rd party solutions
Docker
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
Builders
Experience with:
Leading Team
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 English
Desirable
Certifications on:
Java
Spring Frameworks
Cloud providers
Delivery processes (SAFe, Agile, etc)
Experience with Leading and Supporting medium to large size solution delivery projects
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