The company is hiring a Full Stack Java Developer at intermediate level to help define, build and roll out new or revised application systems and programs alongside the Technology team.
The role contributes to application systems analysis and programming work.
Responsibilities
Carry out feasibility studies, time and cost estimates, IT planning, technology risk work, and application and model development to build new or revised systems that meet specific business needs or user areas.
Oversee every stage of development, from analysis and design through construction, testing and rollout, and provide user and operational support to business users.
Apply deep applications development expertise to complex problems, assess business and system processes against industry standards, and make sound evaluative judgements.
Design and recommend security measures, reviewing how systems are used after launch to confirm they work as intended.
Advise users, clients and other technology groups, propose advanced programming solutions, and install and support customer-facing systems.
Make sure essential procedures are followed and help set operating standards and processes.
Advise or coach newer or more junior analysts.
Work with limited direct supervision and use independent judgement.
Act as subject matter expert for senior stakeholders and other team members.
Weigh risk in business decisions with particular regard for the firm's reputation and for protecting the company, its clients and its assets, following applicable laws, rules, regulations and policy, and reporting control issues openly.
Requirements
5+ years of relevant experience.
Experience in systems analysis and programming of software applications.
Experience delivering projects successfully from start to finish.
Working knowledge of consulting and project management methods.
Ability to handle pressure, meet deadlines, and adapt to unexpected changes in expectations or requirements.
Bachelor's degree or university degree, or equivalent experience.
Strong grasp of industry best practices such as design patterns, coding standards, modular code, prototyping and object-oriented programming.
In-depth understanding of core Java and RESTful APIs.
Experience building single page applications with React or Angular, including state management.
Practical Docker experience and a basic understanding of container orchestration.
Ability to implement robust authentication and authorization using OAuth 2.0, OpenID Connect, JWT, SSO and RBAC.
Working knowledge of Java, Spring, Spring Boot and HTML/CSS.
Experience with SQL databases such as Oracle or Sybase.
Strong knowledge of unit testing frameworks such as JUnit and Mockito.
Ability to write comprehensive automated tests, including unit, integration and end-to-end tests, using tools such as Jest, Cypress and Playwright.
Experience debugging, tuning and optimising Java microservice components.
Experience with JMS and Solace is a plus.
Experience in a continuous integration and continuous delivery environment, familiar with TeamCity, Jenkins, and code quality tools such as SonarLint and Blackduck.
Knowledge of application and web servers such as WebLogic and Tomcat.
Proficiency with Git for managing code versions and collaborating with other developers.
Understanding of web performance monitoring, logging and error tracking tools.
Experience with transactional applications requiring low latency and high availability is a plus.
The description is a high-level overview of the work, and other duties may be assigned as needed.
Conditions
Full-time position.
Primary location salary range: $94,300.00 to $141,500.00.
Equal opportunity employer; see the company's EEO policy statement and Know Your Rights poster.