Understandable. My comment was already getting to long, and I didn't have space to explain every detail.
BTW, if you feel members on your development team aren't capable of self-managing, this book is really good to help you develop those skills: http://www.amazon.com/Clean-Coder-Conduct-Professional-Progr...
Self-management is something every programmer should have in their skill-set.
TDD helps you break down tasks and, when you lose focus, you can regain it by re-running your test suite and seeing which test fails.
Pair programming help you because:
- They'll tend to have closer to a 10-6 schedule rather than encouraging you to stay up late.
- When talking through the problem with a colleague, you break the task down more easily and get through whatever mental block you have.
- You can't get distracted when someone else is right there.
It may be harder to find a company that does this because many folks think that they can move faster if they build something the "quick and dirty" way. "Quick and dirty" doesn't exist for you. "Quick and dirty" means that the project either fails outright or is one that you start procrastinating on until you get fired.
Take a look at the book The Clean Coder (http://www.amazon.com/The-Clean-Coder-Professional-Programme...). It talks about procrastination and how to overcome it.
For a practical introduction to TDD, I'm a fan of Test-Driven Web Development with Python. It is Free. http://chimera.labs.oreilly.com/books/1234000000754
There's a good book about how to prevent managers from walking all over you: http://www.amazon.com/The-Clean-Coder-Professional-Programme...
The opening chapters describe programmers in crunch time, and compare them with the lawyers at the same company who leave promptly on time. The rest of the book discusses how to achieve that for yourself.
- behind any given reason, there is a complex network of real reasons. You don't need to second-guess any decision/order/suggestion, but it helps understanding.
- most user stories / user requests are raw diamonds waiting to be polished. ("What do they really want me to solve")
Essential reading list:
- Clean Coder and Clean Code https://www.amazon.com/Clean-Code-Handbook-Software-Craftsma... https://www.amazon.com/Clean-Coder-Conduct-Professional-Prog...
- Test Driven Development by Kent Beck https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/...