Архив автора: dimko

Глава 32. О техническом собеседовании

Столько мифов, столько мифов. Мне всегда было интересно, почему спичи о том как пройти техническое собеседование — в основном рассказывают рекрутеры и разного типа HRы. Я еще понимаю, когда рекрутеры рассказывают как пройти прескрининг с именно рекрутером, но ведь технические интервью — это ж прям интимный процесс между соискателем и технической стороны работодателя. А при всем уважении к рекрутерам, в технологиях они имеют скорее базовое представление, чем понимание что нужно знать.

Конечно же, все советы больше направленны на здравый смысл, аля готовьтесь ответить на вопрос о проектах которые вы делали, или если вас спросят про ценности компании, которые вы можете прочитать тут и тут, отвечайте то и, то . И очень правильные советы. Но все такие техническое собеседование, оно на то и техническое, чтоб про технологии говорить. А тут уже почти лотерея🙂

На моей памяти — ни один кандидат полностью не подходил под вакансию. Да и никто и не ждет, что вакансия будет 100% презентацией необходимого человека. Она скорее направление, в котором будет идти диалог (и то, перспектива туманная). Все вакансии, они как бы выражают ту боль, и те страдания, через которые проходила организация. Ну, и чем больше технологий требуется, тем больший ад твориться в репозиториях организации. Но это так, лирическое отступление. Вряд ли существует человек, который проходил те муки творчества, которые происходили в IT отделе любой организации. Потому ожидают, что человека скорее всего надо будет подучить. Подучить кончено же, у всех происходит по-разному: кто через буткампы, кто болью и страданиями.

Чем больше организация, тем более туманные требования для кандидата. Ну а че гонять человека по .NET, если .NET заберет 20 процентов времени, а все остальное — микс технологий + практически требования творческой само инициативы. Ну, круто же, если у вас будет в организации человек, который глянет на ваш .NET домик, и скажет:

— Епрстмикросоверисы, паттерны, деплоймент, давайте Go присобачим.

Вот из таких экспериментов, обычно организации начинают обновление технологий. Потому, если вы религиозный и рьяный монотехнологист, то скорее всего ожидать от вас технологических революций достаточно безнадежное дело. Но это мое личное мнение, и твоя мама может говорить тебе по-другому. Потому, как показывает практика, чем интереснее организация, тем менее предсказуемым для тебя будет техническое собеседование.

Но, всегда можно к нему подготовиться лучше. Когда я работал на Эпам, приезжал Виктор Дворкин (серый кардинал всея Эпам). Невероятно умный мужик, которого слушать было одно удовольствие. Так вот, он когда-то сказал классную фразу: «Везет только подготовленным спортсменам». Итак, %username%, давай я тебе расскажу как готовиться к собеседованию старый волк, технические знания которого далеки от совершенства.

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

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

Поверь, если ты знаешь, чем увлекается человек, который будет тебя собеседовать, ты уже практически прошел интервью:) Это как начать встречаться с девушкой, и она сразу тебе выдает базовый набор инструкций, которые с ней идут, аля:

1. Люблю цветы с большим бутоном, не желтые. Гвоздики терпеть не могу.
2. Шоколад только черный, содержание какао-зерен не ниже 85 процентов.
3. Эрогенная зона — ключицы.
4. Следующая ожидаемая дата дня беспричинного гнева — 21 октября.

И все, ты знаешь как спокойно жить, что дарить, с какой стороны подходить. Так и с интервьювером — знай его интересы.

3. Имея это знание, любое интервью можно направить в русло которое тебе необходимо. Рассказывая про проект, упомяни что-то из темы, которая интересует твоего интервьювера. Покажи интерес, приведи пример похожий на то, о чем он писал в блоге, или реализовал в github. Все, он у тебя на крючке — обмусоливай тему к которой ты готов.

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

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

