Programmer Analyst Specialist (Java) - 3614


Responsibilities: 
• Provide technical consulting and/or leadership on complex projects.

• Provide technical expertise in one or more areas of applications systems analysis and programming.

• Devises or modifies procedures to solve complex problems.

• Responsible for application design, coding, testing, debugging, and documentation.

• Has full technical knowledge of all phases of applications systems analysis and programming.

• Works company-wide in multi-platform environments on multiple project assignments.

• Perform other duties as requested or assigned. 


Qualifications:
• Ability to handle multiple deadlines and priorities

• Ability to collaborate across departments and disciplines

• Problem solving ability

• Demonstrated success adapting to rapidly changing technology and business needs

• Demonstrated ability to lead and mentor a development team

• Ability to work independently or collaboratively

• Achievement orientation and Customer focused Technology,

 

Required:

• Demonstrated expertise in Java [version]

• CI/CD principals and tools:

o Test Automation tools for Java like JUnit, Mockito and Cucumber.

o Distributed version control tool like Git.

o Continuous integration builds, and related tools like Gradle, SonarQube and Nexus.

• Containerization and Microservices

o Experience using Docker to build and ship Java and Javascript based applications as images and running applications as containers.

o Experience using Spring Boot to build Microservices in the style of 12 Factor Apps.

• Web Services

o Producing and consuming web services using REST and SOAP.

o Securing web services using technologies like LDAP, SSL, JWT and OAuth.

• Dependency injection framework like Spring

• Database

o Experience using JPA and/or Spring Data to read and write to relational databases.

o Experience with a NoSQL platform like Apache Cassandra configured for eventual consistency and high availability.

• Refactoring o Experience with performance tuning and optimization tools.

o Experience reengineering legacy software.

Preferred:

• Domain Driven Design principles.

• Distributed systems principles and patterns.

• Enterprise Integration patterns and frameworks like Spring Integration or Apache Camel.

• Cloud Native Java principles, patterns and frameworks like Spring Cloud or Netflix OSS.

Education:

 • Bachelors in Computer Science, Information Systems, Mathematics, Engineering, or Business preferred. 

 

MSI is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, or national origin.