Technical Skills 5+ years of software engineering experience in Java-based programming (or equivalent) Strong Java skills using JDK11 (Lambdas, Collections, GC Optimizations, Threading) Experience in application architecture and design Mastery in writing database-driven web services with REST-based services i.e, JAX-RS Mastery in writing event/messaging services Experience building and migrating to Microservices Experience with Inversion of Control (IOC) frameworks like Dropwizard.io, Spring Boot Experience with IaaS and PaaS – Amazon Web Services (AWS) preferred Experience with Git and Github Experience with Continuous Integration/Continuous Deployment. Master Your Craft Design, create, and implement Java-based applications Interpret design docs and user stories to create high-quality coding that functions according to specifications Write high-quality and fully tested code Understand the benefits of code reviews and can give and receive them graciously You value quality and employ best practices to deliver correct solutions that are maintainable and reliable without being over-engineered. Take Ownership You take personal ownership seriously and drive excellent outcomes for your team and all stakeholders. You strive to become a master of your craft and to build the best software. You are willing to take part in an on-call rotation. You enjoy providing technical leadership and mentoring. You make your team and the organization stronger through collaboration and effective communication. You value being agile much more than doing agile. If bugs escape, you treat them as a learning opportunity for you and the team. Interpersonal Skills You are candid and objective in your interactions with your colleagues. You give and accept feedback that benefits individuals, teams, the organization, and ultimately customers.