Let's stop being lazy
Working as a software developer implies to be constantly learning new things. A university degree gives good fundamentals -and I recommend it- but there are many more things to learn (and keep learning) in real life. Given the many branches and specializations in the field, it’s very easy to have no idea about certain topics if you spent years working in another area. So curiosity is a sort of requisite for being in the industry, and fortunately I’m not afraid of inquiring in new topics. I quite enjoy it!
But it’s not easy to get any depth in a topic by merely reading about, without any application. In the application is when one face real life problems and, when solved, someone ends up learning more and better.
So one day I woke up with the brilliant idea (?) of stop being lazy and create a mini-side-project I can apply things I want to learn. Defining a project can be challenging, but I am happy to have decided for something that ticks many boxes: it’s something I would use, it’s about a topic I like, it can be expanded in many and crazy ways, and -to make it perfect- it’s well defined in its concept while blurry in its implementation. It will help me to revisit forgotten concepts (i.e, lexers and parsers), will allow me to use fancy web-frameworks, use cloud services, and make something my mum can see, understand, and -never say never- use. To put it in one sentence: I want to create an application to reproduce chess matches. Amazing, right?
In my mind, it’s going to be something like chessgames where I can re-play a match of my choice step by step. Of course, I will use nicer colors (please!) and make it for many platforms like web, iOS, the terminal (why not), etc., since learning some pieces in those domains is what’s driving the whole thing. There are nice additions to make -like scoring each movement- but that’s something for another stage.
So there it is! I will be sharing some progress with you here… and soon!◆