Description
Strong expertise in Java and Spring Boot, capable of handling a team, and working independently on development tasks. This role requires hands-on coding, system design, and leadership responsibilities.
Key Responsibilities:
- Lead a team of developers, providing technical guidance, mentoring, and conducting code reviews.
- Design and develop scalable, high-performance, and secure applications.
- Take ownership of the architecture, implementation, and deployment of Java-based applications.
- Ensure best practices in coding, testing, and DevOps processes are followed.
- Collaborate with cross-functional teams to define requirements and technical solutions.
- Troubleshoot and resolve complex technical issues in production and development environments.
Technical Skills:
Core Java & Backend Development:
- Java 8, 11, 17 (Lambda, Collections, Streams, Functional Interfaces, Executors, Thread Pools, Completable Future)
- Strong expertise in Spring Boot (Project setup, dependencies, Spring Security, JWT, OAuth, Logging with Log4j/Slf4j, AOP)
- Experience with Microservices architecture and Design Patterns
- Understanding of Distributed Transactions
Database & Messaging:
- RDBMS & JPA (Joins, Cascading, One-to-Many, Many-to-One)
- Experience with Kafka or other messaging systems
- Redis and caching strategies
DevOps & Cloud:
- Hands-on experience with AWS (EC2, S3, Lambda, etc.)
- Working knowledge of CI/CD pipelines, Docker, Kubernetes
Testing & Code Quality:
- Strong experience in JUnit, Mockito, and test-driven development (TDD)
- Conducting code reviews and enforcing coding standards
Leadership & Soft Skills:
- Ability to manage and mentor a team of developers
- Strong problem-solving and decision-making skills
- Effective communication and collaboration with stakeholders
- Proactive approach to learning and adopting new technologies
Preferred Qualifications:
- Experience in Fintech or related domains is a plus
- Familiarity with Event-Driven Architecture and Reactive Programming