Да, понимание внутренних особенностей Windows помогло мне стать лучшим программистом. Это также научило быть плохим практикам, плохим идеям и плохим концепциям дизайна.
Я настоятельно рекомендую изучить внутреннюю среду OS X или Linux в качестве альтернативы. Это займет меньше времени, больше смысла и будет гораздо более продуктивным.
Прочитайте код. Читать много кода. Прочитайте много хорошего кода. jQuery, Django, исходный код среды AIR, ядро Linux, компиляторы.
Попробуйте изучать языки программирования, которые знакомят вас с новыми подходами, такими как Lisp, Ruby, Python или Javascript. ООП - это хорошо, но .net и Java, похоже, используют подход «промывания мозгов» и поднимают его до какого-то религиозного уровня, а не просто как хороший инструмент в вашем наборе инструментов.
Если вы не понимаете код, который вы читаете, это, вероятно, означает, что вы на правильном пути и изучаете новые методы.
Я бы посоветовал приобрести Mac просто потому, что вы захотите сделать свой интерфейс проще и проще. Очень важно иметь хорошую среду, если вы хотите стать великим программистом. Окружите себя инженерами лучше, чем вы сами (если можете), работайте с фреймворками и языками, которые используют подход «инженер» вместо подхода «экспериментатор», и ... используйте операционную систему, которая содержит код лучше, чем ваш.
Я бы также порекомендовал книгу " Кодеры на работе ".