Position: Senior Full Stack Java Developer
Company: Ciklum
Category: Java
Experience required: 5y
English level: upper

Description
Ciklum is looking for a Senior Full Stack Java Developer to join the team on a full-time basis.
We are a leading global product engineering and digital services company that unites 4000+ seasoned professionals globally on various projects in healthcare, fintech, travel, sportswear, entertainment, and security. Ciklum delivers high-impact technology solutions to Fortune 500 and fast-growing organisations worldwide.

About the role:
As a Senior Full Stack Java Developer, become a part of a cross-functional development team working for our Client.
You will join a highly motivated team and will be working on a modern solution for our existing client. We are looking for technology experts who want to make an impact on new business by applying best practices and taking ownership.

About the project:
Our Client is a pioneer in its field. By using technologies that illuminate the darkest corners of the internet and provide unparalleled visibility into the largest source of data in the world, the internet. The Client uses artificial intelligence and machine learning techniques to assess hundreds of millions of domains and effectively categorize the internet. These insights shine a light on hidden relationships and risks, identify an entity’s full digital fingerprint, and reveal new opportunities to scale businesses efficiently and confidently.
The Client is looking for an experienced Full Stack developer to join the engineering team. You will be responsible for building the client-side web application of our flagship product and will also contribute to the development of new future products that are based on our machine learning data infrastructure.

Responsibilities
Back-end/Front-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, develop and influence our flagship product
Develop new user-facing features
Developing features to enhance the user experience
Optimize application for maximum speed and scalability
Collaborate with developers, QA engineers and other team members to design, implement and provide a performant, scalable, reliable and flexible solution
Work together with Product and UI/UX Designers to define how the application looks as well as how it works
Division between back end and front end: **70% BE, 30% FE**

Requirements
Back End:
At least 5 years of experience in Java back end development – web Java is needed
Good knowledge and experience with Spring Boot Framework
Strong knowledge of relational databases (MySQL preferred – strong knowledge of MySQL is must have)
Experience with large-scale distributed systems
Experience with systems that are in production state
Experience with a microservices- based architecture such as Docker/K8- An advantage (good to have, since client gradually shifts to microservices. K8s is part of daily job at project)
Hands on experience with cloud infrastructure, preferably AWS – An advantage (experience with any Cloud infrastructure – must, AWS – optional)
Experience with Big Data technologies such as NoSQL ,Queues and ES – An advantage (some experience with Queues is expected, NoSQL, ES – advantage, work with ES is planned, it’s currently implemented in processes)
Experience developing Groovy on Grails – A big Advantage (readiness to learn and to work with Groovy is a must, since monolith of app is written on GoG)
Front End:
At least 2 years of experience in Front End development with Angular 
Experience in writing unit tests and UI automation – An advantage (UI automation – not obligatory, Unit tests, component tests – advantage)
Excellent knowledge in Computer Science, Computing Theory:
Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD – knowledge of them all is usual for a Senior candidate)
Database theory (RDBMS – a must, NoSQL – not a must)
Code testing practices
Algorithms
Data structures
Architectural, Enterprise and Design Patterns
Security patterns, Reverse engineering resistance, Common attacks types (OWASP)
Practical commercial experience with:
REST API development
Testing frameworks (e.g.e.g. JUnit, PowerMock, WiresMock) – basic knowledge of writing any tests, no TDD is used
ORM (e.g. Hibernate) – must have
Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS, SNS, Azure Service Bus, Google Pub/Sub) – Client works with SQS but any systems will do
Version control systems (GIT)
Cloud computing platforms (e.g. AWS, Google Cloud Platform, Microsoft Azure) – experience with any will do
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo) – good to have experience, not a must
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
MySQL – a must. Others are good to have
MongoDB
Kafka
AWS SQS, SNS
Hibernate
Jenkins
Kubernetes (EKS), Helm, Terraform – great advantage. But if other technologies are of high quality it’s possible to leave w/o Kubernetes. Kubernetes started being used for CI/CD

What's in it for you
Care: your mental and physical health is our priority. We ensure comprehensive company-paid medical insurance, Mental Health programs, as well as financial and legal consultations
Tailored education path: boost your skills and knowledge with our regular internal events (meetups, conferences, workshops), Udemy licence, language courses and company-paid certifications
Growth environment: share your experience and level up your expertise with a community of skilled professionals, locally and globally
Flexibility: choose how you want to work – a 100% remote or on-site in our offices. Own your schedule – you are the one to decide when to start your working day. Just don’t miss your regular team stand-up
Opportunities: we value our specialists and always find the best options for them. Our Internal Mobility Program helps change a project if needed to help you grow, excel professionally and fulfil your potential
Global impact: work on large-scale projects that redefine industries with international and fast-growing clients
Welcoming environment: feel empowered with a friendly team, open-door policy, informal atmosphere within the company and regular team-building events
About us:
Discover the pros of 20-year global experience! Join one of the largest IT companies in Ukraine, awarded as one of the top 10 employers in Ukraine by Forbes.
Boost your skills and make a difference with cutting-edge projects, skilled colleagues and the latest tech stacks.
Ciklum has been recognised as a veteran-friendly business by the Veteran Hub in Ukraine.
We’re committed to creating a welcoming environment for veterans and developing processes that meet their needs. We value the skills and unique perspectives military veterans can bring to our business and are willing to support their transition to civilian life.
Be bold, not bored!
Interested already? We would love to get to know you! Submit your application. We can’t wait to see you at Ciklum.