The health and safety of our employees, candidates and community members is very important to us. Due to the current coronavirus (COVID-19) outbreak, we’re leveraging phone and video conferencing for the vast majority of our interviews to ensure we can continue to recruit exceptional people to further our mission to improve health and improve lives. If you have any questions about our remote-based interviewing process, our Global Talent Advisors are ready to virtually assist you.
Location Burlington, North CarolinaJob ID 21-87312
Lead the technical design, planning and manage development of both UI and back-end services. Document and present architectural decisions to the team, peers, and management. Provides architectural guidance to the development team.
Work with the development team, project managers, business analysts, Quality Assurance and users across the organization and create agile, intuitive, and easy-to-use software.
Deliver prototypes, reusable and shared microservice components, advanced solutions, and implementations of application in Java.
Drive the evolution of our technology platform and development standards to ensure that we deliver scalable software solutions to business requirements.
Work with developers and integration team to brainstorm and research new design patterns in creating reusable solutions that can be utilized across the organization.
Develop complex RESTful services in a cross-functional and Agile development team.
Perform code reviews and code merges from all team members.
Follows best practices for test-driven development (unit testing and beyond)
Designs functional/system integration tests and automation.
Work with other groups within IT to foster the DevOps culture around automation of builds, testing, deploys and scaling.
Contribute to the SOA standards for the company and Conduct impact analysis.
Mentor and train developers and help to solve the technical challenges.
Pushes the envelope with innovative and creative thinking.
Provide modern and performant single page applications and address unique challenges in the interaction with various devices and input preferences.
License/Certification/Education: Normally requires a B.S. Degree in Computer Science with 10 years of experience in related field.
10+ year experience and expert knowledge of Java (7+) enterprise development and integration middleware development.
3+ year experience with hands-on application architecture for large enterprise solutions.
7+ years of experience in each of the following skills: Java, Spring Core, Spring Integration, Spring Boot, Spring MVC, Spring Security.
Strong understanding of Java concurrency, concurrency patterns, experience building thread safe application.
Must have extensive web application experience in developing employee/customer facing high scale applications.
Advanced skills in implementing Service APIs (SOAP, REST) with the market leading API Management tools such as Apigee, API Gateway.
Extensive experience delivering microservice based architecture leveraging APIs, containers, and automation.
Experience with web service technologies like JAX-RS, JSON, JAXB, JAX-WS, and WSDL.
Advanced knowledge of highly efficient RDBMS SQL (e.g., DB2, Oracle) and Java integration with it using Spring Data, JPA, Hibernate.
Experience with NoSQL implementations a plus (e.g., MongoDB, AWS DynamoDB).
Experience on cloud-based technologies (Preferred AWS or Kubernetes with OpenShift) and experience building cloud native applications.
Extensive hands-on experience with AWS technologies like Lambda, SQS, EC2 and ECS is a plus.
Expert knowledge in various data integration solutions (synchronous and asynchronous) messaging, Publish/Subscribe models, Middleware, and other related methodologies in a multi-user, multi-platform, multi-tier environment.
Experience with messaging products like IBM RabbitMQ, Kafka or ActiveMQ
Experience in Continuous Integration (CI) / Continuous Deployment (CD) using tools such as Maven, Gradle, Git, Sonar, Jenkins, Jira.
Hands On experience with TDD with expertise in Junit5 / Mockito.
Strong analytical, communication and team collaboration skills
Work as a multi-skilled professional practicing Agile/SCRUM methodology.
Ability to coach and mentor junior developers as well as teams adopting the platforms.