Работа программиста на примере сварщика
(Навеяло постами и рассуждениями о работе "айтишников").
Хочу попробовать дать возможность людям, не имеющим отношения к программированию и IT, побывать в шкуре программиста и прочувствовать что это такое.
Аналогию приведу на примере работы сварщика.
Итак, представьте, Вы - сварщик какого-то там разряда, а если нет, то приблизительно представляете себе его работу. От заказчика к вам поступает средней сложности проект - сварить "с нуля" дизельный двигатель внутреннего сгорания. Естественно, чтобы он работал, и на нём можно было ездить.
Чаще всего, требования заказчика будут весьма обобщёнными и абстрактными. Типа - расход топлива такой-то, крутящий момент и мощность такие-то, V6, желательно, чтобы ещё и керосин можно было заливать, и чтобы можно было установить на мотоцикл.
Т.е. никаких Вам чертежей, спецификации деталей. Всё это Вы должны придумать сами. Всю конструкцию (или, как говорят в IT - архитектуру проекта) очень часто Вы должны разработать самостоятельно. Если контора, где Вы работаете крупная и специализируется на сварке, то, возможно, там будут "бизнес-аналитики" и архитекторы, которые множество проектной работы возьмут на себя. Но часто, придётся всё это делать самому. Если на "проекте" несколько сварщиков, то один варит ГБЦ, второй - ШПГ, третий - навесное и т.д.
Из имеющихся средств у Вас - сварочные аппараты, "болгарка" и тиски. А также куча металлических болванок и заготовок в виде труб разного диаметра, листов, уголков, пластин. Причём из разных материалов - стали, алюминия, меди, латуни. И разной толщины - от фольги до 2 см. Никаких токарных станков. Вы же не токарь, а сварщик. Не забыли?
Конструкцию Вы спроектировали. Нарезали детали с помощью УШМ и начали варить (для простоты представим, что режете и варите идеально точно). Причём, приваривать надо будет чугунную гильзу к алюминиевому блоку, медную трубку, к закалённой стали. И вообще, Ваша фантазия ничем не ограничена. Хотите - сваривайте шейки коленвала из разных кусков трубок, а хотите, выжигайте цельный коленвал электродом из цельного стального бруска. При этом, нужно продумать ещё последовательность сварки, т.к. придётся электродом в узком пространстве варить сталь, и не испортить медную трубку, которая находится в одном сантиметре от места сварки. А ещё шлаком и брызгами металла не засрать отверстия под масляные каналы, которые Вы прожгли недавно.
Если повезёт, то можно будет взять готовые топливный насос и распредвал, которые до Вас где-то сварил другой сварщик, и отдаёт Вам бесплатно.
После того, как закончите, нужно будет запустить и проверить работу Вашего двигателя. Естественно, Вы наделаете кучу косяков, большинство из которых заметите и исправите сразу при первом запуске. Например, плохо приварили, не тот угол рассчитали, не верно отрегулировали обогащение топливной смеси. Но есть такие Ваши недоработки, которые невозможно заметить и проверить в Вашем ангаре. Например, двигатель глохнет под определённой нагрузкой при достижении определённой температуры и только в условиях крайнего севера. Или, двигатель входит в ненормальный режим работы после 3-х кратной перегазовки. А проверить Вам эту 3-х кратную перегазовку просто в голову не пришло. И нашёлся какой-то один водила, который так делает. Это у программистов называется "баги" и "глюки", которые Вы потом будете искать и думать, где Вы что не так сварили. Будете вырезать какую-то часть двигателя болгаркой и переваривать заново.
Как закончили, то добро пожаловать на следующий проект - турбодвигатель для вертолёта, со сроком сдачи - "вчера". Возможно, будет легче, т.к. будете использовать свои наработки от прошлого проекта.
Примерно так и работают программисты. Только вместо сварочника у них клавиатура. А вместо двигателя, к примеру, этот сайт или приложение "ЯндексМаркет".