X never ever marks the spot

Sat, Jun 26, 2021 4 min read
Prof. Jones “I wrote them down in my diary so that I wouldn’t have to remember.”
Dave Thomas: “And most of all, have fun.”
These are the main drivers for my coding diary blog.

A while back, I was scrolling my Twitter feed and came across a tweet from José Valim mentioning the new shiny features of Phoenix Framework.

For those who don’t know him he is a Brazilian rockstar developer 👨‍🎤 I greatly admire. He created a new language called Elixir because of being frustrated with some of the shortcomings of Ruby. Besides having coding superpowers skills, he is super kind and fun in every talk I watched.

I started feeling FOMO … 😬

This wasn’t the first time. A couple of years ago, the first time I read a bit about it, I felt really curious. Coming from a Ruby on Rails background, it seemed incredible. All the goodies of Rails and none of the weaknesses of Ruby. The syntax looked familiar, and the rendering times were displayed with a character I had never seen in the terminal…

µ seconds … micro … MICRO SEEEECONDS 😱

After attending a Ruby conference, I started to learn a bit about it and followed a path similar to Rails. First, learn the framework and then learn the language. I bought Programming Phoenix and started speed-reading it. With the help of the book, I built one small project and was enjoying it a lot. 😍

Programming Phoenix

Well, reading a book and doing some tutorial copy-pastes doesn’t make you learn something. It just gives the illusion of it. So I lacked experience in developing real-world TM applications and needed to get more experience.

Even though I didn’t know why, it felt right.❤️

Trying to advocate it in the place I worked was a frustrating experience. So I switched gears and joined a startup using Elixir for some internal projects. But I was primarily working in front-end land with React & Redux. One of the goals of picking that job was to have the opportunity to gain knowledge and experience with Elixir, but I never had the chance there. 😞

⏰ Then life happens, and time flies…

Four years later, I found myself looking back and regretting not pushing myself to work in Elixir full-time. I missed the fun times of reading and learning about it. The sense of a quest, of finding a hidden treasure.

As I’m getting older, I notice that even though age doesn’t bring wisdom, it does provide some clarity. You realize that your days on Earth aren’t unlimited, so better start living them to the fullest. 💪

Pragmatic Dave Thomas has a pretty good piece of advice:

The most important rule:
Explore, make mistakes, and try wild things.
And most of all, have fun.

So I had a new year’s resolution as a life goal that I needed to focus on.

I want to have fun working full-time using Elixir 🥳.

So I needed to learn Elixir and have a lot more experience. I did a massive amount of the Elixir Exercism track. A few months later I landed my first Elixir full-time job 🎉

Even though nowadays I work more often with Elixir, it is mainly focused on the needs that my day job requires. As expected you end up not building projects from scratch and don’t work on many of Elixir’s amazing features like OTP. So I end up really knowing well just a small subset of Elixir.

And there are a lot of interesting things to learn, and the ecosystem keeps growing. Now we have Nx, Axon, Nerves, LiveView, and Livebook to name a few.

I find it intriguing how to leverage Elixir’s capabilities and the way to design software using it. What changes in the final “architecture”?
How to take into account the small amount of time I have available given work and family occupy most of it?
Which things should I focus on learning?
And how to learn them?
Where?
How?

These are some questions I will be facing in the upcoming months/years. There’s no clear path, and …

X never ever marks the spot

I’m revamping some old blog posts into my new and fresh blog and will force myself to add new content weekly.

Here I will learn in the open while building different apps like blogs, to-do lists, url shortener, pastebin, project management tools like Trello, Twitter, Slack, Basecamp, DropBox…

Prof. Jones “Well, he who finds the Grail must face the final challenge.”
Indiana “What final challenge?”
Prof. Jones “Three devices of such lethal cunning.”
Indiana “Booby traps?”
Prof. Jones “Oh, yes. But I found the clues that will safely take us through them in the Chronicles of St. Anselm.”
Indiana “Well, what are they?”
Indiana “Can’t you remember?”
Prof. Jones “I wrote them down in my diary so that I wouldn’t have to remember.”

I’ll use this blog as a diary to be a reference so that I don’t forget.