Position: Senior Java Engineer
Company: Grid Dynamics
Experience required: 3y
English level: upper

We work with bleeding-edge technologies, including NoSQL databases such as Apache Cassandra, Docker, Java8, Big Data and Clouds, automated testing tools, built in-house Jagger performance measurement tool, Continuous Integration, and Delivery, etc.

Responsibilities:

- Participate in the design and development of the high-performance business application, from requirements analysis to production
- Continuously improve software quality (evaluate and incorporate new libraries, tools, and technologies; code reviews; refactoring; testing; etc.)
- Analyze and improve application performance
- Search for simple and robust solutions to complex tasks
- Work in an agile methodology environment where innovation, teamwork, and creativity are the key to success
- Collaborate with a distributed team of developers, QA engineers, analysts 

Requirements:

- Lead developer with 10+ years of experience
- Strong knowledge of Microservices architecture with Integration Background
- Has previous experience in rearchitecting and transitioning from a vendor based system like TIBCO BW / Mulesoft to an open-source platform like Apache Camel
- Excellent knowledge working in Java 8, Spring, Webservices, Mapstruct, Reactive Spring
- Knowledge of Enterprise Integration Patterns, API Gateway - Mashery
- Ability to work in a greenfield project
- Engineers extensible solutions with the team in mind and can fix tricky bugs
- Reviews code to ensure it is functionally correct and consistent with the technical design
- Mentor and guide the team members to produce quality code
- Accountable for domain dependencies and critical paths
- Responsible for intricate stories and integration or business requirements
- Anticipates risks and provides contingency solutions and timelines
- Experience in UI development using javascript and other UI frameworks like Angular
- Exhibit lead level skills, to be able to drive the assignments from requirements to Deployment by themselves independently
- Should have the right attitude to pick any technology
- Demonstrated ability to build frameworks that can are scalable, maintainable, and resilient.
- Bachelor of Science in Computer Science.
- Good knowledge and experience designing and developing applications and reusable components using J2EE technologies, Application servers
- Minimum of 5 years of experience with Java EE, JMS, Web Services, REST and JSON, XML, XSLT
- Strong experience using Git and Jenkins
- Experience with Unix/Solaris and Oracle databases.
- Strong analytical and problem-solving skills
- Strong oral and written communication skills and a team player
- Development experience with java security (nice to have)
- Experience or knowledge with Agile (Scrum)

We offer:

- Competitive salary
- Work on bleeding-edge projects  in a team of experienced and motivated developers and QA engineers
- Flexible working hours
- Business trips to the USA
- Health insurance, a benefits package, company-sponsored conferences, vacations
- Well-equipped office located in the center of the city