- Develop high-quality, scalable, and secure Java applications
- Participate in all phases of the development lifecycle, from concept to deployment
- Ensure the delivery of clean, maintainable, and efficient code
- Conduct code reviews and optimize application performance
- Collaborate with other team members and stakeholders
- Contribute to team meetings and provide innovative ideas and solutions
- Troubleshoot and resolve technical issues in a timely manner
- Continuously enhance existing applications based on evolving needs
- Strong proficiency in Java, with a good knowledge of its ecosystems
- Understanding of Java Memory Management, multithreading, and concurrency patterns
- Experience with popular Java frameworks like Spring (Spring Boot, Spring MVC) and Hibernate
- Familiarity with Java GUI frameworks (e.g., Swing, SWT) if applicable
- Knowledge of web technologies like HTML, CSS, JavaScript, and jQuery
- Experience with RESTful web services and APIs
- Proficiency in SQL and experience with database technologies like MySQL, PostgreSQL, or Oracle
- Understanding of NoSQL databases like MongoDB or Cassandra is a plus
- Experience with version control tools, preferably Git
- Basic understanding of CI/CD pipelines and familiarity with tools like Jenkins, Docker, or Kubernetes
- Experience in writing unit tests using frameworks like JUnit and Mockito
- Proficiency in debugging and performance optimization
- Understanding of object-oriented programming principles and design patterns
- Basic knowledge of software architecture styles and patterns (e.g., MVC, Microservices)
- Strong problem-solving skills and a logical approach to tackling challenges
- Excellent communication and teamwork skills, with an ability to collaborate effectively
- Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field
- 3-5 years of hands-on experience in Java development