This Month I Learned

Jan 31, 2026

Welcome to TMIL! First of all, let me thank you for taking the time to read this. You are amazing!

TMIL comes from a variation of the letters "TIL" which stand for "Today I Learned". I did not want to post every single day, so I decided to post once a month (which sounds something like I can actually commit to) and thus the name "TMIL" which stands for "This Month I Learned".

Over time, and after more than ten years of professional experience as a Software Engineer, I realized that the most valuable things I’ve learned weren’t limited to programming. Writing software teaches you a lot about systems and tools, of course, but it also forces enables you to learn about people, communication, trade-offs, and yourself (learning about myself was the most unexpected part). In this yet-another-blog-on-the-internet, I will share those things I keep learning and practicing.

I hope you find something useful here. If you have questions, suggestions, or feedback about anything I write (or about the blog itself), feel free to reach out. The blog is open source and available on GitHub.

Learnings

It doesn't need to be perfect

"Perfection is the enemy of progress". That is what I call a clear, concise and precise phrase, don't you agree? It is not clear who came up with it first (Voltaire? Churchill?) but I don't think it matters in this case. The important thing is the meaning of it. It’s easy to think "Duh… why would I want something to be perfect if perfection doesn’t exist?" but in practice, we still choose perfection over progress. Don't feel guilty about it, we, humans, don't do it on purpose.

We are constantly flooded with incredible projects, ideas, and other people’s career progress, enough to quietly convince us that we need to deliver at least at that level. "I need the perfect brand identity and domain name!", "Without that feature, this app is useless!", "That is not pixel-perfect, people will hate it!". If we let those ideas sink in, they don't leave easily.

My advice is simple: start before you feel ready. Let things be ugly, incomplete, awkward, clearly imperfect. Progress only shows up once something exists, and nothing improves while it’s still imaginary.

This blog exists because I finally stopped waiting for the perfect design, the perfect logo, the perfect deployment process, etc. I, instead, accepted an incomplete but authentic version. It’s not perfect, and it is unlikely that it becomes perfect anytime, but here is the best part: It doesn't need to be perfect.

I like my product. That is more than enough for it (and for me) to be successful.

Being good isn't enough

As part of a project I'm currently working on, I worked with someone who was exceptionally good at what he did, really smart and, at some point, he even showed that he knew more about the business than the owner of the company himself. He was the kind of person you trust with the hardest problems because you know they'll get them solved.

Working with him, however, was exhausting. Feedback felt like an attack. Questions were met with sarcasm. Mistakes, especially from others, were treated as incompetence rather than part of the process. Passive-aggressive communication was his language.

People around him started to complain, including clients. The owner started to notice a pattern where, everything where this guy got involved, turned into chaos. There was progress, but at a high costs: clients stopped buying because they did not want to deal with this person.

Talent can justify a lot, but not everything. Effective teams will eventually optimize for how work gets done without breaking the team bond. When that happens, being good stops being enough.

I've been working on this project for three years now. He was only there for ten months. I learned a lot from that guy during that time and those learnings still help me day to day. I wish that guy nothing but the best.

Impostor Syndrome never leaves

Some people might think that the more experience you have working the more confident you become. That is not always the case. I recently started a new role at Change.org, and I'm really proud of it. Previously, I worked at a bigger company (Encora México) where I got assigned to work with Taskrabbit.

Both Taskrabbit and Change.org are international brands, based in the US. In both cases, I joined brand-new teams, received mentoring, and had to ramp up on unfamiliar stacks. Different moments in my career, very similar feelings.

Taskrabbit was my first experience working for an international team and product. I struggled with cultural shock, technical gap, communication and a lot of other things. The first weeks (probably months) of that six-years working relationship were really difficult and I kept thinking "Now I really messed up, will they fire me after this?". After some time I felt comfortable and I turned into, what I consider, a decent collaborator.

Now, at Change.org, I’m feeling something similar again. I’m still onboarding, there’s a lot to absorb, and that familiar inner voice is back, silently questioning whether I really earned my way here or if I just got lucky.

Impostor syndrome doesn’t disappear with experience. It just changes its shape and with every new role it resets the context, and confidence has to be rebuilt again. New team, new culture, new expectations. Your work isn’t to eliminate it, but to recognize it for what it is.

I'm really looking forward to revisit this topic in a year or so.