RAHUL KAPOOR

Software Engineer | Johannesburg, South Africa

About Me

Rahul Kapoor

I am a Software Engineer holding a master's degree in computer science from the University of Pretoria. Skilled in full-stack development, cloud computing, and machine learning, I enjoy solving complex problems and continuously seek to enhance my skillset. Additionally, I enjoy both teaching and reading. This site is intended to be an enhaned version of my CV / resume, with some additional information about myself.

Contact Me

Experience

BBD (Jan 2023 – Present)

BBD is a global software development company with clients in logistics, finance, insurance, and telecommunications. With offices in South Africa, the Netherlands, the UK, India, and Portugal, BBD delivers full-stack solutions at enterprise scale.

Software Engineer

January 2024 – Present

Currently leading development on a logistics management platform for a client operating across multiple physical sites. Key responsibilities include maintaining and enhancing a full-stack solution comprising a TypeScript/Angular frontend, a .NET/C# backend, and a Microsoft SQL Server database hosted on the AWS cloud. Additionally, I manage a WPF desktop application used at client sites for seamless integration with logistics operations.

I also worked on a large-scale case management system where I:

In September 2024, I presented at the Escape technology conference, one of South Africa's largest tech events. My talk, titled Evolutionary Engineering: Optimising Software Projects with Genetic Algorithms, explored the use of genetic algorithms to optimize software timelines and cost planning.

Junior Software Engineer

January 2023 – December 2023

As part of BBD’s graduate program, I participated in an intensive training and real-world application curriculum. This included full-stack development projects and theoretical modules across a broad range of topics:

I concurrently worked with a logistics client, gaining valuable full-stack experience and contributing to system stability and new feature development.

Outreach & Mentorship

Led a company outreach initiative to teach high school students programming. I compiled educational materials, built interactive test programs and assignments, and coordinated schedules across a teaching team. This improved the program’s efficiency and consistency while fostering strong mentoring relationships with future tech talent.

Education

MSc Computer Science (Pass with distinction), University of Pretoria

Class of 2023

My master's degree focused on Artificial Intelligence and Machine Learning (AL/ML). I authored a dissertation where I made use of Genetic Algorithms (GAs) and Generic Programming (GP) to automate the design process of a convolutional neural network (CNN). Additionally, I introduced a variant of Genetic Programming known as Structure-based Genetic Programming (SBGP), which proved to be more effective for the same task, surpassing both GAs and traditional GP. Fortunately, this research led to the publication of one conference paper and one journal article. I owe much of my success to my supervisor, Prof. Nelishia Pillay, whose invaluable guidance contributed significantly to achieving these results. Prof. Pillay also co-authored the paper and article:

BScHons Computer Science, University of Pretoria

Class of 2021

My honour's degree served to consolidate and enhance my foundational knowledge in computer science and software engineering acquired during my undergraduate studies. The subjects I pursued included Artificial Intelligence, Image Processing, Data Mining, Digital Forensics, and Computer and Information Security. As part of the curriculum, I undertook a research project from a range of topics. I researched machine translation using transformer models, focusing on developing a miniature translation program capable of translating English into Afrikaans and isiZulu. This involved making use of publicly accessible parallel corpora (datasets) to train the translation program.

BSc Computer Science, University of Pretoria

Class of 2020

During my undergraduate degree, I had the privilege of learning a multitude of skills and techniques from exceptionally smart teachers. In my final year, I took subjects such as Software Engineering, Artificial Intelligence, Computer Networks, and Database Systems. Additionally, I focused on analytical subjects like Stochastic Processes, Multivariate Analysis, and Time-Series Analysis.

As part of my degree requirements, I undertook a final year project that required me, as part of a team, to build a piece of software for a corporate client. I was the team leader, and together, my team and I built a web application using Reinforcement Learning (an AI technique that allows a program to adjust its parameters over time given new information, i.e., learn over time) to control traffic lights in a simulated environment. This environment was based on a real stretch of road with multiple intersections. Data, such as car numbers, car types, and frequency of cars during regular vs. peak hours, was collected for initial training and randomly generated thereafter. This application, called LightBot, was well-received by our lecturers, earning me a distinction for the course.

In my earlier years, I concentrated on core computer science principles such as data structures and algorithms, concurrent programming, and computer organization and architecture, which provided me with a solid foundation. In my first year, I also took physics and business management as minors.

National Senior Certificate (NSC), Maritzburg College

Class of 2015

I graduated from high school with seven distinctions and received academic honors in my final year. I took the following subjects in high school: English Home Language, Afrikaans First Additional Language, Mathematics, AP Mathematics, Information Technology (Computer Programming), Life Sciences (Biology), Physical Sciences (Physics and Chemistry), and Accounting.

Skills

Programming Languages

C#

JavaScript / TypeScript

SQL (MSSQL)

Python

Java

HTML

CSS

Libraries and Frameworks

Angular

React

TensorFlow

Cloud Computing

AWS Certification – Solutions Architect Associate

Validation Code: ERYPHLWDQ1R11YCT

Verify Credential

Miscellaneous

Windows

Mac

Linux (Ubuntu)

IDE's: Visual Studio, VS Code

Microsoft Office

Prompt Engineering

Activities