Position: Senior Java Developer for Imagine Software
Company: Ciklum
Category: Java
Experience required: 3y
English level: intermediate
Published: 2020-04-01T00:00:00+03:00

**Responsibilities**
Building and maintaining large scale software systems with long life spans
Building internet scale distributed systems or high volume client/server systems
Evaluating multiple technical approaches and selecting the most effective

**Requirements**
Strong computer science fundamentals
Operating system concepts
Data structures and algorithms
Complexity analysis
Multithreading/concurrency
Demonstrated expertise in building and maintaining large scale software systems with long life spans
Experience in building internet scale distributed systems or high volume client/server systems
Understanding of accessibility and security compliance
Understanding of fundamental design principles behind a scalable application
Basic understanding of front-end technologies, such as javascript, html5, and css3
Strong unit test and debugging skills
Passionate about performance optimization and distributed systems, finds enjoyment in profiling code and figuring out which piece of the software can be scaled most effectively
Experience evaluating multiple technical approaches and selecting the most effective
Good understanding of restful service design, api design and best practices for building resilient and maintainable distributed systems.
Prior experience in program management or project leadership desirable.
5+ years of professional experience with java

**Knowledge of:**

Java
JDK/Core
Spring Framework (MVC in particular)
Spring Security
JUnit
Tomcat
Apache Commons
Maven
Docker
CI tools (Teamcity)
MongoDB
JSON/BSON
RabbitMQ
JavaScript
Web Services (REST/SOAP)
Jira/Confluence

**Personal skills**
Great problem solving abilities
A strong desire to learn and share new tools and techniques
A commitment to quality and the drive to ensure goals are met
A passion for writing software
Ability to quickly adapt to new technologies
Attention to details

**What's in it for you**
Unique working environment where you communicate and work directly with client
Variety of knowledge sharing, training and self-development opportunities
Competitive salary
State of the art, cool, centrally located office with warm atmosphere which creates really good working conditions