Having fun with the web
2 min read

Having fun with the web

When you start programming for the first time, everything is fun. The whole world is nothing but an inspiration source and you are limited only by your imagination. You do project after project, learning new things in the process. Most of the projects are crap, but you're having fun.

Then you start to really learn. Cutting corners is not longer acceptable, you discover good practices, concepts like KISS or DRY and things change. Things change a lot...

Once you realize what it actually means to produce quality code, with good documentation or without the need of being documented, with nice, solid principles, clear variable names, proper code formatting and so on, you stop having fun. And ugh, you look back at your previous projects, and, ugh, you feel terribly embarrased by your work.

I mean, it looks nowhere like the nice open source projects you keep seeing in Github, made by proper programmers, working on awesome companies, doing amazing things. And here you are, with a crappy idea and no idea on how to start coding in a way that does not suck.

At least for me, the pressure of doing something in a proper way was too much. Everything I tried to do was not good enough. The code could have been refactored, the CSS could have been replaced by newer CSS tricks or maybe by a preprocessor like LESS or SASS, the vanilla JS code replaced by the newest and coolest framework, like React. After starting on something, I soon gave up, feeling that I won't be able to accomplish what I wanted in a cool way, with awesome modern code.

And then, one day, I just said: "screw this!". I remembered what it felt like to have fun programming. It was an activity that empowered you in an almost artistical way, allowying you to create things with your mind (and keyboard too, but it doesn't really count).

Addy Osmani once said:

First do it, then do it right, then do it better - this is my mantra for successfully getting things done. It's all about the iteration.

The most important thing is to do what you want and have fun while doing it, I might add. Focus on improvements after everything is done.

When it comes to coding for personal purposes, be it learning, practing or maybe a side project, you just need to do things. Do them and have fun with them. The quality of the code is important indeed and this is no excuse to get away with nasty, lazy stuff, but having fun and experimenting is just as important.

So have fun with the web, focus on the end result and then see how you can improve it. It's the best way to learn and improve yourself!