Ten Things I Wish I Knew Ten Years Ago

Ten years ago, on September 3rd, 2012, I left Italy on a one-way ticket to London.

For some reason that I can’t remember, the gate at the airport was in a different building from the check-in desk. It was pouring rain. I got so soaked that, hours later, sitting in Leicester Square, I was still wet.

I had no job lined up and no long-term accommodation. I spent the first month in a house with ten people and one bathroom. Yet, in the end, things turned out fine. More than fine, if I can say so myself.

If I could meet my 23-year-old self, attempting to dry under the timid London sun that afternoon, here are ten things I would tell him.

1. Time is precious. Use it intentionally

Time is a scarce resource over which you have limited control. Your time reserves will keep decreasing no matter what you do. This makes time your most precious resource, and you should be very intentional in how you allocate it.

The best way to use time is by investing it in activities that compound. Examples are: Sharing experiences with family; cultivating friendships; sharpening an existing skill, or learning a new, complementary one; reading.

Of course, one cannot meticulously plan every minute of every day. Besides, time is not entirely within our control. Other people or unexpected events can easily steal time from us. The name of the game is being intentional, not obsessive.

It’s also okay to “waste” time, as long as you do that on purpose. For example, you might decide to sip a cold drink on the porch and relax for a couple of hours. Nothing concrete will get done during that time, but you’ll be better off afterward. That’s much different from doom scrolling on Twitter.

2. Buy the best tools you can afford

“Buy a cheap tool, and you’ll cry every time you use it. Buy a quality tool, and you’ll cry once.” Whether it’s a hammer, an app, or a pair of shoes, you should always get the best one you can afford.

A good tool won’t only help you achieve higher quality results, but it will also last longer and save you time.

Time is precious. It pays to spend money on things that save you time. You can always make more money, but you can never make more time.

3. Learn how to use your tools

Once you got the best tools you can afford, learn how to use them. Properly.

This principle, too, follows from time is precious. Knowing how to use a tool well, whether hardware or software, makes a huge difference in how long it will take you to get the job done.

You should learn to use your tools properly as soon as you can. Doing so will maximize the value you get from the tool over its lifetime.

4. Change is the only constant

And that’s good, for the alternative to change is stagnation.

Granted, things might not always change for the better. But because change will keep coming, you’ll have opportunities to make things better again.

Don’t fight change. Harness it. Build flexibility into your systems so that, when change arrives, you can adapt to it.

5. Your network is your net worth

The software industry implements meritocracy more than others, possibly because the quality of the code we write is visible to everyone who takes the time to read it. Still, the old saying “It’s not what you know, it’s who you know” applies in tech like everywhere else.

People will carry the memory of how good it was to work with you in their next job. If you left a positive impression, they might reach out when they’ll need someone with your skill set. The opposite is also true. Leave a lousy impression, and no one will want to work with you again.

I came across a tweet that summarizes it well: Code is temporary, ass is forever.

How long do you expect the code you write today to live? How long till it will be refactored, rewritten, or wholesale deleted? The relationships with your coworkers, on the other hand, could last forever.

Time is precious; invest it in things that compound. Is having the final word on every code review and design decision worth alienating your colleagues? I worked with several brilliant developers that I’ll never contact because they were insufferable.

That’s not to say you should be a pushover or compromise on quality. It means keeping your ego in check, being mindful of how you deliver your comments, and picking your battles.

Your network determines your exposure to opportunities. Every person you meet could be the missing link between you and your next big adventure.

You don’t need to be “networking” to build your network. It certainly pays to get out of your comfort zone and meet new people, but you’ll still meet all sorts of people in the companies you work for. Treat them with respect, listen more than you talk, and show them they can count on you. When you leave, do it on the best terms.

6. Increase the intensity of focus, not the time spent

In his book Deep Work, computer scientist and tech writer Cal Newport postulates that work accomplished = time spent x intensity of focus

When it comes to knowledge work, it’s almost always easier to increase the intensity of focus rather than the time spent on a task.

The best thing you can do to increase the intensity of focus is to avoid multitasking.

7. Ship faster

In the 2013 letter to the Amazon shareholders, Jeff Bezos wrote, “We understand that and believe in failing early and iterating until we get it right.”

The first iteration of something is rarely a good one. There are always misconceptions, unknowns, and plenty of room for improvement.

The only way to learn if what you built works is through real-world feedback. The faster you get it, the sooner you’ll learn.

So ship faster, and keep asking yourself how to take smaller steps.

Shipping fast doesn’t mean shipping crap. To ship faster, do not reduce quality. Reduce scope.

8. Ask, what problem does it solve and how does it do it?

The tech industry is full of new “solutions.” Whenever presented with a new product, idea, or approach, ask, “What problem does it solve?”

