I used to be a guy who thought that if I had a perfect environment around me, I would rock-n-roll. Perfect height of the table, ergonomic keyboard, perfect text editor, compiler, some productivity tools, figure out the perfect way to write the software; all these programming patterns, methodology, productivity, perfect font, perfect color schema, perfect height of the chair, temperature in the room, music for focus. And then you have got everything you realized your head is empty and you don’t know what to do. Over years I learned it is all procrastination, you need only one thing to be productive: iron ass. You just sit and write the code, no matter what.