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.
- 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