Overall Responsibilities:
Design, develop, and maintain scalable and high-performance applications using Java and Spring Boot.
- Implement microservices architecture to enhance application modularity and scalability.
- Collaborate with product managers, architects, and other stakeholders to gather requirements and translate them into technical specifications.
- Conduct code reviews and ensure code quality through unit testing and best practices.
- Troubleshoot and resolve software defects and performance issues.
- Participate in the full software development lifecycle, including requirements analysis, design, development, testing, deployment, and support.
- Stay updated with the latest industry trends and technologies to continuously improve application performance and user experience.
Technical Skills:
Must-Have Skills:
- Core Java: Strong understanding of OOP concepts, collections, and multithreading.
- Spring Framework: Proficiency in Spring Boot, Spring MVC, and Spring Data.
- Microservices: Experience in designing and developing microservices-based architectures.
- Design Patterns: Knowledge of common design patterns (e.g., Singleton, Factory, Observer).
- Database: Basic understanding of SQL and experience with relational databases (e.g., MySQL, PostgreSQL).
- Version Control: Familiarity with Git for version control.
- Preferred Skills:
- Cloud Platforms: Experience with AWS, Azure, or Google Cloud.
- Containerization: Knowledge of Docker and Kubernetes.
- CI/CD: Familiarity with Continuous Integration and Continuous Deployment practices.
Testing Frameworks: Experience with JUnit, Mockito, or similar testing frameworks.
Experience:
- 5 to 12 years of software development experience.
- Proven track record of delivering high-quality software solutions in a fast-paced environment.
- Experience working in Agile development environments.
Day-to-Day Activities:
- Write clean, maintainable, and efficient code while following coding standards.
- Participate in daily stand-up meetings and provide updates on progress and challenges.
- Work closely with QA teams to ensure high-quality deliverables.
- Analyze and improve system performance and reliability.
- Document code, design specifications, and system architecture.
Qualifications:
- Bachelor’s degree in Computer Science, Information Technology, or a related field. A Master’s degree is a plus.
- Relevant certifications in Java, Spring, or cloud technologies (optional but preferred).
Soft Skills:
- Strong analytical and problem-solving skills.
- Excellent communication and collaboration abilities.
- Ability to work independently and as part of a team.
- Adaptability to changing technologies and processes.
- Strong attention to detail and commitment to quality.