Чем отличается программист-инженер от программиста-слесаря?
Публичный пост
29 апреля 2020
1566
Какие задачи в программировании вы назвали бы инженерными? Какие относятся скорее к тому, чему легко можно обучить в ПТУ? Если вы знаете программистов-инженеров, что, на ваш взгляд, делает их таковыми? Где находится эта грань?
Мне с какого-то времени совершенно перестали нравиться такие аналогии, т.к. я пришёл к пониманию, что дисциплина разработки программного обеспечения сформировала свою рабочую культуру, где параллели с традиционными профессиями, будь то автомеханик или слесарь-сантехник или повар или даже проститутка уместны разве что в мемах.
Но отвечая на поставленный вопрос: программист-инженер, даже выполняя всё время слесарные задачи, способен решить инженерную задачу, когда она появится, используя инженерные подходы.
А программист-слесарь либо не распознает инженерную задачу вообще, либо будет пытаться решить её привычным слесарным способом — в рамках уже имеющегося инструментария и сложившихся подходов, что называетя «в лоб», без какого-либо цикла Дёминга.
Программист делает задачу, которая решает проблему. Проблему бизнеса, либо проблему отдельных людей неважно. Здесь нет какой-то грани особой. Мне нравится именно те люди, которые могут могуть проблемы, причем исходя из текущий условий. Что если надо быстро, значит сделаем быстро со всеми трейдофами. Главное чтобы задача была сделана максимально возможно качественно.
Но всегда будут заядлые гики, которые могут вам собрать компилятор нового языка за пару суток и могут по памяти нарисовать сложну логическу схему транзисторов. Реально ли они тру-инженеры или нет для меня как раз описывается моими критериями выше.
Инженер создает напильники, которыми слесарь (в моем кругу - бобер) пилит железяку.
Если задачи однотипные и решаются в основном методом скопировать-вставить-допинать, то доля слесаря возрастает. Если же вырабатывается обобщенный подход, или каждый раз нужно что-то поресёчить, пойти на какие-то компромиссы, то тут уже больше инженерного
Откуда это самоуничижение? Мол, пока мы тут круды пилим, в Гугле оооо что творят (лол)?
По факту инженер это человек, который внедряет достижения науки в жизнь. «Те самые» компьютер саентисты защищают диссертации по «унифицированному взаимодействию клиентов и серверов посредством передачи состояния» а инженер берет и херачит рест эндпойнты. Чтобы конвертировать хотелки заказчика в очередную энтерпрайз-систему. Или думает, как очередную железку заставить лампочками мигать в правильном порядке.
Ради эксперимента можно попросить спесивых «да я на сях драйверы ваяю»-господ поработать в энтерпрайзе с его постоянным дурдомом, спеси быстро поубавится =)
Если уж хочется проводить аналогии то слесари это те, кто раньше перфокарты набивал. Нету их больше.
Упрощая, я предлагаю отличать инженера от слесаря наличием ответственности и персональных гарантий. Другие грани кажутся более сложными.
В такой модели, задачи являются объектами деятельности и не могут определять "инженерность", а навыки — это инcтрументы для решения этих задач.
Наша маленькая редакция требует выделить программистов-электрослесарей в отдельную автономную группку!!!