Software Engineer, Senior Software Engineer at Cellulant

On Wednesday, June 18th, 2014
Who are we?

Cellulant* is a mobile commerce company. It operates Africa’s number one mobile commerce network and aims to connect 100 million customers to its mobile commerce ecosystem.

Cellulant* was founded in 2003 and has currently operations in Kenya, Nigeria, Tanzania, Uganda, Rwanda, Ghana, Zimbabwe, Mozambique, Malawi, Zambia, Botswana and every year moving into new countries.

We are the mobile commerce partner of choice and our goal is to connect all of our corporate customers, including e.g. the top Pan African banks, various merchants, to the richest mobile commerce ecosystem in Africa, helping them provide better communication, and more services, and more value to their end consumers. We do that by providing services like mobile banking, mobile payments, music, information services and other mobile related services.

To be able to meet these aggressive growth expectations we need to grow our
dynamic team. We invite you to be part of that growth by submitting your application to the following role.

Software Engineer.

She/he will develop software that offers users high-quality performance and reliability

Responsibilities.

Software Design
  • Estimate effort and time required to complete a task.
  • Analyse and critique requirements and make recommendations on possible solution designs.
  • Contribute towards establishing all possible options for designing and deriving the best solutions based on sound analytical judgment, team input and the customers’ best interest.
  • Research new technologies that push the boundaries and capabilities of design and provide insight.
  • Assist in continual improvement of software configuration management process.
  • Software Development
  • Accountable for optimization-focused design to ensure that all code is written with high availability and high-impact.
  • Accountable for efficiency-focused software that serves to ensure that all code is highly reusable and modular.
  • Develop push and pull data interfaces using the latest web and data sharing technologies
  • Develop software according to functional and technical design specifications and maintain a “common sense” approach that serves to recognize potential design gaps and provide insight into closing them.
  • Develop patches and defect fixes.
Documentation
  • Author technical design documentation that fully defines all application code and the underlying methodology for the design decisions made.
  • Author user documentation for any projects/products worked on.
Product Testing
  • Provide feedback on test cases and test coverage to the quality assurance team.
  • Review code for potential performance issues, re usability, and/or anomalies.
  • Detail unit testing of code.
  • Perform and assist with quality assurance activities as needed.
Product Support
  • Assess, troubleshoot, document and resolve issues
  • Troubleshoot client problems both remotely and on site.
  • Research and identify cause of reported defects and issues.
  • Develop and contribute to the improvement of maintenance procedures
  • Adhere to the terms of the Operating Level Agreement.
Reporting
  • Recording of time spent and tasks
  • Escalating any issues identified
  • Guidance and Mentoring
  • Participate in peer reviews
  • Arrange and execute training for other teams
Required Skills and Competencies
  • Diploma or Degree in IT, Computer Science or related fields of study.
  • A minimum of 2 years experience in software development.
  • Exposure in design disciplines and processes, such as client server solution architecture, MVC Models, OOP or High performance solutions.
  • Experience in at least 2 backend programming languages e.g. Java, C, C++, C#, Perl, Python, VB.Net, shell e.t.c
  • Experience in at least 2 presentation languages e.g. ASP, PHP, Ruby, JSP/JSF, Android, Objective C e.t.c
  • Experience in Web presentation languages and frameworks e.g. html, CSS, Javascript, ExtJS, Zend, jQuery, Code-ignitor, Yii e.t.c
  • Experience in at least 1 database management systems e.g. MySql, Oracle, Postgresql, SQlite, MS-SQL e.t.c
  • Experience in consuming public APIs for at least one public service e.g. Google APIs
  • Experience using collaborative software tools such as SVN, GIT, CVS, Mercurial, e.t.c
  • Experience in data and database design standards and processes
  • Experience in customer engagement and Issue resolution.
  • Experience in Office Tools for publishing and presentation preparation. In depth understanding of spreadsheet manipulation and reporting.
Senior Software Engineer

She/he senior software engineers are responsible for developing or upgrading software. They are experienced members of development teams and might take a lead role in software projects. Their goal is to develop software that offers users high-quality performance and reliability.

