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 π§΅
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
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 π§΅
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.