The Science & the Art of Programming Your Dreams