Position

Regular Java Developer


Project Description

This team is an important part of the work strategy as the team is building the tools and automation that will help evolve and improve the software development lifecycle (SDLC) .

The main activities within this project are:
• To develop in-house software applications to help other teams in the SDLC adoption effort and to reduce overhead and administration from the daily life of the developer (e.g.: new team onboarding, tools consolidation, internal tools automation, implementation of Agile best practices)
• To extend commercial development tools via plug-ins or external systems to accommodate the requirements of the SDLC in place (e.g.: JIRA, TeamCity, GitHub, Sonar, Confluence, Nexus)

Technologies used: Java 7 (planned is adoption of Java 8), Struts 2, Spring, Hibernate, Quartz scheduler, EHCache, JUnit, Mockito, FreeMarker, JavaScript, REST, JRebel, Unix, Oracle 11g database.

Responsibilities

• Involvement in all phases of the development cycle
• Active participation in planning meetings
• Implement new features according to specifications
• Write unit/functional or integration tests for each feature you implement
• Code review for other team member
• Maintain and improve the development tools (commercial & developed internally) along with underlying infrastructure and the development workflow used within the company: Jira, Fisheye/Crucible, TeamCity + TeamCity agents, Sonatype Nexus, Sonarqube, etc.
• Develop tools to make developers more efficient with their work and help them use Agile practices. The team develops and maintains Java Web based apps that are interconnected with JIRA
• Automate the maintenance work with the development tools

Skills Required

Mandatory:
• Understand the importance of unit and integration testing and the ability to test legacy and new software components.
• Java Web development skills: at least one popular Java Web Framework like Struts 2 or Spring MVC or Play Framework or Java Server Faces (JSF) or Vaadin or Tapestry or Grails or Servlet API (any web server framework knowledge).
• Comfortable adapting to and following a development flow and working with software development tools: Intellij IDEA / Eclipse (or any IDE), GitHub (source code management server), FishEye (or other review tool), Bug Tracker (Jira or YouTrack), Artifact management system: Nexus (or Artifactory), etc
• Comfortable working with Web Services: REST and also comfortable using libraries and tools to interact with and test APIs (eg. Postman or any other tool), parsing/deparsing JSON
• Familiarity with common standard Java frameworks and libraries like: Spring, Quartz Scheduler, JUnit, Mockito, etc.
• Basic Front End knowledge: templating engines (FreeMarker or Java Server Pages (JSP) or any other) and willing to work with a minimum of HTML, CSS and JavaScript.
• A very good command of English (oral and written), optionally other languages such as German
• Enthusiastic experimenting new tools, understanding flows, watching for improvement by automating flows.
• Problem solving mentality: debugging, experimenting, using Java tools.
• Tem player mentality.
• Self-driven, self-motivated.
• Solution oriented rather than focused on specific technologies/libraries (able to adapt to requirements).
• Good networking skills and understanding of the big organizations.

Nice to have:
• UNIX basic working knowledge
• Good knowledge about banking processes and tools Mandatory:
• Understand the importance of unit and integration testing and the ability to test legacy and new software components.
• Java Web development skills: at least one popular Java Web Framework like Struts 2 or Spring MVC or Play Framework or Java Server Faces (JSF) or Vaadin or Tapestry or Grails or Servlet API (any web server framework knowledge).
• Comfortable adapting to and following a development flow and working with software development tools: Intellij IDEA / Eclipse (or any IDE), GitHub (source code management server), FishEye (or other review tool), Bug Tracker (Jira or YouTrack), Artifact management system: Nexus (or Artifactory), etc
• Comfortable working with Web Services: REST and also comfortable using libraries and tools to interact with and test APIs (eg. Postman or any other tool), parsing/deparsing JSON
• Familiarity with common standard Java frameworks and libraries like: Spring, Quartz Scheduler, JUnit, Mockito, etc.
• Basic Front End knowledge: templating engines (FreeMarker or Java Server Pages (JSP) or any other) and willing to work with a minimum of HTML, CSS and JavaScript.
• A very good command of English (oral and written), optionally other languages such as German
• Enthusiastic experimenting new tools, understanding flows, watching for improvement by automating flows.
• Problem solving mentality: debugging, experimenting, using Java tools.
• Tem player mentality.
• Self-driven, self-motivated.
• Solution oriented rather than focused on specific technologies/libraries (able to adapt to requirements).
• Good networking skills and understanding of the big organizations.

Nice to have:
• UNIX basic working knowledge
• Good knowledge about banking processes and tools