One of the hardest things in Software Development is diving deep in a subject that you’re not much familiar with. It can be something, that is not on your speciality or can be some code that you’ve not digged before, or you may not know the patterns that is used inside or you just don’t know the business domain well enough etc. When a software developer works on a subject that needs to be done and faces immediately something that comes from some dark place, first reaction is to avoiding from it. If applied, this behavior may create technical debt and like creates other dark places, ironically.
And that work, generally, is not *that* difficult, you just need some energy, help to focusing or else. Great engineers work against it. They know their fear about the unknown and they work to overcome it.
This behavior already discovered by smart people, and they’ve created some anti-patterns like WorryDrivenDevelopment. This kind of fear, will generally result on, blaming the previous-developer, or feeds Not Invented Here syndrome. Or more dangerously and silently the code takes it’s place in the code-base and creates technical debt.
How to avoid:
- Do Pair Programming & ask for review
- Share Information
- Take a step back and re-gain energy. Sleep over it.
- Carry architectural concerns. Always.
- Track your emotional status, happiness, regularly
Pyschological Safety is important because of it. In an organization, all programmers should be able to admit it if they do something wrong. Openly. If they can not, organization’s software affects from it, directly. To modify the famous saying a little bit “I have not seen a software yet, that is good and it’s developers are unhappy”.
Great engineers are brave ones. They intentionally jump on to the unknown, make mistakes, learn from it and continue. Try to be curious of all the time and keep your healthy work-life balance :).
Thanks for reading