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 DescriptionDevelopment 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 applications by following design standards and principles. You'll play a crucial role in 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.
Qualifications8+ 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).
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).#J-18808-Ljbffr