Refactoring

Share this post

Dunning-Kruger effect, good onboarding, and the Conway's law of microservices 💡

refactoring.fm

Discover more from Refactoring

Weekly, practical advice on writing great software and working well with humans.
Over 49,000 subscribers
Continue reading
Sign in
💡 Monday Ideas

Dunning-Kruger effect, good onboarding, and the Conway's law of microservices 💡

Monday 3-2-1 — Edition #46

Luca Rossi
Apr 17, 2023
21
Share this post

Dunning-Kruger effect, good onboarding, and the Conway's law of microservices 💡

refactoring.fm
8
Share
Article voiceover
1×
0:00
-5:37
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 a new long-form article every Thursday, like the last one:

  • How to Plan for Maintenance 🛠️

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

Get the full Refactoring experience ✨

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



🐺 QA Wolf

Before we dive into this week’s ideas, I want to spend a few words to promote QA Wolf, whose team I got in touch with just recently.

In-house QA takes years to scale. QA Wolf takes weeks.

QA Wolf will build, run, and maintain your automated end-to-end test suite — and get you to 80% automated end-to-end test coverage in 4 months.

Your automated test suite runs entirely in parallel on QA Wolf's infrastructure so you get results in 5 minutes or less for fast, confident shipping.

From their website you can schedule a demo, get a 90-day pilot, and browse plenty of case studies from real-world companies 👇

✨ Learn more about QA Wolf ✨

Now back to this week’s ideas!


1) 🥷 The Dunning-Kruger Effect

The Dunning-Kruger effect is a well-known phenomenon in which experts in some domain are somewhat less confident that amateurs.

It isn’t always so, but it seems that, by drawing your skill progression on a time scale, there is a valley in which, although you have acquired decent expertise already, you can be more insecure than when you started.

Put it in another words, there is a significant period of time in which the more expert you become, the less confident you are.

The three main stages of the Dunning-Kruger effect

How can this happen?

If your knowledge increases but your confidence decreases, it means that your expectations about what you should know are increasing faster than your knowledge itself.

This is possible, and even likely, because of how our learning works.

In fact, for any given subject, we can bucket knowable things into three categories:

  1. 🟢 Known knowns — our actual knowledge.

  2. 🟡 Known unknowns — things we don’t know and we are aware of it.

  3. 🔴 Unknown unknowns — things we don’t know that we don’t know.

We can only expect from ourselves things whose existence we are aware of, that is, (1) and (2). But when we are learning some domain, for a good while we may discover new unknowns faster than how we are able to turn them into knowns.

As long as this happens, our confidence goes backwards, while we see what we need to learn growing faster than our knowledge.

I wrote a full article about growing your confidence and dealing with impostor syndrome 👇

Refactoring
How to Deal with Impostor Syndrome 🥷
At the end of 2022 I published a couple of quite personal articles, respectively with thoughts about personal growth, and happiness. I published them as free articles, because I care deeply about those topics and I wanted to reach as many of you as possible…
Read more
7 months ago · 23 likes · 2 comments · Luca Rossi

2) 🎒 The Three Levels of Onboarding

Onboarding is one of those overlooked processes that sometimes are expected to just happen.

I suspect this is because of a couple of reasons:

  • 🧱 It feels like a commodity. Once you get past a baseline of quality — that is, here are some docs, here is your team, here is what you have to do — it doesn't seem there is much room for improvement.

  • 📈 Performance is hard to measure — making it tough to assess how the process is actually doing. Which in turn makes it hard to improve.

To make onboarding better, I have two major pieces of advice:

  • 🔨 Treat it as a project — projects have a goal, a beginning and an end. Onboarding should make no exception. Create a series of activities that, once completed, have covered the basics to allow new people make a positive contribution. Pretty much like the introductory chapter in a videogame.

  • 3️⃣ Consider the three levels — technical, managerial, and cultural. Make sure you don't just cover the basic needs for the everyday job (technical), but clarify people's role within the company (managerial) and help them feel part of the team (cultural).

Onboarding effort decreases over time as the contribution value of the new employee increases. In my experience, cultural onboarding is the one taking the most time.

When you combine the two advices, you get that for each level you should create a series of activities to cross off, to consider onboarding complete.

You can find more advice about onboarding employees in this previous Refactoring article.

Refactoring
The Three Levels of Onboarding 🎒
Like Joni Mitchell said: “I have looked at life from both sides now.” I have been onboarded and have been responsible for onboarding others, multiple times. I can tell — also from my own mistakes — that onboarding is one of those overlooked processes that sometimes are expected to…
Read more
3 years ago · 5 likes · Luca Rossi

3) 🗿 Organizational benefits of microservices

I have come to believe that the benefits of microservices vs a monolith are mostly organizational, rather than technical.

This doesn’t make them less important, though.

As by Conway’s Law, your software design structure gets eventually shaped around your team’s communication structure.

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

— Melvin E. Conway

Conway’s law applied to the monolith vs microservices debate

So, if your team is large and you want to organize it around small independent teams, you may need to gravitate towards a service-based architecture.

The opposite is also true: you won’t probably get the full benefits of microservices as long as your team stays a single large unit. The overhead will not be worth it if it is not matched by the communication benefits brought by autonomous teams.

It seems to me that a solid recipe for any team might be to focus on modularity, and spin off independent services whenever you want to enable independent workflows, rather than (supposed) stronger technical qualities.

You can find more ideas about monoliths vs microservices in this recent Refactoring article:

Refactoring
Monoliths vs Microservices 🗿
In the book Sapiens, historian Yuval Noah Harari spends some initial chapters explaining the transition of humans from the hunter-gatherer lifestyle to the farmer one. In doing so, he debunks several myths about the life of prehistoric men. Hunter-gatherers lived a simple, happy life: they had a diverse diet, famine was rare, they were physically fit, and, contrary to popular belief, they only had to work a few hours a day…
Read more
a year ago · 22 likes · Luca Rossi

💻 Typo

Last week we talked about Typo, which is a smart tool to help engineering teams code better, deploy faster, and stay aligned with their goals.

If you missed it, as a Refactoring reader, you can still get 30% off any Typo plan 👇

Learn more about Typo ✨


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

21
Share this post

Dunning-Kruger effect, good onboarding, and the Conway's law of microservices 💡

refactoring.fm
8
Share
8 Comments
Share this discussion

Dunning-Kruger effect, good onboarding, and the Conway's law of microservices 💡

refactoring.fm
Ted Levi Toldman
Apr 17Liked by Luca Rossi

A very complex but interesting topic. Thank you for your work.

Expand full comment
Reply
Share
1 reply by Luca Rossi
paul teare
Writes paul’s Newsletter
Apr 17Liked by Luca Rossi

I revamped the onboarding process for an English blue light emergency service few years back. Main point I concluded was if you get this right both the employer and employee benefit over period they're together. Get it wrong and it's very difficult to come back from it for either. Private companies have greater flexibility in terms culture and money spend than public service,but that isn't an excuse to leave it merely as a tick box application process driven purely by cost and function.

Expand full comment
Reply
Share
2 replies by Luca Rossi and others
6 more comments...
Top
New
Community

No posts

Ready for more?

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