Software Engineer – Back End

Kopo Kopo

Kopo Kopo offers solutions to help businesses grow and prosper through payments.

About the role

We are looking for a Software Engineer – Back End who can come in and contribute to various projects that Kopo Kopo is currently undertaking. This is a hands-on software development role. It will encompass all aspects of the software development life-cycle working with an engineering team and demands a high understanding of application design and architecture. It is not a ‘fully remote’ role and requires presence in the office for some days of the week.

Roles and Responsibilities

The Software Engineer – Back End will have the following responsibilities:

  • Work with the Engineering team in developing the whole suite of Kopo Kopo products (web, android, sms)
  • Participate in the user requirements gathering phase
  • Be a major contributor to the Agile Software Methodology which we use at Kopo Kopo.
  • Troubleshoot and debug existing software.
  • Participate in migrating some services from a Ruby on Rails backend to a JAVA back end.
  • Develop software using our development stack which includes Ruby on Rails, JAVA, and Postgresql and use tools such as JIRA, GitHub, Redis, and New Relic among others
  • Write technical documentation for reference
  • Play an active mentoring role to other developers by providing advice and coaching

Desired Skills and Experience

  • You should have a minimum of 3 years of software development experience.
  • Experience with building JAVA applications is a must.
  • You should have experience working with the Spring Boot framework.
  • You should have worked on complex scalable distributed applications.
  • You should be comfortable with system architecture and component design and be able to use design patterns.
  • Develop features across multiple subsystems (engines) within our application by collaboration during requirements definition, designing, coding, testing and deployment.
  • Participate with engineering, operations and business teams to define plans for scaling, enhancing and standardizing our products
  • You should be able to leverage asynchronous programming, queueing, caching, logging security and persistence when appropriate
  • Have experience in building data-driven applications using significant relational database engines as part of the application architecture
  • Experience in working with systems with complex security models/implementations
  • Understand how our applications (Rails, Android, SMS) operate, are structured, interact with external systems and how our customers use them
  • Familiarity with the Amazon Web Services stack (EC2, VPC, OpsWorks, RDS)
  • You must be able to investigate, analyze and make recommendations to management regarding technology improvements, upgrades and modifications.
  • Document proposed solutions by developing documentation, flowcharts, layouts, diagrams etc.
  • Improve operations through system analysis and recommend changes in policies and procedures
  • You should be able to communicate the above-mentioned to different teams accordingly (engineering, business, operations)
  • Ruby’s knowledge and experience a plus.
  • Demonstrate success at having been able to ‘ship’ products. You need to be able to get things done.

Relevant Technologies

  • JAVA
  • Spring and Spring Boot
  • Ruby on Rails
  • PostgreSQL, Elastic Search
  • Micro-services Architecture

Are you looking to sharpen your Software Development skills to stay relevant in the market? CLICK HERE to have a look at the top schools.

For all your IT certification needs, please, click here for information on how to get started

To apply for this job please visit

Job Overview
Job Location