Job Summary
Job Description:
We are looking for a Senior Java Software Engineer to join our growing engineering team. As a Senior Software Engineer, you will be responsible for designing, developing, and maintaining high-performance, scalable applications. You’ll work closely with cross-functional teams to deliver high-quality solutions that meet both business and technical requirements. You’ll leverage your extensive experience in Java and software engineering best practices to mentor junior developers, optimize system architecture, and ensure the quality and performance of the systems you build.
Key Responsibilities:
- Design, develop, and maintain enterprise-level Java applications, with a focus on scalability, reliability, and performance.
- Work with business stakeholders to gather requirements and translate them into technical solutions.
- Write clean, maintainable, and efficient code following software engineering best practices (e.g., SOLID principles, design patterns).
- Contribute to the architecture and design decisions of the system.
- Participate in code reviews, providing constructive feedback to team members.
- Mentor and provide guidance to junior engineers, helping them grow their technical skills.
- Troubleshoot and resolve complex technical issues, ensuring high availability and performance.
- Collaborate with cross-functional teams (e.g., QA, DevOps, Product Management) to deliver solutions that align with company objectives.
- Stay current with emerging technologies and industry trends, bringing fresh ideas to the team.
- Participate in Agile development processes, including sprint planning, daily stand-ups, and retrospectives.
Required Qualifications:
- 5+ years of professional experience in Java development.
- Strong experience with Java frameworks such as Spring Boot, Hibernate, or Java EE.
- Proficient in building RESTful APIs and integrating with third-party services.
- Strong knowledge of object-oriented design principles and design patterns.
- Hands-on experience with relational databases (e.g., PostgreSQL, MySQL) and NoSQL databases (e.g., MongoDB, Cassandra).
- Familiarity with cloud platforms (e.g., AWS, GCP, Azure) and containerization tools (Docker, Kubernetes).
- Experience with unit testing frameworks (e.g., JUnit, TestNG) and test-driven development (TDD).
- Excellent problem-solving skills and the ability to work independently and in a team environment.
- Strong communication skills, both written and verbal.
- Experience working in Agile/Scrum environments.
- BS or MS degree in Computer Science, Engineering, or related field (or equivalent experience).
Preferred Qualifications:
- Experience with microservices architecture and related tools (e.g., Spring Cloud, Netflix OSS).
- Familiarity with CI/CD pipelines and DevOps practices.
- Knowledge of front-end technologies (e.g., JavaScript, React, Angular) is a plus.
- Familiarity with messaging systems (e.g., Kafka, RabbitMQ) and event-driven architectures.
- Experience with automated performance testing and monitoring tools.
Tech Stacks in use:
*Popular but not limited to
- Frameworks: Spring, Spring Boot
- Frontend techs: Angular, React, Vue
- ORM Tools: JPA, Spring Data, Hibernate
- Relational databases: Oracle, MSSql, PostgreSQL, MySQL
- Non-relational databases: MongoDB, Cosmos DB
- Build Tools: Maven and Gradle
- Cloud environments: Azure, AWS
- IAC: Terraform, Bicep, AWS CDK
- Event-based messaging queues: KAFKA, RabbitMQ, Amazon SQS
Please note that by submitting your personal information to Deka Minas you free-willingly issue the business consent to make use of such data for the specific purpose of securing you either permanent or temporary employment. Our business makes use of a POPIA compliant database and you have the right to access, right to correction and right to deletion of your personal information