https://blog.devgenius.io/7-rules-every-software-developer-should-follow-to-deliver-the-best-result-1c7d0fe8be03