×Закрыть

Разница между разработчиком и программистом

Несколько лет назад на вопрос «кем ты работаешь?» можно было многозначительно двинуть бровями и сказать: «компьютерщик». Этого было достаточно. Объяснять тонкие материи неподготовленным людям, которые в лучшем случае могли похвастаться строчкой в резюме «Уверенный пользователь ПК» было лишним, так как породило бы только ещё больше вопросов. Но времена меняются, грамотность повышается, и теперь, когда «уверенный пользователь ПК» стало атавизмом, за ним же последовало и некогда универсальное слово «компьютерщик».

У профессий программиста и разработчика много общего, да и в быту эти слова часто используют как синонимы, но разница, хоть и не всегда заметная, есть. Иначе почему вообще появились такие понятия как software developer, computer scientist и programmer?

Программирование

Сегодня нет четко прописанных правил, кого называть программистом, а кого — разработчиком. Поэтому нет иного выхода, как обратиться к истокам.

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

Первые компьютеры не представляли интереса для масс, поэтому основным локомотивом их развития были военные мужи, которые понимали, что быстрый счёт в итоге позволит побеждать в войне. Сложно представить себе, чтобы какой-нибудь одаренный фермер интереса ради задался целью и нашел средства на постройку у себя в сарае компьютера на 2500 ламп, который при этом был бы способен расшифровывать перехваченные немецкие радиосообщения, позволяя таким образом экономить на расшифровке сотни человекочасов. Зато легко можно представить, что подобным проектом озадачились британцы, выпустившие для этих целей в 1943-м году самый большой компьютер своего времени — «Колосс».

Если бы не нужда, которая стимулировала государство находить деньги на финансирование, — неизвестно, на сколько десятилетий позже мы получили бы в своё распоряжение компьютеры и интернет. Так что кто ещё не успел, может мысленно поблагодарить государства-агрессоры, которые в огне войн рождали и продолжают рождать новые технологии.

И даже переместившись в будущее на пару десятков лет, всё еще сложно представить себе какого-нибудь Билла Гейтса, который собрал бы у себя в гараже компьютер длиной в 17 и высотой более 2.5 метров, который бы состоял из 765 тысяч деталей, синхронизировался при помощи 15-метрового вала и приводился в движение электрическим двигателем мощностью в 5 лошадиных сил — как Марк-1, разработанный несколькими гарвардскими математиками по контракту с IBM в 1941-м году.

