Role Description

This is a hands-on software development role. It will encompass all aspects of the software development life-cycle working with a small engineering team and demands a high understanding of application design and architecture.

Key Responsibilities

  • Work with the Engineering team in developing the whole suite of Finplus Group products (web, mobile apps, sms, USSD).

  • Be a major contributor to the Agile Software Methodology which we use at Finplus Group

  • Work with partners on integrations that will require involvement in all aspects of the software development cycle from requirement analysis to implementation

  • Develop software using our development stack which includes Ruby on Rails, Postgresql, Android, Apache, Phusion Passenger, Ubuntu Linux, AWS, jQuery, Angular.js, Bootstrap and use tools such as JIRA, Bitbucket, Jenkins, Redis among others.

  • Interfacing with clients to understand their business, goals and visions for products and solutions being supported by Finplus Group.

Desired Skills and Experience

  • Readiness to give all the effort necessary to do an excellent job - even if it means putting in extra time to research the problem you’re facing or deal with challenging deadlines.

  • Develop features across multiple subsystems within our application by collaboration during requirements definition, designing, coding, testing and deployment.

  • Have the ability to leverage asynchronous programming, queuing, 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.

  • Have a vibrant personality and exceptional communication skills (English, verbal and written).

  • Perfectionism: knowing how it should be done and not stop until it’s done right

  • You should be comfortable with system architecture and component design and be able to use design patterns

  • Understand how our applications (Rails, Android, SMS, USSD) operate, are structured, interact with external systems and how our customers use them

  • Document proposed solutions by developing documentation, flowcharts, layouts, diagrams etc.

  • Ruby experience is an added advantage.

  • Be able to operate in an agile, fluid and uncertain environment wearing ‘multiple hats’

  • Demonstrate success at having been able to ‘ship’ products individually or as part of a team. You need to be able to get things done.

What else to expect

Our team uses a combination of digitization, smart process design and automation software to reduce waste of time and other resources but this ethos of efficiency begins with our own engineering. Aside from building high impact solutions and obsessing over the intricate to make it simple for our users, a big part of your job will involve automating all the repetitive grunt-work typically associated with setting up, supporting and extending an integrated suite of specialized, mission-critical applications serving hundreds of clients and millions of customers. This means that if you’re doing your job right you’ll automatically be working on something new every 6-12 months.

If you like having a constant supply of new challenges, learn fast, have an eye for detail, work well with others and can convert a problem statement into an effective end-to-end solution in your sleep, this position may be perfect for you.