Hi, there! I'm Wandile :)

Welcome to my digital abode! I'm from the beautiful Kingdom of Eswatini. My journey into tech started with an old Pentium computer and has led me to become a passionate software engineer.

My coding adventure began with modifying game files and evolved into creating a mobile app to deliver free education. Although the app was developed using PhoneGap, it ignited my love for engineering.

College brought new challenges, including a remote job that introduced me to a diverse team of engineers. Balancing studies with work, I honed my skills through code reviews and collaboration.

Aside from coding, I produce music as a way to unwind. It's a perfect mix of technical precision and creative freedom.

Thank you for visiting! I'm excited to see where this journey leads. Feel free to get in touch!

svg image

Professional Experience

2021

The Knowledge Institute

Front-End Web Engineer

As a Front-End Web Engineer working remotely, I collaborated with a diverse developer team to create user-friendly, responsive, and visually appealing web pages. My role involved utilizing modern front-end technologies, including HTML, CSS, JavaScript, and React, while adhering to web development best practices and focusing on creating optimal user experiences. Additionally, I contributed within an Agile framework to facilitate continuous improvement and feature development.

2019

Exampad

Front-End Mobile Engineer

As a Front-End Mobile Engineer, I led the development of an innovative educational app which garnered thousands of downloads and was named 'Innovative App of the Year' in 2019. Responsible for integrating PhoneGap Framework to enhance user experience, I also engaged with a multidisciplinary team to ensure the app's offerings were in line with student needs and educational goals.

Projects

2024

AirBnB Clone

Stack: Python, HTML, CSS

In collaboration with Tg Gemedi from Ethiopia and Tony Ntahe from Rwanda, I had the opportunity to contribute to an exciting project: the AirBnB Clone. Our initial focus was on building a command interpreter, drawing inspiration from the Monty 0.98 bytecode interpreter used in the ALX Holberton Software Engineering program. This interpreter plays a crucial role in managing various AirBnB objects, including User, State, City, and Place. The project involved creating a parent class, BaseModel, to handle initialization, serialization, and deserialization of instances. We established a seamless flow for serialization/deserialization, allowing us to work effortlessly with objects in JSON format. Furthermore, we implemented specific classes for each AirBnB object, developing an abstracted storage engine with a focus on file storage. This laid the groundwork for subsequent tasks, such as HTML/CSS templating, database storage, and front-end integration. The command interpreter, akin to a specialized Shell, enables the creation, retrieval, updating, and destruction of AirBnB objects, setting the stage for an innovative web application.

2023

Bytecode Interpreter

Stack: C

This bytecode interpreter project, Monty 0.98, was developed as part of the ALX Holberton Software Engineering program. Monty is a scripting language that undergoes compilation into Monty bytecodes, similar to Python. The language operates on a distinctive stack, employing specific instructions for manipulation. Files containing Monty bytecodes conventionally carry the .m extension. Although not mandatory by the language specification, this extension is widely adopted in the industry. The language enforces a one-instruction-per-line rule, allowing any number of spaces before or after the opcode and its corresponding argument.

2023

Only Make Waves

Stack: HTML/CSS, SCSS, and JavaScript

This is a front-end website project for Only Make Waves, a music record label. The website is designed to showcase the label's latest releases, artists, and events, as well as provide a platform for fans to discover and purchase music. The website's user interface is clean and minimalist, with an emphasis on ease of use and accessibility. It features responsive design, optimized for desktop and mobile devices. The website also includes social media integration, allowing fans to share and engage with the label's content on various platforms.

2022

Simple Shell

Stack: C

This is a shell project written in C programming language, completed by myself and Ebimoboere Claudius from Nigeria as part of the ALX Holberton Software Engineering program. The project involved designing and implementing a command-line interface that mimics the functionality of a Unix shell. The shell supports various commands and features commonly found in Unix-based systems, such as piping, input/output redirection, and background processes. The code is well-organized, modular, and adheres to industry-standard coding practices. In addition to the core features, we also implemented several additional features, such as error handling, signal handling, and built-in commands.

2022

printf

Stack: C, and Shell

This project involved designing and implementing a custom printf function in the C programming language, completed by myself and Matlotlo Makomane from South Africa as part of the ALX Holberton Software Engineering program. The printf function is a fundamental tool for printing output in C, and our project aimed to replicate its functionality while also adding additional features and improvements. Our implementation supports various format specifiers, including strings, characters, integers, and floating-point numbers, as well as flags such as width and precision. The code is well-organized and adheres to industry-standard coding practices. We also implemented extensive testing to ensure the function's accuracy and reliability.

2021

SaSa

Stack: HTML/CSS, React

This is a web-based application platform designed to simplify the process of applying to institutions of higher learning for learners from Eswatini. The platform provides a centralized hub where learners can search for and apply to multiple institutions using a single application. This eliminates the need for learners to navigate through multiple application portals, saving time and reducing the risk of errors. The platform features an intuitive user interface that makes it easy for learners to explore available options and apply to their preferred institutions. Additionally, the platform provides resources and guidance to help learners navigate the application process, including information on admission requirements, deadlines, and fees.

2019

Exampad

Stack: HTML/CSS, jQuery (Mobile)