Слишком трудо- и мозгоёмким было это дело, поэтому исторически так сложилось, что кто компьютер строил, тот его и «танцевал». Компьютеров было мало — тех же «Колоссов» к концу войны работало всего 10 штук. Лишь через несколько лет начали появляться первые коммерческие модели — например, IBM 701 (в первый год продано 19 штук, или IBM 650 (в первый год продано уже 450 штук). Основными покупателями были научные лаборатории, авиакомпании, государственные институты.

И пусть даже с 1965 года американцы тысячами начинают выпускать PDP-8, который стоит «всего» 18 тысяч долларов — он имеет несовершенную архитектуру памяти, из-за чего немалое количество требовательных к ресурсам проектов на нём загнулось. Так что программировать в те времена было нелегко (привет железу) и совсем не так удобно и доступно, как сейчас. Людей, которые умели программировать, были единицы. Тех, кто мог на этом что-то заработать — ещё меньше. И всё это время за программистом вполне заслуженно держится слава «ботана», носителя одного свитера и завсегдатая библиотек. Экий вундеркинд не от мира сего, который занимается очень узкой областью, недоступной для масс.

Исторически так сложилось, что люди с мозгами, которые умели разговаривать с машинами на «ты», работали исключительно на военно-промышленный комплекс либо в науке. Отсюда истинный программист в историческом смысле этого слова — это человек, который пишет программы для оборонного/оружейного комплекса, для вычислительных мощностей в каких-нибудь КБ или научных институтах, программирующий роботов, ракеты для полёта в космос и так далее. Исключительно дела государственной значимости. Максимум инноваций. Денежный интерес либо отсутствует, либо занимает вторые места. Общественности не важно, сколько миллиардов долларов они отдали изобретателям за компьютеры и интернет, и точно также им не важно, сколько денег ушло на программу Аполлон. Зато теперь у каждого в кармане по компьютеру, а на Луне флаг и следы сапог. Никто не помнит богачей, зато все помнят инноваторов, потому что первые потребляют, тогда как вторые дают.

Разработка

Коммерческого программирования в чистом виде не существовало и не существует до сих пор — слово «программирование» здесь явно не к месту. Вот разработка — другое дело. То, что Microsoft, IBM, HP, Apple и другие компьютерные первопроходцы захватывали рынки и зарабатывали огромные деньги, не отменяло того факта, что в каждом новом продукте закладывался шаг вперёд. Они решали новые, нетривиальные задачи.

Был ли Торвальдс программистом? Разумеется. Ведь он написал ядро для Linux. При этом совершенно не важно, использовал ли он в процессе своей работы лучшие практики и методологии разработки (например, правильно ли называл переменные, оптимально ли использовал память, и так далее). Главное, что работает. Да и победителей не судят. Как не судят и Брендана Ейха — создателя JavaScript, хотя объективно есть за что.

Является ли гений и по совместительству начальник нулей и единиц, будучи даже умнее Торвальдса и Ейха, программистом, если он только и делает, что решает типовые задачи? Например, пишет интернет-магазины. Наводящий вопрос: человек, который служил в спецназе, но теперь работает охранником в магазине — это спецназовец или охранник? Многие охранники, дабы выглядеть лучше в своих же глазах, многозначительно потирая армейские татухи называют себя спецназовцами. Редко кто поставит рядом со своей профессией слово «бывший». Но лишь единицы признаются, что либо они потеряли квалификацию и поэтому работают в охране, либо они слишком круты для занимаемой должности, тем самым паля из пушки по воробьям.

Некоторые сегодняшние программисты как раз напоминают этого спецназовца, который явно не на своём месте и занимается исключительно зарабатыванием денег, спустив свой талант в трубу. Есть и другая, намного более многочисленная категория людей (99%), которые именуют себя программистами, на деле являясь разработчиками (в эту категорию также включены и быдлокодеры). Пишут и меняют свой или чужой код, общаются с заказчиком, клиентами, постоянно фиксят баги — потому что разработчик может позволить себе допускать их; работают не за идею, но за бабло: сегодня на одного дядю, завтра — на другого. Кто больше даст.

Как говорил один академик, — «Диссертация по философии должна заканчиваться революцией, иначе это не диссертация»; или, по-нашему, труд программиста должен заканчиваться технологическим прорывом. Иначе это не труд программиста.

И пусть не вводят в заблуждение записи в трудовой а-ля «инженер-программист первой категорииї». HR’ы сами не ведают, что творят, используя штампы исчезнувшей 25 лет назад страны. Достаточно лишь задать наводящий вопрос: «Над чем ты сейчас работаешь?». Потому что можно заниматься сколь угодно сложной разработкой с громоздкой и трудной для понимания архитектурой, напичканной массой зависимостей и мозгодробильных элементов, которая требует незаурядных умственных способностей. Но если это интернет-магазин, очередной высосанный из пальца «сервис», спам-робот или, упаси Иисусе, браузерная игра, и человек при этом в своё свободное время не занимается программированием, то дело пахнет разработкой. Как в словосочетании «разработка нефтяных месторождений».

Поэтому на вопрос «Кем работаешь?» более точным мог бы быть ответ «В душе — программист, но работаю разработчиком», «Я разработчик, но когда-нибудь стану программистом», или же: «Я разработчик, рублю капусту». Когда ситуация требует неточного и быстрого ответа, «программиста» можно понять, — все-таки разработчик в контексте ПО — слово относительно новое. Но и называть себя программистом, попивая сок на задворках аутсорса — себя обманывать.

69 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Спасибо. Мысли, полагаю, верные. Я за 10 лет работы сисадмином с пользователями уровня «а процессор — это та коробочка под столом с фонариками?» каких только эпитетов в свою сторону не слышал. Я был и программистом, и айтишником, и электронщиком, и сисадмином, и еще Б-г знает кем =) Соответственно и с проблемами, не касающимися работы ко мне обращались совершенно разнообразными — от переустановки винды до перепайки сломанного гнезда на мобильном. Таки да, «программист» в массовом сознании — понятие весьма расплывчатое!

