Если вы НАСТОЛЬКО уверены в своей крутой новой идее, вы, вероятно, захотите проверить ее, прежде чем объявить о ней.

Я только что провел две недели за границей, вдали от технологий, в отпуске. Мои родственники тащили нас с женой (не «моя жена и я») на свой тропический остров на пару недель, потому что знали, что мы с женой (не «я и моя жена») отчаянно нуждались реального времени простоя. Я даже немного не любитель пляжного отдыха, но время, проведенное вдали от повседневных забот, было потрясающим. Это стоит того, чтобы время от времени испытывать скуку или ощущение дискомфорта типа «боже мой, перестану ли я когда-нибудь потеть». Было здорово.

Мы вернулись домой поздно вечером в пятницу, и, вернувшись к привычному быту, кошкам, собаке, утреннему кофе и т. д., я попал на Medium. Я кое-что читал, пока был в отъезде, но не так, как в мои обычные рабочие дни. Каждый раз, когда я нахожусь вдали от этого… гм… выхода для творчества в альтернативных фактах, я всегда надеюсь, что общее качество контента здесь улучшится. Я разочарован на 100%. Каждый. Одинокий. Время.

Моя непрекращающаяся борьба с Medium чаще всего является разочарованием в некоторых из моих так называемых коллег-программистов — обычно тех, кто раздает свои супер-оригинальные, действительно удивительные и новые, невиданные прежде удивительные вещи, потому что они потрясающие. Действительно удивительно, конечно. Супер новый, согласитесь.

Многие из нас, просто пытаясь сделать работу достаточно хорошо и прожить день, ходят в тумане синдрома самозванца и сомневаются во всем, что мы делаем, надеясь, что у нас есть достаточно хороший способ делать что-то, в то время как некоторые люди… ого-го… некоторые люди имеют самые большие дела Даннинга Крюгера¹, когда-либо испытанные в свободном обществе, и постоянно играют в игру Poser на экспертном уровне.

Вот несколько моих «любимых» примеров «если ты делаешь это, ты позер» здесь, на Medium. Я не называю никого конкретного; вы можете провести 30 секунд на главной странице и найти несколько примеров, не прилагая особых усилий.

Статьи "Хватит делать..."

Если ваша статья начинается или озаглавлена ​​словами «Прекратите делать» или «Прекратите использовать», и особенно если она продолжает порицать фундаментальные строительные блоки навыков и практик программирования, вы — позер. «Не используйте циклы for». Хорошо. Конечно, Чад. 1% из 1% из 1% людей, которым на самом деле нужен какой-то безумный уровень оптимизации, а не поддержки, уже знают, кто они, и ты, Брэд, ты не тот парень, Диллон. Вы никого не обучаете; ты просто пытаешься стать боготворимым тремя людьми, которые только начинают свою замечательную карьеру и еще не разобрались в твоей ерунде. Поздравляем. Если бы они были настолько тупы, чтобы прислушаться к твоему дерьмовому совету, ты мог бы погубить их карьеру в канаве, прежде чем они смогли бы реализовать какой-либо реальный потенциал.

Не комментируйте свой код

«Я даже не могу» с этими людьми. Серьезно, если ты на самом деле, искренне, глубоко в глубине души веришь, что 1) так и должно быть и 2) ты живешь такой жизнью, я хочу знать, с кем лучше избегать работы в будущем. Если вы слишком важны и думаете, что ваш код такой особенный, ценный и очевидный, даже если вы не хотите тратить время, чтобы комментировать некоторые базовые принципы, ПО КРАЙНЕЙ МЕРЕ скажите мне, что вы комментируете некоторые базовые вопросы КТО и ПОЧЕМУ получил вы к этому коду. Даже если это просто краткий обзор, например…

// преобразование в bcrypt из [независимо], потому что кодировщик, который
// написал первый проход в этом приложении, не так заботился о безопасности, как мы

(да, мне действительно нужно было исправить что-то настолько вопиющее)

