- Translate application storyboards and use cases into functional applications
- 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 customization.
- 5+ years of Java web application development
- A University Degree or equivalent in information technology, computer science/engineering.
- A master’s degree in a related field would be advantageous.
- Take ownership and responsibility for key technical decisions and get agreement across the team for the approach chosen
Experience and Essential Skills
- Proficient in Java, with a good knowledge of its ecosystems
- Solid understanding of object-oriented programming
- Developing quality, supportable code to ensure long term sustainable systems
- Working as part of an established product development team
- Working with testers to create solid acceptance criteria and automated tests
- Pairing with other developers
- Contributing to software architecture design and development
- Coaching and mentoring more junior members of staff
- Skill for writing reusable Java libraries
- Knowledge of concurrency patterns in Java
- Familiarity with concepts of MVC, JDBC, and RESTful
- Experience with popular web application frameworks, such as Play and Spark
- Familiarity with GUI frameworks (such as Ext JS, Jasper Report, Swing, SWT, and AWT depending on project requirements)
- Extensive software development experience across different technologies and technical stacks.
- Comfortable working in an Agile delivery environment
- Solid understanding of DevOps and continuous integration and be able to update scripts if required.
- Solid experience creating software with acceptance criteria and automated testing.
- Some experience working on front end development