Responsibilities


Software Design

  • Estimate effort and time required to deliver a project.
  • Prepare and document and share project plan.
  • Analyse and critique requirements and make recommendations on possible solution designs.
  • Make recommendations on possible solutions.
  • Establish all possible options for designing and deriving the best solutions based on sound analytical judgment, team input and the customers’ best interest.
  • Research new technologies that push the boundaries and capabilities of design and provide insight.
  • Design projects/products with longevity, foresight and saleability in mind.
  • Assist in continual improvement of software configuration management process.
  • Software Development
  • Accountable for optimization-focused design to ensure that all code written is loosely coupled and caters for high availability.
  • Accountable for efficiency-focused software that serves to ensure that all code is highly reusable and modular.
  • Develop push and pull data interfaces using the latest web and data sharing technologies
  • Develop software according to functional and technical design specifications and maintain a “common sense” approach that serves to recognize potential design gaps and provide insight into closing them
  • Develop patches and defect fixes
  • Arrange, prepare and execute training for other teams

Documentation

  • Author and maintain technical design documentation that fully defines all application code and the underlying methodology for the design decisions made.
  • Author user documentation for any projects/products worked on.
  • Prepare road-map documentation identifying key features that should be included in products.

Product Testing

  • Provide feedback on test cases and test coverage to the quality assurance team.
  • Review code for potential performance issues, re-usability, and/or anomalies
  • Ensure that unit tests are written for all code
  • Perform and assist with quality assurance activities as needed
  • Ensure that the solution/products delivered meets the customers expectations “the promise”

Product Support

  • Assess, troubleshoot, document and resolve issues
  • Troubleshoot client problems both remotely and on site
  • Research and identify cause of reported defects and issues
  • Develop and contribute to the improvement of maintenance procedures
  • Adhere to the terms of the Operating Level Agreement.

Reporting

  • Recording of time and tasks
  • Escalating and documenting any issues identified
  • Ensure reports capture the four I’s (Information, Insight, Implementation, Impact)
  • Consume analyse and critique reports within the team
  • Guidance and Mentoring
  • Participate in peer reviews.
  • Identify areas of improvement, prepare material and organise training within the team.

Required Skills and Competencies

  • Degree in IT, Computer Science or related fields of study.
  • Excellent understanding of Software development methodologies and related SDLC’s
  • A minimum of 5 years experience in software development.
  • Experience in diverse dynamic conditions with minimal supervision in an intense environment (+2yrs)
  • A minimum 2 years leading a team of two or more engineers.
  • Expertise in design disciplines and processes, experience in client server solution architecture, MVC Models, OOP and High performance solutions.
  • Expertise in at least 2 back end programming languages e.g. Java, C, C++, C#, Perl, Python, VB.Net, shell e.t.c
  • Expertise in at least 3 presentation languages e.g. ASP, PHP, Ruby, JSP/JSF, Android, Objective C e.t.c
  • Expertise in at least 3 Web presentation languages and frameworks e.g. html, CSS, Javascript, ExtJS, Zend, jQuery, Code-ignitor, Yii e.t.c
  • Expertise in consuming public APIs for at least one public service e.g. Google APIs
  • Expertise using collaborative software tools such as SVN, GIT, CVS, Mercurial, e.t.c
  • Expertise in at least 2 database management systems e.g. MySql, Oracle, Postgresql, SQlite, MS-SQL e.t.c
  • Expertise in data and database design standards and processes having managed relational schemas of over 20 objects.
  • Expertise in solutions administration, customer engagement and issue resolution.
  • Advanced skills in Office Tools for publishing and presentation preparation. In depth understanding of spreadsheet manipulation and reporting.
  • Experience in system support, support processes, tools and reports.

Interested candidates are requested to submit their CVs and a convincing cover letter to jobs@cellulant.com indicating the job title applied for by 30th June 2014.

Only shortlisted candidates will be contacted.

Displaying No Comments
Have Your Say

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>