Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Новости Школы Программирования - 7 советов для профессионального роста программиста


Bill Gates and Paul Allen

1. Регулярная практика программирования

Постоянно программируйте, если вы действительно хотите стать профессионалом, мастером своего дела. Вы будете писать ужасные программы, но, когда вы поймете, что они ужасны, то поднимитесь на новую ступень. Вы начнете писать по-другому, сделав выводы и переосмыслив ошибки. Вам будет казаться, что теперь ваш код вполне хорош. Но потом снова возникнет понимание того, что он далек от совершенства, что разработанная архитектура громоздка и неповоротлива. И вы снова поднимитесь на новую ступень. О типичных ошибках можно и нужно читать книги, статьи в Интернете, но без реальной практики программирования, без проб и ошибок ценность этой информации будет нулевая.

2. Культура программирования

Относитесь к коду разрабатываемой программы, как к лицу своей работы. Выработайте правила оформления текста и постоянно придерживайтесь их. Не загромождайте текст ненужными функциями, закомментированными блоками старого кода и прочим мусором. Старайтесь постоянно улучшать качество кода, стремиться сделать его как можно более понятным, лаконичным и концептуальным.

3. Храбрость

Если вам кажется, что от кода "дурно пахнет", и вы знаете, как его улучшить - немедленно удалите этот код и напишите заново. Да, да - именно удалите. Не надо комментировать старое ненужное барахло, думая, что оно еще когда-нибудь пригодится. Просто возьмите, удалите и напишите с чистого листа новый качественный код.

4. Вера в свои силы

Иногда возникает настолько сложная проблема, что руки опускаются. Просто непонятно, что дальше делать. Не паникуйте, а порадуйтесь возможности решить сложную задачу, обогатив свой опыт. Посмотрите на ситуацию аналитически. Создайте прототип проблемы и постепенно приближайте его к самой проблеме. Например, недавно мы с коллегой мучились, пытаясь скомпилировать огромную старую систему, использующую кучу сторонних компонент на древнем компиляторе (вот такая уж задача). В итоге возникала ошибка линковщика, которая не говорила ни о чем. Мы создали новый пустой проект и постепенно стали добавлять туда модули злосчастной программы. Так мы смогли локализовать ошибку. Ну а когда знаешь, в чем именно проблема - решить ее значительно проще! Верьте в свои силы. Человек умнее машины! :)

5. Быть в авангарде

ИТ развиваются быстро и замедляться не планируют. Можно писать замечательные консольные программы на Паскале, но только вряд ли они найдут благодарных пользователей. Все потому, что средства разработки совершенствуются постоянно. Та область, в которой сегодня вы пионер, завтра будет использоваться повсеместно. То, что сегодня используется миллионами, завтра станет вчерашним днем, "legacy", "deprecated". Нужно постоянно держать руку на пульсе, чтобы в один прекрасный день не оказаться за бортом парохода современности. На самом деле следить за технологиями не так уж и сложно. В ИТ, как и везде, все новое – это хорошо забытое старое. Нельзя сказать, что за последние годы в программировании появилось нечто принципиально новое, кардинально отличающееся от всего известного ранее. Все, что человек придумывает, основывается на его предыдущем опыте. Секрет в том, что помимо чьих-то там технологий есть ваш личный опыт, собственная база знаний и технический склад ума, которые от Вас никуда не денутся. И если Вы обладаете этим бесценным багажом, то оставаться в авангарде информационных технологий оказывается вовсе и не сложно.

6. Английский язык

Без этого никуда. Пока все новое в сфере как программирования, так и ИТ в целом идет к нам с Запада. Самая лучшая документация, самые полезные форумы, самые интересные блоги всегда были и будут на английском языке. В ИТ индустрии английский давным-давно завоевал полное господство и перемен не предвидится. Техническую документацию придется читать любому программисту. Впрочем, нет никакой необходимости доводить свой английский до Upper Intermediate. Достаточно знать столько, сколько необходимо для работы. Программист обязан уметь читать по-английски. Говорить и писать не так критично, хотя и крайне желательно, но читать обязан.

7. Книги must read

Есть литература, которая обязательно должна быть прочитана любым уважающим себя программистом. Причем читать их лучше не один раз, а время от времени возвращаться к некоторым главам или же перечитывать книгу целиком. Понимание многих вещей приходит только с опытом, которого на момент первого прочтения может не быть. Безусловно, прочтение такой литературы поднимает вас, как специалиста, на новую ступень. Хороших книг много, но эти просто жемчужина литературы:
  • "Искусство программирования", Дональд Э. Кнут
  • "Объектно-ориентированный анализ и проектирование", Гради Буч
  • "Совершенный код", Стив Макконел
  • "Мифический человеко-месяц", Хилл Чапел, Фредерик Брукс
  • "Приемы объктно-ориентированного проектирования. Паттерны проектирования", Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссилес

В избранное