▪ 5+ yrs experience as a developer working on large, distributed systems ▪ 8+ yrs development in any language, 4 most recent years in Java developing server-side applications ▪ Expert in Core Java 1.8 and above ▪ Demonstrable experience with Restful web services using JSON (JSON-API and/or GraphQL preferred) ▪ Demonstrable proficiency with Spring, Spring Boot and development of RESTful/JSON web services in a micro-service architecture ▪ Proficient with design methods/patterns (e.g., DRY, SOLID, ReST) and their practical application ▪ Demonstrable proficiency with JUnit, Mockito, Assert-J ▪ Proficient level experience with messaging frameworks such as JMS and ActiveMQ ▪ Demonstrable proficiency with Agile and Test-Driven development ▪ Proficient level experience with Relational and NoSQL databases ▪ Proficient level experience with database access using Spring JDBC template, JPA, Hibernate (against SQL Server, preferred but not required) ▪ Proficient in MacOS, Unix, and Linux ▪ High-level understanding of in-memory distributed data storage systems like memcache, ehcache, Hazelcast ▪ Proficient in Git ▪ Experience with continuous integration systems like Jenkins, GitHub, and GitHub actions ▪ Preferred experience with cloud deployments (Preferably Azure) ▪ Experience with build tools like Maven ▪ Experience with using the IntelliJ IDE ▪ Proficient with profiling tools ▪ Able to compare and contrast third party libraries ▪ Excellent [verbal and written] communication skill ▪ Working knowledge of Windows, Unix, and Linux ▪ Highly motivated and driven by a desire to solve difficult problems, and learn new technology ▪ Experience with international software development (multi-lingual, multi-currency, geographic, and locale awareness) ▪ Bachelor’s or higher in Computer Science, Engineering, or software development-related field