How freeCodeCamp Is Making Me a Better Engineer

Mar 26, 2026 · 3 min read
blog

I’m currently studying software engineering at ENSAM Casablanca, which means I spend a lot of time on theory — algorithms, mathematics, system architecture. It’s rigorous and I genuinely enjoy it. But there’s a gap between understanding how something works and actually being able to build it, and that’s exactly what freeCodeCamp has been filling for me.

Why freeCodeCamp

I wasn’t looking for another course platform. What drew me to freeCodeCamp specifically is that it’s entirely project-based — you don’t move forward by watching videos, you move forward by building things and passing tests. For someone already in an engineering programme, that hands-on structure is exactly what complements academic learning rather than duplicating it.

It’s also completely free, which matters when you’re a student.

What I’ve completed so far

Responsive Web Design

My first certification. This one covers HTML and CSS from the ground up, but the real value is in the five required projects — a tribute page, a survey form, a product landing page, a documentation page, and a personal portfolio page. Each one has to pass a set of automated tests, which forces you to actually meet the spec rather than just eyeball it.

It also introduced me to accessibility thinking early — semantic HTML, ARIA labels, contrast ratios — things that often get skipped in university curricula.

🎓 View certificate

Scientific Computing with Python

This certification covers Python deeply: data structures, algorithms, OOP, and file handling — but also lambda functions, list comprehensions, regular expressions, and the kind of Pythonic patterns that separate readable code from messy code. Coming from a background where I’d used Python for algorithm projects and mathematical modelling, this sharpened the parts I’d been doing by feel.

🎓 View certificate

Relational Database

Probably my favourite so far. This certification runs entirely in a Linux terminal environment — you learn PostgreSQL, SQL joins and subqueries, Bash scripting, and Git, all through a series of guided projects. The environment feels like real development work, not exercises. By the end you’ve built several databases from scratch and written Bash scripts that interact with them.

Given that I’d already used PostgreSQL in my Laravel API project, revisiting it through this lens — with more focus on the relational theory and query optimisation — made things click at a deeper level.

🎓 View certificate

Currently: JavaScript Fundamentals

Coming from Python and PHP, the basics clicked fast. Now it’s the interesting parts: how this really works, the event loop and async/await under the hood, closures, prototypal inheritance, and why JavaScript’s quirks actually make sense once you stop fighting them.

Frameworks are already in the mix — but understanding what’s happening beneath them is what makes the difference between using a tool and actually knowing it.

What the curriculum has taught me beyond the content

The biggest benefit hasn’t been any specific technology. It’s the habit of building to a spec — reading requirements carefully, writing code that passes tests you didn’t write, and debugging when your mental model of what the code does doesn’t match reality.

That discipline transfers directly to professional software development. It’s also made me a better reader of documentation, which is arguably the most valuable skill in this field.

Would I recommend it?

Yes, especially if you’re a CS or engineering student who wants practical web development skills that your degree doesn’t fully cover. The certifications are recognised, the projects are real, and the progression is well thought out.

The full stack curriculum ahead of me still includes front end libraries (React), back end development (Node.js/Express), and quality assurance. I’ll keep writing as I go.


Currently working through: JavaScript Fundamentals
Certifications earned: Responsive Web Design · Scientific Computing with Python · Relational Database

Adam Aderram
Authors
Software Engineering Student
software engineering student. Curious about every layer of technology, from low-level architecture to scalable applications, I explore, build, and optimize across the tech stack while creating performant and efficient solutions.