Role Purpose
The Java Engineering role is a multi-faceted role. You will be an active contributor to a wide range of responsibilities that will promote growth, autonomy and personal fulfilment. Work across all of the business services that exist within the core platform while playing an active role in developing new services that deliver successful business outcomes. Develop supporting API’s across all consumer-facing applications for your frontend peers that deliver on product enhancements. Be a key contributor in building out our supply network by developing externally facing 3rd party API connectors for onboarding new supply content into the platform.
Main accountabilities and key tasks:
- Build software applications – follow coding standards, build appropriate unit tests, integration tests and deployment scripts
- Responsible for overall technical delivery of respective projects
- Taking part in creative discussions and steering those discussions in the most technically appropriate direction, recommending the best technical approach
- Ensuring that knowledge gained is always shared outwards to the teams and the company as a whole
- Ensuring the project is delivered to high standards of quality in all aspects including, but not limited to code, documentation, configuration management, source code control and best practice challenges of the role
- Coping with multiple, sometimes overlapping work streams
- Clearly communicating scope and risks to both the project management functions and the engineering functions
Critical Interfaces:
- Platform Engineering - Tech Lead – work closely with your manager to establish shared ways of both working within your direct team and cross-functionally. Agree processes on how to manage your project intake while defining a personal growth plan to support your career goals through regular 1:1 coaching
- Product Engineering Team – your frontend colleagues have a heavy reliance on API’s. Develop a close relation with the team, working jointly on product initiatives that require the development of both new and updating of existing APIs for all frontend facing applications
- Product Management - Working closely with your Product Management peers to fully understand and fulfil any requirements in relation to project initiatives
Knowledge and Experience:
- 5+ years development experience on Java 8
- Deep understanding of object-oriented design and programming concepts and experience applying recognised design patterns (Gang of Four, Enterprise)
- Experience of development and consumption of scalable REST APIs and REST API architecture
- Experience with vendor management / integrating with 3rd party platforms
- Comfortable with maven, and version control
- Building highly available systems using Java in a fast moving agile environment
- 2+ years experience with Spring/boot
- Strong data management understanding and experience with SQL & NoSQL data stores
- Hands on experience with AWS Cloud platforms; SQS, KINESIS, ElastiCache
- Detailed experience using CI/CD Pipelines with Git and Jenkins; in a multi development environment.