Job Description:
- A technically proficient and enthusiastic developer, with a desire to work on back-end application development.
- Support and lead different phases of the product lifecycle including analysis, development, and testing.
- Develop new components in Java and maintain/enhance existing components in Java/Angular/Python.
- Previous commercially proven experience in Java is required, with a strong desire to develop your skills more widely. Additionally, there is an opportunity to work with front-end web apps.
- Expected to promote best practices in terms of TDD, development tools, and technologies.
- A proactive member of an agile team, taking part in ceremonies and interacting with business owners and stakeholders as well as other agile teams across the fleet.
- The role will involve constant interaction with front office business users, analyzing and gathering requirements.
- Develop and maintain technical documentation, including architecture diagrams and design documents.
- Participate in code reviews, ensuring high-quality code and adherence to coding standards.
- Troubleshoot and debug issues, identifying root causes and implementing fixes.
- Stay up to date with industry trends, best practices, and emerging technologies.
- Candidates for junior developers, providing guidance and knowledge sharing.
Skills Required (Essential):
- UI Development (Angular):
- At least 5+ years of hands-on Single Page App development.
- Design and develop responsive, interactive, and user-friendly UI components using Angular, HTML, CSS, and TypeScript.
- Implement UI/UX designs and wireframes into functional and visually appealing interfaces.
- Optimize UI performance, ensuring fast page loads and smooth user interactions.
- Collaborate with designers to ensure design consistency and implement design systems.
- Develop and maintain reusable UI components and libraries.
Backend Development (Java):
- At least 7+ years of hands-on backend development experience.
- Design, develop, and maintain scalable, secure, and efficient backend services using Java, including RESTful APIs and microservices.
- Implement database schema design, data modeling, and data migration strategies using relational databases (e.g., MySQL) and NoSQL databases (e.g., MongoDB).
- Develop and maintain backend services using Java frameworks such as Spring Boot or Hibernate.
- Ensure backend services are highly available, scalable, and fault-tolerant.
Skills Nice to Have (Desired):
- Experience with Python programming language and frameworks such as Django or Flask.
- Familiarity with containerization (e.g., Docker) and Kubernetes, OpenShift is a plus.
- Experience with DevOps practices, including CI/CD.
- Experience with observability tools like Prometheus, Loki, Jaeger, Grafana.
- Strong understanding of Agile/Scrum methodologies.
- Experience in developing service-oriented architecture applications, with good understanding of Object-Oriented Design and Patterns.
- Strong analytical and design skills, with the ability to translate business requirements into technical solutions.
- Comfortable working in Unix environments and familiar with web servers such as Apache and Tomcat.
- Knowledge of code coverage and testing tools like Sonar, Cypress, Fortify, Snyk.
- Experience with automation testing tools such as PyTest, JUnit, Postman, Selenium, Mockito.
Must Have:
- Java
- Angular
- Microservices experience (Spring Boot)
Nice to Have:
- Python scripting
- Cloud and DevOps knowledge (Kubernetes, Github, Jenkins, Bitbucket)
- Strong individual contributor skills