Собственно, разница между программистом и разработчиком становится очевидна на первом же техническом интервью в Google, Amazon или Facebook. Внезапно приходит понимание, что на одном знании инструментария (фреймворков) и «спинномозговом программировании» (когда на вопрос почему написал именно так, а не иначе, отвечаешь «я так привык») далеко не уехать

Досить цікаво. Ось ще моїх 5 копійок щодо термінології IT спеціалістів :-) www.vitaliypodoba.com/...der-vs-software-engineer

Думаю, что тема сей статьи родилась из того «хейта» который полился на мою голову в статье Из барменов в программисты.
Думаю что мысль такова:
1 Есть люди-флагманы профессии. Они создают новые языки программирования, новые фреймворки, которые принимает на вооружение весь мир, новые коды и программы, которые потом используются действительно на благо общества. Это элита.
2. А есть те, кто это использует на благо себе для зарабатывания на этом денег. Те кто «лобает» код и косит бабло. Но при этом последние причисляют себя к первым (Элите), хотя на самом деле являются ремесленниками. Да, ремесленником тоже быть не просто и надо много учить и знать и делать. Но сути это не меняет. Это все равно умелый ремесленник (Senior).

А как вы назовете первую категорию людей, а как вторую — по сути не имеет значения.
Как-то так. :)

P.S. Себя я отношу ко вторым :)

Разница есть, программист тот который занимается кодингом, девелопер тот который занимается и кодингом тоже. Общество которое всегда хочет порождать универсальных солдат получает спецназохраника. Современный айтишный рынок аутсорсенговых и аутсафных стран создаёт многорукого Шиву. Но его может создать только Бог, а у человека всегда выходит только что то похожее. В любом случае нужно читать сноски. И вооружиться напильником пытаться найти то что было в основе, а там не «разработка» а програмирование. Все кто около програмиста — разработчики.

Напомнило споры в песочнице кто круче — Робокоп или Терминатор ?

class Developer extends Programmer {

Хм, кто важнее врач или доктор?

все наче набагато простіше. Розробник = Software developer. Програміст = Programmer. Якщо вже так хочеться зробити градацію, то краже було б в такому порядку:
1. Programmer
2. Software developer
3. Software engineer
Різниця в вікіпедії описана досить непогано

3 раза заходил сюда коменты посмотреть, на 4й раз решил что надо статью прочитать

Афтар, пиши еще !!

Кстати сколько стоит заказать у тебя небольшую техническую статью странички на 2-3 ?

Юра, почти всегда лучше меньше, да лучше. Это к тому, что ты лучше продумай о чем написать и как, чем просто потоком гони.
Прошлые твои статейки были достаточно злободневными и провокационными и читать их було интересно, а эта ни-о-чем.
Какая разница как барана называть, от этого бараном он быть не перестанет.

Разница между разработчиком и программистом

Масло масляное

По моему это все вода.

Программист создает код, разработчик создает продукт

разработчик создает продукт
а если 10 разработчиков создают 1 продукт, то каждый разработчик создает продукт?

))))))))))))))))))))))Топ 5 перлов (с комментариями): ))))))))))))))))))))))
5.

