4

Три стадии программиста

Андрей Трусов
20 июня 2008 года

Мне программированию приходится учиться и учить, поэтому приведу очень зацепившую меня фразу (авторство фразы не мое).

Программист проходит три стадии:

  1. не умеет
  2. умеет
  3. умеет не 

Жутко гениальная фраза. Потому что, если ты что-то научился делать, то это еще не значит, что ты достиг верха умений. Тебе еще только предстоит научится НЕ делать =)

Тут можно привести пример школьников/студентов, которые узнав про новую технологию, начинают думать что-то в духе: «Круто! Вот как надо делать!», а на самом деле они неявно предполагают следующее: «Если я использую новую технологию, то мои программы автоматически станут круче». И начинают, начитавшись Александреску, — писать универсальные шаблоны на c++; узнав про boost, — срочно переписывать все свои тетрисы; услышав про CMS, — писать свою СMS; услышав про Hibernate, — вставлять его в свой проект, который хранит в базе данных только таблицу рекордов; почитав Саттера, — переписыват лабораторные в thread safe стиле и т. п.

Но простите, если вы что-то можете сделать проще, почему бы не сделать проще? Лучший код — это код который не написан. Когда стоит выбор между «подключить крутую библиотеку и одним вызовом делать кучу работы» и «подумать и найти, как не делать кучу работы», я выберу второе. Когда стоит выбор «сделать универсальную систему, которая может ВСЕ» и «сделать только то, что действительно нужно (и не писать универсальной системы)» я выберу второе.

p.s. Я попозже еще напишу отдельный пост про ту же тему — расскажу о докладе «Дзен», который прочитал на КРИ-2008 Андрей Плахов.

Метки:

4 комментария к записи «Три стадии программиста»

  1. my-name-is-Max,

    М-да, фразочка действительно гениальная. ;-)

  2. Ксения,

    с каких пор глаголы с частицей «не» стали писать слитно?

  3. nataly,

    [b]@ Ксения[/b]:

    Исправлено.

  4. Reader,

    Тема интересная, хотелось бы продолжения :) …

Оставить комментарий