Java ConsultantLocation: St. Louis, MOExperience: 8+ yearsDuration: 12+ monthsRole:Hands-on developer who writes high quality, secure code that is modular, functional and testable.Lead the design, implementation, and delivery for engineering efforts across a programCreate or introduce, test, and deploy new technology to optimize the serviceDesign and build technical road-maps and guide the development staff on adoptionContribute to all parts of the software’s development including design, development, documentation, and testing.Have strong ownership of your team’s software and are deep in the maintenance characteristics, runtime properties and dependencies including hardware, operating system, and build.Communicate, collaborate and work effectively in a global environment.Education and Experience:Degree in Computer Science or related fieldStrong foundation in algorithms, data structures and core computer science concepts.Evidence of working with object-oriented development and design patterns.Proficiency in multiple modern programming languages such as Java, Python, Ruby, Angular, Scala, etc.Strong written and verbal English communications skills.Strong analytical and excellent problem-solving skills.Experience working in an Agile environment.Experience with XP, TDD and BDD in the software development processesProficiency with cloud technologies (IaaS, PaaS, serverless technology, NoSQL databases), micro-service design, CI/CD, DevOpsExperience designing scalable fault tolerant platforms that are resilient to infrastructure failuresExperience with the strangulation pattern and anti-corruption layers to migrate monolithic systems into independent services