Software Engineer Kenyan Job At Duma works
Duma Works is recruiting a Software Engineer for our client in Nairobi. Our client is transforming the way merchants and customers interact in emerging markets.
Software Engineer Job Purpose
- We are looking for a software engineer who can come in and work on various ongoing projects. 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.
Software Engineer Job Responsibilities
- Work with the Engineering team in developing the whole suite of the company’s products (web, android, sms)
- Be a major contributor to the Agile Software Methodology which we use.
- 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, GitHub, Square Squash, Jenkins, Redis, New Relic among others
Qualifications For Software Engineer Job
- You should be comfortable with system architecture and component design and be able to use design patterns
- Develop features across multiple subsystems 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
- 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
- Experience in working with systems with complex security models/implementations
- 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 necessary
- Be able to operate in an agile, fluid and uncertain environment wearing ‘multiple hats’
- Be willing to put in ‘extra hours’ in a startup environment and deal with challenging deadlines
- 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.