Job Title: Software Engineer
Job Type: Permanent
Job Place: Addis Ababa
Job Description:
The position requires a versatile software engineer who will write clean, maintainable code, collaborate with cross-functional teams, and help design and deliver high-quality software solutions. The role also involves actively participating in documentation, knowledge sharing, and continuous professional development to ensure both personal growth and the success of the product. Through mentoring, feedback, and ongoing learning, the engineer will help drive the technical excellence and collaborative culture necessary for the successful development and evolution of the product.
What you will do:
- Write clean, maintainable, and efficient code across various product and languages, including front-end, back-end, or full-stack development, depending on the project requirements.
- Participate in code reviews by providing constructive feedback to peers, mentoring junior developers, and promoting best practices in coding, design, and documentation.
- Collaborate with cross-functional teams to define solutions, gather requirements, and deliver high-quality software; participate in technical design, sprint planning, and documentation; facilitate communication, resolve conflicts, and optimize collaboration processes.
- Create and maintain API docs, user guides, and internal knowledge bases; develop training materials, ensure documentation consistency, and manage version control practices for clarity and traceability.
- Pursue advanced courses, certifications, and workshops to enhance technical and leadership skills like project management; present at events, seek feedback, and develop soft skills like problem-solving, adaptability, teamwork and communication for continuous career growth.
Required Experience and Qualifications:
- 2+ years of relevant experience with Java and Spring ecosystem.
- Minimum of BSc. in Computer Science, Software Engineering or related fields.
- Proficient in Java 11, with experience in Spring Boot, Spring Data, and Spring Security.
- Experience with Angular, TypeScript, JavaScript (ES6+), and basic knowledge of RxJS and NgRx.
- Familiar with microservices, API design, and clean code principles.
- Experience working with API design and building RESTful services.
- Knowledge of PostgreSQL/MySQL; basic experience with NoSQL (MongoDB).
- Experience with CI/CD (Azure DevOps/Jira, GitLab CI/CD, Jenkins, GitHub Actions) and version control (Git).
- Familiar with Azure Cloud Services and Docker; Kubernetes is a plus.
- Basic experience in unit testing (JUnit, Mockito); familiarity with Jasmine/Karma for frontend.
- Basic understanding of OAuth2, JWT, and secure coding practices.
- Familiarity with Kafka messaging system is a plus.
- Familiarity with memory management is a plus.
Behavioral competencies:
- Demonstrates a passion for personal and professional growth by actively seeking opportunities to improve skills and knowledge.
- Thinks critically and approaches challenges with a methodical and resourceful mindset.
- Builds trust with colleagues and stakeholders by maintaining high ethical standards and safeguarding sensitive information.
- Shows strong dedication to responsibilities, consistently delivering high-quality work. Upholds a positive attitude and persistence, even in challenging situations.
- Works effectively within diverse teams, showing respect, flexibility, and a willingness to collaborate toward common goals.