Java Software Engineer
Start date: ASAP (Urgent!!)
Location: London, UK
On site Requirement: 3 times per week
Contract Inside IR35
Software Development Engineer
About the role
Ours is a globally distributed, full stack java tech team and our building blocks consist of a set of Microservice components, backend APIs, Rich UI, robust Eventing Platform and Data layer components utilising a wide range of modern technologies including:
- Java, RxJava, SpringBoot
- Kafka, PostgreSQL and Couchbase
- Docker, Kubernetes, Jenkins, Azure DevOps, Splunk, AppDynamics, New Relic
- Azure Cloud
We are responsible for the software throughout the lifecycle. We maintain a DevOps culture employing continuous integration and delivery, supporting our code through to production and beyond.
You will be responsible for
We are seeking highly skilled Software Development Engineers (SDEs) for a project to drive the design, development and implementation of software solution for next generation customer fulfilment system. As a key member of our engineering team, you will develop robust, scalable and efficient java-based applications to optimise warehouse operations and drive operational success. You will directly contribute to evolving product, reducing cost and increasing profitability.
Design and Develop: Architect and build high-performance applications.
System Optimisation: Collaborate with cross functional teams to enhance system efficiency, scalability and reliability for mission critical applications.
Integration: Develop APIs and microservices to integrated with enterprise API and third-party platforms.
Code Quality: Write clean, maintainable and well documented code, adhere to best practices and coding standards.
Troubleshooting: Diagnose and resolve complex technical issues in real-time to ensure un-interrupted operations.
Mentorship: guide junior engineers and foster culture of continuous improvement.
Innovation & Collaboration: Stay ahead of industry, work closely with hardware, data scientists and operation team.
You will need
Experience relevant for this job:
- Previous experience of having done product development using agile methodologies
- Hands-on experience of building and supporting reliable and operationally robust full stack and distributed Java applications / products
- Any previous experience of having contributed in a globally distributed software engineering teams would be a big plus.
Tech Skills
- Programming
- Demonstrate in depth knowledge of IDE, language, and toolset in language of choice.
- Implement critical path components in a large or complex or project.
- Demonstrate excellent understanding of language & framework and a good working knowledge of the abstraction layer underneath
- Comfortably test drive any feature/comfortable with TDD cycle
- Comfortably debug/find complex problems
- Design
- Identify and apply appropriate design patterns to problems
- Understand Idempotence
- Actively practice the boy scout principle, leaves design, code in a better state than when arrived
- Understand importance of domain model and can coherently model a problem domain within a given context
- Understand design patterns such as CQRS and eventual consist
- Understand how to design for performance at all levels
- Development Practice
- Automate everything by default
- Build a CI/CD pipeline
- Tech Stack Specialization
- Java, Spring boot
- Kafka
- Postgres
- Couchbase
- CI/CD: Azure pipelines / Git Actions.
- Cloud: Azure