Если с информацией тяжело — ищи информацию про компанию, блоги компании, все что они используют. Даже если ты в чем-то техническом не преуспел, у тебя будет возможность задать вопрос. Задай вопрос, на который ты знаешь ответ🙂 Дополняй. Интересуйся, или они делают эту штуку, а если не делают — рекомендуй делать.

Ну и финальное — к любому собеседованию надо готовиться. Просто готовиться можно или брутфорсом, или с оптимизациями. В целом, хорошо конечно знать много, но, поверь уж %username%, какой бы ты умный не был, тебя всегда можно загнать на собеседовании, если захотеть. Просто потому что, мнения есть разные, подходы тоже. Возможно ты читал не те же блоги, которые читал твой интервьювером.

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

#Сказочнофриланс 1

Ок. Я обещал писать про фриланс, и неделю я вынашивал идею как же все это описать. Чисто с академической точки зрения — я достаточно говняный лектор и учитель. Но. Как мне кажется я умею рассказывать истории. Потому, топики будут с историями, и уроками которые я для себя вынес. Как обычно, весь этот поток информации — это именно мои мысли, и мои размышления, ни коим образом не являются единственной истиной. У очень многих совершенно другой опыт + прошу заметить, что фриланс никогда не был единственным источником моих доходов. Ну и да: конечно же все истории вымышленные и созданы ради лайков.
======================================
Итак, где-где, а в Тайланде стоит писать о фрилансе. Тем более, что город и острова вокруг просто заполнены любителями по-серфить утром, поработать днем, покутить вечером. Ну и дзен поискать, куда уж без него.
Для меня фриланс начался после увольнения с первой компании, в которой я работал, с мыслью — я открою свою компанию, с блекджеком, и котом. Ну а че — я ж все знаю. Естественно, в своих мечтах я уже купался в деньгах, и нанимал десятки людей в день. Первое что я сделал, это пошел сделал долларовую карточку в Приватбанке. Cut a long story short — на эту карту не пришло не единого доллара.
Почему? Боги, я решил зарегестрироваться на Odesk ( теперешний Upwork ), freelance, elance, rentacoder … Это было самым легким. Я заполнил тысячи форм, прошел десятки тестов, и всюду подтверждал что я реальный человек. Что ж, пришла пора бидиться. Вот уж где реальность дает поджопник — прорваться через пучек индусов по 2 доллара в час было просто невозможно.
Потом я получил офер от компании SoftServe, и как-то отлегло:) Тем более для студента, сразу начать получать не хилую зарплату. Тогда это совершенно удовлетворило мое желание душа из денег:)
Собственно, к фрилансу я вернулся слушая своих коллег, которые рассказывали как можно заработать дополнительную копеечку, потому как денег всегда мало. Тогда я в серьез задумался насчет фриланса, но честно говоря, просто ради фриланса. Как площадку для себя я выбрал rentacoder ( потом ее переименуют в vworker, а потом ее купит freelance.com ), потому как она предполагала fixedprice проекты, без установки таймера ( на odesk такое было редкостью ), и там не было столько индусов как на freelance. Сейчас я не буду останавливаться на том, что такое рейтинг и как его добывать. Это материал другой кул стори. В целом, на нем я и остановился, и как и каждый фрилансер, немного побалывался odesk.
Сам фриланс у меня был волнообразный: я то набирал вагон проектов, то не брал ничего, и работал только на основной работе.
Самый длительный мой заказ, что удивительно пришел с LinkedIn, где меня наняла на удаленный проект киевская компания, и на ней фриланс проект я брал ради опыта в одной из технологий.
В конце-концов я перешел на площадку toptal, где в определенные моменты беру проекты.
За это время на фрилансе, я успел подучить несколько технологий, заработать определенное количество денег, сколотить команду, распустить команду, разочароваться, меня кинули несколько раз, построить крутые проекты, и перелопатить тонну говна. Прийти и уйти во фриланс несколько раз.
Потому, как вывод, хотел бы сказать, что каждый кто задумается о фрилансе, должен ответить для себя на кой черт он ему сдался:
1. Если вы хотите открыть компанию. Серьезно, очень много компаний начались с поиска проектов на odesk/upwork, freelance, ватевер другая биржа. ( алгоритм открытия компании мы обсудим). Например upwork предлагает вам зарегестрироваться как компании, показывать какие у вас сотрудники, и давать возможность зеленым жунам называться lead technology expert. Убирая моральную составляющую — можно сказать, что это работает. Конечно, это стартовая точка вашей компании, но в целом — очень даже отличный выбор.
2. Заработать дополнительную копейку. На фрилансе можно зарабаывать. Можно даже очень не хило. К примеру, на фрилансе у меня рейт больше чем в компании, в которой я на данный момент работаю. В целом, фриланс в даном случае для меня — возможность заработать на шальные расходы — типа захотел ололо ноутбук — купил. Ну или удобная подушка из денег, из которой можно выцеплять на spotify/netflix/wordpress. Капает, и ты себе этого особо не видишь.
3. Новая технология. Любую технологию можно выучить только практикуясь. Для меня это основная причина того, что я занимаюсь фрилансом. Не всегда на основной работе я занимаюсь тем, чем бы в идеале я бы хотел заниматься. Фриланс позволяет мне найти такую работу, за которую еще будут платить, как приятный бонус.
4. Уйти на 100% в фриланс. Вариант. Работаешь где хочешь, когда хочешь, с кем хочешь. Тут есть как тысяча плюсов, так и уйма минусов. Это мы тоже обсудим дальше. В любом случае, я знаю очень много людей, которые этим промышляют. Честно признаться, профессиональная деформация присутствует.
Каждый должен ответить себе — или ему нужен фриланс. Я для себя причины нашел, чего и вам желаю.

