We are looking for a principal Java developer for CRM squad. Who have a strong knowledge of CRM concepts. Who knows and uses microservice architecture and enterprise integration patterns. Who knows how to architect APIs and how to handle it’s change.
On this position you will be able to work with a bunch of Java components, develop and enhance microservices ecosystem, deals with a lot of integrations with 3rd party systems and organizing CRM API in a way it should be.
It’s a great opportunity to work with live product which placing leading positions in own market share. Real highload products, a lot of brands and real continuous delivery.
Requirements:
• 4+ years of experience with Java/J2EE server side development
• Experience with designing and implementing large scale, production, multi-module systems and services
• Knowledge of Java basic concepts: GC, multithreading, locking and synchronization
• Experience with web technologies and frameworks
• Familiarity with Linux based development
• Bachelor’s degree in Computer Science, Computer Engineering or a related technical fields
• Experience working with enterprise data repositories like MS SQL, Postgresql and MySQL
• Familiarity with build and CI frameworks — Maven, Bamboo
• Experience in development of Java swing application
• Understanding of Agile development methodology
• Reading and writing English level
• Deep understanding of the Java language, its APIs, it’s performance consideration and internals
• Experience working with Spring Framework and Spring Boot
• Experience working with Hibernate
• Experience working with ELK
• Experience working with Front-end frameworks (AngularJS, React)
• Friendly team — work with open-minded, remarkable and skilled people
• Agile ’startup’ environment within a well-established international company
• Opportunity to step into a broad production role, drawing upon skills in complex backend systems
• Direct and immediate impact on a company business results
• Analysis, development and testing of server side modules
• Close co-operation with product owners, business analysts, testers and other developers
• Coaching and supporting other team members
• Furthermore, as part of a scrum team you will be responsible for technical designs and estimations through considering system performance, scalability and maintainability aspects