The Five Pillars I Stand Upon
Or why your family, partner, mentor, community, and education matter.
Recently, I stumbled upon the Acknowledgment section of my thesis work. I got a bit emotional, and some tears flourished in my eyes. I wrote that thesis four years ago, during the COVID-19 pandemic.
It was a testament to five years of diving into the deep topics of Computer Science while also trying to be a successful competitive programmer and a good son, friend, and partner.
These were the last words I wrote:
To my parents, thank you for your love and guidance, for all the Programming, Algebra, Mathematical Analysis, and Databases.
To Shei, for being part of this journey at all times and for giving me strength when I needed it most.
To Professor Somoza, thank you for all the knowledge shared and for the deposited trust.
To the entire Competitive Programming community, especially the members of the teams I’ve been a part of. To the Black Pearl, also my team.
To every teacher who contributed to my professional shaping one way or another.
When I read these words, I realized I was grateful for the five fundamental pillars that had sustained me through five challenging but delightful years. I still am.
Today, I plan to reflect on them, looking in hindsight at myself from four years ago.
This is not my typical technical post about algorithms or software development but more of an essay in which I will share some of my deep thoughts on life. My life, I know. But I’m sure you will resonate with some of the ideas in this post.
If you do, leave a comment below, hit the 💛 like button, and restack this post to help more people discover it on Substack. It goes a long way.
Let’s get started.
Family Matters
To my parents, thank you for your love and guidance, for all the Programming, Algebra, Mathematical Analysis, and Databases.
Now that I think about it, this is a funny sentence. Of course, it reflects the luck I have in parents who care deeply about me and who show me nothing but love from their side. They always cared for my education and well-being in what a good friend of mine would call “high-tropicality conditions“, referring to the critical situation in some aspects of life in Cuba, my home country.
Funnily enough, this sentence also reflects one of the most essential aspects that carried me through some critical periods of my five-year bachelor’s degree. If you read between the lines, you will realize that my parents were my teachers for some subjects I faced during my major.
I learned to code because of my dad’s countless hours of teaching not only me but a group of my closest friends during high school. I barely survived my Algebra and Mathematical Analysis courses because of my mom's insistence that “maybe I should not only be programming, as I had other subjects to pass too.”
Ahh, and Databases… the details of that story are not suitable for this post. But yes, I also learned from my dad’s vast experience creating software for a living that relied heavily on database design. I carried this knowledge when I got my first job, not surprisingly also with my dad.
We have a saying in my family: "Family can either lift you or sink you.” You don’t choose your biological family. I realize I am lucky.
My family is not perfect by any standards, but it has definitely lifted me up.1
Your Partner Matters
To Shei, for being part of this journey at all times and for giving me strength when I needed it most.
Shei. Diminutive for Sheila. My wife.
Without her, the five-year-ish journey wouldn’t have been as fun. If you have had a relationship during your student years, you know how it goes. If not, and you are getting into your student years, you are in for a ride.
The reliability of that one person that you can call at all times, crash in her house without notice, and talk about anything without measurements is invaluable. Having someone to share your journey with is a wonder. It wouldn’t be the same as traveling the path alone.
We went through a lot — good stuff, bad stuff, some happy stuff, some less happy stuff. I got overweight, and her biochemist knowledge put me back in shape without any magic potions. I needed to train for hours because I dreamed of traveling to Porto and Moscow to face the best competitive programmers in the world, and there, I had a (sometimes not so quiet) place to do so.
All the rushing in the mornings to get to class in time and all the all-nighters studying (or watching South Park or Attack on Titan) would not have been the same, nor would the breakfasts with less sugar every time. I would not be drinking coffee (which I love) or listening to Hozier (which I also love) as much.
The university period was a joy overall, followed by two years of a pandemic that felt like ten. Now, we keep pushing each other back in the (every day less) foreign land of Sweden. Together, that's the only way we know how to.
Having a Mentor Matters
To Professor Somoza, thank you for all the knowledge shared and for the deposited trust.
Professor Somoza is quite a character at the University of Havana. He has taught the Discrete Mathematics and Analysis and Design of Algorithms courses for multiple years and is one of the most renowned pedagogues of my alma mater.
He had a well of knowledge to share, and he did in every lesson. He combined a unique mix of technical information and mathematical proofs with a powerful presence and diction, along with numerous stories about the foundations of computer science, to embellish his lectures.
I consider him my mentor — a very loose one, to be honest, which I appreciated a lot four years ago.
At some point during my competitive programming journey, I was asked to join my faculty's “flagship” team — the mighty UH++ — a name that had brought success for our students in previous competitive events — a legend, you might say.
Professor Somoza saw potential in me and recognized the hard work and effort I was putting into these events. Even though we did not manage to get a good result after I joined the team, he kept believing. He chose to give me the chance and told me (without words) that the future was in my hands. I just had to take it.
The results? My team and I reached the World Finals of ICPC in Porto 2019 and Moscow 2020, achieving what at the time were the second and third-best results for a Cuban team in those events.
Having a Community Matters
To the entire Competitive Programming community, especially the members of the teams I’ve been a part of. To the Black Pearl, also my team.
As might be evident by now, my involvement in the Competitive Programming movement was tremendous. I had very decent results, especially when compared to my peers pursuing the same type of achievements, and if you look at it in the scope of my country or maybe even my region.
But most of that success was due to the beautiful community of competitive programmers I was a part of. I joined my faculty as a Junior student who already knew how to code, and I thought that would be a considerable advantage, and indeed it was. But competitive programming is much more than just coding.
Such competitions evaluate several topics, ranging from very advanced math topics such as Combinatorics, Number Theory, or Geometry to complex algorithmic problems involving Graph Theory, String Matching, or Dynamic Programming. It goes without saying that I was at an obvious disadvantage compared to my peers in more advanced years.
The courses you take during the Computer Science major contribute without question to how well you can perform in these competitive events if you ever decide to participate. It was clear that I would have to go a long way before I could even begin to think about competing with these incredible students.
But here’s what made the learning process faster: all those so-called competitors, all those rivals, were great educators themselves and were always willing to lend a helping hand whenever I (or any of my junior colleagues) needed it. I can’t recall how many times I reached out to some of them to ask for hints on complex problems, book recommendations, and practice competitions to simulate. The list goes on and on.
This is the epitome of competition. During a real contest, it was game on — try as hard as possible to achieve the best result possible. But during practice time, everyone acted as each other's teachers. Sharing knowledge is the only way to move humanity forward, and my competitive programming community lived by this principle. For that, I am grateful.
The Black Pearl? My rival team. Rivals in heart, rivals that pushed me forward, and ultimately, my friends.
Education Matters
To every teacher who contributed to my professional shaping one way or another.
This is a tribute to the Faculty of Mathematics and Computer Science of the University of Havana. It was the place where I spent the most time during my five years of majoring in Computer Science. I learned a ton, was exposed to fascinating topics, and made life-lasting relationships.
My group of teachers during those five years was nothing but fantastic. And I got the best out of their wisdom for free. Yes, free education is a luxury I had. And it did not come with a strepitous decline in quality.
The mix of young assistants and seasoned professors, the complex theoretical knowledge and the history behind every theorem, the conferences and the practical lab sessions — everything left a mark in my heart that I hope to carry forever.
Those years have contributed to my professional success, problem-solving capacity, and endurance in long sessions of hard work.
If I had to single out one very influential teacher from that time, it would be
. He taught me courses on Programming, Compilers, and Artificial Intelligence. Beyond that, he is an example of the talent meets hard work essence. As he puts it, he is trying to democratize knowledge, one post at a time. So, if you want to keep learning about computer science, artificial intelligence, and how technology impacts our daily lives, check out .Education is essential — no matter the kind. If you can have it for free, make good use of it and seize it every day. And please, share your knowledge with others. Teaching is the ultimate tribute to those who lend their expertise to you.2
And that’s it for today! If you are finding this newsletter valuable, consider doing any of these:
1) ✉️ Subscribe to the newsletter — if you aren’t already, consider becoming a free or paid subscriber.
2) 🍻 Read with your friends — this newsletter grows because readers share it. I don’t use social media too much to advertise my writing. I’m counting on you!
Have a great day! ☀️
Alberto
If you look carefully, you can notice that
and like and restack every one of my posts. Can you guess who they are? It is a wonder to have your parents be your bigger fans.I taught the Data Structures and Algorithms course for four semesters at the University of Havana, and I have never felt similar joy in any other job.
Thanks man, this was very touching. I have learned as much or more from my students, such as you, as you guys have learned from me. It's a two-way relationship.
Very heartfelt stuff! It's important to look back over our shoulders, just to remember on whose shoulders we are standing. That's probably one too many shoulder-based analogies for today, but the idea here is sound, and this is well done.