Job Title: Java - Senior Developer
Key Responsibilities
As a Java - Senior Developer, you will:
- Lead Technical Initiatives: Take ownership of technical initiatives, guiding their execution from design to deployment, and ensuring alignment with architectural principles and business goals.
- Software Design & Development: Lead the design, development, and implementation of complex, scalable, and high-performance Java-based applications, adhering to best practices in object-oriented design and clean code.
- Code Quality & Best Practices: Drive code quality through active participation in code reviews, mentoring junior and mid-level developers, and promoting coding standards and best practices within the team.
- System Architecture Contribution: Contribute significantly to the architectural discussions and decisions for new and existing systems, focusing on scalability, reliability, and maintainability.
- Troubleshooting & Optimization: Proactively identify, diagnose, and resolve complex technical issues and performance bottlenecks across various application layers.
- Cross-functional Collaboration: Collaborate extensively with product owners, business analysts, QA engineers, and DevOps teams to understand requirements, translate them into technical solutions, and ensure seamless delivery.
- API & Integration Development: Design and implement robust RESTful APIs and integrate with various internal and external systems.
- Mentorship & Knowledge Sharing: Act as a mentor to less experienced team members, fostering their technical growth and sharing deep technical knowledge.
- Continuous Improvement: Champion continuous improvement in development processes, tools, and technologies within an Agile/Scrum environment.
Mandatory Skills & Experience
Technical Proficiency:
- Core Java Expertise: Deep and extensive knowledge of Core Java principles, best practices, and advanced features (e.g., Concurrency, JVM internals, new Java versions).
- Java Frameworks: Expert-level proficiency with leading Java frameworks such as Spring Boot, Spring MVC, Spring Security, and JPA/Hibernate.
- Microservices: Strong experience in designing, developing, and deploying microservices architectures.
- Web Services/APIs: Extensive experience in developing and consuming RESTful APIs and understanding of Web Services/SOA concepts.
- Databases: Strong proficiency in relational databases (e.g., Oracle, PostgreSQL, MySQL) including advanced SQL, database design, and optimization. Experience with NoSQL databases is a plus.
- Containerization & Orchestration: Hands-on experience with Docker and Kubernetes.
- Cloud Platforms: Experience with at least one major cloud platform (e.g., AWS, Azure, GCP), particularly with relevant services for application deployment and data management.
- CI/CD & DevOps Tools: Proficient with CI/CD pipelines and tools such as Jenkins, GitLab CI, GitHub Actions, Maven/Gradle, and Git/Bitbucket.
- Testing: Solid experience with unit testing frameworks (e.g., JUnit, Mockito) and familiarity with integration or end-to-end testing frameworks.
Experience & Qualifications:
- Proven track record in leading technical initiatives and delivering complex software solutions.
- Demonstrated ability in application design, coding, testing, maintenance, and debugging.
- Experience in an Agile/Scrum development environment.
Essential Professional Skills
- Problem-Solving: Excellent analytical and problem-solving skills, with the ability to tackle complex technical challenges independently.
- Communication: Strong verbal and written communication skills, capable of articulating complex technical concepts to both technical and non-technical stakeholders.
- Leadership & Mentorship: Demonstrated ability to lead technical discussions, provide guidance, and mentor team members.
- Collaboration: High degree of collaboration skills, working effectively within cross-functional and geographically distributed teams.
- Adaptability: Ability to quickly learn new technologies and adapt to evolving project requirements and priorities.