The ideal candidate is proficient in both front and back end technologies with a deep understanding of Java, React/Angular, web architectures, UX design principles and practices, database technologies, cloud environments, containers, microservices, agile and DevOps methodologies as well as continuous integration and deployment (CI/CD) practices.
The selected candidate will be a member of a dynamic team and must have the ability to provide mentorship, coordination and support for peers.
The successful candidate will be responsible for:
- developing both front-end and back-end components of a web applications including database models and APIs;
- ensure responsiveness of applications and cross-platform optimization for mobile devices;
- work alongside UX designers for web design features;
- ensure security and data protection and integrity;
- maintain code integrity and organization and provide adequate test coverage;
- perform peer design and code reviews;
- provide leadership and participate in design of overall architecture of complex, high performance enterprise applications;
- present and defend architectural, design and technical choices;
Required skills and experience
- 5+ years of experience of developing enterprise web applications in Java based technologies.
- Expert knowledge of Java.
- Expert knowledge of RESTful JSON APIs.
- Expert knowledge of Spring and Spring Boot.
- Experience with Kubernetes and/or OpenShift
- Experience with a state management framework in an ES6 language (Redux or other).
- Experience with agile software development practices.
- Deep understanding of DevOps methodologies.
- Experience with continuous integration and deployment (CI/CD) practices.
- Comfortable with distributed version control (Git and Github).
- Comfortable with Maven.
- Experience with responsive web design techniques / mobile first approach.
- Deep understanding of containers and microservices architecture and best practices.
- Experience developing and supporting high-volume, highly scalable, mission critical enterprise systems.
- Experience delivering on complex customer projects and working against customer requirements with well-defined deadlines and timelines and in direct touch with customers.
- Good spoken and written English communication skills.
- Ability to prioritize workload and meet project deadlines.
- Ability to multi-task in a fast-paced environment with minimal direction.
- Ability to mentor peers.
- Desire to learn new technologies and processes.
- Knowledge of UX design best practices.
- Working knowledge of NodeJS.
- Knowledge of Keycloak.
- Experience with Red Hat Middleware
- Experience with webpack.
- Knowledge of web components or micro-frontends.
- Ability to travel up to 80%