Глава 31. Об идее

Ты не знаешь когда тебя настигнет эта мысль. Ты можешь с ней проснуться. Ты можешь идти домой, и вдруг почувствовать энергию, которой достаточно для того чтоб передвинуть поезд. Ты уже видишь свое будущее в котором ни одной тучки. Да, это тот момент, в который к тебе пришла идея — «Я запилю свой продукт!». Продукт может быть чем угодно — это и мобильное приложение, и свой крутой SaaS сервис, да в конце — концов стандартная (в твоей голове она далеко не стандартная) сервисная компания, читай галера.

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

Проблемы начинаются в самом начале — в том, чтоб просто описать то что у тебя в голове. При чем оно бывает настолько забавно: ты то описываешь слишком много, то у тебя столько мыслей, но ни одна не ложится на бумагу.

Если ты описал слишком много — сидишь и думаешь с какой стороны приступить. В голову приходят мысли типа MVP, fail fast, и другие заморские рекомендации как обосраться, но с умом. И фичи выбрасывать жалко — вроде как Папа Карло рубящий нос Буратине. Но и понимаешь, что дофига. И откладываешь этот вопрос на завтра. В любой непонятной ситуации — ложись спать. Авось решение приснится, Менделееву же приснилось.

Если мыслей много — ты не знаешь как их описать, и какую стоит писать. И начинаешь строить дерево идей, с надеждой что когда распишешь — они как то сойдутся, синергия, все дела. А вот фиг. Когда дерево твоих идей начинает разворачиваться, и приходит вот вроде бы к точке объединения — фиг. Кентавр получился — в ресторан не сводит, и срет как конь. И есть у тебя два не похожих продукта, которые вроде как должны были быть одним. А как выбрать какой? Родители ж не говорят, кого из двух близнецов они любят больше.
И что? Правильно — ложишься спать, и вот та тема с Менделеевым.

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

Пришло утро, и тебе надо почистить зубы, позавтракать, и бежать на работу. По дороге на работу, да и во время ее ты предвкушаешь, как вернешься к своему детищу и будешь его огого как развивать. Может даже гуглишь конкурентов, и дергаешь какие — то юридические вопросы.

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

