Required Skills/Must Have:
3 - 5 Years of Java, J2EE (both client and server side)
3 - 5 Years Experience with OOA/OOD, distributed systems/software, real time processing, relational database systems, messaging systems preferred
Experience with compilers or DSLs preferred
Experience with concurrency & multi-threading preferred
Experience with scaling, Java Garbage Collection, and performance tuning preferred
Understanding of data structures, algorithms and design patterns (GoF)
Experience with agile, test-driven development
Experience of virtualizing services for test automation using tools such as Wire Mock, Mockito
Expertise in cloud platforms, Docker and Terraform
Experience with application development frameworks like Spring, Hibernate, JSF or similar frameworks
Experience with Unix/Linux, Windows
Experience with build, deploy and test automation tools like Ant, Gradle, Maven, Jenkins, TeamCity, Junit, TestNG, JaCoCo or similar tools
Demonstrated experience working with core business logic within applications
Experience in developing APIs and Frameworks
Excellent written and verbal communication skills
Bachelor's degree in Computer Science