Position: Middle Java Developer
Company: Ciklum
Experience required: 3y
Category: Java
English level: intermediate
Published: 2020-07-01T00:00:00+03:00

Ciklum is building a team to work on various projects whose primary goal is to improve and automate the customer’s business processes, reduce time and efforts, required for various operations.

**About the Project**

The client is the market-leading provider of working capital finance for businesses and people globally. Founded in 2011, the company is headquartered in London with offices in New York, Chicago, Miami, Frankfurt, Bremen, and Sydney, with more than 800 specialists worldwide. The client provides Supply Chain Finance to customers across Europe, North America, Latin America, Africa and Asia and works with a host of banks and institutional investors to provide solid funding streams to underpin the process.
 
**Responsibilities**

●	Back-end development to meet customer’s business needs and implement components according to modern software development environment;
●	Taking part in the decision-making process in application code design, solution development, 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 3 years;
●	Strong knowledge in Computer Science, Computing Theory:
○	Paradigm & Principles (OOP, SOLID);
○	Database theory (RDBMS);
○	Code testing practices;
○	Algorithms;
○	Data structures;
○	Design Patterns;
●	Understanding of network interactions:
○	protocols;
○	conventions (e.g. REST, RPC);
○	authentication and authorization flows; 
○	standards and practices (e.g. oAuth, JWT);
●	Strong knowledge and experience in Java (more than 2 years);
●	Practical commercial experience with:
○	REST API development;
○	Web application frameworks (e.g. Spring Boot Framework) (more than 1 years);
○	Testing frameworks (e.g.e.g. JUnit, PowerMock, WiresMock) (more than 1 years);
○	ORM (e.g. Hibernate) (more than 1 years);
○	RDBMS (e.g MySQL/MariaDB, PostgreSQL, Oracle) (more than 1 years);
○	Web Servers;
○	Java front-end frameworks (JSP/JSF/Thymeleaf);
○	Version control systems (GIT);
○	lombok;
○	Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo);
○	Builders;
●	Experience with:
○	Agile software processes and technologies;
○	Code Review process;
○	Refactoring process;
●	Upper-Intermediate English;

**Desirable**

●	Knowledge in:
○	TDD, BDD;
○	Architectural, Enterprise Patterns;
○	Security patterns, Common attacks types (OWASP);
○	Deployment patterns;
●	Experience with:
○	Troubleshooting, profiling and debugging applications;
○	Microservices; 
●	Practical commercial experience with:
○	Key-value storages (e.g. Redis, Memcached);
○	Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS, Azure Service Bus, Google Pub/Sub);
○	Cloud solutions (e.g. AWS, Google Cloud Platform, Microsoft Azure);
○	Serverless architecture;
○	Integration with 3rd party solutions;
○	NoSQL (e.g. MongoDB, ElasticSearch, CouchDB);
○	Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr);
○	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 an 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.