LabCorp Corporate IT is actively searching for experienced expert-level Java Application Architects who will leverage their technology skills to develop business solutions within the healthcare industry. The Application Architect role will be part of newly formed development teams within LabCorp and contribute to creating and implementing enterprise standards for a web service platform (RESTful APIs). The applicant will be challenged with cutting-edge technologies to provide a modern framework for Java/Linux-based solutions across virtualized machines, and hybrid cloud platforms (IaaS). As part of this transformational team, the applicant will enable new business workflows for the company as well as help to build out a new IT infrastructure. These platforms enable rapid delivery for our IT teams. The prospective candidate will be engaged in a wide variety of work, including but not limited to web applications and web service development, platform development, automation, and coaching/mentoring of teams adopting the platforms. The Application Architect will provide technical leadership in our agile development teams. The role will include dealing with complex business integrations, eliciting requirements, and implementing secure and high-performance services consumed by various devices and applications across the organization. The applicant will drive the evolution of our solutions and ensure that we meet our internal and external clients' software requirements.
Most importantly, you'll be engaged in meaningful work for an organization that is committed to "helping people live longer and healthier lives" every day.
Provide modern and fast single-page applications and address unique challenges in the interaction with various devices and input preferences.
Work with the service development team, project managers, business analysts, web service software developers and users across the organization and create a fast, intuitive, and easy-to-use software.
Develops complex RESTful web services in a cross-functional and agile development team
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.
Contributes to complex application architecture, technical alternatives. Contributes to the SOA standards for the company. Conducts complex impact analysis.
Performs code and design reviews with peers.
Follows best practices for test-driven development (unit testing and beyond)
Design functional/system integration tests and automation.
Pushes the envelope with innovative and creative thinking
Deliver prototypes, reusable and shared microservice components, advanced solutions, and implementations of application in JAVAs. Collaborate with Business Analyst on product requirements analysis.
Drive the evolution of our solutions and ensure that we meet the coding standards and ensure software requirements are met. Assist Junior Java developer and integration team in brainstorming, and research new design patterns into reusable components for deliverables and larger development teams across the organization.
Develop and drive the evolution of application development standards and coding guides. Ensure user software requirements are met.
Develop complex RESTful web services in a cross-functional and Agile development team. Perform code reviews, code merges and monitor check-ins from all team members.
Work with other groups within IT to further the DevOps culture around automation of builds, testing, deploys and scaling.
Contribute to the SOA standards for the company. Mentor and train developers and help solve the toughest technical challenges
Managing Docker builds and images
Deploying services in Kubernetes
Rolling Kubernetes service updates
The person can work either from Burlington or RTP, North Carolina.
License/Certification/Education: Normally requires a B.S. Degree in Computer Science/Computer Information Systems/Information Technology/Software Engineering/ Computer Engineering, or foreign equivalent with 10 years of experience in related field.
Bachelor's degree in Computer Information Systems, Information Technology, Software Engineering, Computer Science, Computer Engineering, or foreign equivalent plus ten (10) years of experience as Architect, Technical Lead, User Interface Developer, Consultant, or Software Engineer.
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.
Expert knowledge of JEE compliant application servers (WebSphere preferred), integration middleware, building REST and SOAP web services using Java
Excellent working experience with Spring, Hibernate, Maven, and other frameworks.
Advanced knowledge of web service technologies like JAX-RS, JSON, JAXB, JAX-WS, WSDL, Spring based REST services.
Advanced knowledge of highly efficient RDBMS SQL (e.g. DB2, Oracle).
Experience with NoSQL implementations a plus (e.g., MongoDB, Hadoop).
Strong understanding of Java concurrency, concurrency patterns, experience building thread safe code
Must have extensive web application experience in developing customer facing high scale applications
Demonstrated experience in building Microservices and leading a Microservices team
Work on any cloud-based environment and experience building cloud native applications
Experience with messaging products like RabbitMQ, Kafka or ActiveMQ
Advanced skills implementing API Service architectures (SOAP, REST) using any of the market leading API Management tools such as Apigee and frameworks such as Spring Boot for Microservices
Extensive experience delivering a Microservices based architecture leveraging APIs, containers and automation
Expert knowledge with a track record of solution delivery using various data integration solutions in situations requiring real time (synchronous and asynchronous) messaging, Publish/Subscribe models, Microservices patterns, Middleware, and other related methodologies in a multi-user, multi-platform, multi-tier environment
Experience with development tools like Eclipse, Git, Gradle, Sonar, Jenkins, Jira, Artifactory etc.
Experience with TDD, code testability standards, JUnit/Mockito and continuous integration
Strong analytical, communication and team collaboration skills
Work as a multi-skilled professional practicing Agile/SCRUM methodologies.
Ability to coach and mentor junior developers as well as teams adopting the platforms.
Passion for collaboration and working on agile teams.
8:00 a.m. to 5:00 p.m., Monday through Friday
As an EOE/AA employer, the organization will not discriminate in its employment practices due to an applicant's race, color, religion, sex, national origin, sexual orientation, gender identity, disability or veteran status.