Hi, there! I'm Wandile :)

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

My Coding Journey

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.

Other Interests

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

Contact

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

Contact Me!

Professional Exprerience

Linespace Software

Software Engineer

I co-founded Linespace, a company providing innovative technology solutions. Responsible for driving business strategy, product development, and client acquisition.

The Knowledge Institute

Software Engineering Intern

As a Software Engineer Intern 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.

Projects

Kudu

Technologies: React.js, Node.js, Express, Docker

A web-based platform that allows developers to run code snippets in isolated Docker containers.

File Manager

Technologies: Node.js, Express.js, MongoDB, Redis, SHA1, Base64

A simple file management API in express (Node). This project is a File Management API built using Node.js, Express, MongoDB, and Redis. It provides functionality for user authentication, file management (uploading, retrieving, and managing files and folders), and background processing using Bull for tasks such as generating thumbnails for images and sending welcome emails to new users.

Exampad Web

Technologies: Ruby on Rails, HTML, CSS, JavaScript, PostgreSQL

This project involved building a dynamic web application using Ruby on Rails for backend development, paired with Tailwind CSS for a modern and responsive front-end. The application is designed to serve as a comprehensive quiz platform, allowing teachers to create quizzes, and enabling students to attempt them, with a gamified experience that includes a point system and leaderboards. Key features include Devise for secure user authentication, role-based access control for students and teachers, and a seamless user interface. This project challenged and expanded my skills in full-stack development, reinforcing my understanding of Rails and Tailwind CSS, and ultimately delivering a functional and engaging educational tool.

Rabbit

Technologies: JavaScript, MDX, CSS, HTML

An open-source block-based programming language for tomorrow's developers.

School Attendance System

Technologies: Ruby on Rails, SQLite, ERB, HTML, CSS, JavaScript

This project involved building a robust web application using Ruby on Rails for backend development and Bootstrap for front-end styling. The application includes Devise for user authentication, ensuring secure access for different user roles such as students, teachers, and parents. Key features implemented in this project include student management, attendance tracking, and a responsive UI. Throughout the project, I guided students in understanding the principles of web development, enhancing their skills in both Ruby on Rails and Bootstrap, and fostering a hands-on learning experience. This project serves as a comprehensive platform for managing school operations, demonstrating the collaborative effort and technical proficiency of the students under my mentorship.

AirBnB Clone

Technologies: Python, HTML, CSS, JavaScript

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.

Bytecode Interpreter

Technologies: C

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.

Simple Shell

Technologies: 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.

printf

Technologies: C

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.

SaSa

Technologies: HTML/CSS, React, Rails

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.

Exampad Mobile

Technologies: 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.

Purple Interpreter

Technologies: 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.

Mini Projects

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

Formal Education

Certifications

Meta

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.

Meta

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.

Google

Google IT Support Professional Certificate

Technical Support Fundamentals, The Bits and Bytes of Computer Networking, Operating Systems and You: Becoming a Power User, System Administration and IT Infrastructure Services, and IT Security.