We are looking for a Lead Java Developer with a passion for quality demonstrated through Agile and TDD practices, someone who can build robust and scalable Java backend applications within the complex finance domain.
Responsibilities
Develop and maintain Java-based applications
Design infrastructure and network topology solutions for innovative projects
Apply best development practices to produce code and effectively utilize technologies
Provide expertise and architectural assistance to other team members
Build relationships with users and facilitate requirements gathering
Resolve production issues and help maintain a stable production environment
Lead technical design discussions with other Java Developers
Ensure the development methodology is followed across the team
Requirements
Experience in designing and implementing Java-based backend applications using Java 8 Spring and Spring Boot with 5+ years of experience
Knowledge of database design and SQL including query optimization
Skills in Object-Oriented analysis and design with understanding of design patterns clean code principles and concepts like OOD TDD BDD DDD and CI/CD
Proficiency in software development lifecycle tools such as IntelliJ IDEA Git and Gradle
Familiarity with additional development tools such as Maven Jenkins and JIRA
Familiarity with debugging and performance tuning along with understanding of deploying maintaining and monitoring complex Java applications
Knowledge of modern technical architectures and how to pragmatically leverage their benefits
Excellent analytical and problem-solving skills
Good written and verbal communication skills in English
Nice to have
Skills in GitHub ELK Stack and Kafka
Familiarity with Docker Kubernetes Spring Batch and Spring Integration
Familiarity with event-driven architectures stream processing and other JVM languages such as Groovy
Hands-on experience in Agile methodologies such as Scrum Kanban and XP with exposure to UNIX/Linux environment and shell scripting