You can't stop the waves, but you can learn to surf
Some basic lessons I’ve learned (or re-learned) in the last few months:
- Invest in monitoring and observability, it will save you time, particularly in times of stress.
- Don’t skimp on testing. Having a slow test suite is a thousand times better problem to have than having no tests. Don’t aim for 100% code coverage either. Focus on the most critical paths of the software.
- Depersonalize blame. If one of the developers messed up, don’t point fingers, it’s a stressful enough experience for the person that messed up, particularly if they are junior.
- Strive for a balance between getting things done and perfectionism. Companies prefer the former, until shit hits the fan.
- Don’t use inheritance. Like getting drunk on a Wednesday, it may seem like a good idea at the moment, but you’ll regret it next day. Use composition instead.
- Understand the needs and concerns of each person you work with, and proactively do things to help them.
- If you have a toxic work colleague you just have to let him go. If you can just remove them from your team, do it. Don’t try to be nice an believe in their ability to change. Technical skills can be learned, but not being a decent human being. The longer they stay the more damage they will do. Set them free.
- Invest in yourself, continuously and like Public Enemy said “Don’t Believe the Hype”.