Вы безумны, остановитесь пока не поздно

image

Привет Хабр! Всего каких-то пару лет назад на страницах нашего любимого ресурса красовались вдохновляющие статьи успешного успеха, как вчерашний сантехник / таксист / сварщик / сутенёр успешно интегрировался в IT сообщество и начал зарабатывать 100500$ в секунду левой пяткой. Здорово, не правда ли? Но всё ли так радужно с этими историями с точки зрения действующих разработчиков? Прошу под кат.


Ты кто такой?


Позвольте представиться. Я являюсь обычным .NET-разработчиком в рядовой государственной компании, основным способом заработка которой является разработка программного обеспечения. За спиной оконченный с отличием %City%ГТУ где-то за МКАДом, служба в рядах Вооружённых Сил России, и мечтания о светлом будущем. Звёзд с неба не хватаю и на роль нового Короля разработки не претендую (привет Фил).

Как и многие, я познакомился с программированием ещё в школьные годы. Правда, в силу возраста, я начинал с Pascal в красивой IDE. Потом были поделки калькуляторов всех мастей на Delphi, которые даже использовались при решении домашних задач по математике. Потом учёба в университете, великий и могучий C++, понимание что всё тлен и путешествие в чудесный мир C# с LINQ и асинхронностью.

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

Но что происходит сейчас в мире информационных технологий? На каждом углу реклама курсов, которые сделают из тебя настоящего программиста за 21 день с гарантированным трудоустройством сразу на позицию %Language% Middle-Developer. Разговоры о том, что программировать уже нечего, достаточно только объединить готовые решения, заботливо скомпилировав и отправив в удалённый репозиторий. Разглагольствования некоторых медийных личностей, утверждающих что программисты больше не нужны (вы поняли о ком я), на фоне разговоров о безумных зарплатах в IT. И даже крупные компании, такие как Google, вносят сумбур. Какое-то время назад я посмеивался над этим, но уже не до смеха…

Так больше продолжаться не может


Всё началось с желания моего хорошего друга стать крутым разработчиком, пускай это будет Алексей. Алексей — амбициозный парень в возрасте 25+, окончивший 11 классов и не доучившийся в техникуме на технической специальности, не имеющей с IT ничего общего. Я, как единственный знакомый программист, был привлечён консультантом по новому для него миру. Главный вопрос был с чего начать и что делать. Я конечно же начал советовать читать умные книги, но этот способ не подошёл. Алексею не хватало усидчивости вчитываться в каждое слово, поэтому абзацы и даже целые главы читались по диагонали без единой попытки перевести код со страниц в IDE с красивой подсветкой. Если человек не видит результат, он начинает искать серебряную пулю. Так вышло и в этой ситуации. Был оплачен доступ к популярному онлайн-ресурсу, предлагающему задачи для решения в онлайн-компиляторе. Но роста не было, как оказалось не было понимания базовых вещей. Алексей не опускал руки и упорно продолжал долбиться в закрытые двери, при этом моей виной было непонимание этого аспекта, и последовавшая за этим фатальная ошибка — предложение поехать туда, где водятся программисты, в надежде устроиться стажёром. Приехав в большой город, Алексей тут же приступил к поиску работы. Но к большому сожалению (этого следовало ожидать), предложений по работе не поступало. Через какое-то время Алексей решил, что нужно что-то более действенное, и начал искать новую серебряную пулю. Этой серебряной пулей оказался один из многочисленных онлайн-курсов по программированию.

Без имён и фамилий


По правде сказать, я отнёсся к этой затее с большим недоверием. Но контракт уже подписан, группа таких же вайтишников набрана, галера несётся в светлое будущее. И так, что из себя представляют эти курсы. Кратко — подготовка будущих «специалистов» к собеседованию, с попытками направить человека в нужные темы в надежде дать понимание глубоких механизмов языка. Да, именно языка. В понимании местной публики программиста программистом делает знание языка и его фреймворков, не более. Тут стоит оговориться о слушателях этих курсов. Я был свидетелем знакомства группы. Как и ожидалось, люди достаточно разношерстные, разных возрастов (были очень немолодые), полов и профессий, 90% из которых о языках программирования услышали только вчера. Но всех их объединяло одно — желание стать Middle-разработчиком с заработной платой от 100 000 рублей по окончании курсов. Достаточно амбициозно и смешно, подумал я про себя. Судя по лёгкой улыбке на лице владельца курсов на том конце монитора при озвучивании желаний, уверен, он думал точно так же.

Прошло время, слушателей пичкали информацией с онлайн-курсов, расположенных на популярных платформах (интересно, авторское право соблюдено?), каждому дали наставника, который должен был учить и «строго» экзаменовать. В конце курсов предполагалась практика на «боевом» проекте длительностью несколько недель, для закрепления знаний. Пришло время выпуска, мне было интересно чем это всё закончится. И тут мне в руки попало видео с закрытого разговора владельца курсов, который опрашивал бывших выпускников на предмет их текущих успехов. И тут я, мягко говоря, очень удивился. Для некоторых соискателей, нет ничего сложного в собеседованиях, по их словам. Максимум что могут спросить по их мнению, это, например, что такое коллекция и что такое список. На вопрос о сложных темах, таких как многопоточность, отвечают, что это сложно и проще просто выучить, как я понимаю речь идёт о заучивании определений. Team Lead по их мнению, это этакий менеджер, который тупо получает деньги и что-то там рассказывает команде, поэтому почему бы и не стать им сразу. Духовный лидер же подначивает кандидатов в IT: «Нужно торговаться на собеседованиях, 150 не деньги».

Стоит оговориться, что на вопрос оценки их знаний, каждый оценивал себя на 7-8 баллов из 10, при этом рассуждая о базовых вещах. Синдром самозванца — не про них.

Мошенничество или лайфхак?


Мне был интересен вопрос, каким образом будут позиционировать людей после курсов, обладающих нулевым опытом, но жаждущих позиции Middle-разработчика? Всё просто, им нарисовали год опыта работы в компании! Да, вот так просто. Гугл ничего не знает об этой организации, от слова совсем. Ни единого упоминания, количество найденных страниц всего одна, ведущая на какой-то агрегатор случайных слов. Ну да ладно, настоящего самозванца точно выявят на собеседовании, не зря на Хабре столько статей от HR’ов и разработчиков с историями о том, как «правильно» собеседовать. К огромному сожалению, оказалось что всё это не более чем трёп о сферическом коне в вакууме. Уж простите.

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

Сбербанк. Да, этот мастодонт принял несколько таких специалистов к себе в штат на должности разработчиков. И не абы каких, а самых настоящих «старших инженеров». Это в то время, когда появляются статьи о сливах данных пользователей и гневных заявлений что пропадают деньги с карточек, лежащих на верхней полке антресоли в книге с двойным дном. Я всегда думал на этот счёт, что там работают высококлассные спецы, блог которых я читал и восхищался, а деньги пропадают только из-за неграмотности пользователей. Возможно это так и есть, но кредит доверия потерян.

МТС Банк. Данная организация предложила по результатам собеседования должность Senior-разработчика ещё одному соискателю. Хорошо, Middle-разработчик это хоть и самостоятельная боевая единица, но за ним всё равно приглядывают старшие коллеги. Но Senior-разработчик, это человек, который может управлять другими людьми и принимать решения. Вы с ума сошли? Какие решения может принимать человек, который понятия не имеет что такое настоящая работа программистом, да ещё и учить других жизни?

И ряд других компаний.

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

Чем это плохо?


Качество кадров. Это главное. От качества кадров зависит качество продукта, качество кодовой базы, безопасность, производительность. Это взгляд со стороны разработчика. Со стороны бизнеса, это скорость разработки, потому что для неопытного разработчика все задачи будут в новинку, соответственно решения задач будут занимать гораздо больше времени, и не только своего. Это очевидно. Заберись такой «бриллиант» повыше, и весь этот поток /*цензура*/ кода польётся в продакшн без код ревью на радость пользователям и людям, которые будут это поддерживать в будущем.

А какое решение?


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

Очнуться всем тем, кто подписывается под рекламой подобного. Уверен, эти люди рассуждают о том, что они вне конкуренции. Опытные разработчики, прошедшие через огонь и медные трубы. Только вот один вопрос: зачем платить такие деньги опытному программисту, если то же самое сделает вайтишник, но гораздо дешевле. И плевать что решение будет, мягко говоря, не оптимальное, и даже не факт, что безопасное. Про best practice я вообще молчу.

Тем, кто принимает решения об оффере, внимательно смотреть на опыт работы и реальные навыки, образование наконец. Резюме этих людей не содержат ссылки на репозитории с их pet projects, потому что их нет. Зато пестрят названиями самых актуальных инструментов, используемых в разработке. Всё по методичкам от умных HR, как сделать классное резюме. Уличить в обмане — реально сложно, потому что их пичкают информацией о том, как обмануть систему с непоколебимым видом. При этом им придумывают легенду о предыдущем месте работы с предположительными вопросами от интервьюера и вариантами ответа.

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

Вместо заключения


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

Среднестатистический выпускник ВУЗа (рассматриваем только тех кто реально учился) идёт на зарплату в 40-80к в надежде почерпнуть хоть маломальский опыт работы для дальнейшего роста, понимая что больше он не стоит. Зато самозванец на полном серьёзе претендует на место «старшего инженера». Если это правила игры — я их не понимаю. Не забывайте, это бизнес, который зарабатывает на том, что актуально. Если завтра будет актуально быть мясником, появятся соответствующие курсы как грибы после дождя, и вероятнее всего с теми же наставниками.

Рекомендация владельцам курсов: предлагаю открыть курсы подготовки хирургов длительностью 3 месяца, независимо от образования. Пользуйтесь. Там же ничего сложно, бери в руку скальпель и режь, а другие хирурги покажут как надо уже в больнице, ведь неделя практики даёт те же знания что и год университета, давно известный факт. Но это уже другая история…

