https://medium.com/@its_prathamesh_k9/crafting-code-the-art-and-science-of-software-development-17fbf7651bbc