Job Title: Java Software Engineer
Location: [Remote]
Job Type: Full-time
Job Overview
We are seeking a skilled Java Software Engineer to design, develop, and maintain high-performance Java-based applications. The ideal candidate will have strong problem-solving skills, deep knowledge of object-oriented design principles, and the ability to deliver scalable and maintainable software solutions. As a Java Software Engineer, you will collaborate with cross-functional teams to ensure the delivery of quality software that meets both business and technical requirements.
Key Responsibilities
- Design, develop, and maintain Java-based applications in a microservices architecture.
- Implement robust, scalable, and maintainable code following best practices and coding standards.
- Collaborate with product managers, architects, and other engineers to deliver high-quality software solutions.
- Perform code reviews and provide constructive feedback to junior team members.
- Troubleshoot and debug complex production issues promptly.
- Work closely with QA teams to ensure the software is thoroughly tested and meets performance standards.
- Participate in Agile ceremonies, including sprint planning, daily stand-ups, and retrospectives.
- Write unit tests and integration tests to ensure the robustness of applications.
- Optimize applications for maximum speed and scalability.
- Stay updated with the latest trends in Java development and related technologies.
Required Skills and Qualifications
- 6+ years of hands-on experience with Java development (Java 8 or higher).
- Strong proficiency in Java, including core Java, multithreading, and concurrency.
- Experience with Java frameworks such as Spring, Spring Boot, Hibernate, and JPA.
- Solid understanding of RESTful API design and development.
- Familiarity with relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB, Cassandra).
- Hands-on experience with version control systems, preferably Git.
- Strong knowledge of unit testing frameworks (e.g., JUnit, TestNG) and integration testing.
- Experience with cloud platforms (AWS, Azure, or GCP) and containerization tools (Docker, Kubernetes) is a plus.
- Familiarity with CI/CD pipelines and DevOps practices.
- Good understanding of Agile methodologies (Scrum, Kanban).
- Excellent problem-solving and debugging skills.
- Ability to work independently and in a collaborative team environment.
- Strong verbal and written communication skills.
Preferred Skills
- Experience with frontend technologies (e.g., JavaScript, Angular, React) is a plus.
- Knowledge of messaging queues (e.g., RabbitMQ, Kafka) and event-driven architecture.
- Familiarity with big data tools or technologies (e.g., Hadoop, Spark) is a plus.
- Familiarity with design patterns and architectural patterns such as MVC, Microservices, etc.
Educational Qualifications
- Bachelor's or Master's degree in Computer Science, Engineering, or related field (or equivalent experience).