Position: Senior Java Backend Developer (Mulesoft)
Company: GlobalLogic
Experience required: 3y
English level: intermediate

BMC delivers software solutions that help IT transform digital enterprises for the ultimate competitive business advantage. We have worked with thousands of leading companies to create and deliver powerful IT management services. From mainframe to cloud to mobile, we pair high-speed digital innovation with robust IT industrialization—allowing our customers to provide amazing user experiences with optimized IT performance, cost, compliance, and productivity. We believe that technology is the heart of every business, and that IT drives business to the digital age. 

Requirements:

 5+ years of Java experience, developing distributed web systems in Java
Strong OO-design and -programming skills preferred
Experience and knowledge of necessary advanced Java concepts like multi-threading and concurrency, Java streaming, REST APIs invocation with handling pagination
Design Patterns knowledge like Factory Pattern
Experience with static and dynamic XML schema binding using JAXB, along with Java marshaling and unmarshaling
Comfortable with JSON parsing in Java
Hands-on with using Unit test frameworks like JUnit and writing unit tests for maximum code coverage.
Experience in server-side development of services, e.g. with Tomcat, Jetty, Karaf
Experience in the design and development of message-oriented, service-based solutions
Experience in creating modular systems and API design
Experience developing solutions for the Linux platform; knowledge of Bash
Experience in implementing network-based architectures
Experience writing software using Test-Driven Development principles
Experience with Maven, Jenkins, Sonar
Strong understanding of Agile methodologies
Is a merit:
Prior experience developing connectors and integrations for IPaaS platforms such as Jitterbit, Mulesoft, Dell Boomi is a bonus. 
Experience with highly available, scalable and fault-tolerant systems is a plus
Experience with JavaScript

Preferences:
Agile, JMS, System Integration

Responsibilities:
Translate application storyboards and use cases into functional applications
Design, build, and maintain efficient, reusable, and reliable Java code
Ensure the best possible performance, quality, and responsiveness of the applications
Identify bottlenecks and bugs, and devise solutions to these problems
Help maintain code quality, organization, and automatization
Designs should be based on sound SOA best practices that support modular integrated design concepts
Assess, Design, and Deliver an Integration Architecture that supports High Availability and Scalability