Job Description
We are looking for a Senior Java Developer responsible for building Java applications. This includes anything between complex groups of back-end services and their client-end counterparts. primary responsibility will be to design and develop the applications, and to coordinate with the rest of the team working on different layers of the infrastructure. Thus, a commitment to collaborative problem solving, sophisticated design, and product quality is essential.
- Design, build, and maintain efficient, reusable, and reliable Java code
- Ensure the best possible performance, quality, and responsiveness of the applications
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automatization
Job Specification
- 5+ years J2EE/JEE based programming experience incl Java, JSP, Servlets, HTML, Javascript, etc.
- 3+ years JDBC based database applications work. (Also see ORM expertise in "Preferred Skills" section below.)
- 5+ years working with middleware application servers, ideally Tomcat or JBoss -- or experience with others is helpful, e.g. Glassfish, Oracle Application Server/WebLogic.
- 3+ years Eclipse IDE on desktop and Linux on servers (ideally RHEL 5 to 7, or CentOS, Debian/Ubuntu).
- 2+ years SCM expertise, ideally with Git and Perforce -- or SVN, etc.
- 2+ years Shell Scripting with Bash/Korn -- ideally augmented with complementary tools, e.g. awk, sed, grep, wc, find, etc).
Preferred Skills
3+ Years Hands-On with any of the following:
- Data Persistence Frameworks and ORM Tools, ideally TopLink / EclipseLink -- or Hibernate, iBatis/MyBatis, etc. JPA knowledge is also helpful.
- Back-End Database Development, ideally with PostgreSQL 9.x PL/pgSQL -- or experience with others is helpful, e.g. Oracle PL/SQL, MS SQL Server T-SQL, MySQL Stored Routines, PG PL/Python.
- Continuous Integration & Testing, ideally with Jenkins -- or Buildbot, Travis CI, Go, etc. TDD (Test-Driven Development) is also a strong plus, e.g., using JUnit, Mockito, or other similar test frameworks.
- Misc Dev Experience, e.g. Automated Build/Deploy Tools (e.g. Maven, Docker, Ant), Modern Architectural / Design Patterns (e.g. MVC, GoF, etc), Node.js, AngularJS, jQuery, Ajax, XML/XHTML/JSON, JSTL, RESTFull web services, Spring, ESB, HTML5, CSS3, TLS/SSL.
- Cloud experience with any of the following: AWS EC2/AMI, VMware, VirtualBox, etc.
- Agile Lifecycle expertise, e.g. with Scrum (ideal), Srumban, Kanban, etc.
- Ability to read (and ideally create) design and work documents, e.g. UML diagrams, spreadsheets, etc
.Good to have
- Application/Data Security and Auditing experience with frameworks such as SOX, PCI, DISA, FISMA/NIST.
- Workflow development or BPM expertise, ideally involving BPMN, BPEL, Web Services development, and use of a formal tool such as BizFlow (aka Handysoft).