Все заканчивается когда ты решаешь проблему. Ты делаешь то, что ты задумал. Основной функцонал работает, данные пишутся, картинки рисуются. Ты вроде, как и доказал то, что хотел доказать. Идея реальна, ее можно запускать, и она что-то делает. А дальше? А дальше надо фиксать, делать красивенький интерфейсик, сайтик. Да и вообще подумать или такое людям нужно, найти пользователей, ну и остальные пункты из книг про выживание стартапов.

А дальше оно чаще всего не идет. Вот то, что вы видите насчет кучи провалившихся стартапов — это стартап который смог родиться. Уже огого какой прогресс. Я искренне уверен, что стартапы запускать только инженеры просто не должны. Инженер — он больше заинтересован в решении проблемы, в доказательстве теории, в борьбе с тем, что не работает. Главное — решить задачу. Не продать задачу. Не сделать ее красивой. А именно решить. Потому как родился инженером — паяй. Продают пускай другие. Ищут других инженеров тоже другие. Ну и вообще, заниматься надо тем — что нравится.

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

P.S: да-да, потихоньку продолжаем:)

Глава 1. Про програмістів

Я завжди вважав, що краще за все починати книгу з тих речей які ти краще за все знаєшь і розумієш. Але що перше бачить звичайна людина коли чує «IT»? Зазвичай, перш за все ми бачимо таких орлів в окулярах, які просіжують свою п’яту точку цілими днями перед компьютером, дивлячись в монітор виглядуючи в блимаючих символах картинки, як Танк з «Матриця». А як сів писати, то зрозумів, що описати постать программіста надзвичайно складно.

Ось, для людини, яка, наприклад, не працює сантехніком дуже легко описати усіх сантехніків світу: іноді пиячить, доброзичливий, знає дуже багато історій, не дуже охайний, і зовсім нікого і нічого не боїться. Тай це, певно, була одна з найперших професій, кіно про яку багато хто з нас знайшов в батьків на касеті.

Або ж поговоримо про водієв таксі: це люди з найкраще розвинутими аналітичними здібностями, політики від Бога, прекрасно водять машину, мають унікальну можливіть виживати в умовах повністю відсутнього комфорту і курити все що випускає дим.

Але, швидше за все і серед сантехніків, і серед таксистів є велика кількість людей, які захоплюються мистецтвом, архітектурою чи плетінням макраме. А ще вони можуть бути дуже адекватними, не пити, прибирати в своїй машині і не розмірковувати про політику (ладно, тут перегнув, зізнаюся).

Найпростіше сказати — програмісти, вони як таксисти, або сантехніки. Ось тільки в комп’ютері цілий день колупаються. Що унікального? Так зовсім нічого. Крім величезної кількості міфів навколо цієї професії. Ні, серйозно, ось тільки останнім часом, особливо у нас в країні, виникло фактів:
* IT сфера приносить 3 відсотки ВВП країни
* На тендітних плечах програмістів — до майбутнього країни!
* Тільки баги зупинять нас!

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

Що цікаво, IT сфера, вона ж не складається тільки з програмістів! Є ще тестувальники, дизайнери, проектні менеджера, бізнес аналітики, архітектори, і ще безліч професій, про які самі програмісти не завжди здогадуються. Обличчям ж IT вибрали чомусь нас — програмістів. Варто зауважити, що самі програмісти не дуже полюбляють, коли їх називають програмістами, їм все ж ближче звання — інженер. І не дай Бог вам назвати програміста — кодером. Цим ви покажете, що зовсім не поважаєте його роботу, знання, і навіть його руки злегка кривуваті.

Якось так вже вийшло, що тисячі програмістів нашої країни раптово перетворилися з «Чого ти цілий день там в комп’ютері сидиш, йди вже з хлопцями погуляй!» В предмет заздрості до професії у тих ж самих хлопців. Будь-яке планування, прийняття рішення або ж просто розмова про ціни в магазині дуже часто закінчується зітханням із словами: «А, ти ж айтішник, у тебе то все простіше!».

