Refactoring

Share this post

Subtraction vs addition, blockchain qualities, reading later 💡

refactoring.fm
💡 Monday 3-2-1

Subtraction vs addition, blockchain qualities, reading later 💡

Monday 3-2-1 – Edition 37

Luca Rossi
Feb 13
15
2
Share this post

Subtraction vs addition, blockchain qualities, reading later 💡

refactoring.fm
Article voiceover
1×
0:00
-5:38
Audio playback is not supported on your browser. Please upgrade.

Hey, Luca here 👋 welcome to the Monday 3-2-1 ✨

Every Monday I will send you an email like this with 3 short ideas about engineering management, technical strategy, and good hiring.

You will also receive the regular long-form one on Thursday, like the last one:

  • How to Reduce Meetings 🪚

To receive all the full articles and support Refactoring, consider subscribing if you haven’t already!

Become a better tech leader today ✨

p.s. you can learn more about the benefits of the paid plan here.


1) 🔪 Subtracting over adding

Research demonstrated that we have a bias towards addressing problems by adding new things (e.g. components, initiatives, ideas) rather than removing existing ones.

It is unclear why it is so, but it seems people do not consciously discard subtractive solutions — they do not consider them at all.

This is particularly unfortunate as removing stuff is often faster and cheaper than adding more of it.

Consider that bricks structure. How would you stabilize the platform on top? Most people do not consider removing the small green brick — they propose to add another one.

So keep that in mind and add it to your arsenal. Ask yourself more often: can I solve this problem by just removing something?

Subtraction is a form of inversion — I wrote more about it in a previous article 👇

Refactoring
The Power of Inversion 🔃
Hey 👋 this is Luca! Welcome to a 🔒 weekly edition 🔒 of Refactoring. Every week I write advice on how to become a better engineering leader, backed by my own experience, research and case studies. You can learn more about Refactoring here. To receive all the full articles and support Refactoring, consider subscribing 👇…
Read more
2 years ago · 20 likes · Luca Rossi

2) ⛓️ Blockchain is composable and dependable

Whatever your opinion of the web3 space, whether your think it is a piece of the future, or just a box full of scams, it is useful to reflect on the qualities of the blockchain as a technology.

The most interesting angle to me, is that blockchain is actually a computer — one with two peculiar qualities: it is public, and it is immutable.

These qualities matter because:

  • A public computer makes data and software 🧩 composable

  • An immutable computer makes it 🔒 dependable

🧩 Composable

More than 99% of software that runs on servers today is open source.

Open source won because of its composability. When you think about it, it allows to solve a problem exactly once for everybody, and allows in turn to combine that solution with others.

Software, however, cannot run itself.

It needs to be hosted on servers — and these are arguably private. This means production software gets controlled by private entities, and, crucially, this includes data — as databases are software themselves.

Private servers, and especially private databases, vastly reduce the potential for composability. APIs and access are limited to what companies allow people to do.

You can think at Ethereum (and other similar projects) as a protocol that enforces public data and publicly run software. This vastly increases composability because it makes it permissionless.

You can use and contribute to the same database everyone uses, and combine public software at API level (not source code level).

🔒 Dependable

Composability wouldn’t work if the blockchain wasn’t also dependable. Blocks are immutable, you are guaranteed that data and software won’t change.

This means we have now software that can make commitments. It is no mistake that such software is called a smart contract. It is a contract because it is binding.

With regular software, databases and apps are run under control of some entity, so software is dependable only if you trust such entity to uphold its commitments. With blockchains, instead, commitments are upheld by software itself.

This allows you to build and combine apps without the need to trust (to a certain extent) parties involved, which in turns expands the design space of what you can build.

You can find more ideas about web3 engineering in this two-part article I wrote in the past 👇

Refactoring
Web3 Engineering (Part 1) 👾
If you are anything like me, you may feel like this year (last year by now) the web3 / crypto space exploded, and you have loud friends and peers talking non-stop about it. I personally know tons of engineers who now work on NFTs / blockchain games / dapps, and many who don’t but are looking at this space with interest and curiosity…
Read more
a year ago · 12 likes · 7 comments · Luca Rossi
Refactoring
Web3 Engineering (Part 2) 👾
This is the second of a two-part series on Web3 engineering. You can find the first one here: Web3 Engineering (Part 1) 👾 The first part was about why web3 is indeed an interesting space and why you should look into it (or not). This second part is about the…
Read more
a year ago · 6 likes · 2 comments · Luca Rossi

3) 📚 Reading later

These days I mostly read things from my Instapaper backlog, which means I very rarely read on the spot. So, I always save and revisit rather than just reading what is in front of me.

I feel this time-shifting behaviour makes me escape the reactivity loop. By separating the moment I find something that looks interesting from the moment I actually read it, I am able to apply a better judgement to what it is actually worthy of my time.

Many things feel urgent to be read just because of the state of mind we are in. Things we want to read when we are angry, anxious, or bored, are very different from what we want to read when we are happy, or at peace.

By constantly saving content for later, I find that what seemed interesting at a given time, it often isn't anymore even just a few hours later.

I wrote a full article about my reading process, which I use to write this newsletter 👇

Refactoring
How to Read Online 📖
Hey 👋 this is Luca! Welcome to a ✨ monthly free edition✨ of Refactoring. Every week I write advice on how to become a better engineering leader, backed by my own experience, research and case studies. You can learn more about Refactoring here. To receive all the full articles and support Refactoring, consider subscribing 👇…
Read more
2 years ago · 26 likes · 8 comments · Luca Rossi

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 paid subscriber. You can learn more about the benefits of the paid plan here.

Get full access to Refactoring today ✨

2) ❤️ Share it — Refactoring lives thanks to word of mouth. Share the article with your team or with someone to whom it might be useful!

Share

I wish you a great week! ☀️

Luca

2
Share this post

Subtraction vs addition, blockchain qualities, reading later 💡

refactoring.fm
2 Comments
Abhinav
Writes Centurial Curiosity
Feb 13

Power of Inversion is a great framework to change the situation in a very agile manner. It is really surprising that such topics are not taught.

I would like to know your views on use of Inversion in productivity instead of growth.

Expand full comment
Reply
not sensible
Writes not sensible
Feb 13

Hmm, had never considered the "composable" angle. Def something to think about.

Expand full comment
Reply
TopNewCommunity

No posts

Ready for more?

© 2023 Luca Rossi
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing