Design Lead (Java)

  • Full-time

Company Description

Technology is our how. And people are our why. For over two decades, we have been harnessing technology to drive meaningful change.
 
By combining world-class engineering, industry expertise and a people-centric mindset, we consult and partner with leading brands from various industries to create dynamic platforms and intelligent digital experiences that drive innovation and transform businesses.
 
From prototype to real-world impact - be part of a global shift by doing work that matters.

Job Description

Development is the largest discipline at Endava. Our developers design, build, and release software products in multiple programming languages, frameworks, and libraries. Always collaborating with cross-functional project teams, our developers are adaptable problem-solvers with a client-oriented mindset.  

As a Design Lead (Java) at Endava, you are responsible for developing highly quality software components to deliver value to stakeholders. You'll handle specifying and designing complex software application by following design standards and principles. You'll play a crucial role to designing systems components and architectures.

Responsibilities:

  • Elaborate technical design solutions and assist development teams to carry out with the implementations.
  • Collaborate with Solution Architect(s) in defining architecture solutions and bridging architecture to development.
  • Collaborate with Business Analysts and client stakeholders in assessing feasibility of the requirements.
  • Provide support in setting up the Delivery Processes and DevOps practices.
  • Identify and assess technical risks and dependencies.
  • Participate in the definition and estimation of Product Backlog
  • Familiar with commercial applications, within the financial domain  

Qualifications

  • 8+ years of experience in software development.
  • Strong understanding of different common programming paradigms (OOP, Functional, etc.).
  • Advanced familiarity with design/architectural patterns and principles (e.g., SOLID, GoF, MVVM).
  • Proficient in relevant programming languages, frameworks, and tools such as Java, IntelliJ IDEA, Spring, Hibernate, Maven, Gradle. Nice to have: Kotlin.
  • Practical experience in platform-specific database systems and SQL.
  • Understanding of version control systems like Git or similar.
  • Experience with testing and mocking frameworks.
  • Very knowledgeable in various communication protocols and standards, including but not limited to HTTP, REST, JSON, TCP/IP, etc.
  • Experience with Agile methodologies (e.g., SCRUM, KANBAN).
  • 7+ years’ experience in Java
  • Experience in Java EE (EJB, JMS), Kafka, AWS, Web Services  
  • Experience in databases: SQL, Oracle, MS SQL, MongoDB, Cassandra  
  • Advanced engineering practices: TDD, BDD, XP, CI/CD, DDD, Design Patterns  
  • Familiarity with architectural patterns (microservices, cloud-based, micro-kernel) and quality attributes
  • Good documentation skills and ability to operate with technical diagrams (UML, gliffy, draw.io)
  • Fluent English

Additional Information

Discover some of the global benefits that empower our people to become the best version of themselves:

  • Finance: Competitive salary package, share plan, company performance bonuses, value-based recognition awards, referral bonus;  
  • Career Development: Career coaching, global career opportunities, non-linear career paths, internal development programmes for management and technical leadership;
  • Learning Opportunities: Complex projects, rotations, internal tech communities, training, certifications, coaching, online learning platforms subscriptions, pass-it-on sessions, workshops, conferences;
  • Work-Life Balance: Hybrid work and flexible working hours, employee assistance programme;
  • Health: Global internal wellbeing programme, access to wellbeing apps;
  • Community: Global internal tech communities, hobby clubs and interest groups, inclusion and diversity programmes, events and celebrations.
Privacy Policy