Tšepo Melvin Thoabala

· (+27) 64-534-8759 · tmthoabala@gmail.com ·  tmthoabala@codepool.tech

I am a software engineer with major interests in software release engineering and writing reactive and scalable applications. I believe in free and open information and I embrace the importance of sharing information. I do meetup talks and am currently responsible for knowledge sharing sessions at Superbalist.


Experience

Software Engineer

Superbalist.com
  • Leads major projects and initiatives that are mainly focused on reducing our delivery costs and the number of contacts per order. Some of these projects span across different microservices. Some are developed in PHP (Laravel) and others in Python (Django).
  • Creates various alerts for internal services and third-party services such as payment providers. These alerts are crafted to react to particular error codes.
  • Uses SQL scraper and Prometheus. We collect data from several services in order to generate reports and alerts which are then sent to our alert platforms (Slack, Opsgenie, etc).
August 2017 - Present

Graduate Software Engineer

Takealot.com & Superbalist.com
  • Migrated a legacy project to run and deploy in Kubernetes.
  • Created a new app using Python Flask and MongoDB. The app read from an old MySQL database, cleaned data, exported it in a new JSON format and stored it in MongoDB.
June 2017 - July 2017

Software Developer

SpaneApp
  • Implemented a RESTful API and created an application that used webhooks to listen to new job listings, new users created and various other events.
  • Built and deployed an application framework using Google Firebase.
  • Developed well-designed, testable (using Codeception) and efficient code.
  • Collaborated well with other team members to determine the best design specifications and details.
October 2016 - May 2017

IT SUPPORT OFFICER

Population Service International
  • Provided support, including procedural documentation and relevant reports.
  • Set up user profiles, emails, issued access passes for new employees and assisted in all password-related issues.
  • Installed and configured computer hardware operating systems and applications.
  • Conducted electrical safety checks on computer equipment.
August 2016 - September 2016

Skills

Programming Languages & Tools
Tools and other technologies
  • Practical and theoretical understanding of cloud native, microservices, serverless, immutable infrastructure, auto scaling, etc.
  • Cross browser testing and debugging.
  • Cross functional teams.
  • Agile development and Scrum.
  • Solid understanding of relational databases and databases in general.
  • Experience with MariaDB, MySQL, PostgreSQL and MongoDB.
  • Experience with DevOps tools including Podman, Docker, Buildah, Kubernetes, Jenkins, Puppet, etc.
  • Experience with Django, Flask and FastAPI.
  • Experience with Google BigQuery, Stackdriver, Prometheus, New Relic and Grafana.
  • Working knowledge of C, Java and Go.
  • Data modeling languages: JSON, YAML, XML, Jsonnet.
  • Experience with Google Pub/Sub, Kafka, Redis and RabbitMQ.

Education

National University of Lesotho

BSc. Computer science

Final year project: developed an app to assist with presentations. It allowed the user to control the mouse cursor using hand gestures in front of a webcam. It was developed using C++ and OpenCV. It was able to run on both Linux and Windows

Activities
  • Worked as a computer science lab assistant at the National University of Lesotho (NUL) from 2014 - 2016 where I assisted first and second year students with C++, C#, Java and Python.
  • President of NUL Science and Tech during the academic years 2014/15 and 2015/16.
  • Played a major role in planning and facilitating the first ever NUL hackathon in the academic year 2013/14 as the NUL Science and Tech Projects and Activities officer.
May 2011 - May 2016

Interests

I am almost always coding or reading different development blogs and playing with latest tech and tools in order to improve myself as a developer and stay up to date with latest tech. I also participate in fedora test days.

When I am not playing with computers I am watching "documentary" channels on youtube(coldfusiontv, vox), before covid-19 I would also be watching F1 or playing fives football on weekends.