І насправді, сидять такі програмісти, оповиті міфами як боги скандинавські, і по-чесному живуть в своєму світі, якому рідко відомі проблеми простих смертних. Суть проста — у більшості зарплати прив’язані до курсу долара, тому, коли у нас в країні курс долара збільшився в три рази, більшість подумало: «О, круто! Тепер в три рази більше гривень ». І ніхто особливо зростання цін не помітив. Скорішь, навіть не так — помітили, поплакалися, але для кишені це не стало випробуванням, як для представників професій, зарплата яких до долара прив’язана хіба що купівлею доларів якщо щось залишилось.

Жінки чомусь вважають, що програмісти загалом чоловіки. Хоч це і не так, тому, як і зараз, і навіть 50 — 70 років тому жінок-програмістів вистачало, і програмували вони не гірше ніж чоловіки. З часом навіть була написана стаття про одруження на програмістах. При чому, від жінки з IT. Так ось, там програмісти оцінюються з точки зору зовнішності і наскільки гарні вони в ліжку, в розріхі технологій якими вони заробляють на життя. З тією швидкістю, з якою в нашій сфері з’являються технології, боюся, що блогерша може стертися, намагаючись тримати свою базу даних в оновленому стані.

Але навіть з такою славою, ми знаходимося далеко не на першому місці в топі жіночих фантазій. Дружина юриста, артиста, фінансиста або депутата звучить набагато ефектніше, ніж дружина програміста. Тому в рейтингу найзавидніших наречених ми посідаємо шикарне місце десь між вантажником і «головне, щоб не пив». Про жінок ми поговоримо пізніше, відразу після глави про котів.

Що добре в світі програмістів — так це те, що в нас ще не вмерла романтика вибору професії. Можливо, тому що сфера молода, а можливо, ми цей романтизм утримуємо і не дамо йому померти. Ми справді віримо, що люди повинні вибирати професію програміста тільки за покликом серця. Звичайно, в професії дуже багато людей, які туди потрапили, не тому що їм дуже цікаво цілий день сидіти біля монітора, длубаючись в хитросплетінні покажчиків на ту чи іншу область пам’яті або гризучи ненависний CSS. Є люди, які прийшли сюди тому що батьки сказали, чи вони захотіли трохи більше грошей, ніж вони б отримували, працюючи в іншому місці. Це їхня справа, і вони можливо полюблять цю професію, а можливо і ні. І це не робить їх поганими професіоналами, іноді прагматичний і холоднокровний підхід набагато краще, ніж божевільні ідеї IT-романтика. Але все ж, в світі IT дуже багато людей, які дійсно вважають IT справою всього свого життя, і вони дійсно не ходять на роботу. Вони ходять в місце, де тепло, безкоштовний чай і не смачна кава, і величезна кількість людей, які так само, як і вони, не прийшли на роботу. Вони так живуть, вони дійсно переживають за проект, на якому вони працюють, як за власний. Вони готові сидіти довше і приходити раніше, тільки щоб спринт закінчився вчасно, і щоб все заплановане працювало. І по дорозі додому, швидше за все, вони не думають про те, що ж з’їсти, а думають про те як ж прискорити цей шматок коду, тому що екран мерехтить. Багато разів в моєму житті мені снилося вирішення проблеми, над якою я бився тиждень. Одного разу мені навіть наснилось, як я вирішую цю проблему, тому прокинувшись з почуттям виконаного обов’язку, я перше, що зробив на роботі, закрив баг в тест трекінг системі і звичайно в результаті отримав наганяй від нашого тестувальника.

І не треба мені ось тикати, що програмісти скиглії, трактори заводять, що не патріоти, і взагалі — розкуркулювати їх пора (тру сторі виникла в одному з діалогів) — про це все ми поговоримо. А поки — спасибі, що подужали першу главу. Далі я й сам не впевнений як воно піде, але будемо бачити:)

Глава 30. О написании книги

 

