Восемь уровней программистов

Автор Jeff Atwood
www.codinghorror.com/blog
Оригинальная статья: The Eight Levels of Programmers  


Вам когда-нибудь задавали на интервью вопрос: "Кем Вы себя видите в ближайщие пять лет?" Когда меня спрашивают, я всегда вспоминаю клип Twisted Sister 1984 года.
                 

Я хочу, чтобы вы рассказали мне. 
Нет, лучше встаньте, и расскажите классу 

 Чего вы хотите добиться в своей жизни?

Конечно же, вы хотите играть рок! Или, по крайней мере, стать программистом рок-звездой. Это не тот вопрос, на который обычно дают серьезный ответ -- вроде другого старого, вызывающего стон, вопроса: "Ваша самая большая слабость?" Она в том, что вы иногда играете слишком жесткий рок, не так ли? Невинные слушатели могут пострадать.

Я думаю, что это очень серьезный вопрос, который заслуживает внимания.

"Кем Вы себя видите в ближайшие пять лет" - вопрос вроде несерьезный, и у большинства людей есть стандартный ответ для интервьюера. Но он затрагивает более глобальную тему: каков карьерный путь разработчика программного обеспечения? Конечно, мы занимаемся этим, потому что любим это, и нам очень повезло в этом отношении. Но будете ли вы сидеть перед компьютером программируя, когда Вам исполнится 50? А когда 60? Каков наилучший результат карьеры у программиста, стремящегося стать ... программистом?

А что, если я сообщу вам, что существует восемь уровней развития программистов?



8. Мертвый программист
Это самый высокий уровень. Ваш код сохранится и переживет вашу смерть. Вы неотъемлемая часть вычислительной истории. Другие программисты изучают ваши работы и труды. Возможно, вы получили премию Тьюринга, или написали влиятельные труды, или изобрели одну или несколько фундаментальных технологий, которые повлияли на курс программирования. Есть не просто запись в wikipedia, существуют отдельные сайты, посвященные изучению вашей жизни и трудам.

Очень немногие программисты достигают этого уровня при жизни.

Примеры: Дейкстра, Кнут, Кей

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

Это уровень, к которому должно стремиться большинство программистов. Достижение этого уровня часто зависит больше от бизнес-навыков человека, чем от программирования.

Примеры: Гейтс, Гармак, DHH

6. Знаменитый программист
Также неплохое место, но до тех пор, пока у вас есть ежедневная работа.

Вы известны среди программистов. Но быть известным не означает получение прибыли и возможность обеспечивать себя. Быть известным хорошо, но успешным лучше. Вы, возможно, работаете на крупную, хорошо известную технологичную компанию, или на маленькую влиятельную компанию, или вы часть команды скромного стартапа. Так или иначе, другие программисты слышали о вас, и вы имеете позитивное влияние в отрасли.

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

Но куда вы двинетесь дальше?

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

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

Не придирайтесь к результатам самоанализа.  Это лучше чем вы думаете. Нет ничего плохого в недостатке таланта. Будьте смелее. Поймите, в чем вы хороши, и займитесь этим. Смелее.

3. Программист любитель
Программисту любителю нравится кодировать, это означает: они могут быть многообещающими студентами и стажерами, или вносить вклад в opensource проекты, или разрабатывать интересные приложения и вебсайты в свободное время "просто для удовольствия". Их код и идеи вызывают надежду и энтузиазм.

Быть любителем хорошо, с этого уровня можно быстро подняться до уровня работающего программиста.

2. Неизвестный программист
Обычный типичный программист. Джо Кодер. Компетентный (обычно), но не замечательный. Скорее всего, работает на большую безымянную МегаКорпорацию. Это просто работа, а не его жизнь. В этом нет ничего плохого.

1. Плохой программист
Люди, которые, так или иначе, оказались в шкуре программиста, без грамма опыта или способностей. Все, к чему они прикасаются, превращается в боль и страдания коллег программистов, кроме, возможно, других плохих программистов, у которых нет даже элементарных навыков, чтобы узнать о том, что они работают с другим плохим программистом.
Это является отличительной чертой всех плохих программистов. Этим людям нет интереса к написанию кода любого рода, но они занимаются этим.

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

Короче говоря, чего вы хотите добиться в своей жизни?

1 комментарий:

  1. Дизайн туфта! Информацию невозможно воспринимать(я имею ввиду что читать на таком фоне просто ужас)!

    ОтветитьУдалить