Hi, I’m Simo
I’m a Software Architect with 15+ years of experience in the trenches of backend engineering. I’ve spent my career building scalable systems and solving complex architectural puzzles.
I wrote some free courses for learning web development. On this website I share my knowlegde and everyting I have learned in programming so far.
Look bellow some of my free courses.
CONNECT WITH ME ON:

Preparing for a PHP Interview?
I’ve interviewed over 200 PHP developers in the last 2 years. This course is everything I ask — and everything you need to know. 1000+ questions covering PHP, Laravel, Symfony, databases, architecture, security, and more.

Preparing for a Javascript Interview?
JavaScript interviews are unpredictable. Closures, async traps, framework quirks, runtime behavior – interviewers love catching you off guard. This course covers the full spectrum: vanilla JS, Node.js, React patterns, and the tricky questions most candidates stumble on.
Start web development
Join one of my free courses for web development.


Latest from the Blog
-
Symfony Bundle Features
Part 12 of 13 in the PHP Package Development series This is it – the final post. In Part 11, we set up the skeleton for our Symfony bundle: the bundle class, DI extension, configuration, and service definitions. Now we’re going to make it actually useful. We’ll build Twig extensions so template authors can use…
-
Building Symfony Bundles
Part 11 of 13 in the PHP Package Development series In the last three posts, we built a Laravel package around our jakovic/text-toolkit library. Now it’s time for the other side of the PHP framework world – Symfony. If you’ve never worked with Symfony before, don’t worry. The concepts map surprisingly well from what you…
-
Testing Laravel Packages
Part 10 of 13 in the PHP Package Development series In Part 8 and Part 9, we built a full-featured Laravel package with service providers, facades, Blade components, Artisan commands, routes, and middleware. But here’s the uncomfortable question – how do you test all of that when your package doesn’t have a Laravel application? Regular…
-
Laravel Package Deep Dive
Part 9 of 13 in the PHP Package Development series In Part 8, we covered the fundamentals of Laravel packages – service providers, config publishing, package discovery, views, and routes. That’s enough to get a package working, but Laravel offers so much more. Facades, Blade components, custom Artisan commands, migrations, middleware – these are the…
-
Laravel Packages Basics
Part 8 of 13 in the PHP Package Development series For the first seven posts in this series, we built jakovic/text-toolkit – a framework-agnostic PHP package. It works everywhere: plain PHP scripts, Laravel apps, Symfony projects, wherever. And that’s the right approach for core logic. But if your users are mostly Laravel developers, they expect…
-
Advance Package Patterns Part 2
Part 7b of 13 in the PHP Package Development series In Part 7a, we covered the Strategy pattern, Driver/Adapter pattern, configuration objects, interface-based extensibility, and the Builder pattern. These give your package solid architecture. Now let’s make it truly pluggable with runtime extension points – middleware pipelines, event hooks, service container concepts, and a complete…
Ready to Go Deeper?
Join my private newsletter for exclusive content, case studies, and insights you won’t find on the blog. No spam, just high-value content for serious developers.