Что может быть чистым или грязным
Хлорка, сода и карболка: история чистоты
Действительно ли чистое то, что мы привыкли считать чистым? Почему американцы ходят дома в уличной обуви, а русские и японцы носят тапочки? В каких случаях сиденье в туалете можно назвать чистым? Разбираемся, откуда взялись наши представления о чистоте и можно ли им доверять, а также рассказываем историю главных советских моющих средств
Чистота как культурная категория
Что считается грязным и как добиться чистоты
Чистота существует не сама по себе, а относительно некоторого субъекта оценки, чье тело оказывается в контакте со средой и внешними объектами. В природе нет чистого и грязного вне человеческого восприятия.
Чистота как результат порядка
Антропологический взгляд на чистоту и грязь сложился в начале 1960-х под влиянием работ британского социального антрополога Мэри Дуглас. Она изучала системы классификации, стоящие в разных культурах за символами, ритуалами и правилами поведения. Грязь и все то, что представляется нечистым, указывают нам на одну из важнейших классификационных схем, которая позволяет прочерчивать границы между нами и ними, между своим и чужим.
Мы не задумываемся, чтобы понять: ботинки грязные, надо вымыть руки, а заниматься готовкой лучше в переднике, иначе на рубашке появится капля соуса. С соусом все в порядке, когда он в тарелке, объедки занимают свое законное место в мусорном ведре, а не на полу или столе, чистым ботинкам место в прихожей, а не на скатерти — в таком месте даже чистая обувь выглядит нечисто. Эти сами собой разумеющиеся представления продиктованы здравым смыслом, который присущ нашей культуре. В другом обществе здравый смысл может отличаться.
Чистота относительна, потому что она связана прежде всего с порядком. Скажем, русские и американцы представляют себе чистоту пола в доме. Американец, в отличие от большинства из нас, не надевает тапочки, проходя в дом, но при этом вполне может положить одежду на пол рядом с кроватью. Тапочки и связанный с ними этикет — особенность русской культуры, но похожие представления о том, что дома и вне дома нужно носить разную обувь и одежду, также характерно, например, для японской культуры.
С точки зрения отношения к чистоте могут различаться не только зоны пространства и предметы, но и части тела. Например, в исламе для разных нечистых надобностей, для ухода за интимными частями тела при отправлении нужды используется именно левая рука, тогда как правая рука для этого не годится: она служит для еды и рукопожатия.
Границы
Упорядочивание приписывает статусы и прочерчивает границы — самого разного рода. Хорошей иллюстрацией границы между своим (которое всегда воспринимается как чистое, даже когда оно не совсем чистое) и чужим (которое не совсем чистое, даже если чистое), становится использование стульчака — сиденья на унитазе — в туалете коммунальной квартиры. Если стульчак один и используется всеми обитателями квартиры, в туалете имеются одноразовые средства, помогающие изолировать тело пользователя от контакта со стульчаком — например, газеты, порванные или нарезанные для подкладывания. Если же стульчаков несколько, то они принадлежат разным семьям и зачастую висят тут же на стенке. Предполагается, что их используют только свои, поэтому подстилать бумагу не требуется.
Итак, чистота — это про установление порядка и проведение границ. Наша цивилизация материализует эти границы в бесконечных пакетах, упаковке, одноразовых перчатках, не задумываясь о том, что эти средства упорядочивания порождают килотонны мусора.
Вода и мытье
Само по себе мытье рук — например, пять раз в день перед молитвой и перед едой и после нее — скорее религиозное предписание, чем выполнение требований гигиены. Даже если нам сейчас вода видится как универсальное средство для того, чтобы сделать грязное чистым, мы знаем, что хирургу перед операцией недостаточно просто воды даже в сочетании с мылом. В Западной Европе еще в XVI–XVII веках, особенно там, где прошла чума, мыться не советовали: считалось, что купание и пар открывают путь заразе в тело человека, поэтому чистое белье надевали не моясь, и вообще личная гигиена не была связана с использованием воды. Это заметно контрастирует с мусульманскими обычаями, предписывающими омовения.
В Испании на страх чумы вместе с идеями о вреде ванн наложились отношения с маврами, которые поддерживали тело в чистоте. Отвоевав Гранаду, испанцы первым делом разрушили мавританские бани. Маврам, обращенным в христианство, мыться запрещали, а слухи о том, что они все равно принимают ванну, становились поводом для преследований христианизированных мавров и евреев со стороны инквизиции.
«Дикари» и цивилизация
В антропологической перспективе чистота — это прежде всего моральная категория, ведь произнесение молитвы, заклинания, окуривание дымом — средства для того, чтобы сделать чистым в символическом смысле, и именно этот смысл первичен по отношению к тому, как мы сегодня трактуем гигиену в медицинских понятиях. чистота и ее отсутствие так часто становятся основанием метафор: «чистота крови», «нечистая сила», «этническая чистка» и так далее. Может показаться, что обряды людей традиционных обществ, ничего не знающих про микробов, имеют отношение лишь к магии и религии: их средства достижения чистоты символические, как символическая и сама эта чистота. Они отгоняют духов, а не уничтожают бактерий. Тогда как люди современной цивилизации рассматривают чистоту с научной — гигиенической — точки зрения и убивают микробов. Вот и имеют дело с настоящей чистотой. Мэри Дуглас показала, что наши страхи запачкаться и заразиться, наше чувство отвращения носят ничуть не менее символический характер, чем любые традиционные верования. Просто сегодня мы используем ссылки на науку и медицину, чтобы объяснить принятый социальный порядок, ведь научное знание обладает высоким статусом.
Отвращение, тело и нижнее белье
Историю представлений о чистоте в Европе интересно проследить через изменения такой эмоции, как отвращение: порог и предмет отвращения различается и на протяжении истории, и в разных социальных группах. Скажем, раннехристианские святые и просто монахи возвышали свой дух, умерщвляя тело, в частности практикуя отказ от мытья. Их уже однажды очистило крещение, и телесная нечистота и характерный для бездомных запах свидетельствовали об их стремлении к святости и забвении всего мирского.
Долгий путь, приведший к нашим сегодняшним сравнительно дезодорированным пространствам и телам, начался в XVIII веке. В это время во Франции возникает чувствительность к запахам — благодаря врачам, которые полагали, что диагностировать болезни, профилактировать и лечить их можно, правильно истолковывая и контролируя запахи. В результате порог чувствительности к запаху резко изменился: повсюду стали оборудовать отхожие места и канализации, осушать, вентилировать и дезинфицировать публичные пространства. Теперь телесные запахи казались аристократии и буржуазии неприемлемыми: смердели простолюдины, после них требовалось проветривать помещение.
Сочетание систематического мытья, периодической стирки и смены одежды появилось довольно поздно. Изабелла Австрийская, дочь испанского короля Филиппа II, правительница Нидерландов, дала в 1601 году обет, что переменит белье лишь тогда, когда осада портового города Остенде увенчается успехом. Успеха пришлось ждать больше трех лет, и ее изначально белое белье обрело особенный цвет. Мы знаем об этом потому, что мода XVI века допускала, чтобы нижняя рубашка была заметна: мы можем ее увидеть на картинах старых мастеров. До тех пор белье, если оно было, находилось под одеждой. Еще в XVIII веке значительная часть населения Европы умывала только лицо, шею и руки, то есть те части тела, которые были видны окружающим. Даже в недавнем советском прошлом люди пахли существенно сильнее и иначе, чем сегодня, когда дезодоранты вошли в нашу повседневность.
Чем добивались чистоты в СССР
Карболка
Точнее, карболовая, или угольно-масляная, кислота. Это фенол, изначально добытый из каменноугольной смолы (современное название этого вещества — гидроксибензол). Карболкой называли пятипроцентный водный раствор фенола, который широко применялся в качестве дезинфицирующего средства и стал важным инструментом антисептической хирургии — подхода, предложенного английским хирургом Джозефом Листером в 1860-х годах и включавшего в себя целый комплекс мероприятий по борьбе с инфекциями при хирургических операциях. Обработка поверхностей раствором карболки к концу XIX века стала стандартной дезинфицирующей процедурой. Еще в 1960-х годах санинструктор в Советской армии при помощи пульверизатора обрабатывал карболкой баню после ее посещения солдатами. Кстати, применялся раствор карболки и для того, чтобы обезопасить от заражения грибком: прежде чем приступить к банным процедурам, солдатам предлагалось встать ногами в таз с этим раствором. Запах карболки обычный человек узнает в противогрибковой жидкости цвета фуксии, которая называется фукорцин (или жидкость Кастеллани), — она используется в качестве противогрибкового и антисептического средства. В домашнем быту в СССР карболка обычно не применялась.
Хозяйственное мыло
Главным средством для мытья посуды, стирки и уборки в СССР было хозяйственное мыло. Хозяйственное, значит, не туалетное, оно не предназначено для личной гигиены, потому что содержит больше щелочи (72 %) и не содержит ароматических отдушек. Обмылки нередко складывали в банку и заливали водой — получалось жидкое хозяйственное мыло универсального назначения. Для того чтобы эта гелеобразная жидкость превратилась в отбеливающее средство для белья, следует добавить туда соду. Служившие в Советской армии могут вспомнить такой способ мытья пола в казарме: на пол плескали воду, потом от куска хозяйственного мыла ножом отскабливали на пол мыльные чешуйки, после чего для создания пены использовалось специальное приспособление («машка») — круглый чурбан с длинной ручкой, с одной стороны которого были приделаны щетки для натирки пола. Пол натирали до появления густой пены, а потом собирали ее тряпкой. Среди советских людей было распространено убеждение, что хозяйственное мыло обладает особенными свойствами, и до сих пор живы люди, которые моют им голову, не пользуясь шампунями. Кроме хозяйственного в СССР производились несколько сортов туалетного мыла, самое распространенное из которых — «Земляничное». посередине между хозяйственным и туалетным мылом с парфюмерной отдушкой находилось мыло «Банное» — стандартное средство для личной гигиены.
В домашнем хозяйстве пол, унитаз и плитку на стенах, которые не отмывались горячей мыльной водой со щеткой, зачастую мыли, добавляя в мыльный раствор соду (не только пищевую — гидрокарбонат натрия, но и каустическую — гидроксид натрия, он же едкий натр). Так рекомендовали делать и книги по домоводству, специально отмечавшие, что раковины и ванны не следует чистить песком и золой, чтобы не повредить эмаль.
Удалить загрязнение подошвы утюга, запах в холодильнике, плесень на любых поверхностях, пятна на столовых приборах, грязь на кухонной плите и в духовке — для всего этого используется сода. Наряду с горчичным порошком соду использовали для мытья кухонной посуды в качестве мягкого абразивного средства. Посуду же иногда чистили уксусом, чтобы обезжирить ее или удалить накипь с чайника. Соединение соды и уксуса приводит к химической реакции, при которой обильно выделяется углекислый газ и образуется пена. Этот эффект предлагалось использовать для того, чтобы избавиться от засоров в трубах.
Хлорка
В качестве универсального дезинфицирующего и отбеливающего средства во всех общественных местах широко использовалась хлорная известь. Ее резкий запах — точнее, смесь запаха хлорки с другими отвратительными запахами туалета — навсегда останется в памяти советских людей. Растворы разной концентрации используются для разных целей — отбеливания белья, мытья пола, поверхностей в туалетах, сантехники. Отбеливающие свойства гипохлорита основаны на том, что он разрушает светопоглощающие структуры в органических молекулах.
В быту до сих пор распространено отбеливающее средство «Белизна», тоже на основе хлора. Его применяли и при стирке, и при уборке для мытья раковин, ванн и унитазов. Постельное и детское белье кипятили в кастрюлях и баках на газовой плите, и при кипячении тоже добавляли «Белизну».
Дело в том, что стиральные порошки входили в быт советского человека постепенно и медленно. В 1960-е сначала появилась «Новость», потом «Лотос» и ценившийся хозяйками «Лоск» производства ГДР. Запах отечественных порошков, как и прочих средств бытовой химии, был, собственно, химическим, так как состав их чаще всего не включал в себя отдушек.
С середины XIX века чистота и гигиена (особенно для американской культуры) становятся важным символом, с которым связана групповая идентичность. Поскольку западная цивилизация всегда откликается на такие потребности развитием новых технологий, невозможно рассматривать химические средства заботы о чистоте отдельно от технического прогресса, заметными вехами которого стали изобретение в начале ХХ века пылесоса, который собирает пыль в контейнер (бытовые версии стали доступны с 1930-х годов); сегодня во многих домах есть робот-пылесос, который «самостоятельно» убирает и даже моет пол. Стиральные и сушильные машины для белья, посудомоечные машины, отпариватели, разнообразные приспособления для мытья чего бы то ни было и для ухода за телом. Инопланетянин был бы впечатлен этой квазирелигиозной помешанностью нашей цивилизации на чистоте домашней среды и тела, вокруг которой сформировалась огромная сфера экономики и технологий.
Какие сравнения можно дать слову «чистый», например, чистый как.
Какие сравнения, ассоциации у вас возникают с этим прилагательным? Не бойтесь выражать креативные и даже бредовые ассоциации.
1 Горняки наткнулись на чистую породу и горько заплакали.
2 Нет ничего ужаснее чистой простыни после первой брачной ночи.
3 Красавица обладала чистым разумом незамутнённым интеллектом.
4 О, это была кобылка чистых кровей.
6 У меня чистые руки, за меня воровали другие.
7 Уважаю этого парня, он любой бред может выдать за чистую монету.
8 Никому не нужна твоя правда, все ждут вранья чистой воды.
9 Чистая синева весеннего неба раздражала за тюремной решеткой.
10 Безупречно одетый джентльмен считал чистую прибыль от грязной сделки.
11 Он зашел и увидел чистую комнату, грабители вынесли всё.
12 Чистый холст на мольберте тоскливо ждал художника, за которым погнался медведь.
13 Неправда ли, давать такой ответ чистый идиотизм?
14 Да нет, молодец, чисто сработал.
Чистый- как младенец, как родник, как слеза, как вода питьевая, как дева непорочная, как первый снег, как свежевыпеченый пасхальный кулич, как белый хлеб, как зановорожденный, как белый лист, как свежесмолотая мука.
Помню, когда меня в детстве бабушка купала, мыла, она после ванны мне говорила: ты теперь чистенькая как новая копеечка.
Можно сказать, чистый как помыслы ребенка, как слеза ангела, как горный воздух, как листва после дождя, как святая вода.
Некоторые примеры слышала, а некоторые просто пришли на ум: чистый как стёклышко (стекло), как воздух, как небо, вода, как младенец, как лист бумаги, как мать родила, как целлофановый кулёк.
Маленьким ребятишкам можно сказать чистенький как ангелочек.
Чистый как сахар, как зеркало, как дождевая вода.
Дерзкий как подросток
дерзкий как партизан
дерзкий как налётчик
дерзкий как грубиян
дерзкий как пилот бомбардировщика
дерзкий как камикадзе
дерзкий как террорист
дерзкий как инженер Гарин
дерзкий как Фёдор Конюхов
дерзкий как Эдуард Лимонов
дерзкий как гражданин, игнорирующий карантин по коронавирусу
дерзкий как отпетый мошенник
дерзкий как чиновник-казнокрад
дерзкий как водитель-лихач
дерзкий как вор-карманник
дерзкий как похититель картин-шедевров
дерзкий как цирковой акробат без страховки
дерзкий как канатоходец
дерзкий как фальшивомонетчик
дерзкий как любитель селфи на крыше небоскрёба
Грязный, чистый, устремлённый
Грязный
Давайте вместе поразмыслим — что же такое чистый код, и что такое код грязный? Или, как говорят американцы – «hairy code», т.е. волосатый?
Чем чистый код отличается от грязного – или, как говорят в этих наших интернетах, от «говнокода»? Да и нужен ли он вообще, этот чистый код?
Давайте сначала разберёмся с определениями.
Мне кажется, что дать чёткого определения «чистому» коду просто невозможно. Отчасти это – как с красотой: смотришь на картину, или там скульптуру – и видишь: да, красива. Или, наоборот, уродлива.
Да, мы научились определять общие закономерности, скажем, в лицах, которые считаются красивыми. Но готовы ли мы дать чёткое определение красоте? Думаю, нет.
Эта аналогия не вполне корректна (как и большинство аналогий), но примерно передаёт ощущения, возникающие при работе с кодом. Неважно – чужим ли, своим ли, написанном пару месяцев назад и уже прочно забытым. Код либо нравится, либо нет. Он либо красив, чист и приятен – либо волосат, уродлив и дурно пахнет.
И, конечно же, у каждого есть свои критерии «красоты кода». Свой, так сказать, вкус.
Но, тем не менее, есть какие-то общие точки, о которых если и спорят, то вяло и соглашательски. Не о сути, а об обрамлении.
Давайте попробуем их перечислить.
Легко читается и понимается | Запутан, неочевиден, трудно понимаем |
Легко поддаётся изменениям | Закостенел в своих внутренних связях; изменить что-либо стоит неимоверных усилий и жертв |
Может быть расширен, либо встроен куда-нибудь в виде отдельного модуля | Для расширения требует переписывания, для встраивания – обёрток |
Поддаётся автоматизированному тестированию | Может быть протестирован, лишь как «чёрный ящик» |
Конечно, можно начать спор о «читабельности» или «понимабельности» кода. Это совсем не формализованные термины.
Но и они интуитивно понятны: если, например, кто-то станет доказывать окружающим, что он привык писать всю программу в виде одной-двух огромных функций, «которые делают всё», а решение тех же задач при помощи хотя бы разбиения на большое количество небольших процедур и функций для него непонятно – ему намекнут, что надо бы подтянуть азы.
А желательно – основательно поковырять ООП и стараться инкапсулировать логику в отдельных классах, чтобы не приходилось напрягать головной мозг ни разбором огромных «портянок» кода на десятки экранов, ни запутанными связями процедур и функций, которые к тому же (omg) оперируют кучей глобальных переменных.
Примерно так же дело обстоит и с остальным: конечно, даже среди приведённых 4х пунктов есть взаимоисключающие параграфы (легко читаемый код далеко не всегда будет легко изменяемым, лёгкость расширяемости может конфликтовать с автоматизацией тестирования и т.п.) – но в целом обстановка понятна.
В принципе, руководствуясь этими пунктами (усиливая или ослабляя каждый из них в зависимости от требований конкретных задач), можно легко отличить грязный код от чистого.
Хотя лучше всего, если это происходит само собой, без чересчур подробного анализа. Когда есть «нюх», позволяющий быстро понять, что код грязен и воняет.
Чистый
Теперь давайте всё-таки попробуем разобраться – зачем же он вообще нужен, этот чистый код? И так ли уж плох код грязный и волосатый?
Ну, для начала нужно сказать: it depends.
Бывают моменты, когда написать «быстро и грязно» куда важнее, чем «долго и чисто». Хотя нужно отметить, что «грязно» далеко не всегда означает «быстро». Бывает, что ровно наоборот.
В общем, давайте попробуем рассмотреть более-менее жизненные примеры и постараться понять в каждом случае – когда грязное кодирование бывает оправдано, а когда абсолютно недопустимо.
Например
На сервере что-то происходит, логи пишутся – но они огромны, и читать их некому. Нужно написать небольшую утилитку, которая прочитает логи, вытащит оттуда какие-то численные данные и представит их в виде таблицы. На входе – лог-файл, на выходе – текст с цифирями.
Такую задачу вполне можно написать как угодно грязно – лишь бы утилька работала, а написание не заняло много времени. Ведь мы решаем здесь одну сиюминутную задачу.
Решить же задачу долговременную куда как лучше, изменив систему регистрации ошибок (писать те же численные данные в базу, например).
То есть утилиту эту в идеале используют один-два раза, после чего выкинут. Чистота кода здесь совершенно не важна.
Другой пример
Сервер иногда падает, почему – никто не знает. Анализатор логов позволил понять, что падение вызывается большим количеством однотипных запросов, приходящих с вполне определёнными значениями параметров, и эту ситуацию необходимо срочно воспроизвести.
Нужно написать небольшую утилитку, которая будет в точности воспроизводить это поведение.
Казалось бы – всё один в один повторяет первый пример. Однако здесь возникает вопрос: раз процесс тестирования не предусматривает воспроизведение подобных ситуаций, то не возникнет ли необходимость дальнейшего развития этой утилиты в качестве инструмента тестирования? Не станет ли она самостоятельным приложением, которым пользуются регулярно?
Если ответ – «да» или хотя бы «возможно», то стоит уделить немного внимания тому, чтобы код был понятен хотя бы самому разработчику через месяц-другой, и в то же время позволял бы как-то себя расширять.
К примеру, добавлять другие последовательности запросов, конфигурировать адрес сервера и число запросов, значения ключевых параметров и т.д.
Это ненамного замедлит разработку утилиты «здесь и сейчас» — зато, когда вновь встанет вопрос о воспроизведении последовательности запросов на сервер – утилита будет тут как тут и потребует минимального допиливания; а главное – минимального времени на вспоминание, что там к чему.
Третий пример
Разработка программного модуля для основного программного продукта компании, уже несколько лет успешно развивающегося на рынке.
Казалось бы – модуль изолирован, интерфейсы взаимодействия с другими модулями определены. «Кручу-верчу, говнокод писать хочу». Но тут возникает серьёзное «НО».
Что будет с этим модулем через полгода? Год? Потребует ли он поддержки? Изменения? Расширения функционала? Возможно, в итоге разовьётся в отдельный продукт?
Если хотя бы на один вопрос можно дать хотя бы ответ «вероятно» — то говнокодить, увы и ах, строго не рекомендуется.
Но это не весь список вопросов. А кто будет работать с этим модулем через два-три года? Тот, кто его писал, или кто-то другой?
Если кто-то другой – то ведь ему придётся в этом коде разбираться.
И если это будет плохой, негодный код – то либо плакать и жевать кактус, проклиная создателя, либо выкинуть всё на помойку и переписать заново, получая при этом поджопники от начальства за срыв сроков.
Если же работать с этим кодом будет сам разработчик – то тем более. Да он через полгода уже не будет помнить: что, где и как работает! Ему придётся разбираться в этом коде так, как будто код совершенно чужой. Не враг же он самому себе?
Четвёртый пример
Разработка приложения (сайта, базы данных с простейшим интерфейсом – чего угодно) под заказ в сжатые сроки за небольшие деньги.
С одной стороны – code and forget, можно писать что угодно и как угодно, лишь бы работало.
С другой стороны – а что, если этот заказчик через месяц вернётся и попросит за дополнительные деньги что-то добавить или переделать? Будем плакать, колоться, но жевать кактус? Откажемся от заказа?
А что, если он обратится к другому разработчику (компании), получит негативный feedback о качестве исполнения проекта, и больше никогда не вернётся к «злым говнокодерам», да ещё своим друзьям отсоветует?
Я уже не говорю о таких вещах, как качество кармы и память потомков.
Пятый пример
Самый жёсткий случай абсолютного недопущения говнокодирования.
Мне сложно даже представить себе какие-либо аргументы в пользу осознанного выбора плохого кода в случае командной разработки.
Да что там говорить – один говнокодер способен принести вреда больше, чем вражеский агент в тылу врага!
Если команда не изолирует его, бросив на написание никому не вредящих, ни с чем не связанных, абсолютно левых утилит и мини-приложений – то его продуктивность в команде будет не то, что нулевой – она будет отрицательной!
Необходимость читать, вникать, исправлять, матерясь – а в итоге выкидывать и переписывать заново – мало того, что занимает больше времени, чем самостоятельная разработка хорошего кода, так ещё и портит общую атмосферу в команде и минусует мораль всех разработчиков, вынужденных сталкиваться с говнокодом не по своей вине.
А тестирование? Сопровождение? Расширение функционала??
Я мог бы написать ещё пару хулительных абзацев – но нет. Не могу.
Клавиатура выпадает из ослабевших пальцев при мысли о том, сколько вреда может принести говнокод в команде…
Это ужасно… ужасно…
Устремлённый
Итак, мы примерно понимаем, что такое грязный код и чем он плох. Мы всё ещё не вполне понимаем, что такое чистый код, но ощущаем его необходимость.
Почему же он всегда есть, этот грязный код, почему он всегда присутствует и портит жизнь всем – в том числе и своим авторам?
На мой взгляд, всё предельно просто: писать чистый код – это искусство, это сверхспособность, развить которую в себе может практически каждый; но далеко не каждый даже задумывается о необходимости её развития.
Не говоря уже о том, чтобы получать представление о сиём предмете в профильном университете или на профильных курсах – там дают лишь самые верхушки «нужных» технологий, платформ и языков – немногие вообще уделяют специальное внимание улучшению собственных навыков чистого кодирования.
Конечно, с течением времени, если у разработчика развит «нюх на грязый код», он неизбежно начинает писать всё чище и лучше.
Он читает на досуге интересные статьи, он изучает паттерны проектирования. Но бывает, что он делает это потому, что ему интересно – а не потому, что осознаёт необходимость развития своих навыков написания чистого кода.
И при этом, в идеале, он всегда ощущает, что его код всё ещё недостаточно хорош, что ему ещё далеко до совершенства. И пусть его сегодняшний «говнокод» на голову выше самого лучшего, что он писал два-три года назад – всё равно есть куда расти.
В связи с этим мне вспоминается один интереснейший разговор с моим коллегой, которому, как и мне, довелось провести не одно собеседование с кандидатами на должность разработчика – возможно, даже больше, чем собеседований в качестве такового кандидата.
Мы говорили о молодых программистах и о том, какие их качества более всего свидетельствуют о потенциале профессионального развития.
В итоге всё свелось к нескольким простейшим пунктам, в порядке важности:
1) Хорошо работающая голова (поэтому у нас всегда есть задачки на логику)
2) Высокий уровень самокритичности (поэтому всегда есть задачки на написание кода и поиск ошибок в нём)
3) Интерес к программированию (важен в меньшей степени, задачками не определяется в принципе)
То есть понятно, что если голова работает плохо – то разработчиком не станешь при всём желании и старании. Однако, если она даже золотая и светится от разумности – это ещё далеко не гарантия.
Частенько бывает, что молодой специалист, видя, как легко ему всё даётся (особенно – в сравнении с большинством своих одногруппников, сокурсников, просто ровесников) начинает искренне считать, что круче бывают только яйца.
И, хотя наверняка к этому есть некоторые основания, но ЧСВ зашкаливает настолько, что в итоге в один прекрасный момент он просто перестаёт развиваться, считая, что «я и так умный, а кто пытается это оспорить – тот дундук».
И хорошо, если при этом у него остаётся живой, острый интерес к своей работе. Если он продолжает читать статьи и книги «потому, что интересно». Тогда у него остаётся небольшой шанс не застыть, а продолжать развиваться.
И, наконец, бывает, что парень (или девушка – что встречается гораздо реже, уж извините меня за эту неполиткорректную реальность) и умный, и самокритичный – редко остаётся довольным своим кодом и вообще считает, что ему ещё расти и расти – в какой-то момент теряет (хорошо, если не полностью) интерес к профессии, начинает меньше читать, меньше экспериментировать.
Начинает чаще выполнять задачи «строго по спецификации», желательно – уже знакомые задачи, из знакомых сфер. Меньше уделять внимания новым языкам, платформам, концепциям.
И становится вполне хорошим, годным специалистом. Зачастую даже не очень узким, а относительно многопрофильным. Вполне себе уважаемым.
Но так и не достигает вершины своего изначального потенциала.
И лишь в очень редких случаях умный, способный, в высшей степени самокритичный молодой человек с горящими глазами растёт ежегодно, ежечасно – и в итоге становится звездой. Бывает, что очень быстро становится «локальным светилом» – но не застывает, не ограничивается этим, а продолжает расти, развиваться, совершенствоваться.
Ах, как прекрасна эта картина – так и хочется смахнуть несуществующую слезу! Как прекрасен он, этот устремлённый в бесконечность молодой человек, своим духовным порывом приподнимающий самые небеса, в которые нацелен его всепроникающий взгляд!
Как счастливы люди, окружающие его, когда они понимают, сколь величествен его путь, и делают, в свою очередь, хоть два-три шага рядом с ним. Приближаясь хоть на волос к той прекрасной бесконечности возможностей, куда летит он на всех парах!
Как хочется видеть побольше горящих глаз, светлых умов, обращённых в эту бесконечность. Как хочется хотя бы немного помочь этим атлантам на их пути, хоть на мгновение поддержать, подтолкнуть ввысь, приблизить их к этой недостижимой и прекрасной цели.
И остаться внизу, с щемящей радостью наблюдая, как пронизывают они пространство и время в своём стремлении.
И знать, что хотя бы немного, хотя бы чуть-чуть – помог, поддержал, а не стоял в стороне, застывший в своём упоении собственной важностью, не бросал презрительных взглядов – «пхе… молодёжь..»