Job Requirements –
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 proficiency with Spring, Spring Boot and development of RESTful/JSON web services in a micro-service architecture
Demonstrable experience with Restful web services using JSON (JSON-API and/or GraphQL preferred)
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)
Any Graduate