What's the bus factor?

It refers to the number of people in your team that can get hit by a bus before your project gets stuck.

It doesn't have to be a bus, imagine illness, holidays, parental leave, changing jobs, etc.

Let's see how it happens and how to increase it 🧡 What's the bus factor?
How can it happen?

- Having only one developer on the team. They build all the software and they are the only person that knows how everything works.

- Having a "rockstar" developer on the team. They build complex systems and don't tell anyone about them.

πŸ‘‡πŸ»
How can we increase it?

- Write documentation. Every time you create a new system or go through an internal process, if anything could be improved, take the time to go and do it.

- Regular meetups. So you can know what everyone is working on.

πŸ‘‡πŸ»
- Pair programming. If two people work on the same code together, they know how it works.

- Code reviews. Even if you feel like you can't add anything to the PRs from your team, take the time to take a look at them so you familiarize yourself with the code.

πŸ‘‡πŸ»
- Make code readable. Code is written once and read hundreds of times. Prioritize explicit code over clever code.

- Give juniors the opportunity to grow. It's easy to just give juniors the easy tasks, but also try to give them more complex tasks and help them complete them.

πŸ‘‡πŸ»
- Write tests. Tests explain what the code is supposed to do, and if someone comes and look at your tests, they will know exactly what intentions you had. Also, remember that the person writing the code is the best person to write the tests for it.

πŸ‘‡πŸ»
- Automate as much as you can. If you put systems in place that do the work for you, you don't rely on anyone for it. You'll need to write documentation to explain how it works.

πŸ‘‡πŸ»
- Do training sessions. Have someone from the team explain a feature they have worked on and what problems they faced along the way. Think of it as an internal workshop.

πŸ‘‡πŸ»
- Encourage learning. Let your team learn things they are interested in. Have your team take courses, go to conferences, trying new technologies, etc.

This will improve the level of your team and be worth for you and your company in the long run.
In conclusion, don't let only one person on the team have all the knowledge, increase your bus factor.

If you have enjoyed this thread, I post content daily here on Twitter (@nachoiacovino). If you have any questions, my DMs are always open.

See you on the next thread! 😁

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with Nacho Iacovino ⚑

Nacho Iacovino ⚑ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @nachoiacovino

30 Apr
Do you know about Create React App templates?

Instead of starting with an empty project, you can start with some functionality already built-in.

Some examples would be typescript, redux...

You can also create your own templates. Links below ⬇️
Official CRA page about custom templates and how to create your own.

create-react-app.dev/docs/custom-te…
Find community templates already built by some other users, right now there are 1627 templates available free for you to use.

npmjs.com/search?q=cra-t…
Read 4 tweets
2 Mar
What is Next.js?

Next.js is becoming more and more popular recently. I want to explain exactly why and what does it do.

They call themselves "The React Framework for Production".

So, in a way, they convert React from a library to a framework.

Let's explain how they do it 🧡 What is Next.js?
⭐ Pre-rendering.

Next generates HTML for each page in advance, instead of doing it client-side.

This results in better performance and SEO.

There are two forms of pre-rendering.
- Static Generation (SSG). The HTML is generated at build time and it can be reused.

You can generate static pages with data, which can be fetched at build time. This is used for e-commerce sites, blogs, documentation, etc.
Read 12 tweets
24 Feb
CSS fundamentals before learning Tailwind.

Some people believe that you need to be a CSS master before starting learning Tailwind, and that couldn't be further from the truth.

You should know some fundamentals, and I want to tell you exactly which ones.

Let's begin 🧡 CSS fundamentals before learning Tailwind
background properties.

This is used to give properties to the background of an element, it could be any element.

These are the main ones you should know about: .box {   background-color: red;   background-image: url('som
margin, padding and border properties.

The first attached image is a visual representation of how this works.

- padding is the internal margin.
- border is the border of the box.
- margin is the margin outside the box.

You can use top/right/bottom/left or the shorthand. .box {   /* margin and padding works the same */   margin-to
Read 12 tweets
19 Feb
I recreated the Stack Overflow login page with Tailwind CSS.

It's not perfect but I'm happy with the end result.

What differences can you spot? πŸ‘€

What do you think? What should I recreate next? CloneOriginal
Let's a poll! Which one do you think is the real one?
If you would like to learn how to use Tailwind and how to create clones like this, you would love the course I'm building.

Sign up to stay updated!

windcourse.co
Read 4 tweets
18 Feb
How to deploy (upload) your project to the Internet.

For free.

One of the most important things when creating a website/portfolio is putting it online. People need to see what you create.

I'm gonna explain the easiest way to do it.

You are gonna love it.

Let's begin 🧡 How to upload your project ...
We are gonna use @vercel.

First, go to vercel.com/signup and create an account. This is completely free.
We need two more things, Node.js installed and a code editor, I'm using @code.

You can download Node here: nodejs.org/en/ (Recommended version)

And VSCode from here: code.visualstudio.com
Read 10 tweets
15 Feb
JavaScript fundamentals before learning React.

Some people believe that you need to be a JavaScript master before starting learning React, and that couldn't be further from the truth.

You should know some fundamentals, and I want to tell you exactly which ones.

Let's begin 🧡 JavaScript fundamentals before learning React.
let and const.

This is the ES6 way of assigning variables, it replaces "var".

"let" is for variables that are gonna be reassigned in the future.

"const" is for variables that are not gonna change, you define them and you use them, but they have a "constant" value.
imports and exports.

A big part of React is reusability. You create a component (like a button), export it, and then import it on your other components without having to write it out again. /* components/Button.js */ const Button = () => {   return <
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(