3 April 2010

О профессиональном росте программиста

Lumber room
Решил поделиться своими наблюдениями по теме профессионального роста, о вопросе который волнует многих разработчиков. Я слышу вокруг: «У меня застой, хочу развиваться дальше, а у меня нет (не дают) такой возможности. На этом проекте я не могу совершенствоваться. Я деградирую не работая с новыми технологиями». Давайте рассмотрим путь, который проходит разработчик с момента начала своей карьеры.


1. Hello World период

Разработчик понимает, что такое компьютерная программа, знакомится с понятием языка программирования, библиотеками. Начинает что-то разрабатывать самостоятельно.

2. Период осознания

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

3. Период зрелости

Разработчик уже имеет представление о том как разрабатываются программные системы, хорошо ориентируется в своей области, тестирует, рефакторит, использует продвинутые (читай простые) подходы в разработке.

4. Период поиска (не знаю как назвать)

Двигаясь от периода 1 к периоду 3 на разработчика находили моменты прозрения, он понимал что новые знания открываю для него совершенно новые горизонты. И вот он ищет шаг N4. Технологию, методику или ориентир куда двигаться дальше. Изучая все новые и новые шаблоны он осознает, что полезность получаемых (усваиваемых) знаних уменьшается. Сложно найти что-то такое, что кардинально изменит его профессиональный уровень. И вот он мечтает встретить разработчиков 4го уровня, набраться у них опыта. И когда он находит «продвинутых» программистов, с разочарованием понимает, что у них всего лишь продвинутый уровень 3, возможно 3.255 но никак не 4.

Так существует ли вообще этот четвертый уровень? Возможно, кто-то гениальный придумает подход, который в корне поменяет наше представление о разработке ПО, позволит сделать шаг, такой же значительный как при переходе между предыдущими уровнями. Куда расти дальше?

Думаю не нужно искать 4 уровень в технологиях или методологиях. В конце концов технологии ничего не решают. Четвертый уровень нужно искать в подходах к UI дизайну, взаимодействиях с пользователями, в “качественном” решении ваших ежедневных задач.

В гонке за новыми знаниями, технологическими знаниями, нужно уметь вовремя остановиться и понять, что ты уже имеешь достаточно технических знаний для реализации поставленных задач. И еще одна новая технология не перенесет тебя на новый уровень. Куда более важно научиться шире смотреть на решение ежедневных задач, с точки знания конечных пользователей, заказчиков, инвесторов. Четвертый уровень находится на стыке между разработкой и задачей. Чтобы на него перейти нужно стать «меньше» разработчиком. Убить в себе «только программиста».
Tags:профессионализмпрофессиональный рост
Hubs: Lumber room
-5
206 6
Comments 8