Job Description
<p>Key Responsibilities :<br/><br/>- Software Development : Design, develop, test, and deploy high-performance, scalable, and secure Java applications.<br/><br/>- Architecture and Design : Collaborate with architects and other senior developers to define software architecture, system designs, and integration strategies.<br/><br/>- Code Quality : Write clean, maintainable, and efficient code while adhering to best practices such as SOLID principles, TDD (Test Driven Development), and Agile methodologies.<br/><br/>- Code Reviews : Participate in and conduct code reviews to ensure that software is built to the highest quality standards.<br/><br/>- Performance Optimization : Identify bottlenecks and optimize application performance for high-volume, large-scale systems.<br/><br/>- Collaboration : Work closely with product managers, business analysts, and other stakeholders to define software requirements and technical specifications.<br/><br/>- Mentorship : Provide technical mentorship and guidance to junior developers, helping them grow and ensuring the team follows coding standards and practices.<br/><br/>- Troubleshooting and Debugging : Diagnose, troubleshoot, and resolve complex production issues in a timely manner.<br/><br/>- Documentation : Write technical documentation for code, architecture, and systems to ensure proper knowledge sharing and support.<br/><br/>- Continuous Improvement : Stay up to date with emerging technologies, tools, and trends in Java development and share knowledge within the team.<br/><br/>Required Skills and Qualifications :<br/><br/>- Proven Experience : 3-8 years of professional experience in Java development.<br/><br/>- Core Java Expertise : In-depth knowledge of Java 8 or higher, including multithreading, collections, lambdas, streams, and Java concurrency.<br/><br/>- Frameworks and Libraries : Proficiency in Java frameworks such as Spring (Spring Boot, Spring MVC), Hibernate, and JPA.<br/><br/>- Database Knowledge : Strong experience with relational databases (MySQL, PostgreSQL, Oracle, etc.) and/or NoSQL databases (MongoDB, Cassandra, etc.), including writing complex queries and optimizing database performance.<br/><br/>- Web Services : Experience designing and consuming RESTful APIs, SOAP services, and working with microservices architectures.<br/><br/>- Version Control : Proficiency in Git, with experience using version control systems in a collaborative team environment.<br/><br/>- Agile Methodologies : Strong understanding and experience working in Agile environments (Scrum, Kanban).<br/><br/>- Unit Testing : Experience with test-driven development (TDD) and writing unit tests using tools like JUnit, TestNG, or similar frameworks.<br/><br/>- Cloud Technologies : Experience with cloud platforms such as AWS, Google Cloud, or Azure, and familiarity with containerization tools (Docker, Kubernetes) is a plus.<br/><br/>- CI/CD : Familiarity with Continuous Integration and Continuous Deployment (CI/CD) pipelines and tools such as Jenkins, GitLab CI, or Bamboo.<br/><br/>- Strong Problem-Solving Skills : Excellent troubleshooting and debugging skills to resolve complex technical issues efficiently.</p> (ref:hirist.tech)