Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

_/x^2 = x^3/3 + c
Какую единственную самую эффективную вещь вы сделали для того, чтобы поднять свой уровень программиста?
Оглядываясь на свою карьеру я могу назвать множество различных вещей, которые помогли мне улучшить свои программерские навыки — чтение кода, написание кода, чтение книг, подкасты, скринкасты и многое другое.
Собственно, вопрос: что оказало на вас наибольшее влияние, помогло сильнее всего развить свои умения? Что бы вы могли посоветовать тем. кто хочет развиваться?
* изучение фреймворков и языков, изучение того, как они устроены и сравнение это с моим имеющимся опытом
* чтение о шаблонах (паттернах), лучших практиках (best practices) и просмотр того, что я делал ранее в поисках где бы я мог применить изученное
* парное программирование
* работа с более опытными и умными людьми, чем я
* умение прислушиваться к чужому мнению, независимо от статуса говорящего
* споры с Джоэлом ;)
* чтение кода, написаного другими людьми
* документирование этого кода
Писать код довольно просто, я знаю кучу людей, которые умеют это делать. Но умение разбираться в чужом коде, во всех его тонкостях, много мне дало.
Ещё на заре своей карьеры я был экспертом лишь по одному языку и одной базе данных. Увы, эта БД проиграла «войну баз данных» и оказалось, что со своими знаниями я весьма ограничен в поиске хорошей работы. После этого я решил не загонять себя в рамки конкретных языков и технологий, начав изучать всё, что попадалось мне под руку: Windows, Unix, C, C++, Java, C#, Perl, Python, Access, SQL Server, Oracle, Informix, MySQL и т.д.
С тех пор, какая бы новая технология или инструмент нам не встретились, я стал первым к кому обращаются с этим: «Спросите Крэйга, если он не ещё не знает этого, он сможет это выучить». Таким образом мне довелось поработать над множеством интересных проектов, начиная от встраиваемых систем для телеметрии и заканчивая системами управления противоракетной обороны.
Важно замечание: среднее «время жизни» знаний в IT очень мало. Половина из того, что вы знаете сейчас, устареет через полтора-два года. Поэтому эксперт, специализирующийся лишь на одной дисциплине может однажды потерять работу, в то время как специалист широкого профиля должен будет лишь прокачать некоторые навыки и после этого он сможет взяться за новую работу.
Интересные вопросы о программировании