Кодировщик или разработчик?

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

Вот характерный пример дискуссии :

- Интересует следующий вопрос - может ли человек, которая не является программистом быть IT менеджером, т.е. фактически руководить программистами?
- Из программистов обычно получаются не очень хорошие менеджеры. И чем лучше программист, тем хуже будет менеджер.
- А вот, кстати, что думает по этому поводу товарищ Джоэл:

Смотреть, как непрограммист пытается управлять софтверной компанией — всё равно что наблюдать за новичком-серфингистом.
«Всё отлично! У меня на берегу отличные помощники, которые подсказывают мне, что нужно делать!» — говорит он и снова падает в воду. Типичное поведение администратора, считающего управление универсальной функцией.

Есть у меня серьезные подозрения, что коллеги на форуме под словом “программист” подразумевают инженера умеющего (пишущего) код и не делающего (не знающего) ничего, кроме написания кода. И именно поэтому коллеги с форума говорят, что человек, разбирающийся в системном и бизнес анализе, в архитектуре и верификации качества ПО на посту менеджера будет смотреться лучше кодера. Джоэл Спольски же явно под термином разработчик  имеет в виду в том числе и Гейтса. Который на описываемый момент имел отличные навыки системного и бизнес анализа, построения архитектуры ПО. И вполне возможно, что к этому моменту Гейтс не писал код уже многие годы.
Попытка увеличения производительности за счет узкой специализации сыграла с нами злую шутку. Но вопрос не в этом. Вопрос в том, что понимать под термином разработчик и что понимать под термином программист. Чем дальше, тем больше инженеры, именующие себя «разработчик/программист» отказываются от проектирования и создания GUI. От верификации и  анализа во всех его проявлениях отказ произошел еще раньше. Происходит постепенное выделение работ, связанных с разработкой БД в отдельную специальность. Но окончательно  добило меня известие о том, что ныне (в одной из фирм) инженеры, называющие себя «архитекторы» отказываются от разработки, верификации и описания API, отдавая это инженерам, именуемым «Системные аналитики». Себе “архитекторы” оставляют выбор языка реализации и написание кода. Как по мне, так это не совсем архитекторы. И не совсем разработчики. И даже не совсем программисты. А, скорее, обычные кодеры. Хорошая профессия. Без обид.

Но это вопрос терминологии. Коллеги, давайте для определенности возьмем какой либо вид программного продукта, определим основные  виды деятельности, а затем дадим определение, чем отличаются программист и разработчик от кодировщика.  И есть ли такое отличие.

Пусть некая фирма занимается разработкой вебпортала. Основные виды работ:
aeoeaiinoe.png

Мое предположение:
1)    Те, кто занимаются только написанием кода – “кодировщики”
2)    Те, кто занимаются всеми или большей частью работ в секторе, выделенном пунктирной линией – “программисты”. Какой же программист не может проверить требования или свой собственный код? Это не программист. Это кодер.
3)    Термин “разработчик”. Здесь, пожалуй, самое сложное. На мой взгляд, под этим термином следует понимать всех людей выполняющих какие либо виды работ по разработке портала. А их отличие от обычных узкоспециализированных специалистов вроде кодировщика, аналитика, верстальщика, копирайтера – то, что они выполняют несколько видов работ.

Один комментарий

  1. Vikta1 написал:

    Все, кто консультирует нас по программе, кто пишет ее, кто руководит, и технологи и программисты и администраторы для нас - “разработчики”, так исторически сложилось, а за статью - спасибо. Не смогла докопаться :) Понравилось

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

Вы должны войти, чтобы оставить свой комментарий.