things unlearned

This blog post is one of my all time favourites. Jamie asks this question: what are some things that you used to strongly believe but have now changed your mind about?

In the post he answers this question himself, and this post is my version.

optimism beats cynicism, always

I’ve swung between being an optimist and a cynic multiple times now, and at this point in time I would happily declare myself to be a relentless optimist.

Being a cynic can feel pretty damn good. “I’m so smart! I see the world from an objective standpoint, everything’s out to get me and the world is going to hell.” This mindset can make you appear based and intelligent in front of people. The problem with thinking this way is that it sets up your mind to always think in black and white - things either go terribly wrong (as you expected), or things go well, which pleasantly surprises you. There’s a very fine line between keeping your expectations low, and being a cynic. I used to think I was doing the former – the issue is as a cynic you would never admit, or even know, that you are one.

There’s a lot more nuance to life than cynics (like the past me) would have you believe. People are hardly “out to get you” as much as they are just looking out for their self-interests, like any other normal human beings. Your business partnerships might’ve not worked out but they probably just didn’t have resources to commit. Your startup may have failed but you most probably would’ve picked up some very valuable skills along the way. The point is, operating from the mindset of “everything bad” sets you up for failure from the start, because that is simply not how people operate, and it is also not the most optimal approach to handling relationships and possible setbacks in life.

I now tend to believe that most people worth connecting with are inclined to act in good faith more often than not. The smart and kind optimists understand that life is just a game we play for the sake of continuing the play; cynics see life as a winner-takes-all game that they want to win. This is the very premise behind the well-known prisoner’s dilemma, nicely illustrated in this video by Veritasium.

you can just do things

This has been a bit of a meme on twitter, but this quote really is true. A common belief amongst new programmers seem to be that there exists a ‘skill tree’ to learn some technology, i.e. to learn a certain X technology, you need to learn Y and Z prerequisites first. I’ve seen this belief in action anecdotally, Since several people have asked me questions along this line.

Starting with the prerequisites is problematic for a few reasons. For one, it’s easy to fall into the ‘infinite tutorial’ trap, where you are hopping from tutorial to tutorial, consuming countless of blog posts, videos and articles without reaching the primary goal that you set out for. It’s also horrible psychologically speaking, since subscribing to this belief often results in two states of mind: either hopelessness due to the belief that the prerequisite knowledge needed is too insurmountable, or a false sense of accomplishment because you feel like you did a lot without having actually done anything at all.

What has worked for me is to start with the technology I want to learn and figuring out what prerequisites I need, rather than starting with the prerequisites.

When I first learnt STARKs, I jumped straight into the STARK 101 tutorial and figured out the prerequisites along the way (modular arithmetic, erasure coding, FFTs and other good STARK stuff). Since then I’ve been learning most new technology this way, by jumping into the deep end (learnt Zig by writing a text editor, learnt zkVMs by getting a job in it)

A caveat: just because you can “just do things”, doesn’t mean you should all the time. Don’t fall prey to chasing the shiny new things.

let your curiosity guide you

There were a few times in life where I was obviously no longer attracted to what I was working on at the time but stayed in denial while being very unhappy. I’m the kind of person where I would willingly put many hours every day into something that captures my attention entirely, but I would be easily depressed and unmotivated if I was forced to work on something that I find meaningless.

Following my curiosity has always worked in my favour from all my past experiences. It was what got me into crypto engineering and now zk.

This can obviously be a boon or a bane depending on how you see it: it can be a boon because you can work tirelessly on things that you find exciting, and that passion and energy can be contagious. At the same time, it can easily be a bane since it probably makes you very unhireable (lol)

I’m personally still trying to strike out a balance myself.