Hey, Luca here ā Merry Christmas! š Welcome to the Monday Ideas š”, exceptionally on Tuesday today! š
Every Monday I send you an email like this withĀ 3 short ideasĀ about making great software, working with humans, and personal growth.
Paid members also receive a long-form, original essay on Thursday, like the last one:
To receive all the full articles and support Refactoring, consider joining 1400+ engineers and get the paid membership!
p.s. learn more about theĀ benefits of the paid plan here.
š„ļø Convex (Sponsor)
A few months ago I interviewed James Cowling, CTO of Convex. I love what he is building and today I am happy to promote it in the newsletter!
Convex is the TypeScript backend that handles the hard decisions. You get an opinionated realtime database with an optimized cache and elegant abstractions to express your application logic.
It is designed byĀ UX-obsessed web devs, and architected by the team that built Dropbox. You can learn more about Convex below š
1) š„Ā A-players need managers
I keep hearing that top talent requires little management effort ā so if you only hire A-players, you wonāt need managers, or very few.
In my experience, this is false.
While it is true that great engineers may help more on planning and may stay aligned more easily, they require just as much work (if not more) on the growth side.
A-players want to grow and have an impact. They donāt settle and are generally more demanding than other engineers.
Taking care of peopleās growth is a key managerial duty, and one of those you canāt ādistributeā or automate with processes.
I wrote a full article about how far you can go without managers, and how to figure out when you really need them:
2) š¾ Web3 Engineering
In the past few months I have been sensing more curiosity towards web3. I get more questions via email, I see friends starting things in this space, and more.
People always ask me what my opinion is on web3, as if it could be summarized in one sentence. Of course it cannot, because⦠itās complicated. But crypto has always been a polarizing space that divides people into skeptics and believers, so many feel the urge to take sides.
However, to be curious and wanting to learn more, you donāt need to be neither.
F. Scott Fitzgerald wrote:
The test of a first-rate intelligenceĀ is the ability to hold two opposing ideas in mind at the same time and still retain the ability to function.
Personally, my opposing ideas are:
I love the qualities you get with web3 and I am curious about a future where software and services are built this way...
...but the current tech is still lacking and I feel it may not stand the test of time.
So, even if you believe this is the right future to build, the tech stack might look very different from the one that exists today. If you were excited by the potential of web apps in the early 2000s, you were right! But you would have learned Java applets, just to throw them away a few years later.
There are counter examples too. HTML and JS have been mocked and considered a bad fit for web apps since forever. Not only are they still here, but they have attacked (quite successfully) desktop and mobile too. When adoption surpasses a critical threshold, it becomes more convenient to improve the current tech than replace it entirely.
I donāt know what stage we are in with crypto, and I donāt know if Bitcoin or Ethereum or Solana are here to stay or if they will be replaced by 10x better tech in a few years. But to me it feels the right time to dip your toes in the water. Or, if you feel like it, get full-wet.
I wrote a two part-series on web3 engineering principles, and how this is all different from regular engineering:
š¾ Web3 Engineering ⢠Part 1 ā principles & qualities.
š¾ Web3 Engineering ⢠Part 2 ā architecture & dev workflow.
3) š” Capturing notes
One of the most popular pieces I have written this year is about how I organize my knowledge. Out of the various ideas, I spent a lot of time describing how I capture ideas and useful stuff, which I believe is the foundation of any note taking system.
Useful things can come from literally anywhere: a website you visit, a bit of wisdom from a friend, a sign on the street ā so you should have a reliable way to captureĀ anyĀ kind of source.
ThisĀ captureĀ stage should be optimized forĀ minimal friction. You should be able to capture anything super fast, otherwise you just wonāt do it.
Also the capture step should only focus on exactly that:Ā capturing. Donāt bother about organizing anything at this stage, or figuring out where to put things. This only makes the capture more cumbersome, and makes you do less of it.
In my experience, separatingĀ captureĀ fromĀ organizeĀ is a key element of good note taking. Some people corner themselves into unsustainable workflows where whenever they e.g. take a picture of something they immediately have to send it to e.g. Notion, put the right tags, etc.
This doesnāt work in the long run ā you only end up capturing less stuff. So, whenever you capture something, only capture it, and review it later.
To be able to capture things fast you likely need multiple methods, each optimized for a different type of source / input.
Here are mine:
š„ļøĀ WebsitesĀ āĀ Notion Web Clipper. I use this unofficial Notion saver to send any interesting websites to my Notes database. The chrome extension allows to create various templates for different types of websites, and is able to fill database fields automatically. I also use the default share to Notion action on my iPhone and iPad.
šĀ Casual thoughtĀ ā I create a new note onĀ Bear, on my iPhone/Mac. Bear is super fast, is offline first, and has good sync across devices. Those are my only requirements, so Bear works fine but I would probably do just as well with Apple Notes and other similar apps.
āļøĀ Article passageĀ ā I highlight passages onĀ Readwise, which automatically creates a note on Notion for that article with all the highlighted parts. I wrote aĀ full pieceĀ about how I read online.
šĀ Book passageĀ ā I usually read on a Kindle and highlight passages there. These are also sent to NotionĀ automatically by Readwise.
š§Ā Video / Audio passageĀ ā I use Bear, transcribing the passage manually ā I donāt like this, it is slow and cumbersome, which is one of the reasons why I donāt listen to many podcasts.
š·Ā Misc life stuffĀ ā I take photos with my iPhone.
I also make a heavy use of AI-generated summaries. For articles and videos (especially videos) that I am not sure I want to consume in full, I go straight to the summary first and decide based on that. About 50% of the time, the summary is enough and I simply copy parts of it into a new note.
You can find more ideas and all the other parts of my note taking system in the full article:
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. 1400+ engineers and managers have joined already! Learn more about theĀ benefits of the paid plan here.
2)Ā š»Ā Read with your friendsĀ ā Refactoring lives thanks to word of mouth. Share the article with your with someone who would like it, and get a free membership through the new referral program.
I wish you aĀ great week! āļø
Luca