The startup graveyard is filled with products that tried to solve problems that weren’t there and companies that used the wrong solutions for the legit problem they were tackling. Think of all the online pet stores that went bust in the dot-com bubble or the startups losing agility because they adopted the same tech and processes Google uses.

“What problem does it solve and how does it do it?” is a powerful filter to apply when making personal decisions, too.

Just because a famous person adopted a specific practice or endorsed a particular product, it doesn’t mean you should adopt it. The problem they are solving might not be one that you have. Or their proposed solution might be bogus.

You can spend all the money you want on mattresses advertised in podcasts and temperature control systems for your bed. They won’t make any difference if what keeps you up at night is a sleepless toddler.

9. Focus on what’s within your control and ignore the rest

You can’t control everything. In fact, you can control only an infinitesimal portion of the events that affect you.

Any energy you direct towards trying to change things you can’t control or worrying about them is wasted.

Luckily, there’s usually something you can control. Figure out what you can control and focus entirely on that.

There is one thing you can always control: How you react to events.

Simple example: You can’t control the weather. If it rains and you don’t have cover, you get angry at the clouds or choose to smile and enjoy the fresh sensation on your skin. (You can also carry around an umbrella.)

Concrete example: 2022 has been a year of economic difficulty. Many tech companies have cut staff, a trend that doesn’t seem to slow down. Your job safety is not entirely in your control. You can’t affect the market. But you can show up at work every day and make sure your contribution is valuable and irreplaceable.

Focusing on what you can control and reframing events to find opportunities where others see obstacles are ideas straight out of Stoic philosophy.

If you had told me in 2012, when I had just landed in London, that I would cite ancient philosophers, I would have laughed at you. I was still recovering from the psychological damage of high school and hadn’t yet encountered real-world, practical philosophy.

But here I am, encouraging you to pick up Marcus Aurelius, Seneca, and Epictetus. Change is the only constant.

10. Focus on error detection and correction

Error prevention only works when you already know what to prevent. But change is the only constant, so you can be certain unforeseen issues will hit you eventually.

Sure, put guards in place against known errors. But spend as much, if not more, energy implementing ways for error detection, then trying to correct each error as soon as possible.

You still need to make a plan. When planning, make sure you know your assumptions and how to verify them. Implement means to detect the misconceptions in the model you used to derive the plan and account for the time it will take you to adjust.

Appreciating the value of error detection and correction is also a way to escape the trap of analysis paralysis. You could spend months crafting the perfect plan only to be struck down by the one thing you couldn’t predict. To paraphrase Eisenhower, no product idea survives contact with the customer.

The alternative to analysis paralysis is to ship fast and course correct often.

Bonus: Ten books I wish I had read earlier

I always loved reading, but I used to only read fiction. Emigrating showed me how unequipped I was for the real world, despite years of higher education. Only then I appreciated the mind-expanding, life-changing value of books.

Invest time in things that compound. Reading good books compounds, and the sooner you do it, the better the return.

Here are ten books that were available ten years ago and that I wish I had read earlier.

  1. Marcus Aurelius’ Meditations
  2. Thinking, Fast and Slow
  3. The Fabric of Reality
  4. Getting Things Done
  5. The Beginning of Infinity
  6. The Pragmatic Programmer
  7. Good Strategy, Bad Strategy
  8. So Good They Can’t Ignore You
  9. The Chimp Paradox
  10. Antifragile

Corollary: Take “expert” advice as suggestions, not truths—Including this one

On the internet, “I am an expert at X” is usually followed by “Buy the X I’m selling!” A lot of advice out there is nothing but advertisement. Poorly disguised self-promotion.

After you’ve filtered all the bullshit, shallow, inconsistent content, the remaining solid advice you remain with might turn out to be counterproductive.

Many recipes are based on anecdotal evidence from a handful of case studies and plagued by survivor bias. Think of advice on building a business extrapolated from what successful founders did. How reliable is it? How many other founders run the same playbook but got their timing wrong, weren’t in the right place at the right time, or didn’t know the right person?

Ask, “What problem does it solve, and how does it do it?” Treat everything you come across in books, articles, inspirational TED talks, and the like as something to criticize. Subject it all to careful scrutiny. Run it past your previous experiences. Check whether it clashes with the latticework of mental models you’ve built so far.

Take those that survive your methodical criticism for a spin, but only as experiments to verify their efficacy yourself. Adopt them tentatively, and don’t be afraid to modify them.

And that, of course, applies to all the advice I just gave you.


This post is an elaboration of a Twitter thread I published on my 10-year emigration anniversary. Check it out for more ideas.

OpenGraph cover image via Paula Guerreiro on Unsplash.

Brought to you by… Want your name and link here? Become a Patreon subcriber and also unlock access to more exclusive content.

Like what you’re reading? Get new posts in your inbox. 👉📬