Position: Advanced Software Engineer - Java
Company: Innovecs
Experience required: 3y
English level: intermediate

**RESPONSIBILITIES:**
• Collaborate with other developers and teams to plan, design, develop, test, and maintain a distributed microservices ecosystem;
• Provide technical leadership to teammates through coaching, mentorship and code reviews;
• Maintain high standards of software quality within the team by establishing good SDLC practices and leading by example;
• Recommend improvements to infrastructure, technology, and processes.

**REQUIREMENTS:**
• At least 7+ years of Java development experience (or equivalent);
• Familiar and experienced with significant changes in Java8+;
• Deep understanding of OOP concepts;
• Experience with Java IOC and ORM frameworks;
• Experience with Maven and understanding of continuous build/delivery;
• Experience building REST/JSON APIs or web services;
• RDBMS experience including SQL, transaction management, performance tuning, and schema design;
• Experience with JMS providers like RabbitMQ;
• Experience with bash UNIX shell so able to run basic commands and write basic bash scripts;
• SCM experience, preferably GIT;
• Basic understanding of networking and security best practices;
• Experience with NoSQL databases;
• Familiarity with agile development methodologies;
• Great design and problem-solving skills, passion for quality and engineering excellence at scale;
• Upper-Intermediate English skills;
• Experience with other languages besides Java;
• Experience with messaging models, search indexing, distributed caching;
• Experience with containerized applications and service discovery;
• Experience tuning and scaling high-volume transactional use cases;
• BS in CS or related field.

**WILL BE A PLUS:**
• Experience with other languages besides Java;
• Experience with messaging models, search indexing, distributed caching;
• Experience with containerized applications and service discovery;
• Experience tuning and scaling high-volume transactional use cases.