Some months ago, I was listening to an episode of the FOSS Podcast (unfortunately, I don’t remember which episode it was), and one of the guests was covering a very interesting opinion about the TIL (today I learned) blog posts. In essence, the goal of this kind of blog posts is not to give a master class of a certain topic, but to write down something that one learned, and wants to remember. Rather than keeping the note privately, why not sharing that with the world?

I really liked the idea, and I’m considering to do the same. Very often I have an idea for a blog post, but I don’t have several hours to dedicate to investigate a topic, make comprehensive experiments, develop a POC of a gem, etc. And that is why I spend months without writing a post.

TIL posts will have the same quality as normal blog posts. And that is intended. I don’t plan to dedicate more than 20 minutes to write a TIL, because if I do, it will become something I need to plan, and it’s very likely I won’t do it. This means that posts will not be as useful for you, reader, but the ultimate goal is being useful to me (sorry for that). And if you happen to learn something, that comes for free! Also, I may find the day when I need to explain my view on a certain topic to somebody, and I may have some notes already! I may also update old posts to fix something that was wrong, or to complement the post with new learnings. And that is fine as well.

This kind of posts will be full of mistakes, and I am OK with that because very often I will be learning something that was completely new to me. Please, don’t take TIL posts as the words of an expert. Actually, don’t take any of my blog posts as such, and we’ll all be playing safe.

Study to become a better engineer

Today I didn’t learn anything new, but I’ve recently consolidated an idea that has been in my mind for a very long time. Pretty much since I started working my career as a software developer, I’ve been reading all sorts of technical books. I used to pick some ruby books and read them cover-to-cover. Then some books about microservices, elixir, MySQL, PostgreSQL, event-driven architecture, etc., and I did that just because I was interested in the topic. I was not actively studying with a goal in mind, I was reading for pleasure. And somehow, some of these concepts remained.

I’m sure reading these books made me a better developer, as I’ve been able to apply some of these ideas in my day-to-day work. Even if after 2 years I just remember a fraction of the book, it’s worth reading it.

I’ve recently gone through some interview processes, and during the sessions there were a couple of coding challenges and technical questions I could only answer because I had read about them in a book many years before. I’m speaking of the book Metaprogramming Ruby 2, which I remember studying while I was on a plane visiting a friend of mine in London. After years writing ruby code professionally, it was not until I read this book that I learned about classes, objects, the ancestors chain, and all these core concepts that make ruby the great language it is. And I was fascinated by the ideas. And I was able to solve the coding challenge because of the deep comprehension I had acquired after reading that book.

The bottom line of this blog post is that I would not have been able to pass these interviews if I had not read many of these books, if I had not spent dozens of hours listening to the episodes of Postgres FM. If you’re trying to grow as a developer, my piece of advice is that you study. Pick a topic you’re interested in, and read a few books. I know books are not for everyone; then pick a podcast. An online course. Join some meetup in your city. Attend to a conference. Or watch the videos online afterwards. There are plenty of options for all kinds of people.

And they may give you a pass in an interview. Or a few hours of entertainment, which is also worth it.

I broke the rules in my first TIL post, as this one took more than 20 minutes to write. But hey, I’m still learning.

Happy coding!