Yes, you do need this seemingly complex system.

It’s a vicious cycle.

It took me two full years of web development to accept the fact that I should use a PHP framework. I had this idea engraved in my mind that frameworks are so huge and vastly over-complicate things. At one point I’ve even committed to developing my own small web framework, which was, naturally, an insecure disaster (though it did teach me a lot!). When I first tried Laravel, I struggled with learning even the simplest concepts due to my own brain telling me that this is all too complicated.

And then, after using it for some time, it just clicked, and I was chugging out better features faster than ever before.

The same thing happened with migrations and Eloquent. Having been used to manually typing SQL queries, I couldn’t just start using this weird new system. And the idea of designing a database by not using SQL queries was completely foreign to me. However, I again wasn’t seeing the forest for the trees. It took me some time to realize that this system was designed to work for you, not against you.

My last bastion of defense against best practices came tumbling down yesterday when I decided to sit down and convert my sloppy two thousand lines of CSS into SASS. And boy, what a poignant trip it was. Revisiting my old code made me realize just how much I’ve grown as a developer. I’ve stubbornly clung to my old ways because they just worked and it’s simpler this way, but turns out simple things aren’t always the best.

Using a framework doesn’t make things more complicated — it makes my project secure, fast and organized. Using Eloquent doesn’t make things more complicated — it makes my code readable. Using SASS doesn’t make things more complicated — it makes maintaining my design and updating it easier. Using Gulp doesn’t make things more complicated — it ensures that my sites are optimized for speed while automating the boring things.

All of the mentioned tools exist for a reason. Learn from my mistakes and use them. You’ll feel better.