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)
- ○ Linux
○ C++, Delphi, PHP or other language experience.
System skills
- Linux (intermediate). Expert with bash scripting experience preferred.
- Version control systems - CVS/SVN/GIT (intermediate)
- CentOS/Fedora/RHEL (Bonus)
- High availability experience (Bonus)
- Redmine, Jira, trello or other issue tracking experience
- Bonus:
○ Experience with AWS technologies