Software Engineer - Back End
Kopo Kopo is transforming the way merchants and their customers interact in emerging markets. Kopo Kopo is leveraging the wildly successful mobile money systems in emerging markets like Kenya to build a merchant services platform that digitizes their businesses by providing them with digital payment acceptance and disbursements, merchant cash advances and other business tools to help them manage their businesses.
About the role
We are looking for a software engineer 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
- 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, Postgresql and use tools such as JIRA, GitHub, Redis, 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 software development experience.
- Experience with building JAVA applications 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 knowledge and experience a plus.
- Demonstrate success at having been able to ‘ship’ products. You need to be able to get things done.
- Spring and Spring Boot
- Ruby on Rails
- PostgreSQL, Elastic Search
- Micro-services Architecture
The salary range for this role is KSh 150K – 300K p.m. depending on experience. There are numerous opportunities for your learning and development. Our amazing medical cover includes provisions for optical and dental services. We offer fully paid parental leave. We also love to have fun so we hope to hang out at various team events.
If you meet the requirements email your resume and recent examples of your work (e.g. a link to GitHub profile, Stack Overflow user profile and/or a portfolio of completed projects) to email@example.com. Please use the subject line “Software Engineer – Back End” in your email. You should expect a technical evaluation as part of our interview process.