https://medium.com/@thetechtribe/10-things-every-programmers-and-software-developer-should-know-6f4b55fad258