About the role
Key Responsibilities:
- Software Development:
- Writing clean, efficient, and well-documented Java code, following best practices and design patterns.
- Application Design and Implementation:
- Designing and implementing robust and scalable solutions using Java, Spring Boot, and potentially Microservices architecture.
- Testing and Debugging:
- Conducting thorough testing (unit, integration, etc.) and debugging to ensure application quality and minimize defects.
- Collaboration:
- Working closely with other developers, QA engineers, UX/UI designers, and product teams to deliver integrated solutions.
- Deployment and Maintenance:
- Deploying applications on cloud platforms (like AWS, GCP, Azure) using tools like Docker and Kubernetes, and maintaining applications in production.
- Performance Optimization:
- Identifying and resolving performance bottlenecks to ensure applications run efficiently.
- Security Implementation:
- Implementing security best practices, including authentication and authorization mechanisms.
- Code Reviews:
- Participating in code reviews, providing constructive feedback, and mentoring junior developers.
- Staying Updated:
- Continuously learning and staying updated with the latest Java technologies, frameworks, and best practices.
- Documentation:
- Creating and maintaining technical documentation for applications and systems.
Skills and Technologies:
- Java Programming: Strong proficiency in Java, including Java 17 features and concepts.
- Frameworks: Experience with Spring Boot, Spring Framework, and potentially other Java frameworks.
- Microservices: Understanding and experience with microservices architecture and related technologies.
- Database Management: Experience with relational databases (e.g., MySQL, PostgreSQL) and potentially NoSQL databases (e.g., MongoDB).
- Cloud Computing: Familiarity with cloud platforms like AWS, GCP, or Azure.
- Containerization and Orchestration: Experience with Docker and Kubernetes for containerization and orchestration.
- Testing: Experience with testing frameworks like JUnit or TestNG.
- Version Control: Proficiency in using Git for version control.