2024 in Words, a Year of Growth Reflections and Discoveries

A personal reflection on the year’s writings, and learnings—exploring growth through technical and creative journeys.

  ·   8 min read

I started this personal project back in July 2013, with far less knowledge than I have today. It’s humbling to imagine that, in a few years, I’ll probably look back at my current self and say the same. This year was filled with challenges, frustrations, and triumphs, but above all, it was a year of a very profound learning.

The purpose of this project has always been clear: it’s not about positioning myself as an ultimate authority on any matter. Instead, this is a digital journal, a compendium of personal reflections and discoveries. That’s why I don’t limit my writings to technical topics. I explore the books I read, the music I hear, the good moments that happen, and the lessons I take from them. Sharing it openly allows anyone to engage with my thoughts, and I’ve been fortunate enough to have meaningful discussions with people who not only read but approach these topics with honesty and curiosity. For that, I’m deeply grateful.

2024 was a good year. I learned a lot, created a lot, and grew along the way. That’s why I’m dedicating this final article of the year to wrapping up my writing, reflecting on the themes I explored.

Software Development Practices

Test-Driven Development with Go - Part I

In this article, I introduced five key practices of TDD: Mirroring, Alternation, Isolation, Iteration, and Indirection. The goal was to emphasize the benefits of wrtiting tests before code: shipping value faster, fostering constant design, and ensuring focused testing.

Reflecting on this piece, I realized that while I never officially wrote the “Part II” of this series, much of its content made its way into other articles throughout the year. This unintentional fragmentation underscores my writing process. In a way, the unwritten second part lives through my continued reflections on TDD principles accros multiple posts.

Queue

This article offers a detailed exploration of the Queue data structure, focusing not only on its implementation but also on its algorithmic analysis. Written with the intent of being part of a book I aim to author and publish, this piece reflects my commitment to blending technical depth with clarity.

In the article, I analyzed the FIFO (First-In-First-Out) nature of queues and included code snippets to illustrate how they work. My goal was to explain this fundamental data structure to the best of my abilities, making it accessible to a wide audience while preserving its technical rigor.

Stack

This article delves into the LIFO (Last-In-First-Out) nature of the stack data structure, serving as a standalone chapter in my forthcoming book. I provided a comprehensive implementation of stack nodes and a stack wrapper, emphasizing the significance of the push and pop operations.

Hash Table

This was the final article I wrote this year that is intended to be part of my book. The journey to completing this piece was a true rollercoaster. I went from the joy of the progress to the frustration of hitting roadblocks, and back to the satisfaction of seeing it through completion. I poured a tremendous amount of effort into this article, ensuring every word was accurate and well-researched. Anything less would feel embarrasing for such an important topic.

Hash tables are among the most essential data structures in computer science. Their ability to perform operations on key-value pairs in constant time makes them invaluable.

Go Interfaces

This article was initially written as a resource for my team, focusing on the nuances of interfaces in Go. Interfaces are one of Go’s most powerful features, enabling abstraction and modularity without unnecessary complexity. My primary goal was to highlight how good designs can strike a balance between simplicity and flexibility.

Mocking Mayhem: Cutting the Strings on Overengineering Golang

In this article, I set out to discuss TDD strategies with a specific focus: streamlining testing without falling into the trap of unnecessary complexity or overengineering. Testing in Go is powerful, but the simplicity that Go promotes can sometimes clash with over-relliance on mocks and abstract patterns, leading to convoluted test setups.

The learnings condensed in this article allowed me to reflect on my own experiences with testing in Go, balancing the need for rigor with the practicality of Go’s minimalist philosophy. It’s, in a way, a reminder that sometimes, less is more, even in testing.

Personal Essays and Reflections

An Unexpected Gift

This is a heartfelt story about an unexpected and touching moment, a testament to the magic of internet. Though I have yet to meet the gifter in person, we are planning to. The story revolves around a remarkable series of piano music sheets and books gifted to me by a friend.

What makes this story truly fascinating is its journey: my friend received these treasures from a man who, in turn, inherited them from his late wife, Georgette Stefan. Intrigued by their history, I invested significant effort into researching each piece, uncovering the stories behind the music and the places where those got from.

This experience was not just about the gift itself but also about the connections it created across time and people, a reminder of the serendipitous beauty in unexpected generosity and shared passion.

Estoy Desnudo

“I’m naked”. From Yasukata Tsutsui. I read it in Spanish as I couldn’t find it in an English version, and was struck by how it delves into vulnerability and authenticity, what it means to “stand naked” metaphorically in front of life.

The story is both uncomfortable and eschatological, weaving an ironic yet plausible narrative that creates a subtle bond of pitiful sympathy. For me, it served as a window into Japanese society, offering a glimpse into its complexities and contradictions. Tsutsui’s sharp irony and poignant storytelling shine through, making it clear why he’s also the mind behind incredible works like “Paprika” and “The Girl Who Leapt Through Time”. Marvelous.

El Hombre de Nieve

Haruki Murakami’s The Ice Man. This piece reflects on the story’s themes of obsession, isolation, and monotony. For me, it’s about the fixation this woman has on her unconventional relationship, one rejected by her acquaintances and society. It’s also a meditation on the monotony of daily life and the capricious nature of human desires.

Murakami’s signature blend of surrealism and emotional depth makes this story resonate in multiple levels. Now that I think more about it, it invites you to question social norms, exploring the boundaries of individuality, and confront the quiet, often unspoken, struggles within relationships.

Elisabeth

This Kjell Askildsen’s piece centers on a narrative exploring themes of his own anti-doctrinal spirit told through “a subtle and [yet] icy irony”1. For me it’s, in a sense, a way to remind ourselves about the fragility of human bonds.

Wakefulness

Nobel Prize Jon Fosse’s work. What a nightmare and a waste of time and money. I hated this so much. The kind of work that makes people hate reading. Not only his writing style, but the dull story about unstimulating characters… It’s not worth the effort. Mehhh.

Casa Tomada

Julio Cortázar’s Casa Tomada was a balm for my mind after the disgusting experience of reading Jon Fosse’s atrocity. Cortázar’s absorbent, implacable, and stimulating writing style reminded me of why his works are timeless.

His work evokes a guilty sense of pride in having Spanish as my mother tongue, a pride that feels almost superfluous. I haven’t yet explored Cortázar’s writing in English, and perhaps I’ll never will; translating his rich and masterful dominion of Spanish might feel like an endevour without purpose.

While the article itself goes into the story, my takeaway here is simple: Cortázar’s work is astonishing, a testament to the beauty and complexity of Latinamerican literature.

What’s Up for 2025?

As I wrap up 2024, I’m filled with gratitude for the growth, challenges, and accomplishments this year has brought through personal work, and all the amazing people I got to meet and the ones I work with. From diving deep into Golang development and TDD to reflecting on personal experiences through short essays, this year has been a fulfilling journey of learning and creation. Each article, whether technical or reflective, has been a stepping stone towards better understanding, both professionally and personally.

Looking ahead to 2025, I’m committed to continuing this journey. I plan to delve even deeper into Golang development, with a particular focus on TDD, a practice I aim to master for greater effectiveness. I’ll also explore more architectural topics, sharing insights from my experiences. And, of course, I’ll carry forward my work on Data Structures and Algorithms In JavaScript, a project close to my heart.

This year has been a reminder that growth is a continuous process. I hope to keep sharing my reflections and learnings with anyone willing to read me, and I’m excited about the connections and discussions that lie ahead. I already told this, but this is my personal odyssey, but if it happens that you are reading me, thank you for being part of this journey, here’s to another year of discovery and growth!