This is a comprehensive educational app designed to provide students of all ages with easy access to a wide range of learning resources. The app features interactive tutorials, quizzes, and study materials that cover a diverse range of subjects and topics, from math and science to history and literature. The app's user interface is intuitive and user-friendly, making it easy for students to navigate and find the resources they need. The app is regularly updated with new content and features, ensuring that students always have access to the latest and most relevant educational resources.

2019

School Registration System

Stack: C#

This repository showcases a comprehensive school registration system developed during structured programming studies at William Pitcher College. Crafted using the C# programming language, the system boasts a user-friendly interface for seamless student registration.

2019

Purple Interpreter

Stack: FPT, PRG

This is a computer programming language for building GUIs and interface database systems for the MS Windows platform. You can write instructions to the interpreter using plain English and SiSwati. You can clone the project and read the full documentation.

Learning

Present

Computer Science

Introduction to Computer Science

Introduction to Programming

Python for Everybody, CS50P: Introduction to Programming with Python.

Introduction to Computer Science

Introduction to Computer Science and Programming using Python.

Core Computer Science

Core Programming

Systematic Program Design, Programming Languages, Part A, B, and C, Object-Oriented Design, Design Patterns, Software Architecture.

Core Mathematics

Calculus 1A: Differentiation, Calculus 1B: Integration, Calculus 1C: Coordinate Systems & Infinite Series, Mathematics for Computer Science.

Computer Science Tools

The Missing Semester of Your CS Education.

Core Systems

Build a Modern Computer from First Principles: From Nand to Tetris (Part I and II), Operating Systems, Computer Networking.

Core Theory

Divide and Conquer, Sorting and Searching, and Randomized Algorithms, Graph Search, Shortest Paths, and Data Structures, Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming, Shortest Paths Revisited, NP-Complete Problems and What To Do About Them.

Core Security

Cybersecurity Fundamentals, Principles of Secure Coding, Identifying Security Vulnerabilities, Identifying Security Vulnerabilities in C/C++Programming, Exploiting and Securing Vulnerabilities in Java Applications.

Core Applications

Databases: Modeling and Theory, Databases: Relational Databases and SQL, Databases: Semistructured Data, Machine Learning, Computer Graphics, Software Engineering: Introduction

Core Ethics

Ethics, Technology and Engineering, Introduction to Intellectual Property, Data Privacy Fundamentals.

Advanced Computer Science

Advanced Programming

Parallel Programming, Compilers, Introduction to Haskell, Learn Prolog Now!, Software Debugging, Software Testing.

Advanced Systems

Computation Structures 1: Digital Circuits, Computation Structures 2: Computer Architecture, Computation Structures 3: Computer Organization.

Advanced Theory

Theory of Computation, Computational Geometry, Game Theory.

Advanced Information Security

Web Security Fundamentals, Security Governance & Compliance, Digital Forensics Concepts, Secure Software Development: Requirements, Design, and Reuse, Secure Software Development: Implementation, Secure Software Development: Verification and More Specialized Topics.

Advanced Mathematics

Essence of Linear Algebra, Linear Algebra, Introduction to Numerical Methods, Introduction to Formal Logic, Probability.

Present

Software Engineering

Intro to (Emacs, Vim, Git/GitHub), C (Basics, Functions, Pointers, Data Structures, Bit Manipulation, Variadic Functions, Memory Management, File Redirection, printf (Project), Shell (Project), Compilation, Heap/Stack), Static Libraries, Linux (Basics, Permissions, Redirections, Syscalls), Social Media, Public Speaking/Stand ups, etc.

Python (Basics, Object-Oriented Programming, Interpreted Languages, Test Driven Development, Error Handling, I/O, Web Scraping), C - Data Structures (Stacks/Queues, Doubly Linked Lists, Hash Tables, Binary Trees), C - Algorithms (Sorting, Big O), C - Dynamic Libraries, Linux (Processes and Signals, Scripting, Command Line), Databases (SQL, MySQL), Systems Engineering (Open Systems Interconnection Model, TCP/IP), HTML, CSS, JSON, Unit Testing.

Systems Engineering/Devops (SSH, SSL/TLS, HTTP/S, Webstack Debugging, Servers, Web Servers (Nginx), Application Servers (Gunicorn), Configuration Management (Puppet), Load Balancers, Postmortem, Networking, Monitoring), C - Algorithms (Searching), Javascript, JQuery, Deployment, APIs - Flask, Hack Days, Python (ORMs (SQLAlchemy, Templating (Jinja2))), Code Debugging, Regexes

Modern JavaScript (ES6, TypeScript, Node JS basic, Unittests), Python (Variable annotations, Async, Unittests and integration tests), Storage (Advanced MySQL, NoSQL, Redis), Back-end (Pagination, Caching, i18n, Queuing system in JS), User Data (Personal data, Authentication - Basic & Session, User authentication), Portfolio project

Present

Meta Back-End Developer Professional Certificate

Introduction to Back-End Development, Programming in Python, Introduction to Databases for Back-End Development, Django Web Framework, APIs, The Full Stack, Back-End Developer Capstone, and Coding Interview Preparation.

Present

Meta Front-End Developer Professional Certificate

Introduction to Front-End Development, Programming with JavaScript, Version Control, HTML and CSS, React Basics, Advanced React, Front-End Developer Capstone, and Coding Interview Preparation.