Orgmento, a leading software engineering and data sciences consultancy in Accra, Ghana, is in search of a highly skilled Senior Java Software Engineer to join our dynamic team.
We are building a next-gen financial platform to revolutionise the way finances are managed, and we are looking for experienced Senior Java Developers to join our team and help us build a microservice-based, scalable, resilient, and secure system.
You will be instrumental in, and contribute to all phases of the development lifecycle, from initial design and implementation, through to testing, deployment and monitoring of high-quality software that powers our next-generation financial services.
The ideal candidate will have extensive experience in software development specifically in the Java space, and should be proficient in frameworks and tools commonly used in Java development. You will work closely with other Java software engineers, product managers, and clients to deliver innovative financial software solutions that meet our clients' needs.
This is a full-time position with an initial 6-month probationary period, and candidates must be based in or willing to relocate to Accra, Ghana.
High-Level Responsibilities
- Design and develop high-performance, scalable, and resilient microservices using Java, SpringBoot, Node.js, Quarkus and related technologies
- Implement best-of-class software solutions based on user requirements and best practices
- Contribute to the architecture and design of the overall platform
- Write clean, testable, and well-documented code
- Participate in code reviews to ensure code quality and adherence to established standards, and knowledge sharing
- Collaborate with other software engineers, testers, and DevOps engineers to deliver high-quality software
- Implement robust security measures to protect sensitive data and prevent fraud
- Debug, troubleshoot and resolve issues in a timely manner to maintain optimal performance
- Participate in agile development processes, including sprint planning, daily stand-ups, and retrospectives
- Stay up-to-date with the latest technologies and trends in software development
- Implement monitoring and alerting to ensure the health and performance of the platform
- Mentor junior developers and contribute to their professional growth
- Stay current with industry trends, technologies, and best practices related to Java development.
If you are an experienced Java Software Engineer who is passionate about delivering high-quality software solutions and thrives in a collaborative environment, we invite you to apply to join our team at Orgmento.
Mandatory Experience
- Strong, extensive proficiency in the Java programming language
- Experience designing and developing platforms based on a microservices architecture
- Extensive experience with Java-based tools, including SpringBoot, Quarkus frameworks
- Experience/exposure to GoLang would be a distinct advantage
- Experience of building API Gateways, RESTful implementations and web services (e.g., Spring Cloud Gateway)
- Experience of relational database design using PostgreSQL and NoSQL databases using MongoDB
- Experience with message queueing systems (e.g., RabbitMQ or Kafka)
- Experience with service discovery tools and secrets/key management solutions (e.g., HashiCorp)
- Experience with running and deploying scalable software onto cloud platforms (e.g., AWS, GCP, or Azure)
- Familiarity with DevOps principles and tools for setting up and executing CI/CD pipelines
- Experience with monitoring and analytics tools (e.g., Prometheus, Grafana) and distributed tracing tools (e.g., Jaeger, Zipkin)
- Experience of security best-practice, including encryption (AES-256, TLS 1.3), tokenisation, and secure coding principles
- Familiarity with some front-end technologies such as HTML, CSS, and JavaScript
- Experience with unit, integration, and end-to-end testing
Mandatory Design Skills
- Designing microservices architecture for independent scaling
- Implementation of circuit breakers and retries with exponential backoff for resilience
- Adherence to security best practices, including encryption and secure key management for security
- Integration of monitoring and tracing tools to achieve real-time insights and observability
- Design/implementation of abstraction layers around 3rd-party API's (e.g., external payment processors) for service design and agility
Desirable Skills
- Experience with Domain-Driven Design (DDD) and Event-Driven Architecture (EDA)
- Knowledge of PCI DSS and ISO 27001 compliance
- Contributions to open-source projects
- Experience with Hexagonal architecture, CQRS, Saga design patterns and the Actor Model
- Experience in the fintech or banking industry is a plus
- Bachelor's degree in Computer Science, Software Engineering, or a related field
- 8+ years, general software development experience
- 5+ years, specific experience in Java software development
- Strong understanding of SOLID principles, design patterns, and design best practices
- Excellent analytical and problem-solving skills
- Strong communication and teamwork skills
- Ability to mentor and guide junior team members
- Extremely competitive salary
- Opportunity to work on a cutting-edge platform
- Professional development opportunities.
- Performance-related Bonus (up to twice-yearly)
- Paid Holiday
- Health Insurance Benefits
- Training and Development
- Two-weekly company-wide social events
- A fun and respectful working environment