Комментарии 855

    +30
    Фил, АСТАНАВИСЬ.
      –2

      А что сразу АСТА?


      Зы. Вообще не понял о чем статья. Формально — о том, как люди обманывают работодателя, делая себе фальшивый опыт. Хотя, по существу — человек либо умеет работать — либо не умеет.


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

        +41
        >Буквально за несколько минут общения — смотришь, как он считает, что он говорит, как отвечает на вопросы — и вуаля.

        Если бы это так работало — отрасль была бы в шоколаде, регулярно покатываясь под столом от попыток очередных Остапов Бендеров, ну, или просто наивных ниасиляторов («я-не-трачу-время-на-муть-типа-Кнута-я-просмотрел-стопицот-видеоуроков») зайти в. Но это не так — я лично неоднократно наблюдал, как в компании на работу принимают по признаку «знает модные термины и определения наизусть» и «готов работать в команде и разделяет ценности компании». Точка. Умные не нужны, нужны покладистые и чтобы букаф умных знали. В результате реальную работу делают одни, а остальные нужны для того, чтобы у менеджеров и тимлидов, имитирующих бурный скрам было количество юнитов, потребное для имитации этого самого скрама.
          +31
          Точка. Умные не нужны, нужны покладистые и чтобы букаф умных знали.

          Да, в компании действительно нужны РАЗНЫЕ работники. Умные и не очень — для разных целей.


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


          Так что не надо кивать на энчаров — современный бизнес имеет много гитик.

            +1
            +100500
            Главное это грамотно поставленная цель и ее решение
              +6
              и за пару дней объект готов.

              Если сравнивать ручную и машинную штукатурку то разница лишь в скорости замеса и накидывания смеси на стену это не более 20% общего времени.

              И именно часть от этих 20% машина и может сэкономить (если не будет отключений света :), когда в машине и шланге пропадёт несколько мешков смеси )

              Если результат с машиной получается кратно быстрее, то скорее всего халтура проявляется в других местах (точность маяков, прямота углов, незатёртая поверхность, неровные откосы, неизвлечение маяков, отсутсвие предварительных работ (грунтование, сетки, бетонконтакт, покраска металлических частей выступающая арматура или хвостики от вязальной проволоки ) или неочищенный объект после).
                0
                Если сравнивать ручную и машинную штукатурку то разница лишь в скорости замеса и накидывания смеси на стену это не более 20% общего времени.

                Очень ошибочное представление. Я бы оценил разницу в скорости примерно в четыре раза* (Между специализирующейся на штукатурке командой и обычными строительными рабочими) Скорость достигается из-за снижения количества маяков — опытный специалист может работать без них. Попутно это ведет к уменьшению намета.

                  +4
                  (Между специализирующейся на штукатурке командой и обычными строительными рабочими)

                  Я сравниваю профессионалов которые 10 лет в штукатурке.
                  Идентичные команды: одна с машиной, а вторая с ручным миксером с бадьёй. И с идентичным по качеству результатом.
                  Нельзя сравнивать штукатурщика с машиной и эникейщика с правилом (что является подменой понятий ибо «обычные строительные рабочие» (и что это значит? таких техникумы не выпускают ) сделают халтуру что с машиной, что без неё, что с маяками, что без них).

                  Второй момент, я сильно сомневаюсь в качестве работ без маяков. Банально даже, что бы сохранить угол в 90 градусов (что бы кафель положить), когда по стене идёт перепад 1-4 см слое например. Я бы с удовольствием посмотрел как происходит штукатурка без маяков, а потом как на эти же самые углы укладывается кафель. Сужу не как профессионал, а как наблюдатель множества строек и как заказчик. Работа очень специфическая, со множеством неочевидных особенностей и требований.
                    +3
                    и что это значит? таких техникумы не выпускают...

                    Какие техникумы, о чем вы вообще? Строительных рабочих с образованием я не вижу на стройке уже лет двадцать — перевелись как класс, с кончиной СССР.

                      +18
                      Строительных рабочих с образованием я не вижу на стройке уже лет двадцать — перевелись как класс, с кончиной СССР

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

                      У меня вся улица строится. Соседи постоянно жалуются на самозванцев, которые ничего не умеют и только материалы портят.
                        +1
                        Угу, и получаем «Алые паруса» за конские деньги (халупа бызныс-класса, не хрен собачий), уплывающие в реку и роняющая лифты.
                          –1
                          По поводу антисептика для древесины добавлю свое имхо:
                          если древесина была в камерной сушке (т.е. вы весь процесс проконтролировали: заготовка, распиловка, сушка, строжка), тогда антисептировать ее не требуется (скорее это уже «перебздеть»). Ну и работать согласно кодам мало кто может (единицы). Даже я сам себе строя косячу подзабивая(подзабивая) на некоторые моменты кодов (например, если ставишь укосину, то она не упираться должна в нижнюю обвязку, а врезаться в нее).
                          К чему я тут свой коммент вставил? Друзья, на самом деле нам нужно во всех сферах пересмотреть:
                          1. Подготовку специалистов
                          2. Обеспечивать практику во время учебы
                          3. Пересмотреть стандарты работ (не важно, строитель ты или программист)
                          4. Без единой электронной корочки не допускать к работам
                          5. Без инспекторов по труду никак (по крайней мере в оффлайновых темах типа стройки)
                          6. Почасовая оплата во всех отраслях, а не зарплата окладная и премиальная

                          Курсы по %предметная область% кругом. Да в той же Финляндии за год-полтара любой профессии обучают вполне сносно, выдают корочку и только тогда ты можешь менять лампочки или красить стены. Или допускаешься к огневым работам Tulityökurssi (болгаркой пилить, горелкой плавить рубероид), с карточкой Työturvallisuuskurssi после курсов. И там не отволынишь. Обязан выучить, попрактиковаться, сдать экзамен.

                          К примеру ВОДИТЕЛЬ КАТЕГОРИИ D — автобуса в Финляндии допускается к перевозке пассажиров после полутора лет обучения, кучи экзаменов и постоянной практики. Год обучения — уже есть категория, можешь себе купить автобус и себя лично возить на нем, но пассажиров не имеешь права. Пассажиров сможешь возить только после сдачи итогового экзамена (!) очень сложного. Конкурс на место водителя автобуса до 30 человек (!). Набирают группу, из которой больше половины в процессе отсеиваются. Тебе за обучение платит государство, чтобы ты хорошо учился.
                          Выучился, сдал все экзамены (техника безопасности, первая помощь и экстренные ситуации, ПДД, практика вождения, общение с пассажирами, психология, работа с деньгами и кассой, билатами, иностранные языки (несколько — основные фразы и т.д.и т.п.)). Сравните, как у нас легко получить категорию и сесть за руль любому дурачку ;)
                            0
                            ВОДИТЕЛЬ КАТЕГОРИИ D — автобуса в Финляндии допускается к перевозке пассажиров после полутора лет обучения, кучи экзаменов и постоянной практики

                            Конкурс на место водителя автобуса до 30 человек (!).

                            Что такого хорошего есть в вождении автобуса в Финляндии, что при таких сложностях такой конкурс?

                              +1
                              Отсутствие формальных критериев типа высшего и/или среднего специального образования. Как следствие — низкий материальный ценз.
                              +2
                              Идея ОЧЕНЬ правильная, но в реалиях нашей Родины превратится в невероятнейшую коррупционную машину! Уже сейчас во многих отраслях работать тупо некогда: комиссии, проверки, лицензии. разрешения, надо штат в 10 человек держать только на обслуживание бумаг! При этом можно тупо отвалить денег (много) и к тебе никто не приходит, твори любую х****ю! (с)

                              Для реализации этой схемы нужно, чтоб каждый человек понимал, что рано или поздно его (или членов его семьи) повезет тот самый водитель автобуса, по дорогое, на которой в этот момент будет ехать он сам (или члены его семьи), а вокруг будут ходить люди (он сам… ну вы поняли). В противном случае — имеем, что имеем…
                                0
                                Для реализации этой схемы нужно, чтоб каждый человек понимал, что рано или поздно его (или членов его семьи) повезет тот самый водитель автобуса

                                Вы же видите, что это не работает? Это даже с жилищно-коммунальным хозяйством не работает. «Хорошо известный прецедент, даже в кино отражён»
                                  0

                                  Так я об этом и говорю! Чтобы это работало, нужно не "создать комиссию", а чтобы "общество дозрело". Там, где оно дозрело — и в ЖКХ не воруют, и подъезд не обоссан, и комиссия проверяет реально ли что-то делается, а не взятки собирает.

                            +2
                            А там где вы смотрите платят нормально, чтобы рабочие с образованием были? А то бывает что хотят профессионалов а платят как джунам, а чего, рынок же
                              +1
                              платят нормально

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

                              И часто квалификация исполнителей очень нелинейно зависит от оплаты. Например, бывает что узкоспециализированные оценивают свою работу недорого (за объем), но квалификация позволяет выполнять работу быстро и зарабатывать больше за месяц.
                              Сильный сезонный фактор. Иногда бывает (ноябрь-декабрь) что кровельщиков не найдешь ни за какие деньги. Ранней весной никому не нужны штукатуры. Зимой не пользуется спросом монолитные работы. А например рынок вентиляции у нас «премиальный», и тонкий, потому и цена работ — стабильно высокая, а подрядчиков — мало.
                              А в целом, больше х*2 получают люди с доказанным и большим портфолио. Обычно, перед знакомством, высылают пак селфи на фоне фото выполненных работ на вайбер.
                              Бывает такое, что если без проекта то цена монолитных работ например 800грн за куб бетона. А если по проекту, то те же самые исполнители перемножат опалубку/арматуру/приём (потому что в проекте всё это сведено в таблицу) етц в итоге бюджет вырастает втроё. Всегда больше попросят «по знакомству», «соседи», «Друзья друзей» и подобные шаблоны, почему так — не понятно, да и качество исполнения хуже чем попросить рекомендацию спеца у дистрибьютора.
                                0
                                «Всегда больше попросят «по знакомству», «соседи», «Друзья друзей» и подобные шаблоны, почему так — не понятно»
                                Когда просят по компам, я часто так делаю — чтобы отвязались, а если согласятся — так хоть денег подниму.
                        +3
                        О! Спасибо! Узнал для себя пару моментов о технологии нанесения штукатурки :)
                          0
                          Дайте мне бригаду из 2-3 человек, которые вручную поставят маяки и сделают штукатурку на 150+ квадратов в день, и я переверну этот мир!

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

                        А с другой, прием на работу по принципу «знает умные слова» тоже имеет место. Но не обязательно это совмещается в одном и том же месте.
                          +6
                          Если ЭТО прокатывает в области, то это говорит лишь об опыте и умении (скорее НЕумении) набора кадров. Видимо, не умеют от слова «совсем». Ну и финансы компании позволяют держать тех, против кого выступает автор статьи.

                          Личный опыт
                          Исходя из своего личного опыта, приём на работу в крупные конторы проходит в несколько этапов. Сначала HR-ы, которые задают стандартные вопросы и бездумно записывают результаты. Потом, после HR-а, идёт техническое собеседование. А там уже могут погонять по терминологии, по основным контейнерам C++ (в Java SE — по коллекциям, когда пытался из Java дёрнуться в C# — требовали Рихтера). Но самое главное — никогда не давали пройти в контору без проверки умения решать задания. Как логические, так и конкретные. Можно выучить все логические задачи и их решения, можно выучить терминологию, но решению задач не научишь «мгновенно» (за пару месяцев некоего абстрактного тракториста с образованием 8 классов из 9 средней школы). Пример: берём логическую задачу (те же 8 шаров, из которых один иного веса и 2 взвешивания) и меняем её параметры. Смотрим — есть ли понимание в голове или тупо, как стихи, заучена. Если заучена — это станет понятно. Если есть понимание — тоже станет ясно. Решение, без наличия интеллекта, на изменённые (лучше несколько раз изменённые) задачи вы не получите.

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

                          А вот почему «прокатывает» найм человека по вызубренной терминологии без умения работать головой — так это обратная сторона другого массового безумия: когда опытного, хорошо и грамотно пишущего код программиста «закапывает» некий недоучка-интервьюер тем, что кандидат не может, с академической точностью, ответить на какой-то вопрос из разряда «вопрос двухсекундного гугления», который только что прочитан интервьюером и после неправильного ответа на который интервьюер закатывает глаза (потом объявляя коллегам о кандидате: «омагад, он два плюс два сложить не может!») и прямо перед кандидатом или после ухода кандидата ставит «минус» на резюме.

                          Проблема \"критических вопросов \" двухсекундного гугления
                          И ладно бы вопросы были часто из разряда: «в каком методе и какого класса фреймворка ZZZ делает <очень_редко_используемая_в_реальной_работе_функциональность>?». Это можно нагуглить за 2 секунды и работать дальше без этого, но кандидат поймёт, что в такой конторе работать не надо, в которой наизусть надо помнить все методы всех 2699 классов уже устаревшего фреймворка. Так ведь нет! Иногда, зачем-то, начинают спрашивать примитивщину, от которой (скорее, от внутреннего сопротивления и вопроса «Зачем у меня спрашивают ерунду? Почему не задают серьёзных и требующих размышлений вопросов?!») бывает, что даже простая вещь, за ненадобностью, вылетает из головы, но кандидата могут не взять из-за терминологии при наличии реального опыта, но возьмут вызубрившего азы «тракториста».

                          Про pet-проекты
                          Про pet-проекты. Лично я работаю за деньги. Само по себе написание кода у меня не вызывает ни восторга, ни ненависти. Да и вообще я не слишком эмоциональный. Писать просто так я не вижу необходимости, мне хватает кода на работе и переработках. Потому — у меня не будет «pet-проектов», пока я сам не захочу. Да, у меня есть домашние проекты, которые я писал (в прошлом) лично для реализации своих хотелок, но я не хочу и не буду их выкладывать в общий доступ. Раньше выкладывал в «гуглокод», но вовремя перестал. Почему это является показателем «успешности и опыта» — непонятно. У «вайтишников», как раз, будет много проектов на гитхабе и прочих хранилищах. Даже качественно переделанных, с переставленными последовательностями методов, переименованными методами и классами, которые он не сможет объяснить при достаточно объёмных проектах, но наличие этих проектов автор зачёл бы как плюс. Почему? Вопрос…
                            +7
                            кандидата могут не взять из-за терминологии при наличии реального опыта, но возьмут вызубрившего азы «тракториста»

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

                              Вот над задачей о шарах я что-то залип. Бинарным поиском только три взвешивания прокатывают (4-4, 2-2, 1-1)

                                +1

                                если заранее известно, в какую сторону отклоняется вес неправильного шара — то можно за два

                                  0

                                  Вот и завалили вы собеседование у этого собеседователя :)

                                    +6

                                    Вот и помер дед Максим, да и хрен бы с ним Ⓒ


                                    Шары надо поделить на три группы (3, 3, 2). Потом взвесить обе тройки. Если они равны — то взвесить двойку, там найдётся. Если они не равны, то взвесить два из более тяжёлой тройки. Либо более тяжелый среди взвешенных, либо тот, что остался на столе.


                                    Беда в том, что во-первых нужно постулировать, в какую сторону отличается шар, как сказал Static_electro, во-вторых, если я код с такой логикой на куче условий залеплю в прод вместо вызова бинарного или другого поиска, и мы при этом не пишем какую-то сверхпроизводительную штуку на ассемблере с требованием выполнения за ≤0.01с — меня коллеги будут пинать ногами за такие приколы :-)

                                      0

                                      Ну блин и зачем) мне интереснее было бы на собесе помучаться

                                        0
                                        Шары надо поделить на три группы (3, 3, 2). Потом взвесить обе тройки. Если они равны — то взвесить двойку, там найдётся.

                                        Так уже три взвешивания, а потом ещё взвешивание…
                                          0

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

                                            +2

                                            А почему вы предлагаете брать именно более тяжёлую тройку? Это срабатывает только если вы знаете в какую сторону отклонение.

                                              0
                                              Это же крайне плохое решение. Ну потому что вы всегда будете мерить 3 и 3 шара. А это всегда обращение к 6 «объектам» из 8. Это же ужасно… Зачем это?
                                                0
                                                потому что лично у меня 1 взвешивание — это на кухонные электронные или электронные с крючком весы — кладёшь\цепляешь продукт и смотришь вес, а тут старая древняя задачка где весы аля противовес и которые я последний раз держал лет 15 назад в школе на уроке химии или физики, как на таких весах взвесить 6 шаров за 1 раз?)
                                              +3
                                              А в жизни это будет
                                              var heavyBall = allBalls.Max(b => b.Weight);

                                              И знать ЭТО зачастую важнее.
                                            0
                                            2-2(2,1), второе взвешивание — по результату.
                                              +2

                                              Лови вайтишника! :D

                                                0
                                                Без знания о том легче неправильный шар или тяжелее — за 2 взвешивания не решить.
                                                Если это известно, то — можно.
                                                  0
                                                  Без знания о том легче неправильный шар или тяжелее нужно 3 взвешивания — всего на 1 больше.
                                                  +1
                                                  А там не бинарный поиск. Там троичный поиск.
                                                  У вас не «равно», «не равно», а «больше», «меньше», «равно».
                                                  Деленное пополам(две чаши).
                                                  Соответственно, за два взвешивания можно определенить ,3*3/2 = 4.5 шара.
                                                  4 — если нет эталонов веса, 5 — если есть.
                                                  За три взевешивания — 3^3/2 = 13.5
                                                  13 — без эталонов веса, 14 — с эталоном. Т.е. 14 неизвестных + 1 эталон.
                                                    0
                                                    Тернарный поиск там…
                                                    0
                                                    Окей, проблема понятна. А есть решения или хотя бы предположения как решать? Что делать аутистам вроде меня без софт скиллов? Я не супер скиллованный ботан, но в ВУЗе я уже на втором курсе делал лабы магистрам и сдавал матлогику и алгоритмы на отлично, появившись на парах за сем три раза. Просто потому, что активно применял это на практике. А сейчас я разослал пол сотни откликов и ни одного приглашения на собеседование. А я не тракторист и не хочу даже получать 80к, я даже на 30к согласен, просто потому что ЛЮБЛЮ кодить. Но не умею себя продавать. И, да, это не регионы, это Питер.
                                                      0
                                                      А на чем пишете и под какие платформы? :)
                                                        +2
                                                        C++, Python с недавних пор, под десктоп. Игрового бота вот недавно на пайтоне написал, рогалик свой попиливаю. С numpy и pandas разобрался, ковыряю OpenCV, чтобы бот умнее был.
                                                        А опыта работы в компании нет, ибо «для первой работы нужен опыт, для опыта нужна первая работа»
                                                          +1
                                                          Мало просишь)
                                                          Да и резюме по красочнее надо расписать.
                                                          Прям в «обо мне» прямо и пиши, мол делаю такие то крутые вещи, на том то и том то.

                                                          Главное не пиши всякую лабуду в духе «Трудолюбив, активен и вообще звезда».

                                                          С++ — хорошо, питон — еще лучше. Советую обратить внимание на LinkedIn. Там в начале надобавлять людей неделю надо. Чем больше — тем лучше. Добавляй всех кого можешь. Видешь слово Dev или Prog — добавляй. А через них, уже добавляй их HRов, что у них в друзьях.

                                                          В идеале бы еще GoF весь знать и все свои програмки на UML описать. Это чисто для практики полезно, не писать сразу код, а в начале расписать всю программу в виде схемы и только потом переносить ее в код. Тоже плюсик хороший будет.
                                                        +4

                                                        Был в подобной ситуации. Прекратилась, когда стал просить не 30, а 80 или даже 120 (на 2012-13). Потом сказали, что если бы в моём резюме было 30 указано — выкинули бы его.

                                                          +1
                                                          Интересно, какая логика за этим стоит? То жалуются, что джуны без опыта запрашивают 100, то резюме кандидатов за 30 выкидывают.

                                                          Знакомый бывший техдир местной компании недавно устроился сеньором на удаленку в Московский филиал международной компании за 4000$. Такие зарплаты в комментах к статье называют, что мне кажется, что 4000$ — это зарплата миддла, а не сеньора.
                                                            0

                                                            Конкретная сумма — это слишком абстрактный показатель, чтобы ответить на вопрос однозначно. Всё зависит от сферы, навыков, компании, рынка, умения себя продать. У меня был прецедент (о котором я всё не решусь написать статью, но оно того стоит), где я получал процентов на 30 больше, чем директор филиала, которому я формально подчинялся.


                                                            P.S. Я оттуда, правда, ушел, потому что вместо создания команды разработчиков на месте меня направили на управление командой индусов (и сейчас у меня нет ни ЗП, ни должности того уровня, но я не жалею)...

                                                              +3

                                                              Логика "если он просит так мало, значит в себе не уверен и какой-то ваще стремный. Не будем рисковать на всякий случай"

                                                                +2
                                                                Интересно, какая логика за этим стоит? То жалуются, что джуны без опыта запрашивают 100, то резюме кандидатов за 30 выкидывают.


                                                                Логика тут элементарна:

                                                                Если мы находимся в ситуации, когда джун хочет 100, то опытный специалист (мы же об той ситуации, что опытный за 30 не мог устроится? ) в принципе никак 30 желать не может.

                                                                Если он это делает, то никакой он не специалист.

                                                                Ведь он не вчера в одночасье стал специалистом, он где-то работал (скорее всего даже в нескольких разных местах), где-то профессионально рос и это заняло большое время.

                                                                Поэтому для специалиста нормально не только уметь программировать, но и хотя бы приблизительно знать сколько подобный специалист может стоить (хотя бы исходя из предыдущей своей работы и из просмотра вакансий с требованиями к квалификации).

                                                                Бывают конечно специфические выверты, когда ты приехал из глухой провинции с маленькими зарплатами в столицу и не знаешь сколько точно.

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

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

                                                                Исключения бывают.
                                                                Но проверять всех подряд, чтобы найти эту золотую крупицу… с учетом того, что и так приходится по 50 человек перебирать, чтобы найти кандидата — не рационально.

                                                                  0
                                                                  Спасибо, что поделились своим мнением!

                                                                  Конечно, желать 30 не может. Но могут вынуждать обстоятельства. Еще раз, если пропустили — я МЕНЯЛ СТЕК. Кто-нибудь готов брать не знакомого разработчика из другого стека сразу на ту же должность и зарплату? Уверен, что нет.
                                                                  Т.к. за нормальную ставку не получалось найти работу в стеке, в котором я уже 3 года не работал, мне показалось нормальным на первое время запросить ставку джуна, но с повышением до миддла не через 1,5-2 года, а максимум через полгода. Да и посоветовался со знакомыми программистами. Сказали, что норм на первое время в другом стеке за небольшую ставку пробовать устроиться.

                                                                  В общем, возвращаюсь к теме дефицита, зачастую это не дефицит, а отсев всех подряд по разным причинам, в том числе рациональным.
                                                                  с учетом того, что и так приходится по 50 человек перебирать
                                                                  Я не собеседую, но на мой взгляд, если интервьюер прособеседовав 10 человек не нашел подходящего (если не супер сеньора ищут), то он плоховато справляется со своей задачей. Нужно исследовать и пробовать разные способы, чтобы научиться более эффективно ее выполнять. Конечно, если приходится постоянно собеседовать и не хочется тратить кучу рабочего времени на собеседование 50 человек ради найма одного.
                                                                    0
                                                                    А если сходить во всякие Яндексы?
                                                                    Там можно писать на любом языке во время собеседования.
                                                                      0
                                                                      Не знаю, как во всяких яндексах. В Омске их нет.
                                                                      Ну и мне бы все равно понадобилось готовиться месяц-другой к таким собесам. Теории там бы все равно спрашивали, хотя бы общую. Алгоритм на листочке я не напишу во время собеса без тренировки, т.к. непривычная ситуация, мозг сосредоточен на разговоре, а не решении задач. Классе в 10-ом — 11-ом и на первых курсах вуза написал бы, наверное. А на работе мне практически не приходится сталкиваться со сложным кодом в плане алгоритмов. Задачи по реализации/разбору алгоритма за первые 5 лет работы мне встречались раза 3 (одна — оптимизировать какой-то небольшой алгоритм, вторая — сделать генерацию уровней в небольшой игре, третья — выполнить за игрока поиск решения головоломки в той же игре). Я в пет-проектах чаще алгоритмы средней сложности писал, чем на работе.
                                                                      0
                                                                      Я не собеседую, но на мой взгляд, если интервьюер прособеседовав 10 человек не нашел подходящего (если не супер сеньора ищут), то он плоховато справляется со своей задачей.

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

                                                                        0
                                                                        Вот хорошо бы не только проверять, но и участвовать в фильтрации кандидатов. Текст вакансии подкорректировать. Написать, если не можете ответить на вопросы подобные этим (примеры вопросов написать), то не тратьте время. Сделать какой-нибудь простой тест по стеку с уникальной временный ссылкой.
                                                                        Если кандидатов предоставляет HR, то, думаю, не удивительно, что хорошие кандидаты редкость. Как он их отфильтрует? Совсем неадекватов и сильно много запрашивающих отфильтрует. А дальше — по количеству совпавших навыков в вакансии и в резюме?
                                                                          +1

                                                                          А нельзя. Они лучше программистов знают как привлечь хороших программистов. Напишут кучу всего про молодую, динамично развивающуюся компанию, про печеньки в офисе, вычеркнут используемый стек ("тут то же самое, что в требованиях").

                                                                            0
                                                                            Ну, тогда да, пи… ц. Тогда интервьюеру придется по 50 собесов проводить, а опытным кандидатам готовиться к вопросам на джуна, чтобы его не отсеяли вместе с новичками из-за вещей, которые он забыл.
                                                                        +2
                                                                        Указывайте среднюю, на собеседовании говорите, что готовы ниже — вас возьмут.
                                                                        Ну поймите, если у вас 10 кандидатов и один из них указывает зарплату в 4 раза меньше — правильное решение — откинуть это резюме как нереальное.
                                                                          0
                                                                          В резюме я не указывал. Это на собесах обсуждали. Ну ладно, это уже в далеком прошлом.
                                                                          В будущем попробую вообще не говорить ставку. Скажу: «прохожу в несколько компаний собесы, какая лучше условия предложит, туда и пойду».
                                                                            0
                                                                            Говорите «хочу ХХХ, но на испытательный срок согласен и на меньшую цифру», где ХХХ — средняя по рынку(посмотреть на специализированных ресурсах).
                                                                            Просто когда стоит задача отсеять кандидатов(а она почти всегда стоит, если не стоит то приходит тимлид и рассказывает «нафига ты мне этих идиотов на собеседовние посылаешь»), то проще же по явным признакам типа странные хотелки чем анализировать уровень кандидата.
                                                                              0
                                                                              Меня тимлиды и отсеивали после собеса. Может они по странным хотелкам дальше уже не анализировали мой уровень. Хотя, сейчас припоминаю, что я до 30 не сразу снизил, а постепенно снижал, после неудачных собесов.
                                                                          0
                                                                          Уверен, что нет.
                                                                          готовы
                                                                          например в языках Go и Kotlin дикий дефицит, берут с опытом на др язках
                                                                            0

                                                                            Но с понижением.

                                                                              +1
                                                                              Ок, бывают исключения.
                                                                              Kotlin относительно новый язык, c ним все понятно. Насчет Go — не знаю, может не популярный. Ну и сомневаюсь, что, например, senior Python разработчика берут на должность senior Go. На мидла еще поверю. Те, кто понимают, что дать максимум полгода на переобучение и будет этому уровню соответствовать в новом стеке, те возьмут.

                                                                              У меня было пару случаев, когда говорили про дефицит C# разработчиков и что готовы брать даже разрабов на других языках. Один рассказал, что в их компании дикие переработки и он считает это нормальным. Второй задал пару вопросов по каким-то внутренним механизмам языка, о которых я никогда и не задумывался, на этом собес и закончился.
                                                                              0
                                                                              Кто-нибудь готов брать не знакомого разработчика из другого стека сразу на ту же должность и зарплату?
                                                                              У меня было 3 рабочих места и 3 разных стека на них, по сути. Работу я каждый раз менял с повышением зарплаты. Иными словами — да, можно найти работу, где вы устроитесь без знания стека на адекватные условия.

                                                                              Должность у меня последний раз «упала» при переходе, но то потому, что я был галерным «сеньором» с 2.5 годами стажа, и я искал место, где я буду миддлом.
                                                                                +1
                                                                                А почему вас взяли знаете/помните?
                                                                                Обычно на собесах по языку гоняют и немного по стеку. Как такой собес прошли без знания стека?
                                                                              +2
                                                                              Третий был крайне неуверенный в себе, что отвратительно отражалось на работе.

                                                                              Четвёртый окажется старше 30-35-40-скольки-там-нынче-модно, что… (далее по тексту)
                                                                              Пятый окажется холостяком без привязанностей к фирме, что…
                                                                              Шестой окажется идейным с горящими глазами именно по этому проекту вотпрямща(на ближайшие полгода до следующей захватившей идеи), что...

                                                                            +1

                                                                            А зачем вы указываете желаемую ЗП в резюме? Я может отстал от российских реалий, но в моем пузыре указывание ЗП наоборот является стопором. Почему? Потому что обычно исходно не готовы платить ту сумму, на которой сходимся по итогу.

                                                                              +1
                                                                              у меня похожий пример
                                                                              предложения адекватные стали поступать, когда умножил свою зп в резюме на 2 ровно
                                                                          0

                                                                          Я больше скажу, я несколько раз закапывался на фундаментальных элементарных вопросах. Типа чем отличаются pure компоненты в реакт. Прям щас даже не отвечу, помню, что у них какой-то пункт жизненного цикла упрощен, чтобы они реже дергались при изменениях пропов, но как именно это либо в гугл, либо полчаса вспоминать. Просто два года прошло как на реакте не писал, в голове появилось много понимания написания юнитов и извратов с rxjs, из под этого надо старое выковыривать и не факт что на собесе быстро всплывёт. Вот кусок кода мне дать на том же реакте, все расскажу и может покажу как можно было проще… А про всякие солиды и грины вспоминаю только, когда очень хочу работу поменять и подзубриваю всякую бла бла

                                                                            +1

                                                                            И ты называешь это фундаментальным вопросом?
                                                                            Я как то забыл, как правильно пишется malloc и realloc

                                                                              0
                                                                              Такие вещи, как pure компоненты — скорее не фундаментальная вещь, а опциональная. Кто-то использует, а кому-то ни разу не пригодилось.
                                                                              А вот без понимания некоторых принципов солид и еще YAGNI, я бы не доверял человеку вести проект. Уже дожились до того, что такая жесть, как redux, считается нормальной архитектурой.
                                                                                –1

                                                                                Так redux как раз по SOLID ))

                                                                                  +3
                                                                                  Я так не считаю) Мне кажется Абрамов и его коллега не вспомнили о нем при создании redux. Да и ребята из фейсбука тоже видимо о SOLID не вспомнили, если им это решение показалось хорошим. Хотя, судя по хуку useReducer, они до сих пор периодически про него забывают.
                                                                                  Насчет нарушение первого принципа (SRP) еще можно поспорить — по разному можно понимать ответственность. Но я уверен, что redux нарушает SRP — одна функция отвечает за обработку разных экшенов. То есть количество причин для изменения редьюсера равно количеству экшенов.
                                                                                  Принцип открытости-закрытости тоже нарушает — добавится экшен, придеться менять и редьюсер.
                                                                                  LSP принцип — вроде бы тоже нарушает. У редьюсера в сигнатуре есть базовый абстрактный action. Когда используем конкретный экшен, вместе с ним передается тип события (action.type). Смотрим определение принципа: «Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом». Разве редьюсер может обрабатывать конкретный экшен, пока мы не обновим редьюсер, чтобы он мог работать с конкрентным экшеном? Нет.

                                                                                  YAGNI, о котором я упомянул — он о том, что если скорее всего не понабится, то и делать не нужно. Это не про SOLID, но redux тоже нарушает этот принцип. Зачем для вызова middleware из компонента использовать pub-sub (publisher-subscriber) с помощью dispatch + action, когда можно было бы вызвать middleware из компонента напрямую, как обычную функцию? Аналогично с ситуацией, когда middleware обновляет стор. Может быть в 1-ом из 100 проектов в этом есть необходимость, но в остальных 99 — нет.
                                                                                    0
                                                                                    аминь!
                                                                                      0
                                                                                      Но я уверен, что redux нарушает SRP — одна функция отвечает за обработку разных экшенов.

                                                                                      То есть любая функция с параметрами нарушает SRP? Ведь одна функция отвечает за обработку разных значений параметра.


                                                                                      Как по мне, то у редьюсерво строго одна ответственность — вычислить новое состояние стейта по текущему и экшену


                                                                                      Принцип открытости-закрытости тоже нарушает — добавится экшен, придеться менять и редьюсер.

                                                                                      Не придётся, если активно использовать композицию, а не простыни switch/case


                                                                                      Разве редьюсер может обрабатывать конкретный экшен, пока мы не обновим редьюсер, чтобы он мог работать с конкрентным экшеном? Нет.

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

                                                                                        +2
                                                                                        Как по мне, то у редьюсерво строго одна ответственность — вычислить новое состояние стейта по текущему и экшену

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


                                                                                        Не придётся, если активно использовать композицию, а не простыни switch/case

                                                                                        А как рекомендуется в офф. документации?

                                                                                          0
                                                                                          Ну сомнительно. По такой логике можно сказать, что в функции на 2 тысячи строк в каком-то божественном классе только одна ответственность — вычислить новое состояние стейта по текущему и экшену.

                                                                                          Не вычислить, а мутировать стейт на вычисленный тут же :) Тут вопрос, а что конкретно хранится в стейте.


                                                                                          А как рекомендуется в офф. документации?

                                                                                          https://redux-toolkit.js.org/api/createReducer

                                                                                            0
                                                                                            Судя по примеру в конце документации, они после 2,5 — 3-х лет использования switch, сделали обертку, которая позволяет использовать функции для мутаций хранилища. То есть одну огромную функцию разбили на несколько, про что я и говорил.

                                                                                            Последний пример:
                                                                                            const slice = createSlice({
                                                                                              name: 'todos',
                                                                                              initialState: [{ id: 1, title: 'Example todo' }],
                                                                                              reducers: {
                                                                                                addTodo: (state, action) => {
                                                                                                  console.log('before', current(state))
                                                                                                  state.push(action.payload)
                                                                                                  console.log('after', current(state))
                                                                                                },
                                                                                              },
                                                                                            })
                                                                                            


                                                                                            В других менеджерах состояний выглядит как-то так:
                                                                                            class TodosStore {
                                                                                              initialState = [{ id: 1, title: 'Example todo' }];
                                                                                              addTodo = (todoData) => {
                                                                                                  console.log('before', this.state)
                                                                                                  state.push(todoData)
                                                                                                  console.log('after', this.state)
                                                                                              };
                                                                                            };
                                                                                            
                                                                                            // и пример сохранения в стор из middleware:
                                                                                            const addTodoMiddleWare = () => {
                                                                                               //...
                                                                                               todosStore.addTodo(todoData);
                                                                                            }
                                                                                            

                                                                                            Редьюсеры стали похоже на то, что было года за 2-3 до redux-toolkit в других менеджерах состояний. Т.е. Redux изначально развивался неправильным путем.
                                                                                          0
                                                                                          То есть любая функция с параметрами нарушает SRP? Ведь одна функция отвечает за обработку разных значений параметра.
                                                                                          Нет. Смотря, что подразумевать под ответственностью. Слишком мелкие детали называть ответственностью не стоит, как и сильно общие — вычислить состояния по одному из N входных экшенов.
                                                                                          И даже если функция нарушает SRP, это еще на значит, что это плохо. В первую очередь надо следовать здравому смыслу, а потом уже SOLID, иначе система может получиться слишком раздробленной и сложной.

                                                                                          Может вполне. Нормальный редьюсер не должен падать, если ему передан неизвестный ему экшен — обычно просто возвращает текущий стейт.
                                                                                          Суть принципа не в том, будет ошибка или нет, если редьюсер получит неизвестный ему экшен. Нарушение принципа LCP — когда код должен знать о типах всех обрабатываемых им объектов. На примере редьюсера — когда он должен знать о всех типах action, которые он обрабатывает. Т.е. состояние хранилища не будет обновляться для конкретного экшена, пока не напишешь код в редьюсере под этот экшен. Если добавить новый экшен в систему, то придется менять и редьюсер, чтобы система работала с этим экшеном. Это похоже на второй принцип, только относится к наследованию. Как мне кажется, LCP — это частный случай принципа OCP.
                                                                                  +2
                                                                                  Недавно проводил собеседования и хочу пояснить по поводу pet-проектов.
                                                                                  Pet-проект это не абстрактный очередной калькулятор в вакууме.
                                                                                  Pet-проект это проект, который человек писал для себя. Для удовольствия / была личная необходимость / для эксперимента. По проекту как правило видно, для чего он писался. Да они и не скрывают — спрашиваешь, для чего писался проект — отвечают, мол для курсов/задачка из учебника/etc.
                                                                                  Лично я отбирал людей, которые писали что-то лично для себя. Потому что это показатель того, насколько человеку интересно программирование само по себе. Я сам гик и в команду мне нужны такие же гики. Если человеку программирование нафиг не упало, то и интересоваться, изучать что-то самостоятельно, творчески подходить к задачам он не будет.
                                                                                    +1
                                                                                    Ну к 30 годам кодить за идею становится как-то некамильфо. Есть силы и желание работать свыше 40 часов в неделю — делаешь это за двойную.
                                                                                      +2

                                                                                      У каждого своё комильфо.

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

                                                                                          Прямая причинно-следственная связь, конечно, ошибочна, но есть корреляция.


                                                                                          Неужели неинтересно поковырять что-то в личное время?


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

                                                                                          Было бы лучше, если бы он вместо этого… делал что?


                                                                                          Мне мои пет-проекты (один пет-проект, который я вёл с 2016-го года, по большому счёту) помогали устраиваться что на джуниорские удалённые халтурки, что на весьма хорошо оплачиваемые синиорские позиции.

                                                                                            –1

                                                                                            Было бы лучше если бы он разобрался как eventloop в джаваскрипте работает, например, или какую то тривиальную прикладную задачу решил. Слайдер например, реализовал. Под "лучше" я подразумеваю эффективное преобразование времени в профессиональные навыки.

                                                                                              +2

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


                                                                                              При этом все эти задачи будут в контексте, а не сферически в вакууме, что, ИМХО, таки более эффективно с точки зрения преобразования времени в навыки.

                                                                                                +1
                                                                                                Было бы лучше если бы он разобрался как eventloop в джаваскрипте работает

                                                                                                Это глупость какая-то. Почитать и запомнить теорию — это слишком малая часть. Применение теории на практике — значительно важнее.

                                                                                                  0

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

                                                                                              +1
                                                                                              мне очередной джун <...> хвастатся тем, что он игру пишет

                                                                                              хм, сравниваете СЕБЯ с джуном :)
                                                                                              а ведь явление по оценке проекта про то, что условно ваш джун с пет-проектом вкуснее этого же джуна, что без пет-проекта…

                                                                                              вы с пет-проектами и OS проектами вкуснее себя же без таковых…

                                                                                              себя с джуном сравнить и на этом строить аргумент — ну вы чего?
                                                                                                0

                                                                                                Где я себя с джуном сравнивал? оО
                                                                                                Моя история про то что на собесах джунов/испытательных сроках есть вот такой типаж как я описал в противовес тем которых я расцениваю как адекватных. Которые без петпроектов, но зато хорошо знают инструменты с которыми работают и пишут чистый код, прагматики в общем.

                                                                                            +1

                                                                                            А можете объяснить, что именно в этом некомильфо? А то мне 30 через несколько месяцев, а я тут за идею.

                                                                                              0
                                                                                              Семья, ипотека, откладывание на «свою» пенсию вместо государственной. Хочется использовать свое время эффективно.
                                                                                                0

                                                                                                То есть, вы предлагаете в свободное время фрилансить или овертаймить, чтобы заработать ещё больше денег?

                                                                                                  +1

                                                                                                  Нет, я конкретно для себя пришел к выводу, что если уж программировать по вечерам/выходным, то делать это за деньги. Либо отдыхать, что предпочтительнее, но не получается, к сожалению.

                                                                                                    +2

                                                                                                    Ну это уже вопрос личных пристрастий. Мне вот в качестве отдыха вполне норм код писать.

                                                                                                      0

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

                                                                                                        +1

                                                                                                        А в чём там именно проблема-то?

                                                                                          +1
                                                                                          Пример: берём логическую задачу (те же 8 шаров, из которых один иного веса и 2 взвешивания) и меняем её параметры. Смотрим — есть ли понимание в голове или тупо, как стихи, заучена. Если заучена — это станет понятно.

                                                                                          И что вам становится понятно? Расскажите, пожалуйста, насколько такие задачки помогают нанимают хороших программистов

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

                                                                                            Вы же вырвали часть и задали вопрос только по ней. Логические задачи, сами по себе, не могут помочь
                                                                                            «задачки помогают нанимают»
                                                                                            хороших программистов, но показать, насколько адекватно человек умеет мыслить, вполне себе могут. Про то, какие неадекваты могут приходить на собеседования, надеюсь, рассказывать не надо? Не хотелось бы негатив тут распространять.

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

                                                                                            пс: пусть кандидат расскажет, что часть фич он сделал, потому что посчитал их главными и обоснует это, а часть не стал (и почему?) или не успел (тут тоже надо смотреть на причины). А потом пусть расскажет, как именно он бы их сделал, в применении к уже реализованному коду. Такой подход, в моём понимании, помог бы сделать более рациональный выбор кандидата, чем только рассмотрение умения решать выделенные вами логические задачи.
                                                                                              0
                                                                                              хороших программистов, но показать, насколько адекватно человек умеет мыслить, вполне себе могут. Про то, какие неадекваты могут приходить на собеседования, надеюсь, рассказывать не надо? Не хотелось бы негатив тут распространять.

                                                                                              Неадекватов отлично вычисляют "поговорить по душам", в особо запущенных случаях — физзбазз. Задачки имхо не показывают ровно ничего. Вот не смог человек придумать как в 2 взвешивания решать, он знает дихотомию: 8, 4, 2, 1. Значит ли это, что он "недаекват"? Расскажите, как вы в повседневной работе подобный навык применяете. Надеюсь, вы не будете говорить про "общую эрудицию" и "навык находить неожиданные решения" — по моему опыту с навыком решить задачку про горящие верёвки оно имеет мало.

                                                                                              +1
                                                                                              Расскажите, пожалуйста, насколько такие задачки помогают нанимают хороших программистов

                                                                                              Как-как… если решил — гнать в шею. Ибо при подобных условиях задача не имеет решения. Если не решил, но думал, то попросить рассказать ход мыслей.
                                                                                          +13
                                                                                          Если человек не умеет работать — то это видно сразу. Буквально за несколько минут общения — смотришь, как он считает, что он говорит, как отвечает на вопросы — и вуаля. И совершенно не важно — придумал он себе опыт или нет.

                                                                                          Если у человека имеются столь любимые хрюшами волшебные soft skills, то при упомянутом в статье подходе "Team Lead по их мнению, это этакий менеджер, который тупо получает деньги и что-то там рассказывает команде", он легко разведёт лохов.
                                                                                          image
                                                                                            +6
                                                                                            Вот так и живем, хрюши отсеивают тех, кто годами кодил и не имел возможности развивать SoftSkills, и соответственно набирают тех, кто потратил годы на развитие SoftSkills, а не компетенции, ну а на техническом собеседовании инженеры удивляются низкому уровню кандидатов, но что поделать, брать кого то нужно, вот и берут.
                                                                                              +7
                                                                                              Вот так и живем, хрюши отсеивают тех, кто годами кодил и не имел возможности развивать SoftSkills, и соответственно набирают тех, кто потратил годы на развитие SoftSkills, а не компетенции, ну а на техническом собеседовании инженеры удивляются низкому уровню кандидатов, но что поделать, брать кого то нужно, вот и берут.


                                                                                              Вы прямо так пишете:
                                                                                              1) будто бы нельзя оба навыка развивать одновременно.
                                                                                              2) будто бы сия должность должна быть автоматически положена любому желающему кодеру.
                                                                                                +4

                                                                                                Нельзя. Часто эти навыки противоположны друг другу. Если на "ехать" можно пролистать профильную книгу или набросать проект за вечер, то на "шашечки" ничем не наберешься за вменяемое время без полной, болезненной и бестолковой смены мышления.

                                                                                                  +1
                                                                                                  Нельзя. Часто эти навыки противоположны друг другу. Если на «ехать» можно пролистать профильную книгу или набросать проект за вечер, то на «шашечки» ничем не наберешься за вменяемое время без полной, болезненной и бестолковой смены мышления.


                                                                                                  Если у конкретного человека эти навыки противоположены — значит ему следует строить свою карьеру с учетом особенностей своей психики.

                                                                                                  Только и всего.

                                                                                                  Но есть куча людей, у которых эти навыки вполне себе параллельно развивались. Скажем Павел Дуров (ВКонтакте). Ларри Эллисон (Oracle). Или Билл Гейтс (Microsoft).

                                                                                                  Перед отправкой Аллен вспомнил, что забыл написать загрузчик, для чтения перфоленты в память. Но, на машинном коде Intel 8080, Аллен смог закончить загрузчик еще до приземления самолета. Позже, они поспорили с Гейтсом, кто мог бы написать более краткий загрузчик. Гейтс выиграл.

                                                                                                  ru.wikipedia.org/wiki/Altair_BASIC

                                                                                                  Разумеется, спустя годы, мы видим, что эти люди занялись оттачиванием Soft Skill (ибо иначе мы бы о них ничего и не услышали), а не навыка кодирования. Тем не менее, это не мешало им заниматься и разработкой. Скажем, Билл Гейтс программировал понемногу вплоть до 1990-х, когда его фирма была уже довольно большой.

                                                                                                  Ну а что уж говорить о программистах, которые удачно продали монетизировали? О программистах-основателях компаний. Тот же Джон Кармак. Причем в отличие от вышеупомянутых Павла Дурова, Ларри Эллисона и Билла Гейтса — Джон Кармак продолжал программировать довольно долго и код его опубликован, можно видеть насколько он хорош. При том Джон Кармак довольно долго лично рулил своей фирмой.

                                                                                                  Нельзя. Часто эти навыки противоположны друг другу.


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

                                                                                                  Но сами навыки ничуть не противоположены.

                                                                                                    +4

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

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

                                                                                                      Ничего удивительного.
                                                                                                      Все не могут быть CEO. Столько рабочих мест просто нет.

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

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


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

                                                                                                      К сожалению ваши примеры тянут на "Ошибку Выжившего".
                                                                                                      Но вернёмся к нашей проблеме, собеседования мидлов:


                                                                                                      Но есть куча людей, у которых эти навыки вполне себе параллельно развивались.

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

                                                                                                        –2
                                                                                                        По опыту собеседований скажу, что нету мидлов с хорошими софт скилами и кодинга одновременно. Либо хороший мидл кодер, либо хороший балабол.


                                                                                                        К сожалению ваш пример тянет на «Ошибку Выжившего».

                                                                                                        Разумеется быть хорошим специалистом в разных сферах — удел немногих.

                                                                                                        Люди в массе своей — вовсе не стремятся стать универсалами. Узкая специализация — выгоднее в наше время.

                                                                                                        +7
                                                                                                        Время не резиновое.

                                                                                                        Увы! Чтобы прокачивать soft skills, в рабочее время нужно заниматься разнообразной болтовнёй, что обычно плохо совмещается с типичными служебными обязанностями IT-шника.
                                                                                                        image
                                                                                                          +2
                                                                                                          Увы! Чтобы прокачивать soft skills, в рабочее время нужно заниматься разнообразной болтовнёй, что обычно плохо совмещается с типичными служебными обязанностями IT-шника.


                                                                                                          Soft Skill прекрасно прокачивается не только на работе, но и в быту.

                                                                                                            0

                                                                                                            верно. добавлю, что у некоторых есть хобби — после работы идут не кодить, а, например, в театральный кружок :)

                                                                                                              +3
                                                                                                              Soft Skill прекрасно прокачивается не только на работе, но и в быту.

                                                                                                              Увы! В IT популярны переработки, когда приходишь с работы и спать! Но, все равно за будние дни — не высыпаешься, и потому в выходные — опять спать!
                                                                                                                +1

                                                                                                                Как?

                                                                                                                  0

                                                                                                                  Видимо, в магазине по пути между офисом и домом. Или в обеденный перерыв.

                                                                                                                    0
                                                                                                                    Видимо, в магазине по пути между офисом и домом. Или в обеденный перерыв


                                                                                                                    Ну уж в ИТ-то перерабатывать не является жизненно необходимым.
                                                                                                                      0

                                                                                                                      Но если в быту читаешь книжки или пишешь свои пет-проекты, то особо там софт-скиллы не поразрабатываются.

                                                                                                                        0
                                                                                                                        Но если в быту читаешь книжки или пишешь свои пет-проекты, то особо там софт-скиллы не поразрабатываются.


                                                                                                                        Это ваш собственный осознанный и свободный выбор.
                                                                                                                          0

                                                                                                                          С осознанностью тяжелее, так как списка действий и того, что ещё в быту можно делать, нигде нет.

                                                                                                                            +2

                                                                                                                            Так определитесь уже — "пет-проджекты и саморазвитие" или же "софтскиллз". А, ну или "выбрось личную жизнь и/или внекомпьютерные хобби фтопку". В сутках всего 24 часа, увы.

                                                                                                                              0
                                                                                                                              Так определитесь уже — «пет-проджекты и саморазвитие» или же «софтскиллз». А, ну или «выбрось личную жизнь и/или внекомпьютерные хобби фтопку». В сутках всего 24 часа, увы.


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

                                                                                                                                Для того, чтобы качать хард-скиллы, мне понятно, что делать: я просто сажусь и пишу код (например). Когда у меня не получается, я захожу на stackoverflow, на иркоканалы, куда-то ещё, и спрашиваю совета по конкретным задачам. Кроме этого, я читаю известные и хорошо зарекомендовавшие себя книжки и учебники (от условного Саттера по плюсам до какого-нибудь Пирса по типам).


                                                                                                                                Этот подход вообще не переносится на прокачку софт-скиллов.

                                                                                                                                0
                                                                                                                                Так определитесь уже — «пет-проджекты и саморазвитие» или же «софтскиллз». А, ну или «выбрось личную жизнь и/или внекомпьютерные хобби фтопку». В сутках всего 24 часа, увы.


                                                                                                                                Пет-проджекты пет-проджектам рознь.
                                                                                                                                Если ваш проджект пилится командой, где у каждого второго как правило своё мнение о будущем проекта;
                                                                                                                                если вы вошли в состав руководства его (ну или он изначально ваш), если он стал популярен — там есть где и софт-скиллы качать, разруливая мелкие обидки «а почему мой пулл реквест не приняли» или в бурных обсуждения об «issue»

                                                                                                                                Софт-скиллы окружают нас.

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

                                                                                                                                Это наш выбор — избегать прокачки. Но не нужно говорить, что в жизни негде их прокачавать.
                                                                                                                                  +2

                                                                                                                                  Пробовал я несколько раз не избегать конфликтов — оказывался или в реанимации, или в нефрологии, или в "обезьяннике". Ну или, не столь экстремально — на грани развода.


                                                                                                                                  Ну или у нас какие-то очень разные понимания слов "(сознательная?) прокачка софт-скиллов"

                                                                                                                                    0
                                                                                                                                    Пробовал я несколько раз не избегать конфликтов — оказывался или в реанимации, или в нефрологии, или в «обезьяннике». Ну или, не столь экстремально — на грани развода.


                                                                                                                                    Прокачка софт-скиллов это как раз вывернуть ситуацию в свою пользу.

                                                                                                                                    Про гопников не будут говорить, там поди и алкоголь добавляет непредсказуемости.

                                                                                                                                    А вот с женой — как раз прекрасно прокачивается всю жизнь качаться. Есть даже выражение: «над браком работают всю жизнь».
                                                                                                                                      0
                                                                                                                                      Прокачка софт-скиллов это как раз вывернуть ситуацию в свою пользу.

                                                                                                                                      Всё таки очень разное понимание слова "прокачка" у нас. Если я могу вывернуть любую ситуацию в свою пользу, то софт-скиллы у меня уже прокачаны, прокачивать их уже не надо, разве что поддерживать. А прокачка — какой-то процесс, действия, которые из состояния "сливаюсь из конфликтов или разрешаю их с большими потерями" приведут меня в состояние "успешно разрешаю конфликты!.

                                                                                                                                    0

                                                                                                                                    Решение конфликтов — это совсем базовый уровень софт-скиллов, насколько я могу судить. Это, ну, как хелловорлды писать.

                                                                                                                                      +1
                                                                                                                                      Решение конфликтов — это совсем базовый уровень софт-скиллов, насколько я могу судить. Это, ну, как хелловорлды писать.


                                                                                                                                      Это смотря каких конфликтов.
                                                                                                                                      Если вы умеете решать вообще любые конфликты, то вам впору лекции читать психологам.
                                                                                                                                        0

                                                                                                                                        Ох нифига это не базовый уровень… Ну то есть он должен идти в базе, когда в период познания собственных границ личности (ЕМНИП между 3 и 5 годом жизни, когда начинается обозванный в советской литературе "праздник непослушания") родители понимают происходящие в ребенке процессы и реагируют на непослушание убеждениями и объяснением, а не ремнем. На практике же в этот период ребенок знакомится с ремнем и истериками родителей вместо осознания границ собственной личности, и в итоге скилл решения конфликтов у него либо отсутствует, либо сублимирован в пассивную агрессию/психические отклонения/депрессию.

                                                                                                                                    0

                                                                                                                                    Кто сказал, что это осознанный? Вот ни разу не думал "чем бы сейчас заняться — код пописать для души или "Как завоевывать друзей и оказывать влияние на людей" Карнеги перечитать для резюме.

                                                                                                                                      0
                                                                                                                                      Кто сказал, что это осознанный? Вот ни разу не думал «чем бы сейчас заняться — код пописать для души или „Как завоевывать друзей и оказывать влияние на людей“ Карнеги перечитать для резюме.


                                                                                                                                      Ну это смотря как трактовать слово „осознанный“.

                                                                                                                                      Ходите куда-то вы вполне себе осознанно.

                                                                                                                                      Но при этом не думаете „поставить вперед левую ногу, перенести на нее нагрузку, подтянуть правую ногу, перенести нагрузку на обе ноги....“.

                                                                                                                                      Впрочем, если не употреблять слово „осознанный“, то всё еще проще — прокачка тех или иных скилов осуществляется вообще автоматически. Смотря чем мы занимаемся в данный момент.

                                                                                                                                      Скажем, если мы занимаемся сборкой модельки кораблика в бутылке, то мы прокачиваем скиллы терпения. Но думаем в этот момент не о терпении, а о кораблике.
                                                                                                                                        0

                                                                                                                                        Ну вот когда мне надо прокачать какой-то хард-скилл я обкладываюсь литературой, документацией, всякими средствами разработки или администрирования и сажусь осознанно прокачивать конкретный навык. Причём обычно процентов на 90 уверен, что прокачаю до уровня, чтобы иметь моральное право упомянуть в резюме. Цена ошибки — только моё время. Фидбэк довольно формальный "работает-не работает", синтаксические и подобные ошибки выявляются часто ещё до попыток запуска.


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

                                                                                                                                          +1
                                                                                                                                          Ходите куда-то вы вполне себе осознанно.

                                                                                                                                          Вовсе не факт. Можно идти, а потом пытаться вспомнить "что делал, что видел? Вроде из точки А в точку Б попал, но как — не помню". Находясь в ясном уме и трезвой памяти.


                                                                                                                                          Скажем, если мы занимаемся сборкой модельки кораблика в бутылке, то мы прокачиваем скиллы терпения

                                                                                                                                          Сфигаль? Терпение Вы, возможно, прокачиваете не уходя в, пардон, туалет когда уже требуется. Пару-тройку часов потерпеть — зато какой левелап будет!
                                                                                                                                          А делая кораблик делается и тренируется именно кораблик. Мелкая моторика, глазомер, аккуратность, планирование, декомпозиция.

                                                                                                                                            0
                                                                                                                                            Сфигаль? Терпение Вы, возможно, прокачиваете не уходя в, пардон, туалет когда уже требуется. Пару-тройку часов потерпеть — зато какой левелап будет!
                                                                                                                                            А делая кораблик делается и тренируется именно кораблик. Мелкая моторика, глазомер, аккуратность, планирование, декомпозиция.


                                                                                                                                            Разумеется так.
                                                                                                                                            Не знал какие слова подобрать.

                                                                                                                                            По итогу вы тоже не все перечислили.

                                                                                                                                            В реальности там много чего:

                                                                                                                                            Терпение, выдержку, настойчивость +
                                                                                                                                            Мелкая моторика, глазомер, аккуратность, планирование, декомпозиция
                                                                                                                      +1
                                                                                                                      Специалист подобен флюсу: полнота его одностороння.
                                                                                                                      (Кэп XIX века Козьма Прутков).
                                                                                                                    +4
                                                                                                                    Простите, хотел плюсануть, а получилось почему-то наоборот. У меня есть пример человека, который за долгие-долгие годы не развился в техническом плане ни на йоту, до сих пор остался в нулевых, но общительность прокачал настолько, что сам легко манипулирует работодателем выбивая большущую зарплату и возможность сказать: «чет я устал, недельку меня не будет». Прям без шуток, как Купер из евротура
                                                                                                                      0

                                                                                                                      Если работодателю нужен такой специалист и он решает вопросы бизнеса: почему-бы и нет? Может он с клиентами общается так, что они потом контракты миллионные подписывают, бизнесу это выгодно.

                                                                                                                        0

                                                                                                                        "Чёт я устал, недельку меня не будет" — это плохая организация проекта/процесса и превращение проекта в "звёздный".

                                                                                                                          +5

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

                                                                                                                            –1

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

                                                                                                                              0

                                                                                                                              Ну вот запланировано у меня 28 дней отпуска в году. Кому плохо, что я могу начать их тратить завтра? Почему это плохой процесс?

                                                                                                                                0

                                                                                                                                Я так же делаю! Могу уйти в удобное для меня время. А могу не уйти. Отпуска за год меня давно не устраивают, а в мире столько всего происходит, что в корпоративном аду, ты пол жизни пропустишь.

                                                                                                                        0

                                                                                                                        Брат работает руководятлом среднего звена в разработке в банке в центре DefaultCity.
                                                                                                                        Из 10 приходящих на собеседования не подходит ни один — не то что не умеют производить впечатление или не справляются с решением головоломок для "олимпиадников" на листочках — все просто не в теме, вообще: 10 из 10 — это какие-то левые люди, не погромизды.


                                                                                                                        Но кадровый голод такой, что приходится одного из них брать.

                                                                                                                          0
                                                                                                                          Вопрос видимо только в том — на какую зарплату. Если на 30-40 к — то понятно.
                                                                                                                            0

                                                                                                                            Нет, зарплаты там весьма достойные.

                                                                                                                              0
                                                                                                                              Ну значит мне случайно не повезло несколько десятков раз.
                                                                                                                            0
                                                                                                                            10 из 10 — это какие-то левые люди, не погромизды.

                                                                                                                            Это на какой оклад?

                                                                                                                            В аутсорсе можно легко зарабатывать 3-4к в месяц. При этом проекты есть на любой вкус: биоинформатика, нейроинтерфейсы, HFT, космос, секьюрити всех мастей, геймдэв и банальное формошлёпство. Просто тёплая ламповая разработка, без овертаймов.

                                                                                                                            На мой скромный взгляд интересно попробовать всё это, тем более офисы есть в радиусе 10 км. В то же время работа с банковским ПО выглядит как довольно таки скучная сфера (даже не поднимая вопрос качества этого ПО). Сфера очень консервативная, winXP — вообще самая современная ос, часто даже видел терминалы на dos + turbo vision.
                                                                                                                            Кадровая политика — ужас, перспективы сомнительные, технологический стэк — устаревший, ЗП ниже рыночных, исходный код — через расшаренную папку. А в требованиях к кандидатам есть даже полиграф и дресс код.

                                                                                                                            Что бы начать нанимать достойных кандидатов в банковский сектор, нужно предлагать значительную премию к рыночной ЗП и разрушать стереотипы о нём.
                                                                                                                              0
                                                                                                                              Вот насчёт «офисов в радиусе 10 км»: меня несколько удручает ситуация на рынке IT-труда СПб, где большая часть вакансий программистов находится на севере, востоке и на Ваське.
                                                                                                                              Плотность IT-контор в центре и особенно на юге города — значительно ниже.
                                                                                                                              А таскаться на другой конец города по 3-4 часа на дорогу каждый день — так себе перспектива.
                                                                                                                              Удалёнки — довольно мало, но это и не проблема была бы, если бы допускался режим «посещать офис наездами». Раз в пару недель показаться на планёрке, перетереть что-то, что хотят обсудить живьём, а остальное время — работаешь из дома.
                                                                                                                              Но таких вакансий — раз-два и обчёлся.
                                                                                                                          +1
                                                                                                                          Филолизация? У Фила хороший посыл, но начинает подбешивать, когда другие пытаются подражать…
                                                                                                                            +15

                                                                                                                            Надрессируйте уже GPT-3 на постах Фила.

                                                                                                                              +39

                                                                                                                              "Я не умел генерировать желтоватый контент — но меня научили"

                                                                                                                            0

                                                                                                                            Я ведь правильно понимаю что это или твинк короля или очередной аффилированный человек (как тот парень, который перед новым годом работу искал)? Уже в нервную дрожь бросают заголовки "нужно всего лишь..." на хабре

                                                                                                                              –1

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

                                                                                                                                0
                                                                                                                                если считать кликбейтом введение в заблуждение

                                                                                                                                А если считать кликбейтом кликбейт — то считаются.


                                                                                                                                Ну раз не знаете, значит не знаете, но стиль узнаваем абсолютно. Возможно, поклонники?..

                                                                                                                                  –1

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


                                                                                                                                  Да, наверное поклонники, автор меня даже упомянул в тексте. Хотя сам формат "Мнение о чем-то внутри индустрии" всё-таки не я изобрел

                                                                                                                            +6
                                                                                                                            Я не спрашиваю не собеседованиях тонкости языка или фреймворка, все вопросы о том как это все работает (life cycle запросов, http, и т.п.) кандидаты только со знаниями синтаксиса не проходят.
                                                                                                                              0
                                                                                                                              Кандидаты со знанием синтаксиса на вопросы о тонкостях языка не ответят. Я вообще, если честно, не понимаю, о какой «системе» идёт речь. Если человек ничего толком не знает, это видно на собеседовании.
                                                                                                                                0

                                                                                                                                Автор работает в госе. "Системой" госслужащие как правило называют государственно-номенклатурный аппарат (включая госкорпорации) с его правилами.
                                                                                                                                Поэтому автору кажется что и в частном бизнесе должна быть пресловутая "система" контролирующая людей и их трудоустройство.
                                                                                                                                Автор в упор не видит что отношения на рынке регулируются исключительно спросом и через голосование рублем, но никак не принудительно по решению кучки начальников. Будет бизнесу выгодно брать подходящих разработчиков для закрытия тасок в джире — будут брать, не взирая на наличие лычек и дипломов.

                                                                                                                                  +3
                                                                                                                                  Система в данном случае — рынок IT, а не абстрактный «гос. аппарат». Государственные компании бывают разные, и обслуживают они различные потребности. О своём месте работы и процессах внутри я ни слова не сказал, откуда у Вас в таком случае выводы?
                                                                                                                                    +2
                                                                                                                                    О своём месте работы и процессах внутри я ни слова не сказал, откуда у Вас в таком случае выводы?

                                                                                                                                    Отсюда, из ваших слов о себе:


                                                                                                                                    Я являюсь обычным .NET разработчиком в рядовой государственной компании, основным способом заработка которой является разработка программного обеспечения. За спиной оконченный с отличием %City%ГТУ где-то за МКАДом, служба в рядах Вооружённых Сил России

                                                                                                                                    А уж как работает "система" гос-компаний, прекрасно знает каждый кто хоть раз работал в ней.

                                                                                                                                      +6
                                                                                                                                      А уж как работает «система» гос-компаний, прекрасно знает каждый кто хоть раз работал в ней.

                                                                                                                                      При всём уважении, не нужно делать обобщающие выводы, будто Вы видели все гос. компании в России и за рубежом. Мы работаем со свежим стеком актуального инструментария, делаем программное обеспечение на совесть, и имеет хорошую репутацию в узких кругах. В нашем молодом коллективе нет «кислотных» коллег, бюрократов и просто случайных людей. Поэтому я не считаю уместным здесь обсуждать подобные вещи.
                                                                                                                                        +3

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

                                                                                                                                          0
                                                                                                                                          Что вы, в таком случае, подразумеваете под обучением обманывать систему?
                                                                                                                                            0
                                                                                                                                            Как разговаривать с HR, что говорить, как себя подавать. Социальная инженерия одним словом. На техническом интервью рассказать о прошлой несуществующей работе, описать всё в красках и ответить на предположительные вопросы от собеседующего. Технические моменты, понятное дело что не глубокие, их заставляют заучить на первых трёх месяцах. На каждого придумывается и прорабатывается легенда, кандидату её объясняют и гоняют по предположительным вопросам, и так остальные несколько месяцев. Примерно поняли идею такой «подготовки»?
                                                                                                                                              0
                                                                                                                                              А потом забрасывают на парашютах в стан врага?
                                                                                                                                              А если раскрыли? Что делать?
                                                                                                                                                +5
                                                                                                                                                Тоже что и раньше, искать место где прокатит.
                                                                                                                                        0
                                                                                                                                        Рынок сам порешает, не переживайте.
                                                                                                                                        +8

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


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

                                                                                                                                          0
                                                                                                                                          На конкурентном рынке спрос и предложение стремятся уравновесить друг-друга. «Уравновешиванние» происходит в конкуретной борьбе претендентов на должность. А в конкуренции побеждает не столько тот, кто лучше делает (больше знает, быстрее соображает,...), сколько тот, кто лучше конкурирует. Вот «подкованные» в ИТ «трактористы» и уделывают аутичных «програмистов». И длится этот процесс «уравновешивания» может десятилетиями… а мне что учить вперед: матчасть или «приемы конкуретной борьбы», может все и сразу?
                                                                                                                                        0

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

                                                                                                                                          0

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

                                                                                                                                            +1
                                                                                                                                            а другие где-то на middleware на вопросе как получить контекст запроса.

                                                                                                                                            А есть такое понятие в HTTP? Он же типа stateless by design

                                                                                                                                              <div class="voting-wjt voting-wjt_com