My Journey into Software Engineering
From writing my first PHP script to building cloud-native SaaS platforms — a personal account of how I grew as a software engineer and what I learned along the way.
My Journey into Software Engineering
Every engineer has a story about the moment code stopped being intimidating and started feeling like a superpower. Mine started with a broken PHP blog.
Where It Started
I was a teenager trying to customise a website template I had downloaded. The HTML made sense — I could see what changed when I edited it. But the PHP file was a mystery. Variables, echo statements, foreach loops — none of it made sense at first glance. I spent three days trying to change a single navigation menu, broke the entire site multiple times, and eventually got it working.
That feeling — of having broken something and then actually fixing it — was addictive.
First Real Projects
My first serious project was a PHP blog I built from scratch, without a framework. No MVC, no routing library — just index.php with one massive if/else chain routing between pages. It was terrible code. It worked. I was proud of it.
Then came the school management system. A teacher at my school mentioned that student records were being kept on paper spreadsheets. I offered to build something better. Three months and many Stack Overflow visits later, I had a working PHP and MySQL system with login, student profiles, grades, and attendance tracking. Seeing real people use something I built changed everything about how I thought about software.
Learning Backend Seriously
After PHP, I discovered Python and Django. The contrast was stark — Django's ORM, admin panel, and built-in auth felt like magic compared to writing raw SQL and session management by hand.
I built several Django REST APIs: an events management system, a task management API with workflow states, a travel listing platform. With each project I learned more about API design, database modelling, and the importance of validation and error handling.
I then branched into Java and Spring Boot. Java felt rigid at first but I quickly understood why enterprise teams love it. The type safety catches entire categories of bugs before runtime. Spring Security handles authentication complexities I would have gotten wrong on my own. I built three iterations of an e-commerce API in Spring Boot — starter, JPA-optimised, and security-hardened — each teaching me something new about the framework's depth.