Обновить
0
@muckread⁠-⁠only

Пользователь

Отправить сообщение

Как убедиться, что перед вами инженер

Время на прочтение4 мин
Охват и читатели23K
Нынче инженером быть так модно, что к их числу себя причисляет кто попало. Слово «инженер» почти потеряло конкретный смысл. Если вы знаете кого-то, кто, по-вашему, инженером лишь притворяется — покажите им этот тест, чтобы вывести их на чистую воду.

Тест на инженера


Вы входите в комнату, и видите, что картина висит неровно. Вы…
  1. поправляете картину;
  2. спокойно проходите мимо;
  3. покупаете САПР и проводите следующие полгода за разработкой самовыравнивающейся картинной рамки, питающейся солнечной энергией. Всё это время вы проклинаете того придурка, который догадался вешать картины на обычные гвозди. Только индус мог бы удовлетвориться таким костылём!

Настоящий инженер не выберет ни один из этих вариантов. Он впишет на полях теста «правильное решение в каждом конкретном случае будет зависеть от обстоятельств, не приведённых в условии» (см. ниже про риск), а вслух он при этом пробурчит: «и кому только пришло в голову, что картинам обязательно висеть прямо? этим чудикам из отдела маркетинга?» (см. ниже про эстетику).
Читать дальше →

Умение видеть абстракции

Время на прочтение9 мин
Охват и читатели86K


Моему сыну, как и многим мальчишкам, нравятся автомобили. Причём чем они больше и необычнее — тем больше нравятся. Когда мы идём по улице, а мимо проезжает эвакуатор или снегоуборочная машина, он неизменно дёргает меня за руку, указывает на заинтересовавший его объект и говорит: «Папа, б-р-р!». Говорит он так потому, что ему один год и вышеуказанные два слова составляют 40% его словарного запаса. Тем ни менее, в общем мысль понятна — обратить внимание на автомобиль. Давайте подумаем, каким образом ребёнок в возрасте 8-10 лет сказал бы своему сверстнику то же самое. Что-то вроде «Ух ты, смотри какая крутая тачка!», да? Мысль та же, но обратите внимание — уже шесть слов вместо двух. И, наконец, представьте, каким образом то же самое скажет человек лет в тридцать: «Эй, смотри, да это же Ferrari California 2008-го года выпуска с двигателем V8 мощностью в 454 лошадиных силы и 7-ми скоростной коробкой-автоматом! Она до сотни разгоняется за 3.9 секунды!». Да, здесь уже больше деталей, но, если вы не автомеханик или фанат Ferrari — они вам скорее всего не нужны и не важны. Основная же мысль — всё та же, что и в «Ух ты, смотри какая крутая тачка!» или «Папа, б-р-р!». Но выражена она уже в 30 слов.

Вы заметили, как абстракция «интересный автомобиль» обросла деталями и нюансами, стала занимать существенно больше места в тексте и времени на понимание, анализ и ответ? То же самое происходит и с программным кодом.
Читать дальше →

Программирование, как новый вид человеческой деятельности

Время на прочтение6 мин
Охват и читатели43K
«Программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению в сочетании с эдисоновским талантом сооружать все, что угодно, из нуля и единиц. Он должен сочетать аккуратность бухгалтера с проницательностью разведчика, фантазию автора детективных романов с трезвой практичностью экономиста» Академик А.П. Ершов




Предисловие

Есть распространенное мнение: «если бы строители строили дома так же, как программисты пишут программу — первый залетевший дятел разрушил бы цивилизацию». С подачи индийского гуру-программиста Мурали Кришна Чимутури (Murali Krishna Chemuturi), Интернет настойчиво приписывает авторство этой цитаты Джеральду Вайнбергу (Gerald Weinberg), хотя на личном сайте Джеральда она не ищется. Скорее всего, человек, который первый заговорил о психологии в программировании, к этому высказыванию не имеет никакого отношения. И вот, почему.

Это изречение – пример демагогического приемчика. Здесь пропущена главная посылка: разработка ПО это то же самое, что и строительство домов. Эта посылка, по умолчанию, подразумевается как достоверный факт, который не требует доказательства. Применение этого приемчика заставляет неискушенного читателя делать ложный вывод о том, что у программистов, в отличие от строителей, руки растут не из нужного места.

Материальное производство (обработка объектов физического мира) насчитывает десятки тысяч лет истории. На этом пути был накоплен колоссальный объем знаний естественных наук: математики, физики, химии, географии, геологии, биологии и проч.

Позволю крамольную мысль. Разработка ПО – новый вид человеческой деятельности, история которой насчитывает чуть больше полувека. В посте я хочу представить свое видение принципиальных особенностей разработки ПО, которые отличают ее от материального производства и следствий, которые из них вытекают.
Особенности и их следствия

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность