Senior Software Engineer

Posted 3 years ago

Designing, developing, installing, testing and maintenance of software systems. Monitor computer software performance to ensure proper operation.

Design and Develop

  • Analyze internal and external client needs, and design, develop Software for both
  • Design and develop new scalable applications
  • Provide internal support to Junior Developers

Software Support

  • Support and maintain current Software
  • Support client requests on airtime, mobile money, sms and other client specific applications
  • Support and update deployed solutions when required

Processes

  • Write, update, and maintain computer programs or software packages to handle specific client needs
  • Write or contribute to instructions or manuals to guide end users
  • Help management in forthcoming products and discuss on special promotions

Monitoring and Maintaining Applications

  • Maintain applications that have been developed for example
  • Support clients who use TA designed and developed applications through carrying out different activities i.e. product training
  • Monitoring and checking any irregularities in the applications
  • Working on application enhancements for various applications
  • Creating various documentations for applications workflows, API documentation
  • Monitoring different applications through our monitoring services
  • Training of TA Team Members on the various applications that have been developed

Skills and Experience

  • Excellent understanding of at least 4 programming languages preferably Golang, Java, Perl, PHP
  • Exposure in software design disciplines, such as client server solution architecture, MVC Models, DevOps skills.
  • Understanding of SQL and NoSQL databases.
  • Ability to prepare detailed documentation along with any software developed. Such documentation will include a brief technical overview and software design, installation procedure, basic troubleshooting, and all available user functions
  • Knowledge of API design and integration
  • Ability to respond to inquiries about the software 24 hours each day
  • Ability to develop under UNIX environment
  • Experience in collaborative software tools such as SVN, GIT, CVS, Mercurial, e.t.c.
  • Reasonably accurate load and capacity speculations for the software solutions both during design and post deployment periods
  • Strong debugging skills
  • Knowledge in mobile applications development is a plus
  • Knowledge of containerisation and container orchestration is a plus
  • Knowledge of TDD, continuous integration, continuous delivery is a plus
  • Bachelor’s Degree with specialization/IT or at least 5 years’ experience in software development

Job Features

Job Category

Job Openings

Apply Online