Job Vacancy: Full Stack Software Engineer
Cellulant is the leading one-stop digital payments company in Africa operating in 10 markets i.e. Kenya, Nigeria, Uganda, Tanzania, Ghana, Malawi, Zambia, Zimbabwe, Botswana and Mozambique; providing the glue connecting everyone to everything, every day.
To do this we are looking for qualified, passionate, dynamic and vibrant people to drive our strategy and agenda.
Role Summary: Full Stack Software Engineer Software engineers are responsible for developing, managing 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.
Reports To: Technical Product Manager.
- Own the end to end software development of new and existing products
- Debug, fix and verify reported issues within a given SLA (service level agreement)
- Work with supervisor and peers to plan & prioritize the development and test strategy to ensure high quality and timely delivery of the fixes and tools
- Contribute to the overall technical architecture to enhance and improve existing technical processes
- Analyse data to measure the impact, effectiveness of current products which consequently will be used to make business decisions.
- Drive for results, increasing our team’s impact as our processes and content identify issues more effectively.
- Report in daily scrums on milestones, progress towards tasks, barriers needing attention, etc.
- Work with designers and product managers to ensure that systems designs are feasible and build upon existing systems. Be available to other teammates who may be building other systems, to maintain best practices and quality.
- Work directly with our support team, customers and vendors to resolve issues.
- 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 customer’s’ 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.
- 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
- 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.
- 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.
- 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.
- Recording of time spent and tasks
- Escalating any issues identified
- Guidance and Mentoring
- Participate in peer reviews
- Arrange and execute training for other teams
Key Performance Indicators:
- Ensure relevant documents are created, updated and shared
- Ensure all development follows set standards, guidelines and meets requirements
- Ensure set processes and policies are followed
- Ensure product/project design and development is done with foresight, longevity and scalability in mind
- Accurately report activities and achievements made
- Ensure activities and tasks are delivered within allocated time with little or no issues or defects
Experience / Skills
- Diploma or Degree in IT, Computer Science or related fields of study or 4+ years of industry software engineering experience
- 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 (Laravel/Lumen), Ruby, JSP/JSF, Android, Objective C e.t.c
- Experience in at least 1 database management systems e.g. MySql, Oracle, Postgresql, SQlite, MS- SQL e.t.c
- Experience using Agile software development techniques and tools e.g. SCRUM/Kanban, version control (Github/Subversion), Test Driven Development, continuous integration, docker 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.
- Experience in system support, support processes, tools and reports.
- Motivated engineer who can learn and implement on evolving and new technologies
- Superior problem solving, debugging and troubleshooting skills with the ability to clearly explain complex bugs/issues
- Ability to prioritize and handle multiple tasks concurrently and competently
- Familiarity with Linux and Linux software development tools
Send your CV in PDF, email subject: Full Stack Software Engineer to firstname.lastname@example.org before April 15th 2019.
Hiring will be done on a rolling basis.
Only shortlisted candidates will be contacted.