Senior Software Engineer (Java & Spring Boot) Job at PalmPay

PalmPay is an Africa-focused fintech firm, launched in 2019. PalmPay is a mobile payments platform that offers a number of financial services.

We are recruiting to fill the position below:

Job Position: Senior Software Engineer (Java & Spring Boot)

Job Location: Ikeja, Lagos

Job Description


  • We are seeking a highly skilled Senior Software Engineer with deep expertise in Java and Spring Boot to join our engineering team.
  • The ideal candidate will be responsible for designing, developing, and maintaining robust and scalable backend systems, focusing on payment solutions, gateways, and libraries.
  • Previous experience working in banks or other fintech establishments is required.
  • As a key member of the backend team, you will collaborate with developers, architects, and stakeholders to deliver high-quality software solutions that meet both technical and business requirements.

Key Responsibilities

  • Design and Development: Build and maintain scalable, reliable, and high-performance backend payment services and APIs using Java and Spring Boot.
  • Architecture & Design: Collaborate with architects and engineers to design and implement payment systems that meet performance, scalability, and reliability goals.
  • Code Quality: Write clean, maintainable, and efficient code following best practices (SOLID principles, design patterns, etc.) and the company’s engineering standards.
  • Testing & Debugging: Write unit, integration, and performance tests. Debug and troubleshoot issues in production independently or with QA and other team members.
  • Microservices Development: Design and develop microservices that integrate seamlessly with the broader system architecture.
  • Database Management: Work with relational and NoSQL databases, ensuring proper indexing, query optimization, and data integrity.
  • API Development: Build RESTful APIs and ensure efficient communication between backend and frontend systems, with strong knowledge of payment library development supporting core payment services.
  • Security & Performance: Implement security best practices (encryption/decryption, authentication, authorization) and optimize performance for highly available systems.
  • Collaboration: Work closely with cross-functional teams including frontend, DevOps, PM, and QA to deliver high-quality features.
  • Code Reviews: Conduct code reviews, provide feedback, and mentor junior engineers to maintain high code quality.
  • Continuous Integration & Deployment: Work with CI/CD pipelines, automated build systems, and cloud environments to ensure smooth deployments and minimal downtime.
  • Technical Documentation: Write and maintain documentation for system designs, API specifications, and development processes.

Required Technical Skills

  • Java: Expert proficiency (Java 8 and above) with a strong understanding of object-oriented programming, concurrency, and multi-threading.
  • Spring Boot: Extensive experience building RESTful services and enterprise applications.
  • Spring Framework: In-depth knowledge of Spring MVC, Spring Data, Spring Security, Spring Cloud, Hibernate, and/or MyBatis.
  • Databases: Strong experience with SQL (PostgreSQL, MySQL) and NoSQL (MongoDB, Redis).
  • Messaging Systems: Experience with messaging and event-driven architectures using RocketMQ, Kafka, RabbitMQ, or ActiveMQ.
  • APIs & Integrations: Skilled in building and consuming RESTful and SOAP APIs; familiar with Swagger or OpenAPI.
  • Version Control: Proficient in Git for source code management, branching, and pull requests.
  • Containerization: Experience with Docker and orchestration tools like Kubernetes.
  • Cloud Platforms: Hands-on experience with AWS, AliCloud, Google Cloud, or Azure.
  • Testing: Proficient with testing frameworks like JUnit and Mockito; experienced with integration test strategies.
  • CI/CD: Familiar with DevOps practices, continuous integration, and deployment tools such as Jenkins or CircleCI.

Soft Skills & Communication:

  • Strong Communication: Ability to explain complex technical concepts clearly to both technical and non-technical stakeholders.
  • Collaboration: Proven ability to work effectively within and across teams.
  • Problem-Solving: Excellent analytical and debugging skills for resolving complex technical issues.
  • Mentorship: Experience mentoring junior engineers and sharing knowledge within the team.
  • Attention to Detail: Strong focus on quality, maintainability, and performance with effective prioritization skills.

Nice to Have:

  • Experience with GraphQL.
  • Knowledge of Reactive Programming using Spring WebFlux.
  • Familiarity with OAuth2 and JWT for authentication and authorization.
  • Experience with API Gateways and distributed tracing tools.
  • Understanding of DevOps principles and experience with infrastructure-as-code tools such as Terraform or Ansible.