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 Senior Developer (Java) at Endava, you are responsible for implementing and delivering high-quality software products using Agile Scrum methodology. As a part of a global project, you can contribute your technical expertise and experience in order to the project succeed.
Trách nhiệm công việc
Risk Management: Proposes improvements and escalates risks/issues related to development activities.
Data Quality Assurance: Participates in the review of the work done by development team members.
Collaboration with Development Teams: Collaborates with various project stakeholders to provide support for clarifying requirements, processes, architecture, and priorities.
Test Execution: Recommends and promotes IT industry standards, tools, and practices (DevOps, etc.) to achieve well-engineered software products.
Community Engagement: Participates in internal and external tech communities, events, etc.
Lifecycle Management: Participates actively in all phases of the application development lifecycle.
Knowledge Sharing: Shares experience and knowledge gained from projects.
Business Analysis & Solution Design: Designs, estimates, and implements technical solutions for medium/high complexity applications.
Kỹ năng & Chuyên môn
APIs and Web Services: Familiar with common communication protocols and standards such as HTTP, REST, JSON, TCP/IP, and others.
Testing and Quality Assurance: Solid experience with testing and mocking frameworks.
Databases: Practical experience in platform-specific database systems and SQL.
Problem Solving: Good problem-solving skills and analytical thinking.
Communication: Upper English proficiency.
Collaboration Tools: Knowledge of CI/CD tools and practices.
Languages: Proficient in relevant programming languages, frameworks, and tools such as Java, IntelliJ IDEA, Spring, Hibernate, Maven, Gradle. Nice to have: Kotlin.
Algorithmic Knowledge: Strong understanding of different common programming paradigms (OOP, Functional, etc.).
Agile environment: Experience with Agile methodologies (e.g., SCRUM, KANBAN).
Hands-On Experience: 6+ years of experience in Java Back-end development.
Version Control: Good understanding of version control systems like Git or similar.
Architecture Design: Strong familiarity with design/architectural patterns and clean code principles (e.g., SOLID, GoF, MVVM).