After deciding to switch from electronics to computer science, I had to decide what to specialize in. After all, I was in a master's program, so I had to jump into the more advanced concepts and catch up on the computer science fundamentals (normally taught in the CS bachelor) along the way.

Why not machine learning

Given the interest I had recently developed for neuroscience, the most obvious choice would have been to get into machine learning — which, even though it was still pre-GPT-3 times, had already been taking off for a decade.

However, looking into the course catalog, I noticed various courses on distributed computing. This was the science underpinning something I had been interested in ever since Mr. Corey first told me about it back at Novato High School: Bitcoin.

The distributed systems course

This is how I decided that, in order to test whether I actually wanted to get into computer science, I would take the Distributed Systems course held by Roger Wattenhofer — who eventually became my thesis supervisor.

Complexity, again

As soon as I took the class, I realized that studying distributed systems had a lot in common with the complexity theory I had gotten into at the end of my bachelor — it even had its own emergent phenomena: various units following really simple rules, giving rise to properties that are not found in the individual unit. It also turned out that distributed systems theory was incredibly useful: having computers agree on the state of a ledger in a permissionless way is a really nice emergent property, one that today protects more than one trillion dollars in Bitcoin alone.

Digital sovereignty

Ever since Mr. Corey told me about Bitcoin, I had kept learning more about it thanks to books like Mastering Bitcoin, which got me passionate about digital sovereignty and technology that empowers the individual. Now I finally had the opportunity to get into the weeds and truly understand how it all worked.

All in

I was instantly hooked! Within a few weeks, I decided to drop all my electronics classes (and neuromorphic computing with them) and get into computer science and distributed systems. I never looked back!

After the distributed systems course, I started taking all the courses in adjacent areas, like Communication Networks, Principles of Distributed Computing, and Cryptographic Protocols.

And with this, my life became less about physics and atoms, and more about math and bits.

Next: The Web, ubiquitous computing, and the Web of Things