Principal Engineer (Server side)

  • KOKO Networks
  • Nairobi County, Kenya
  • Jan 09, 2018 - Feb 09, 2018
Full time Engineering Information Technology

Job Description

KOKO has been developing its core technologies over the last three years as a venture backed company, and is now hiring an A team of engineers to scale up its products, software and systems for a city-wide launch of its network in 2018. KOKO’s offices are in Nairobi (Kenya) and Kampala (Uganda).   


  • Design and implementation of low-latency, high-availability, and performant applications
  • Writing reusable, testable, and efficient code
  • Integration of data storage solutions such as relational databases, key-value stores, blob stores, data warehouse etc.
  • Integration of user-facing elements developed by front-end developers with server side logic
  • Implementation of software engineering best practices and ensuring code and process quality through regular code reviews, proper documentation and improvement initiatives
  • Ensuring all features delivered are seamlessly released to production environment and perform reliably at all times.
  • Managing Level 2 support functions which include immediate fixes to any critical defects or essential enhancements in the live systems and setting a high standard for such support service levels within the engineering team.
  • Building a strong engineering culture within the team and grooming junior engineers
  • Exercising pragmatism and maturity in managing, planning and executing engineering tasks to strike a balance between business and engineering demands.
  • Tracking and optimising the total business value delivered at all times.


Minimum qualifications:

  • BA/BS degree in Computer Science.
  • At least 7 years of experience working on projects at scale across the technology stack from engineering to dev ops
  • Expert skills in Python and related frameworks such as Django, Flask, etc and at least one other programming language.
  • Experience developing RESTful applications
  • Understanding of fundamental design principles behind a scalable application -  Familiarity with Cloud/ SaaS architectures
  • Strong unit test and debugging skills
  • Good understanding of data structures and algorithms.
  • Experience with Postgres and one or more of ElasticSearch, Redis, RabbitMQ, Celery

Preferred qualifications:

  • Experience with one ore more of AWS, VMWare, Docker, LXC
  • Experience with Javascript, Client side development, Android applications
  • Superb skills in object-oriented and functional programming and design.
  • Strong understanding of design patterns, or a well researched opinion on why they're overrated.
  • A firm grasp of multi-threading, databases (relational or nonrelational), I/O and networking.
  • Experience with IoT technologies such as MQTT, XMPP, RFID, NFC, Wireless technologies

You should certainly apply if:

  • You care deeply about your work, your team and the impact it creates.
  • You do not shy away from working long hours when your team and work demands. 9 - 5 ers need not apply.
  • You enjoy crafting elegant, well-tested solutions, not just delivering working code
  • The acronyms FP, OO, SOLID, TDD, BDD, XP mean something to you
  • You have logical and well researched opinions on existing and new technologies, and relish the learnings and challenges of working on different platforms and products
  • You have experience with or interest in user-centered interaction design
  • You have an entrepreneurial mindset
  • You strive for yourself, your team and your organization to continuously learn and improve