человек при этом в своё свободное время не занимается программированием, то дело пахнет разработкой
А если он в рабоче время не занимается, чем это пахнет?

4.

труд программиста должен заканчиваться технологическим прорывом. Иначе это не труд программиста
Ну, как прорвет...

3.

называть себя программистом, попивая сок на задворках аутсорса
Не грози южному мосту, попивая сок у себя в опенспейсе

2.

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

1.

Коммерческого программирования в чистом виде не существовало и не существует до сих пор
Ага. И секса, и коррупции...

Начал читать... перемотал к комментариям — а вдруг хоть тут ответ будет)

Разработчики:

Пишут и меняют свой или чужой код, общаются с заказчиком, клиентами, постоянно фиксят баги

Программист:
человек, который пишет программы для оборонного/оружейного комплекса, для вычислительных мощностей в каких-нибудь КБ или научных институтах, программирующий роботов, ракеты для полёта в космос и так далее

А мне когда в поликлинике при выдаче больничного спрашивают о профессии — я говорю «программист». Женщине под 60 за окошком больничного стола такой штамп куда привычнее и, уверен, через 20-30 лет новых специфических классов для непосвященных людей не появится.

Автор, не пиши больше статей! :-)

Как то я ехал по бла-бла-бла 3 часа со всякими личностями и зашел разговор о том, кто где работает. Один был из рекламы — круто умеет изобретать всякие рекламные фразы, другой какой то там сильный кинооператор будет — они в Карпенко-Карого целый год учили понимать только черно-белые снимки (по его словам это нереально сложно), в этом уже начали учить цветные, до киносъемки им еще вообще далеко. Меня спросили, что делаю, сказал так наотмашь мол программки пишу всякие. Все разочаровались, начали дальше перетирать свое. Потом прозревают через время. А, так ты аж из ИТ! ТыжПрограммист! И смотрят уже так, как будто меня не видели предыдущих два часа. Сделали из нас каких нелюдей прямо.

Теперь можно от копирайтинга переходить к диссертации!

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

Что касается слова «программист» — то оно не говорит мне вообще ни о чем кроме того что кто-то что-то программирует по роду деятельности. Т.е. задает последовательность действий некого устройства для чего-либо. Никакой элитарности оно в себе не несет.

ИМХО:

Если человек имеет чувство прекрасного, он воплотит это в любом продукте, будь то интернет-магазин, микроконтроллер или картина. Сам инструмент реализации играет роль второстепенную, важна его уместность и уровень владения.

П.С. Хотя да, ИТ уже воплотилось во что-то вроде шоубизнеса со своими субкультурами, попсовыми, альтернативными, артхаусными и пр.
Холивары тоже похожи.

Очень познавательно! Спасибо автору за очередную хорошую статью о пустом, порожнем и их взаимодействии!

а вы однофамильцы или братья? :-)

Несколько более авторитетные, нежели автор, люди (Эрик Синк), рассматривают разницу совсем по-другому. Программист это как раз чел, который просто программирует на своем фреймворке, особо не интересуясь ни задачами и целями продукта, ни его развёртыванием, ни поддержкой. А вот разработчик, по мнению Синка, это именно та универсальная единица, которая может запускать ракеты в Космос.
Может, это связано и с особенностью английского языка, где development это не только разработка, но и развитие.

Development это как-бы создание и не столь принципиально чего именно. Начал замечать слово «девелопер» на стендах возле новостроек, т.е. застройщик — девелопер.
Кроме того слово «Разработка» применима ко многим профессиям и повседневной жизни. На прошлой неделе помогал своей младшей сестре в разработке модели одежды.
А программист — тот, кто пишет код и создает программы.

Статья опять ни о чем.

Застройщики давно девелоперы.

