Job Summary
Job Title: Senior Java Developer
Job Summary:
We are currently seeking a highly skilled and experienced Senior Java Developer to join our dynamic team. As a Senior Java Developer, you will be responsible for the development, integration, and maintenance of complex server-side Java applications. The successful candidate should have excellent problem-solving skills, a deep understanding of Java frameworks, and the ability to lead a team.
Responsibilities:
1. Design, develop, and implement scalable and high-performance Java applications using best practices and design patterns.
2. Collaborate with cross-functional teams, including product managers, business analysts, and software architects, to gather requirements and translate them into technical solutions.
3. Lead and mentor a team of Java developers, providing guidance and support throughout the development process.
4. Conduct code reviews to ensure code quality, adherence to coding standards, and performance optimization.
5. Identify and resolve application defects and performance issues, troubleshooting production problems as needed.
6. Stay up-to-date with the latest trends and best practices in Java development and related technologies.
7. Participate in the full software development lifecycle, from requirements analysis and design to testing and deployment.
8. Collaborate with QA teams to ensure thorough testing coverage and assist in the identification and resolution of bugs.
9. Document technical specifications, system architecture, and support procedures for the developed applications.
Requirements:
1. Bachelor's degree in Computer Science, Software Engineering, or a related field.
2. Minimum of 5 years of professional experience in Java development, with a focus on server-side applications.
3. Strong proficiency in Java and Java frameworks (Spring, Hibernate, etc.).
4. Expertise in the development and integration of RESTful web services and APIs.
5. In-depth understanding of Object-Oriented Programming principles and design patterns.
6. Experience in designing and working with relational databases (e.g., Oracle, MySQL) and NoSQL databases (e.g., MongoDB, Cassandra).
7. Proficiency in version control systems (e.g., Git), build tools (e.g., Maven, Gradle), and continuous integration/continuous deployment (CI/CD) pipelines.
8. Familiarity with Agile/Scrum methodologies and practices.
9. Strong problem-solving and analytical skills, with attention to detail.
10. Excellent written and verbal communication skills.
11. Ability to work in a fast-paced and collaborative team environment.
12. Proven ability to lead and mentor junior developers.
Preferred qualifications:
1. Experience with cloud platforms (e.g., AWS, Azure, GCP) and related services (e.g., EC2, S3, Lambda).
2. Knowledge of front-end technologies such as HTML, CSS, JavaScript, and frameworks like Angular or React.
3. Experience with containerization technologies like Docker and orchestration platforms like Kubernetes.
4. Familiarity with DevOps practices and tools for automated deployment and configuration management.