Senior Java Developer
Posted 2 days 3 hours ago by Demica Limited
Department: Technology
Employment Type: Permanent - Full Time
Location: London, United Kingdom
Description
In your new role as a Senior Java Developer in our Engineering team, you will be integral to the delivery of our mission-critical systems. You will be a key contributor to ensuring we deliver high-quality code and make sensible, strategic component design decisions. You have a keen eye for detail and a desire for perfection balanced with a pragmatic approach.
You will work on both greenfield and legacy system challenges and enhancements, as well as maintain stability of production. Demica delivers within an agile framework, so you will be comfortable working according to Scrum and Kanban methodologies in cross-functional teams. You will know how to build software that meets functional needs, as well as non-functional aspects such as security, scalability, and auditability.
What you'll do
- Work as part of the development team as a senior individual contributor
- Work on the Demica Platform involving the implementation of new and existing sub-systems, solutions, and processes
- Focus on stability, performance, scalability, and security of the platform as part of the dedicated Stability team
- Provide L3 support for production incidents
- Participate in the periodic support rota of the team
- Deliver code to the highest standards through the use of TDD and BDD techniques
- Understand and contribute to the technical solution from design through to code level
- Contribute to the continuous integration and delivery of the products
- Provide well-considered estimates as part of the agile estimation process (either Scrum or Kanban)
- Contribute to and follow the Demica coding standards and practices
- Be an active participant in Demica's agile development practices and ceremonies
Who you are
- Previous professional experience as a Java Developer, preferably in an enterprise environment
- As a guide, a Senior Developer at Demica typically has 8+ years of experience
- Experience working in an Agile development methodology
- Experience in developing distributed systems in a microservices architecture
- Strong experience in Java and JVM languages
- In-depth experience in using relational databases (MySQL); including stored procedures, performance tuning, and schema management (Flyway or Liquibase)
- Experience in using non-relational datastores (Elasticsearch, parquet files, Delta Lake)
- A good understanding of microservices frameworks and techniques (Spring, REST, Cloud deployments, monitoring/supportability)
- Awareness of the OWASP top ten and other security considerations for microservices and web applications
- Understanding and exposure to JIRA, Confluence, GIT, Jenkins, Maven, Artifactory
- Experience working in a continuous integration environment (preferably with Jenkins) and containerized (Docker) and orchestration (Kubernetes) technologies
- Excellent personal organizational and prioritization skills
- A desire to remain technically capable and an expert in current technologies
- Ability and willingness to understand business requirements and translate them to the technical implementation