LOCATION: Nairobi, Kenya
Our client has been at the forefront of the evolution of technology offering cutting-edge solutions to their partners including mobile money integrations, mobile Survey systems, Core Banking extensions, Mobile banking suites, messaging and tailored IT solutions. They are looking to grow their team by hiring a self-driven individual who is passionate about all things tech!
You will be required to participate in all the day to day activities on the company technology wise. This includes but not limited to software Development, testing and implementation, client interaction, quality assurance on existing and pre-golive apps and platforms and systems support.
You will report to the Chief Technical Officer and in his/her absence to the Chief Executive Officer both of whom shall be your supervisor and senior supervisor respectively
• You will be tasked from time to time to develop new or enhance existing platforms either as a member of a team or in your own individual capacity.
• Your development work shall make use of recommended tools to achieve your objectives in the assigned roles.
• You will abide by the company policy on software development recommended best practices as well as adhere to the client’s information technology security policy.
• You will primarily develop web Applications, backend applications, mobile applications, participate in the full Software Development Life Cycle (SDLC) as well as work with the rest of the technology team during troubleshooting efforts where needed.
• Execute full lifecycle software development
• Design and develop new software applications.
• Write well designed, testable, efficient code.
• Understanding and supporting existing systems.
• Tailor and deploy software tools, processes and metrics.
• Produce specifications and determine operational feasibility.
• Integrate software components into a fully functional software system.
• Present and implement developed software applications at client sites.
• Contribute actively to innovations of new products and improvement of existing systems.
• From time to time, you may be required to set up new VPNs, troubleshoot on existing ones and implement IP routing rules on the company networking equipment.
• You will be required to document new and existing applications and systems targeted at varied audience such as internal staff, client’s and other external developer teams.
• Ability to deploy systems on the client’s infrastructure as well as within client and other applicable infrastructure.
• Experience and know how in preparing test sheets based on system requirements gathered at project initiation.
• Ability and experience in testing pre-golive and post golive systems based on prepared test sheets that lead to the targeted system’s user accepting the solution as a capable of solving their needs.
• Experience with at least one of the open-source bug reporting and tracking systems.
• Perform continuous systems review and provide upgrades to ensure systems remain relevant and up to date.
• Ability to test and ensure that all projects within your responsibility adhere to the highest quality standards.
• Ability to investigate and address queries and issues that may come up during the normal running of systems.
• Ability to satisfactory address client concerns by resolution and closing of outstanding tickets within the set SLA time.
• Ability to work out of the normal hours to investigate and close issues that may arise during such periods.
• Experience with a ticketing system
• Experience with deploying Operating systems to computer hardware.
• Experience with Unix and other Unix-like operating systems.
• Intrinsic understanding of the underlying layers of operating systems and ability to troubleshoot and advise on issues.
• Proven work experience in software engineering for at least 5+ years
• Mastery in software engineering tools.
• Proficient in MYSQL. Oracle, Postgres, Redis and any other database related will be an added advantage.
• Proficient in at least one scripting language (PhP, Perl, ASP.net etc.) and at least two web services (SOAP, RESTFUL, XML-RPC etc.).
• Well Conversant with at least one object oriented programming language (C#, Java, C++ etc.), UNIX operating system and with MVC architecture
• Experienced in using code version technologies, writing test cases, Scrum/Agile software development methodologies
• Excellent debugging and problem solving skills, staying up to date with the latest trends and are excited to learn new languages, tools, and best practices.
• Advanced system administration skills (including networking).
• Comfortable in working on a Linux based environment.
• Ability to document requirements and specifications and well versed with software development documentation tools.
• Familiar with agile methodology.
• Conversant with Payments Systems integration (Mobile money and Card systems).
• Familiar with VAS services (SMS, shortcodes, MT, MO etc.), messaging gateways (e.g. Kannel).
• Ability and willingness to learn fast in a rapidly changing environment.
• Enjoy collaborating, problem-solving, and being part of a team environment
• The ability to work with a high degree of autonomy and limited supervision
Desired Skill Set:
• Protocols: HTTP, XMPP, AMQP, 1.0, SIP, Grpc
• Software: Git, Svn, Docker, Redis, Beanstalkd, SMSSync
• Frameworks: React.js, Ionic, Laravel, Spring, Django, Magento, Bootstrap,, Angular JS, Vue, MEAN Stack, Phoenix
• DevOps: Docker, Docker swarm, Kubernetes, Azure DevOps, Jenkins, CircleCI, Gitlab, Splunk, ELK
• Databases: MySQL, MongoDB, Cassandra, Postgres
• Knowledge of AWS and Azure.
• Experience with MVC frameworks.
• IOS development experience.
• High availability systems setup and management experience.
• Systems security management experience
• Experience with software versioning systems
• Experience with virtualized server environments and host services.
• Mobile applications development (Android, IOS or Windows).
• CISCO, CCNA certification.
• Experience with at least one major cloud provider.
• ML and AI knowledge will be an added benefit.