3 ms·
That is exactly what I have realized after decades of work. There is a cap on how much work you can do individually. There is no cap on how much damage or impr
by lmilcin 6y ago
That is exactly what I have realized after decades of work.
There is a cap on how much work you can do individually. There is no cap on how much damage or improvement you can cause to other people you work with.
It does not matter how clever you are with your code if nobody else is going to be able to continue that work or support its results.
For this reasons I have developed following, informal rules I try to follow:
1. It is ok to be clever with the code if I am going to be only one to ever read or use it. This can assumed to be always false for production code. I limit my cleverness to PoCs, adhoc tools and emergencies.
2. Always think how other, and especially junior members of the team are going to develop and support my product. Is it too complex for them to follow? Is there something that can be done so there is less chance they are going to misuse it?
3. I use my cleverness to try to develop simpler and more reliable products. Simplicity is defined by how much work junior member of the team is going to have to expend to understand it. Reliability is defined by how likely it is to fail in face of junior team members operating / developing the piece of code.
4. If team members have trouble understanding or working with my products it is always my fault. Figure out how to make the product simpler or at the very least provide training and ensure they understand how it works.