Разница между разработчиком и программистом
Несколько лет назад на вопрос «кем ты работаешь?» можно было многозначительно двинуть бровями и сказать: «компьютерщик». Этого было достаточно. Объяснять тонкие материи неподготовленным людям, которые в лучшем случае могли похвастаться строчкой в резюме «Уверенный пользователь ПК» было лишним, так как породило бы только ещё больше вопросов. Но времена меняются, грамотность повышается, и теперь, когда «уверенный пользователь ПК» стало атавизмом, за ним же последовало и некогда универсальное слово «компьютерщик».
У профессий программиста и разработчика много общего, да и в быту эти слова часто используют как синонимы, но разница, хоть и не всегда заметная, есть. Иначе почему вообще появились такие понятия как 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 лет назад страны. Достаточно лишь задать наводящий вопрос: «Над чем ты сейчас работаешь?». Потому что можно заниматься сколь угодно сложной разработкой с громоздкой и трудной для понимания архитектурой, напичканной массой зависимостей и мозгодробильных элементов, которая требует незаурядных умственных способностей. Но если это интернет-магазин, очередной высосанный из пальца «сервис», спам-робот или, упаси Иисусе, браузерная игра, и человек при этом в своё свободное время не занимается программированием, то дело пахнет разработкой. Как в словосочетании «разработка нефтяных месторождений».
Поэтому на вопрос «Кем работаешь?» более точным мог бы быть ответ «В душе — программист, но работаю разработчиком», «Я разработчик, но когда-нибудь стану программистом», или же: «Я разработчик, рублю капусту». Когда ситуация требует неточного и быстрого ответа, «программиста» можно понять, — все-таки разработчик в контексте ПО — слово относительно новое. Но и называть себя программистом, попивая сок на задворках аутсорса — себя обманывать.
Источник: dou.ua
Технологии
Просмотров: 1744