Привет, читатель. Знаешь, читатель, очень круто было бы узнать, что есть люди, которые прочитали все главы. Сегодня я решил закончить первую редакцию книги, которая пока еще не имеет названия. Мне кажется «Unnamed Book 1» — прекрасное название. Потому с этим названием и поплывем.

Читать далее

Отряд Самоубийц

В пятницу посмотрел этот фильм, и вышел с него с настолько отличным настроением, что честно говоря был сильно удивлен. Обычно мне не нравятся фильмы DC. Но, конечно же, самым продаваемым в фильме был образ Харли Квинн, и конечно же трейлер под «Bohemian Rhapsody». Такое ощущение, что эта музыка вообще была написани именно под этот фильм:)

Дальше спойлеры!  Читать далее

Глава 29. О Джаваскриптизерах

(читать попивая виски и грустно куря сигарету)

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

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

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

Короче, технический специалист показывает тебе листок с кодом, и спрашивает: «Что делает этот код?». Ты смотришь на это и понимаешь, что в целом, вообще плохо что этот код существует. И единственное, что хочется ответить на вопрос про предназначение этого кода: «Он отбирает время, оставшееся тебе на жизнь». Ведь кто—то этот ужасный код написал. И этот код настолько ужасен, что надо действительно потратить невероятно много времени, чтоб придумать такое говно. Да черт возьми, иногда показывают такие куски, что их в пору отвозить в кунсткамеру, и показывать студентам программистам на что люди, получающие большие зарплаты, тратят свое время. И вот, как только проходит первый шок от такого кода, ты все же пытаешься его прочитать, и предположить — что ж в конце концов он делает. Скорее всего — хрен ты догадаешься значение этого безумного куска фантазии. Помните, в «Девять принцев Амбера» был лабиринт, придуманный безумным Дворкиным. Кто его пройдет — получает возможность перемещаться между измерениями. Только в этом случае это не безумный Дворкин, а человек, который вроде как крутой технарь в этой компании.

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

Я очень долго пытался понять причину того, почему мы делаем все, чтоб люди писали красивый, легко читаемый код, но при этом показываем отвратительный код, который человек должен понимать. И тут хрен знает, что лучше. Если он его понимает — может он такой и пишет, и он совсем не шарит, что код плохой. Нормальный, че. Я сто раз такой писал. А если не понимает — может он не понимает внутренних конструкций языка? Что, черт побери, показывает скил по чтению уродского кода? Это, как если бы хирурга, попросили провести операцию на позвоночник, в плацкарте вилкой. Надо когда—нибудь пойти на собеседование, ответить на вопросы, прочитать говняный код, и когда интервьювер спросит или у тебя есть к нему вопросы начать интервьювать его. И попросить написать код. А вдруг у них на проекте все так пишут?

Ну и да, почему джаваскриптизеры. В каждом языке есть конструкции, которые непонятно почему вообще существуют. Есть целые блоги посвященные глупостям, которые можно написать на этих технологиях. Но только во время интревью связанному с позициями JavaScript программиста, тебя могут интервьювать полностью такими вот идиотскими заданиями. Не на логику. Не на алгоритмы. А просто идиотским кодом. Однажды я спросил — зачем вы мне вообще такой код показываете? На что я получил ответ, который все никак не уходит у меня из головы: «Знаешь, у нас в коммьюнити есть такие особые люди. Они не любят делать все стандартным путем. Это просто. Они ищут изощрённые решения, и называют их красивыми. Так вот, в таком надо разбираться, чтоб никогда так не делать.». Понимаете? Если б мне не показали такой код, я б вообще не догадался что так возможно писать. А тут, мне показывают как можно, но чтоб нельзя.

Когда—то, известный комик, Павел Воля в одном из своих выступлений сказал: «Простите Владимир Владимирович. Мы — рукожопы.». Иногда я думаю, что нам, JavaScript программистам стоит встать, и всему IT сообществу сказать: «Ребят, у нас тут своя атмосфера. Мы — рукожопы». Просто, потому что заставляем людей разбираться в коде, который никто и никогда не хотел бы написать. А то реально стыдно.