Мені теж здається, якщо вже розділяти програміста та розробника в контексті цієї статті за їх діяльністю, то саме розробник — це творець чогось нового (хай він і не запускає ракети у космос), а програміст просто пише код.
В тому ж таки прикладі з інтернет-магазинами: що там розробляти? Все вже давно розроблено (принаймні те, що можна зустріти в середньому магазині), треба тільки закодити потрібний функціонал у конкретному магазині.

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

Следующая статья — «Что лучше на обед: первое или второе?»

Последующая — «С какого края лучше есть пиццу: с боку или плашмя лицом сверху ?». С выходом на шнобелевскую премию за диссертацию на данную тему.

Пришли к задаче о двух концах, которую можно решить/надкусить с конца. При этом переламывая, можно получить бесконечное множество концов на крошках. Вечная тема выходит. Съесть крошку со стола или упавшую на пол. Вот в чем вопрос оказывается. Ходить/сидеть прямо или прогнуться.

А также «Как же все-таки правильно: Июнь или Июль?»

Присоединяюсь к предыдущему комменту.
В языке (человеческом :) ) есть такое понятие как синонимы. 50 лет тому синонимами были слова «педик» и «педагог», потом первое слово возродилось в новом смысле. В US в 70-е началась дискуссия, как правильно говорить — негр или черный, за 10 лет оскорбительное и корректное слово поменялись местами, а со временем пришли к выводу, что правильно «афроамериканец», а все белые, шоп и им не обидно, соответственно стали «кавказцами».
Я начинал работать именно как «компьютерщик», потом стал программистом, потом — девелопером. ИМХО идет естественный процесс отмирания устаревших, неудобных, неблагозвучных, неполиткорректных названий. Думаю, после «компьютерщика» на очереди слово «программист», которое уже сегодня встречается в основном в реестре профессий. А лет через 20 возможно будем специалистами по работе с искусственным интеллектом :8)
P.S. Навеяло Райкина: «накропал статейку ’Генетика — продажная девка империализьма’» ... и де п себе такую работу найти :8)

Давайте теперь обсудим, в чем же разница между учителем и преподавателем.

Между лектором, спикером и докладчиком

Между автором статьи и графоманом ;)

Учитель — учит. Преподаватель — преподаёт материал. Когда-то обсуждал тему с преподавателем когда на пересдаче поставил поставил вопрос «какой учитель такие и ученики» очень продуктивная дискуссия вышла.

Я Software Engineer и не колышет.
Engineering, motherf@ucker!, че:-)
youtube.com/watch?v=nLFD3S1vliw

Каждый год даешь по нескольку статей о разнице между разработчиками и программистами! И, как обычно все такие статьи — ни о чем

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

Есть одна профессия — Software Engineer. А вот квалификация у этих Software Engineer разная.
Есть junior’ы, которых частенько назвывают формошлепами и говнокодерами. Которые просто еще не умеют писать нормальный код.
Есть middle’ы, которых зовут программистами, кодерами, да и разработчиками тоже. Они уже умеют писать код, поэтому часть времени они думают «какой же код все-таки писать».
Есть senior’ы, которые 80% времени думают, какой код писать и 20% времени его пишут. Вот они и занимаются проектированием по большей части.
В крупных конторах есть еще и TechLead и Software Architect, которые только проектированием и заняты.

Это все одна профессия — Software Engineer, просто чем опытнее «инженер», тем большое он похож на инженера-проектировщика или инженера-конструктора.

Прямо-таки Библию напомнило. Триединое начало, вот это все...

А чего не наоборот? :)

Вообще есть поиск решения, изобретение устройства, исследование и эксперементы . А есть производство — кодирование, упаковка, запуск и отладка.

Первым занимаются инженеры (они как раз разработчики), второе делают программисты (кодеры, алгоритмисты, DBA)

Вообще все эти терминологии ни о чем... Прогеры это уже давно просто слесари битов и байтов. Инженирия если и осталась то только у архитекторов.

Местами требуют и швеца, и жнеца, и на дуде игреца, полный full-stack чуть ли не до sales:)

Есть ремесло, а есть творчество.
А разговор программист/разработчик это как уборщица/менеджер по чистоте

Статья очень закрученная, а вот реально обоснованного и четкого вывода я не увидел.

Недавно на DOU? ;)

Ну если я правильно понял намёк-отсылку к автору данной статьи, то значит не недавно))

Ну вы и закрутили, выходит что разработчик — это писатель, а программист — стенографистка у разработчика. Но тогда программист-стенографист, это у же копирайтер/рерайтер, а не программист. Есть теоретики, есть практики, но от этого теоретики не называются разработчиками, а практики — программистами. Есть просто двуличие, в зависимости от задач и ситуаций решаемых специалистом, которое в народе и проявляется несколькими названиями — то так, то эдак обзывают. Да, возможно программист складывает кубики, а не разрабатывает их, но в большинстве случаев он их стругает и допиливает чтобсоеденить, а это у же творчество, а значит разработка (доработка).

Слушайте, Вы столько мыслей перевели в текст, а придумать термины, их описывающие, не захотели. Либо сознательно рассчитываете на больший резонанс.
Уже устоялось деление на «програмиста классов» и «разработчика приложений». И те НR, которые в жизни не слышали про «1-ю категорию», прекрасно понимают разницу.
Любой айтишник с ходу по названию вакансии programmer vs developer определит разницу в зарплате.
Это сегодняшние реалии. Так что прийдется Вам придумать для тру-программиста другое название )) Например: инженер-программист (если выпускников мехмата «инженер» не оскорбит, разумеется) ))

інженер-програміст — таке уже існує, Ви просто у дежустановах не бували))) і воно нічого спільного ні з інженерією, ні з програмуванням не має) це просто посада для людей, які чото там роблять на комп’ютері)))

Еще давнее существует. Имею такую запись в дипломе от 1997-го. Второй выпуск Запорожской Машинки по специальности — программное обеспечения вычислительной техники и автоматизированных систем. Краткое отличие от мехмата в том, что инженер-программист на них кормиться с вышки (для тренировки мозгов). Ну и из теперешнего мехмата набираем девушек на госслужбу под сопровождение/эксплуатацию ПО (проклацать по техкарте, что-то может придумать, сделать). Вот тут конечно аут на госслужбе в плане собственных разработок. Ну и не думаю, что инженер-программист просто так что-то делая/клацая на компе, а не включив мозги с еще советской базой подготовки, смог бы год продержаться сам и несколько областей с системой без разработчиков, декомпильнуть все, вытащить и восстановить исходные коды, собрать до кучи в проекты и раздать всем областям программы на закрытие года, как будь-то ничего и не приключалось в отношениях с разработчиками. Так что перегрызу горло, за неуважение к специальности «инженер-программист».

рядовые быдлокодеры и аутсорсеры в тонких материях не разбираются и поэтому каджый день ошибочно разрабатывают и юзают API а не ADI

По-моему, всё куда проще.
Программист пишет код. Его задача: запрограммировать что-либо на выполнение заданного алгоритма.
Разработчик занимается именно, что разработкой приложения. В его задачи, помимо простого описания алгоритма, входит разработка концепции, внутреннего устройства программной среды, поиск оптимальных подходов к решению тех или иных задач и т.д.
А тот, о ком пишет автор под лейблом «программист» — это уже изобретатель.

Зачастую это — один и тот же человек)

Всегда думал что разработка и программирование — синонимы, и после прочтения статьи я увидел только мысли автора по поводу разницы между этими терминами.

Странное сравнение и вывод. Всегда считал что разработчиком быть лучше потому что разработка программного обеспечения это не только программирование. Просто программирование в чистом виде скучно и не так интересно.

Профессиональный кухонный философ

И так, начнем игру угадай автора по заголовку статьи...

Подписаться на комментарии