Пятничное. Надеюсь кому-нибудь это поднимет настроение.
Недавно я сделал для себя открытие. Я сформулировал в чём заключается смысл моей жизни. Не то, чтобы я его не знал раньше, я просто никак не мог о нём рассказать другим.
Хочешь узнать, в чём (скорее всего, в 90% случаев) смысл твоей жизни? Лезь под кат. Гарантировано не эзотерика, религия или 42, а точный и очень даже инженерный ответ.
В один прекрасный вечер, сидя перед каким-то зубодробительным мануалом я подумал что запутался во всём полностью и бесповоротно. Я пытался разобраться в правильной работе с памятью в межпоточной коммуникации в Rust, в результате чего мне казалось что меня просто бросают лицом в асфальт с 12-го этажа. Как я не пытался, я не мог вникнуть в происходящее. Ок, тайм-аут, пойдём нальём чайку (какое там, кофейку, 2 часа ночи) и посмотрим, может быть я чего-то пропустил раньше по тексту.
Я начал копаться в предыдущих главах, пытаясь выяснить что же такое я пропустил и не понимаю в работе с памятью. Внимание моё привлекло одно слово. Казалось-бы, пользуемся мы этим словом практически каждый день, и к нам, хабрачеловекам, это слово относится практически всем. Я конечно-же знал что это слово значит и всегда понимал его. Всегда… Хм. А когда-это я, собственно говоря, на самом деле залезал в словарь и смотрел что же всё это значит?
Тут я вспомнил своего деда. Мне было лет 6, когда он стоял передо мною и нарочито говорил мне, что надо вам, отрок, учиться, учиться и ещё раз учиться! Иначе ничего хорошего в жизни не достигните и станите никем. Смотрите, дитя, я вот, инженер! А дядя Вова с соседнего подъезда он профессиональный собутыльник. У меня семья, двое детей и четверо внуков, а у дяди Вовы четвертушка. Дядя вова не учился, а я вот, учился. Так что, отрок, вникай.
Да, вот с тех самых пор у меня была идея о том, что инженер – это тот, кто не собутыльник и у кого всё в принципе получается. Хорошая идея. Я решил стать инженером. На самом деле стал. Я даже диплом могу показать. Там так и написано, что я – инженер-программист, первой категории, б_я!
Дай-те ка посмотреть…
Никогда в жизни я не открывал словарь и не смотрел на то, что же значит этот «Инженер». Кстати, и писать-то это слово я никогда не умел. Приходилось заучивать.
Ещё хуже всё стало когда я начал общаться с английскими коллегами. Enginier? Engineer. Ещё одна зубрёжка без полного понимания слова.
Я открыл словарь и…
Через три часа нашёл себя в сидящим перед тысячью вкладок браузера, без остановки читая и вникая в описательные тексты. Вокруг взрывались фейерверки, загорались лампочки и светили неоновые вывески «Бинго!» Всё начинало сходиться и обретало новый смысл. Я даже понял почему некоторые из моих статей на Хабре были такими удачными и почему другие слили в унитаз. Какое-там! Я понял почему некоторые другие статьи удачные а вот это, например, слили! Всё обретало новый смысл и светилось! Красота.
Этим определённо надо поделиться. Только рыть надо глубоко. Готовы? Поехали.
Определяемся
Открываем Ожегова и смотрим.
Инженер, -а, мн. –ы, -ов, м. Специалист с высшим техническим образованием.
Вот за что люблю Ожегова, так это за это. Разве так можно мне рассказывать о том, кто я такой? И вообще что это значит? Как это так, тоесть дядя Вася мог тоже получить диплом и стать инженером? Тоесть для этого не надо пытливого ума и всего такого? Не надо жажды знаний и того самого огонька в глазах, который заставляет сидеть до шести утра, зарываясь в мануалы чтобы выяснить, «где же эта с-ка течёт»? Хорошо хоть, он про Сепульки не написал. И на том спасибо. Нет, словарь Ожегова на свалку.
Ну и чего мне жаловаться, у нас же есть Гугл! (Или duckduckgo, Яндекс, или rambler для тех… кто пользуется… Хм…) Давайте пороемся.
Вот, товарищ Ушаков говорит нам что я (тобишь инженер) – это лицо с высшим техническим образованием. Браво. Тут всё понятно. Молодец. Тоесть тут я даже не специалист, а лицо. Другие части тела они даже не важны. Ладно, хватит издеваться над Ушаковым. Он, в отличии от Ожегова, указывает происхождение слова. Говорит мол, вините во всём французов.
Ладно. Мы – люди не гордые. Если нам сказано, что слово оно не русское, то мы пойдём искать его в нерусских материалах. (Хотя есть у меня пара знакомых, которые с удовольствием будут рассказывать вам о том, что всё это теория заговора, и слово на самом-то деле русское. Весёлые ребята. Слушать – просто удовольствие!)
Define: Engineer. Для простоты мы возьмём английский, потому что французского я не знаю, а так как слово всё-равно греческое, то мы особо париться не будем, в этимологии докопаемся.
Так так. В отличии от всех русских словарей, Merriam Webster, например, даёт нам аж 4 разных определения. Dictionary.com даёт нам аж прямо 7 разных определений слова engineer как существительного. Ладно, давайте смотреть:
A person who operates or is in charge of an engine. Понятно, у нас в русском для этого другое слово используется.
Also called locomotive engineer. Railroads. A person who operates or is in charge of a locomotive. Ну да. Машинист. Ладно, фиг с ним.
A skillful manager. Example: A political engineer. Да в русском мы это по-другому называем. Выскочка? Зазнайка. Кулак. Во! Ладно, не важно.
Digital Technology. A person skilled in the design and programming of computer systems: A software engineer; web engineer. Ага. Ну это просто у нас не обновили словари. Инженер разработчик и всё такое. Ладно. Человек который имеет опыт в дизайне и программировании компьютерных систем. Вот. Уже ближе к истине. Выглядит так как я и хотел. Так, погодите, тут ещё два определения есть:
A person trained and skilled in the design, construction and use of engines or machines, or in any of various branches of engineering. Ух ты! Вот это уже по полнее такое определение. Человек который хорошо разбирается и имеет навыки проектирования, создания и использование моторов и машин; или хорошо разбирается в любой из инженерных наук.
A member of an army, navy or air force specially trained in engineering work. Военнослужащий в армии, флоте или воздушных войсках обученный инженерной работе. Ого. В английском языке даже отдельное определение есть для фронтовых инженеров. Давайте это запомним, потому что понадобится попозже. Пока же мы вернёмся к одному слову из предыдущего определения.
Use of engines or machines (и использование моторов и машин). Да, тут я перевёл слово engine как мотор. Но это не очень правильно выходит. Как-то по-дурацки звучит. Давайте посмотрим что это за моторы, которыми инженер должен заниматься?
Смотрим глубже, конечно вот оно определение: Устройство которое конвертирует тепловую энергию в механическую энергию или любую другую мощность для производства движения и силы. Замечательно. Ещё американцы называют пожарную машину engine. И локомотивы тоже engine называют. Конечно есть ещё игровой движок. Смотрим дальше.
Engine: A machine or instrument used in warfare, as a battering ram, catapult or piece of artillery. Военная машина, такая как таран, катапульта или артиллерия. Хм. Опять отдельное определение для военных целей. При чём здесь военное дело? Ладно. Запомним.
Смотрим следующее определение: any mechanical contrivance. Ого. Хм. Contrivance. Кон-трай-ванс. Вот сколько в России не учил английский, этого слова не видел. Был в США долгое время – ни разу об этом не слышал. Но вот пришлось мне как-то код-ревью проходить у британца. Он мне выпалил что это такой отличный контрайвенс. Что? Что такое контрайвенс? Ладно, копаем глубже.
Contrivance. Something contrived; a device, especially a mechanical one. Тобишь что-то что было контрайвд, устройство, особенно механическое. Замечательно. Что такое контрайв?
Твою мать. Интернет подох. Ладно, мы люди не такие простые. Достаём хотспот на телефоне и продолжаем изучать слова.
Contrive — To plan with ingenuity; devise; invent; Спланировать что-то гениально; выдумать; изобрести; Ага. Тобишь мой хотспот можно запросто назвать а contrivance. Хехе. Ок, понятно. Тобишь когда мой дед собрал инкубатор из лампочек и перепёлок выводил для бабушки, это было contrivance. Тобишь моя примочка для кошкиново лотка, которая автоматически его смывает водой после того как кошка ушла на безопасное расстояние – это контравенс. Замечательно. Изобретение! Поняль. Давайте обратно вернёмся.
Возвращаемся к engine: any mechanical contrivance. Ага. Engine – любое механическое изобретение. Тобишь инженер это тот, кто может что-то изобрести. Хаха. Хах. Хм. Так, погодите, тоесть если к тебе приходит злой босс и говорит что ему надо выдумать как обработать запросы на 12000 пользователей, а ты сидиь и выдумываешь как это сделать, то это ты делаешь contrivance. Тоесть изобретение. Тоесть ты – инженер. Ха! Однако. Тоесть мы – изобретатели.
Звучит неплохо. Только вот мой пытливый ум это не признаёт пока. Тут есть загвоздка. Даже две. Первое – что-то не всё ясно с engine. Второе – почему в каждом определении слова есть военный оттенок?
Так. Ах вот оно. Происхождение слова в английском словаре. Намного более подробное чем то, что можно найти в русских словарях. Давайте посмотрим: From Anglo-French, engign. From Latin ingenium “Nature, innate quality, mental power, clever invention. Природой данное, врождённое качество, умственная способность, умное изобретение. Genius. Гений. Ingénue.
Так так, если порыться в британской энциклопедии, то первый упомянутый в истории инженер звался Имхотепом и он был строителем пирамид в Египте. Тобишь две с половиной тысячи лет назад.
Значит слово древнее. Что это? Ах да. Вот он – корень gene. (Слово ген происходит от этого же корня). Что это значит? Создавать, привносить. In-gene. Тобишь это что-то что было вложено при создании. Врождённое качество. Умение создавать.
Тоесть, слово появилось в древности, 2500 лет назад. А вот Римляне, озабоченные вояки, добавили к английскому значению слова эти осадные орудия. Посему у нас в английском везде есть военная тематика.
Почему они это сделали? Потому что инженер это тот, кто помогал им выживать. Без всех этих машин в Риме жилось бы неспокойно, ибо повсюду враги и варвары. Этих врагов и варваров можно было рубить шашкой от плеча до мягкого места, но это было не весело, ибо враги хоть и не знали что такое шашка, но на копьё могли насадить ничуть не хуже чем Шварцнеггер в Хищнике. Так вот тут на помощь приходили инженеры. Выдумать и изобрести что нибудь-такое эдакое, что у врагов от одного вида этого погнётся гравицапа и пропадёт желание рубить кого-нить на куски. Рим защищён и процветает. (Конечно, в Рим тоже понаехали всякие и в конце-концов всё порасхитили и дороги побили, но это было позжее, пока бы говорим о том Риме который дороги, акведуки, академии и всё такое хорошее).
Так, стоп. Инженер. Помогает. Делает изобретения чтобы жилось легче. Так погодите! Это же я! Это, кстати и ты, мой дорогой хабраюзер. Мы здесь находимся вот с этой целью – создавать и изобретать чтобы людям помогать. (Пасаны, чесслово, не пытался нифига рифмовать, в этом нет рифмы!)
Не веришь? Посмотри на свой самый успешный проект. Он кому-нибудь помог? Ха! Ну конечно. Чем больше твой код кому-то помогает, тем больше его будут любить и уважать.
У меня есть пара проектов, которые я запилил лет так 10 назад. Сидел вот и смотрел как сотрудник в офисе пытается заставить старую досовскую программку печатать на USB принтере. После часа смотрения я запилил софтинку, которая прикидывалась сетевым принтером на компьютере и печатала текст через win-api на любые принтеры в системе. Эта програмка до сих пор работает без изменений. Мне кто-то написал со старой работы, что вот мол, нашёл моё имя в исходниках и всё ещё работает. Ну точно, программка была contrivance. Изобретение!
Большие проекты они такие же! Чем полезее они – тем лучше.
Ответь для себя на вопрос: чем помог людям Линус Торвальдс? Как тебе такой ответ – предоставил людям возможность использовать свои компьютеры без дополнительной оплаты благодаря изобретению замечательной, быстрой и открытой операционной системы.
Помог ли тебе лично Никола Тесла? Ну, возможно не лично, но электричество в розетке к тебе приходит и компьютер вертит вентилятором.
А знаешь такого дядю, его зовут Илон Маск. Он сделал ракету, чтобы мы могли на Марс полететь. А ещё он сделал беспроводной интернет по спутнику. И ещё он сделал пейпал. И он ещё сделал кучу всего хорошего. *(Он не только инженер, но в том числе он инженер).
А знаешь Марка Цукенберга? Он помог людям общаться и найти друг друга. Марк – инженер. (Потом Марк перестал быть инженером. И сейчас Марк сидит в чане говна и заныривает туда каждый раз когда над его головой свистит меч правосудия. Что хорошего Марк сделал, пытаясь выжать ещё больше денег из своей аудитории? Да ничего. Он перестал помогать и начал высасывать деньги. Посему и сидит в своём чане.)
Помог кому-либо React? А Node? Помог ли кому-либо Rust или С++? Помогает ли тебе VSCode? Ага. И что бы ты подумал, даже если они не просят за свои работы деньги у конечных клиентов, деньги у них появятся. Потому что они помогают!
Давайте теперь посмотрим несколько статей. Ниже всё приведено наугад и я случайно выбрал эти статьи, за исключением моих статей.
Как охотились дромеозавриды? Чем их поведение примечательно? Свежая статья от 20-го января на хабре. О чём она? Хрен его знает. О динозаврах из Парка Юрского периода. Кому эти данные помогут? Да, в общем-то никому. На момент написания рейтинг -4, и продолжает тонуть. Не знаю, если статья доживёт до публикации этой статьи.
Демонстративно вертим массивы для новичков. Все уж подумали что будут разбирать что-то полезное в алгоритмах массивов, а выяснилось что статья про B[i, j] = A[i, j]. Я тоже не удержался. Полезная эта статья? Неа. Вот тебе и рейтинг в -13. Получите, распишитесь. Ладно, она из песочницы, так что не будем долго глумиться.
Посмотрим на более полезные вещи:
Большая игра на понижение крипты. Статья – перевод. О чём она? О проблемах рынка биткоина и о том, что с этим делать. Помогает она кому-нить? Ещё как. Видать определённый процент хабрапользвателей держит средства в криптовалютах. Рейтинг на момент написания +105 и продолжает расти.
Наша огромная гордость: мирные советские роботы-комбайны убрали первый урожай в южных регионах – статья про комбайны которые убрали урожай и получили +444 в карму. Крутится в топе лучших за этот год. Изобретение? По полной программе! Contrivance, б_я! Полный контрайванс. Народ ликует. Комбайны-киборги стали популярны! Серьёзно. Ребята нас кормят. Они нам помогают. Спасибо.
Ладно, займёмся самокритикой.
Что в действительности кроет в себе страшная цифра восемь. Это моя самая-самая статья, которую я запилил 9 лет назад. Тогда Восмёрка была только-только альфой и все просто дрожали от ужаса и не знали что делать. Я всех успокоил, рассказал что да как и помог народу разобраться во всём. У меня тогда была альфа версия винды, посему я знал. Получил +291 в карму.
Много ли на хабре писателей научной фантастики? Тупой вопрос заданный мною же 8 лет назад. Бесполезный вопрос, к тому же. Результат -27 в карму. Оно и понятно, потому что это никому не нужно.
(Теперь внимание, пожалуйста! Цели артистов и писателей, музыкантов и художников кардинально отличаются от того что мы, инженеры, должны делать. Каковы цели этих других людей вы можете выяснить зарывшись в энциклопедии и читая древние манускрипты. (Только я вас умоляю, не пытайтесь поверить тому что преподают в универе. Я не говорю, что универ это полный отстой, отнюдь, но вот про цели они там не говорят). Посему, если вы будите смотреть на другие статьи в топе хабра, вы найдёте достаточно популярных статей, которые не рассказывают о том, как можно лучше помогать с изобретением вещей или как лучше изобретать вещи. Там есть развлекательные статьи, которые развлекают, но это не наш удел. Писатели сами знают как получать карму и деньги за свой труд.)
Пишешь статьи о том, как помогать другим людям лучше, или статьи о том как правильно выучить язык «бла» чтобы писать и помогать другим = карма. Статьи о том, как правильно кормить велоцерапторов = чулан. Просто, а?
Сидишь, выгораешь, голубка моя? Опустил голову и смотришь в лужу? Дни тянутся как резинка и всё вокруг серо и невесело, как будто кто-то тебя пригласил жить в доме обустроенном в заднице гиппопотама? А что ты на самом деле делаешь? Создаёшь андройды-комбайны чтобы прокормить население, запускаешь спутники в интернете или просто рабоаешь администратором в офисе ООО «Однодневки инк.» которые просто существуют чтобы не платить налоги?
А может быть ты просто не пытаешься помочь?
Помнишь Люсю, которая из бухгалтерии? Она просила тебя третьего дня починить ей принтер. А ты помог? Или просто забил на неё и тикет висит в отложенных? Помнишь когда твой начальник сидел на совещании и у него в глазах внезапно загорелась искорка. Ему вдруг захотелось переделать главное меню в системе, чтобы сделать её более работоспособной. Ему идея понравилась, но ты как-то затормозил и решил что это пока лучше не делать, потому что это сломает билд.
Ага. Вот в этом-то и прикол.
Ну что, понятно? Цель твоей жизни – создавать и изобретать приборы которые помогают другим людям. Помогай. Их там у нас миллиарды. Кого-то надо кормить, и они тебе будут благодарны за еду. Кому-то надо перевозками заниматься. Они будут рады видеть твои беспилотные трамваи. Кто-то очень хочет бороться с вирусом, посему твоё мобильное приложение для вакцинации будет успешным.
Тебе не обязательно менять место работы. Просто пойди выясни, кому надо улучшить жизнь только нам известными путями, собирая новые приборы и делая код для них. Пойди поспрашивай. Может прямо-таки твоя компания сидит и ждёт чтобы в офис вошёл инженер и прямо-таки сделал вам эту большую красную кнопку, которая сделает всё.
А, может быть, тебе на самом деле стоит поменять место работы, потому что ООО «Мойдодыр» слышало что в каждой приличной компании нужно иметь айтишника, посему они и открыли ИТ отдел в посудомоечной конторе.
А, может быть, тебе это не в жилу и тебе от этого не клёво. Бывает. Посмотри что можно сделать. Консультант. Доктор. Водитель. Я знавал одного чувака который работает в FedEx. Он там проработал 40 лет и продолжает работать. Вся мечта его жизни – перевозить грузы. Это его мечта. Он работает. Пусть так и делает. Если ночные посиделки перед мануалами не для тебя, если тебе не нравится создавать что-то новое, то может быть и инженером тебе не стоило становится? Ну и стань тем, кем хочешь, мы не обидемся. Может быть тебе надо быть музыкантом (кстати, слово происходит от Музы). Или может быть тебе надо быть фотографом? (Граф – писать, фото – свет). Дуй, тебе там будет лучше, и жизнь в луже тянуть не придётся.
А может быть тебе, мой дорогой хаброчеловек, захочется написать новую статью, в которой ты подробно и интересно изложишь детали какого-нибудь контрайванса, тобишь изобретения, которое ты сам породил на свет.
Обычно статьи написаные всеми этими компаниями на Хабре, они не плохие, но какие-то вялые. Всё как по ниточке, по одному и тому же шаблону: «Как мы патчили КДЕ под Фрибсд».
Самые лучшие статьи они про хорошие изобретения и про то как можно помочь большому количеству народа. Может быть тебе удалось победить драконовский планировщик задач? Или как-то раз тебе пришлось лезть в ядро Линукса и править исходники, потому что драйвер не работал. Один раз тебе удалось усмирить пожар, пожирающий гигантский домен и ты всё восстановил, написав скрипт на повершелле.
Давай. Пиши, пожалуйста. Мне будет интересно почитать. А то тут временами хвёло становится и мне скучно.
Хорошей пятницы всем, не унывайте.
Пост скриптум. Несмотря на то что я нагло спёр голубя у @0xd34df00d(как собственно говоря и идею с названием поста), я не пытался обратиться к нему лично. Статья написана для аудитории «в общем», просто мне жуть как нравится этот голубь.