Experience
- 3+ years recent development experience. Formal qualification is a plus.
- Exposure to the full software life cycle.
- Experience developing high performance, scalable, reliable applications.
- Proven experience meeting deadlines and delivering quality code.
Development skills
- Strong OO design and development skills in core Java.
- Exposure to and interest in modern design patterns.
- Good understanding of the Java thread model.
- Good understanding of the Java networking model.
- Extensive experience with the IoC pattern in general and the Springframework in particular, including its current ecosystem.
- Solid Java SDLC (develop, debug, test, package, publish, deploy) experience.
- Exposure to the agile methodology, including implementation of unit tests (JUnit, Mockito, PowerMockito) and continuous integration (Jenkins).
- Strong JVM configuration and tuning experience.
- Inter-process communications using TCP/IP sockets
- SQL, relational database design and JDBC, preferably with MySQL
- Strong JVM configuration and tuning experience
- Following skills are a bonus, not a requirement:
○ Experience with microservices.
○ Experience and interest in Vagrant and Docker.
○ Java Server Pages (JSP)
○ Java ME
○ Application server experience (FireFly, Glassfish, Spring, karaf or OSGI framework).
○ Design patterns
○ Communications protocols
○ Test driven development (TDD)