Буквально все, чтобы дать следующему человеку, смотрящему на этот код, некоторый контекст. Даже ты, Особенный Чед, Супермен без комментариев, даже ты (ты, придурок) через год почесаешь подбородок и посмотришь на свой собственный код.

Да, вы. Замолчи. Лжец.

Невозможно исправить, просто перепишите. Даже на другом языке.

На этот раз мне пришлось отследить и исправить проблему входа в систему на веб-сайте. Рассматриваемый веб-сайт был размещен на IIS и, конечно же, работал на VBScript. Давай, убери с дороги свое пренебрежение и насмешки; МНОГИЕ сайты, которые вы знаете и считаете бомбовыми, вероятно, работали на коде LAMP уровня 1995 года или на IIS, и, вероятно, до сих пор работают.

Во всяком случае, это было после того, как VB.NET вышел из строя, а .NET начала расти. Какой-то парень, который нанял какого-то парня для работы над этим сайтом, был одним из тех парней типа «Подождите, у меня есть идея получше», и, поскольку он был слишком неопытен, или слишком ценен, или просто слишком дерзок, не знаю, не надо. Мне все равно, пока он работал над некоторыми изменениями в базе данных, он решил удалить весь код входа в систему и заменить его одноразовым модулем VB.NET, который использовал некоторое внутреннее хеширование значений .NET и т. д., а также реализовал некоторые непонятные модификации. перепишите текст глубоко в недрах конфигурации IIS. Затем он применил сложную сериализацию объектов для маршалинга простого текста обратно в вызывающий код VBScript, а затем запихнул его в переменные сеанса. Молодец, Хосс.

Ничто из этого не было задокументировано или известно руководству, поэтому, когда я пришел через несколько месяцев, чтобы помочь выяснить, почему «некоторые устаревшие учетные записи» были… ну… просто не работали вообще, после нескольких дней отслеживания этого и Выяснив все это, я узнал, что этого парня наняли, чтобы добавить пару столбцов к пользовательским записям на сервере SQL и расширить механизм входа в систему для учета этих столбцов и установить разрешения в соответствии со значениями в них.

Вот и все. Простой. Верно?

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

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

Не будь Делпом.

Есть еще примеры. В конце концов, я просто устал от всех плохих — очень плохих — советов, которые раздаются, как леденцы с трещинами, на Medium, в частности, и на других сайтах, нацеленных на технологии и новых людей в бизнесе. Это действительно обескураживает.

Действительно, лучше промолчать и прослыть дураком, если вы собираетесь раздавать дерьмовые советы, чем говорить и оказаться правым. Фундаментальные основы важны. Период. Прекратите притворяться; в конце концов, вы больше не сможете это сделать.

И прекратите, пожалуйста, пожалуйста, пожалуйста, прекратите охотиться на новых или неопытных программистов, появляющихся в этой удивительной, замечательной сфере деятельности. Даже если вы думаете, что не охотитесь на них и помогаете… Возможно, это не так, если ваши «новые» идеи постоянно «удивительны» и оригинальны. Если у вас есть идея, которую вы считаете новаторской, новой или «лучшей», просто попросите более опытного человека протестировать ее. Просто сделай это.

Для большинства из нас не так много новых, революционных идей в программировании; большая часть нашей ценности заключается в том, чтобы смотреть на бизнес-проблемы и решать их для клиента. Мы выясняем, как лучше расположить строительные блоки, чтобы удержать мост. Мы почти никогда не изобретаем новые блоки. Я обещаю вам, что. Будьте строителем мостов, а не изобретателем эрзац-блоков. Кодирование — это всего лишь инструмент. Базовые инструменты к этому моменту хорошо известны.

Молоток совершенствовался и обновлялся на протяжении тысячелетий, но, в конце концов, молоток есть молоток; это вес на палке. Всегда было, всегда будет. Стройте с ним; твой новый дизайн молота не то, и, вероятно, он в любом случае не нов. Владейте своими инструментами с мастерством.

Плотник строит дом, а не молоток.

¹ — https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect