Во­ди­тель или ме­ха­ник?

Перевод «Driver or mechanic?»

Перевод Вадим Макеев

Редактура Ольга Алексашенко

Спор «инструменты против знаний» обычно идёт примерно так:

Случайный разработчик: Не нужно знать CSS. Или даже базовый JavaScript. Ну то есть, наши классные инструменты обо всём позаботятся, так ведь?

Я: Если ты разработчик, ты должен знать что-нибудь про CSS и JavaScript. Что, если твой инструмент не решает твою задачу? Что, если он ужасен с точки зрения производительности?

Случайный разработчик: Глупости. С моими надёжными инструментами я гораздо более продуктивен.

Я: Но ведь иметь какие-то базовые знания — это часть того, чтобы быть профессиональным веб-разработчиком.

Случайный разработчик: Ну вот если ты едешь на машине, ты не должен знать, как она работает, так? Ты просто рулишь.

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

Я считаю, мы не водители машины под названием «Всемирный веб», а скорее механики. И механики совершенно точно должны знать что-нибудь об устройстве, которое они создают и обслуживают, так ведь?

На самом деле, чем больше я думаю об этом, тем больше я вижу в этом фундаментальный вопрос.

Кем бы вы предпочли быть: водителем машины или механиком?

Я уверен, что такая постановка вопроса вызовет у некоторых интерес. Всё же лучше не заходить слишком далеко в таких аналогиях. Вместо того чтобы прояснить, они могут с легкостью запутать.

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

Такая дискуссия может легко деградировать в крикливый спор о значении аналогии, когда все уже забыли о вопросе «знания против инструментов», который аналогия должна была прояснить.

За последние двадцать лет я заметил ещё кое-что: люди прибегают к обыденным сравнениям, только если у них кончаются реальные аргументы или если они не до конца понимают всю суть проблемы. Поэтому они создают образ чего-то, с чем все готовы согласиться, и делают вид, что это ставит точку в дискуссии.

Вопрос о том, действительно ли достаточно инструментов для создания сайтов, или лежащие в основе технологии также необходимы, не решается обыденным сравнением про машины. Только реальные аргументы про инструменты и знания смогут ответить на него.

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

Как разработчик, вы бы предпочли быть водителем машины или механиком?