https://timurbakibayev.medium.com/3-tools-every-junior-needs-to-become-a-senior-developer-f8afea89ecfe