Привет, человек, %хабраюзер%, %юзернейм%, программист.

Вот именно так я себя и чувствую.
Вот именно так я себя и чувствую.

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

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

Разрешите объясниться.

Возьмём Нерадивого Василия Васильевича 199* года рождения. Василий — программист, которого я хочу нанять. Ну, как сказать, Василий прикидывается этим программистом. Он прилежно решает задачи на leetcode и всё такое. Он умеет сортировать деревья сбалансировано и несбалансированно. Он научился до такой степени, что может отсортировать строку алгоритмом O(n^-1). Почитать резюме — так Василий золотце, ясный пень, которого мне надо нанять прямо сию секунду. Его резюме составлено в лучших традициях CEO маркетинга и попало ко мне на стол прямо с пылу, с жару, от самого ИИ, который выбирает самые-самые резюмы.

Ага. Так я прям и поверил.

Фиг бы с ним, что единственное, что Василий сделал в своей недолгой жизни в моей компании был новый проект на NestJS.

Тут, давайте я вам поведаю, что такое NestJS. Это проект, написанный для "облегчения написания микросервисов". И, вот чудо, в этом Nest нет никакой документации, она продаётся за деньги.

Мы отправили наше приложение в докер. И я решил, что это неприлично, что проект на NestJS падает насмерть, когда происходит отсоединение Redis или базы данных. Я решил, что будет лучше, чтобы этот проект продолжал работать и просто переподключался к нужным сервисам. Я попросил Василия добавить эту, достаточно простую, функциональность в проект. И что бы вы думали? Василий не смог этого сделать.

Он мне долго и нудно объяснял, что он не знает, как правильно реализовать это на Nest. И всё бы ничего. Если честно, я бы простил ему вообще всё что угодно. Василий — относительно молодой специалист, которого по щедрости души, наняла моя международная компания. Я уж решил, что Василий сможет, и подумал, что ему стоит помочь.

Я помогал. Честное слово. Я ему говорил, что его вонючие микросервисы нафиг никому не сдались. Я не раз показывал Василию оригинальное ТЗ, в котором значилась одна вещь: REST API сервер, с пятью endpoints. Всё. Я не просил NestJS, на самом деле я не просил даже Javascript. Я хотел, чтобы всё было сделано на Golang. Но я знал, что Василий не силён, и решил, что мне стоило ему помочь.

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

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

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

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

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

Хватит врать и оправдывать себя. Ты можешь оправдать себя перед менеджером, ты можешь влепить фейковые часы в инвойс, ты можешь сделать всё что угодно, но ТЫ, сам по себе, будешь знать, что ТЫ облажался.

Когда ты говоришь, "это плохой язык программирования" или "мне не нравится эта база данных" ты просто выносишь себе приговор. Ты, программист, знаешь. Ты можешь.

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

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

Programmer: a person who writes computer programs.

Professional: ...; competent, skilful, or assured.

Программист: Человек, который пишет компьютерные программы.

Профессиональный: ...; компетентный, искусный, уверенный.

Оцените эти три прилагательных, которые описывают профессионального программиста.

Знаете, что они значат?

Они значат, что ты не можешь просто посидеть 10 минут перед Йотубиком и понять, как работает очередной яваскриптовый движок. Они означают, что ты в состоянии найти настоящий источник проблемы. Они означают что когда всё горит огнём, у тебя кишка не тонка сказать "Всё в порядке, я щас разберусь". Это значит, что ты возьмёшь этот жирный талмуд-мануал и прочитаешь его.

И не надо мне тут рассказывать про этого собачёнка. Я знаю разницу между тем, кто притворяется, и тем, кому я могу доверить критическую инфраструктуру.
И не надо мне тут рассказывать про этого собачёнка. Я знаю разницу между тем, кто притворяется, и тем, кому я могу доверить критическую инфраструктуру.

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

Когда ты идёшь по коридору, а мимо проходит Гендир с Замом, и оба они тебе подмигивают, и говорят: "Вот он! Идёт! Спасибо за отличную работу!" вот тогда ты понимаешь, что на самом деле значит ответственность.

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

Да, кстати, ещё одна вещь. Ты обязан знать, что, блин, происходит в твоих программах! Хватит рассказов о том что "наш кэш улажен SuperDuperCacheFramework". Если этот кеш падает каждые два часа, это значит, что нифига не улажено, и нифига ты не знаешь.

Как-то раз, давным-давно, я проходил собеседование в Universal Music Group. Мне задали вопрос "Что вы будете делать, если ваш сервер начал безбожно тормозить". Их до глубины души поразил мой ответ. Я ответил на это вопросом "А этот сервер раньше работал?". Мне сказали "Да."

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

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

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

Поэтому, прошу, %хабраюзеры%, поймите, не бывает такой штуки, как "это плохо работает". Бывает только "я в этом не до конца разобрался". Примеров — масса. Любой язык тьюринг-полный язык программирования является языком программирования. Хорошие API можно написать и на Visual Basic в Ворде. (Я и такое видел). Это не значит, что так нужно делать. Это значит, что если ты — профессиональный программист, то у тебя и на чайнике дум запустится, и на яваскрипте всё будет работать. А если ты плохой программист, то у тебя в кармане всегда найдётся пара отговорок о том, что в голанге нет дженериков или прочей белиберды. Хватит притворяться. Я в тебя верю.

Комментарии (312)


  1. connected201
    08.01.2023 17:58
    +11

    И, вот чудо, в этом Nest нет никакой документации, она продаётся за деньги.

    Вроде как на сайте вся дока открыта https://docs.nestjs.com/


    1. Nurked Автор
      08.01.2023 17:59
      +13

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


      1. barloc
        08.01.2023 19:50
        +39

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


        1. syrslava
          08.01.2023 23:28
          +5

          Laravel. Документация не содержит API Reference в принципе (если не считать отдельные генерированные доки почти без комментариев, которые ещё найти надо); только мануал, смахивающий по линейности на туториал. За визуальный дизайн страниц документации - бонусные вилы.

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


        1. Ilias
          09.01.2023 10:25
          +5

          winapi в msdn


          1. barloc
            09.01.2023 12:27
            +2

            А это разве открытый сервис?

            И без документации зачем пользоваться этим.

            Впрочем закат вин приложений это все не отсрочило.


        1. Torvald3d
          09.01.2023 13:10
          +1

          Qt. Не сервис, но и документация и исходники — всё есть и сделано отлично


          1. 0xd34df00d
            09.01.2023 20:50
            +1

            1. Ему под 30 лет.
            2. 15 лет назад примеры были лучше и доступнее, с объяснением, почему сделано именно так. Сейчас на тебя чаще вываливают исходники — на, разбирайся.
            3. Доки по модулям и их частям 15-летней давности тоже написаны лучше.


      1. Format-X22
        09.01.2023 06:41
        +14

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


        1. mayorovp
          09.01.2023 18:31
          +2

          Полная? Ну вот смотрите, открываем вот эту страницу — https://docs.nestjs.com/microservices/basics, и видим вызов NestFactory.createMicroservice. Что он вообще делает? Я дочитал эту страницу до конца, но так и не увидел ответа на этот вопрос. Да блин, там нет даже описания возвращаемого значения!


          А что делать если мне нужен микросервис с конечными точками HTTP и связью через Redis? Ну вот архитектура такая некузявая вышла, как с ней жить-то? HTTP требует бутстрап строго через NestFactory.create, Redis требует бутстрап строго через NestFactory.createMicroservice, как их совмещать-то?


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


          1. Format-X22
            09.01.2023 19:17
            +1

            А ведь ответ на ваш вопрос есть по вашей ссылке, посмотрите этот раздел - https://docs.nestjs.com/microservices/basics#client

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


            1. mayorovp
              09.01.2023 19:20

              А, так чтобы подключить клиента не требуется выполнять инструкции из секции Getting started? Это было ну вот вообще неочевидно...


              PS но мне всё ещё интересно что нужно делать если нужны конечные точки как HTTP, так и Redis, хоть уже и не настолько


              1. p07a1330
                09.01.2023 19:24

                Навскидку видится решение создать 2 инстанса МС через разные методы и искуственно синхронизировать медду собой


                1. mayorovp
                  09.01.2023 19:36

                  Да, это возможный вариант. Но тут снова возникает вопрос "а что вообще эти методы делают", потому что, к примеру, в ASP.NET Core метод IHost.Run по умолчанию ожидает консольного ввода чтобы остановить сервер по нажатию Enter, а потому при попытке запустить два хоста в параллель лучше бы подменить им лайфтайм.


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


                  1. Format-X22
                    09.01.2023 19:52
                    +1

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


                    1. mayorovp
                      09.01.2023 20:23

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


                      1. Format-X22
                        10.01.2023 01:58
                        +1

                        А зачем вам точная детализация какой метод чего вызывает для комментирования на Хабре? Как бы вы это сейчас использовали если бы было? Концепт чего и как описан, примеры есть, кейсы разобраны, а такие детали - похоже на желание таки найти хоть какой изъян и сказать «я же говорил документации нет!» :)


              1. Format-X22
                09.01.2023 19:32

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

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

                Главное не перестараться и помнить что основной поток в JS один и можно заблокировать обработку если у вас агрегаторы какие-либо появятся и прочее подобное. Можно конечно потоков наспавнить, завезли некоторое, но по классике делают микросервисы для этого.


                1. mayorovp
                  09.01.2023 19:41
                  +1

                  Какая-то логика есть, но она работает только если строить вообще всю систему на NestJS. Обычно же задача получается несколько другая — другой сервис уже написан, и нужен клиент к нему. И вот тут тот момент что половину документации нужно пропустить — вообще не очевиден.


                  Как и неочевидно и обратное, что если мы делаем микросервис, а клиент к нему нам не нужен — его тоже можно не писать.


      1. alum4u
        09.01.2023 11:59
        +11

        Писал на Nest 2 года . За эти 2 года не испытывал проблем с их документацией. Достойный инструмент для разработки в команде с 20 разработчиками. Тут скорее просто вы взяли Джуна, проверив его знание алгоритмов ( имхо абсолютно бесполезный навык , за пять лет разработки в сфере backend ни разу не пригодилось знание даже банальной сортировки , благо современные ЯП предоставляют все из коробки ) и не проверили его главный навык - умение искать необходимую информацию , как еще это называют - умение гуглить.


      1. Hemml
        09.01.2023 15:27
        +4

        странно, но почти в 100% случаях я нахожу себя поуши в чужих исходниках, если что-то не работает) Ни разу не видел документации, которая помогла бы решить по-настоящему серьезную проблему просто по результатам ее чтения)


        1. divinity2000
          11.01.2023 01:13
          +1

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


    1. dunmaksim
      09.01.2023 17:51

      Отсутствие нормальной доки не дало нормально развиться Dojo Framework.


  1. ionicman
    08.01.2023 18:01
    +162

    Я правильно понимаю, что ваша организация наняла молодого программиста, не проверив его компетенции и технологии, которыми он владеет, как и его опыт?

    Вы поставили перед ним таску, которую он сделал исходя из своих компетенций и технологий, которыми он владеет?

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

    Вопрос - а почему вы взяли вместо миддла или сеньора непонятно кого? Потому что он дешев?

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

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

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

    P. S. и причём здесь платный NestJS?


    1. Nurked Автор
      08.01.2023 18:03
      -21

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


      1. ionicman
        08.01.2023 18:09
        +60

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

        Если человек не может - его надо заменять. Это его факап, как программиста, а все остальное - ваш, как руководителя.


        1. Nurked Автор
          08.01.2023 18:10
          +4

          Нет, нет. Он — сдался. Это была его единственная роковая ошибка. Хрен бы с ними с требованиями. Он перестал стараться, и начал говорить, что он - всё.


          1. ionicman
            08.01.2023 18:14
            +49

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


            1. Nurked Автор
              08.01.2023 18:16
              +9

              А вы никогда не думали, что вменяемые программисты могут получиться, если к невменяемому программисту добавить мануалов и опыта?

              Нет ничего лучше, чем поставить новичка на ноги. Он вам потом всю жизнь будет реально благодарен.


              1. ionicman
                08.01.2023 18:19
                +54

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

                Из невменяемых плюс мануалы вы получите невменяемого минус мануалы и минус время.

                Поставить на ноги? У вас богодельня или бизнес? Если первое - вопросов не имею. Если бизнес - то надо чётко понимать затраты и профиты от такого действа и благодарность тут не причём.


                1. Hlad
                  09.01.2023 08:49
                  +6

                  Если грамотно "поставить на ноги" молодого спеца, ему потом лет десять можно будет недоплачивать зарплату в сравнении с рынком. Вполне себе долгосрочная стратегия...


                  1. Muzzy0
                    09.01.2023 14:39
                    +3

                    можно будет

                    Можно было. Прошло то время, сейчас все умные.


                    1. Hlad
                      09.01.2023 15:03

                      Можно было недоплачивать конкретно, в разы. Сейчас попросту дисконт уменьшился. Но если десять лет недоплачивать 10% к рынку - получится экономия в год зарплаты, а дёргаться из-за +10% к зарплате как-то не особо...


                      1. Muzzy0
                        09.01.2023 15:06

                        Но если десять лет недоплачивать 10% к рынку

                        Не выйдет. Либо 10 лет, либо 10%.

                        а дёргаться из-за +10% к зарплате как-то не особо...

                        Смотря, кому. Для джуна любой шаг - шаг вперёд ;)


                  1. Gryphon88
                    09.01.2023 15:19
                    +2

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


              1. RedPandaHere
                08.01.2023 18:38
                +21

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

                Я не согласен, супер пловцов готовят по другому, хороших программистов тоже.


              1. IB2022
                08.01.2023 19:13
                +3

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


                1. BobovorTheCommentBeast
                  09.01.2023 14:33
                  -1

                  Ща сорт моды, особенно в русскоязычном сообществе. Такой обратноход от коммунистического прошлого (предположение).

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


                  1. WraithOW
                    09.01.2023 15:02

                    то работника - удовлетворять свои личные интересы, не смотря ни на что,

                    Трагедия общин


              1. engine9
                08.01.2023 22:02
                +5

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


                1. YDR
                  09.01.2023 09:19
                  +4

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


                  1. engine9
                    09.01.2023 09:37
                    +2

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


              1. strokoff
                09.01.2023 00:25
                +5

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


                1. funca
                  09.01.2023 00:37
                  +2

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

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


          1. YDR
            08.01.2023 20:16
            +48

            блин, это джун, судя по описанию. Его еще учить и учить. Ну и рассказал бы, что нехорошо все валить на посторонних людей, взял бы и помог разобраться. А тут нашел причину и выпнул. [off]Так это наверное потому, что "из жалости взял россиянина"[\off].

            Он не на должность супермена шел работать, и не на главного супер-пупер инженера. И для него есть нерешаемые задачи (важно во время сдаться (попросить помощи явно или неявно) ). И для кого угодно есть нерешаемые задачи(!).

            Можно было дать ему начальный опыт поиска решений в тупиковых ситуациях "а как ты думаешь, кто мог бы тебе помочь?"

            Считаю, что в первую очередь это -- фейл руководителя. Напомню, сдавшийся - практически джун.

            Да, возможно, разбаловали их, но сам-то себя вспомни в детстве?


            1. Aleks_ja
              08.01.2023 23:59
              +6

              А где фэйл руководителя? Разве что в том, что немного раньше не уволили.

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


              1. vvbob
                09.01.2023 09:07
                +14

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

                Понятно что опытного разработчика так опекать не надо, но так он и не опытный. А просто дать ТЗ, и потом посмеиваться над "тупым нубом", что он делает все неправильно и явно зашел в тупик.. ну это такое..


              1. SharpNesla
                09.01.2023 12:00
                +2

                Про смену работы раз в год не соглашусь, учитывая, что процесс индексации ЗП нормально налажен примерно нигде, то вместо того, чтобы терпеть люди часто берут и идут туда, не получают сразу 25-70% к окладу просто за сам факт смены работы. Так что, полгода ещё могут насторожить, но это тоже не редкость, а год это абсолютно нормальная практика, исходя из условий.


              1. xaoc80
                09.01.2023 13:03
                +1

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


                1. Aleks_ja
                  09.01.2023 14:47
                  -3

                  Вот я сейчас являюсь "Hiring manager" - нанимаю людей в свою команду. Всего для программиста - 5 раундов собесов, из них один - мой, а также само решение в основном будет за мной по итогам всех раундов.

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

                  На моём раунде я именно хочу понять насколько у человека был высокий вклад в предыдущие проекты, был ли он там основным контрибьютором либо одним из основных. Является ли он "rock star". Проходит это во время обсуждения последних пунктов в резюме в подробностях, иногда показываю экран, вбиваю туда адрес сайта про который говорит кандидат, и спрашиваю - что конкретно вы тут сделали. И в идеальных случаях - кандидат говорит, давайте лучше я поделюсь экраном - и с залихвой начинает рассказывать что и как он(а) делал(а).

                  Но есть и другие раунды - (2 из них технические), на которые я также могу немного влиять. Там уже может попадаться что-то алгоритмическое.

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

                  И если с первых раундов видно, что кандидат крут - то ему включается "fast track" и все раунды завершатся за несколько дней.


                  1. xaoc80
                    09.01.2023 18:08
                    +1

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


                    1. Aleks_ja
                      09.01.2023 20:57

                      Для этого у нас считается, чтобы интервью с Hiring Manager было как можно раньше. Т.е. вторым этапом, после раунда с HR. Т.к. именно Hiring manager всё расскажет и покажет и не спугнёт кандидата.


                  1. euroUK
                    09.01.2023 18:43
                    +5

                    Вы в Faang хайрите? Или зп платите вдвое выше рынка?

                    Ума не приложу, куда бы я стал проходить пять этапов интервью


                    1. Aleks_ja
                      09.01.2023 23:21

                      Не FAANG. Продукт, пре-IPO (однако в IPO пойдёт только когда рецессия в штатах закончится), ~700 человек работает. Бюджет на Senior developer в Европе 100к евро в год грязными (есть ещё выше синьёра - staff и principle dev). Если хороший девелопер ещё опционов дают (однако в описании вакансии это не указано).

                      Очень много откликов на вакансии. Самих вакансий не так много.

                      Даже мидлов практически нет и не набираем их. Заинтересовались бы?


                      1. euroUK
                        10.01.2023 00:59
                        +2

                        100к в Европе нет, я за газ заплачу больше после налогов. У меня 90 были оферы с двумя раундами собеса, сомневаюсь что лишние 10к стоят 3 раундов нервотреп


                      1. 0xd34df00d
                        10.01.2023 03:14
                        +1

                        Ну на самом деле количество раундов не так страшно, ИМХО.


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


                        Вин-вин.


                      1. 0xd34df00d
                        10.01.2023 03:11
                        +1

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


                      1. euroUK
                        10.01.2023 10:59
                        +3

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

                        Даже в гуглах я уверен отбор можно сделать проще.


                      1. Aleks_ja
                        10.01.2023 12:18

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

                        Либо же собесы по 2-3 часа делать. В других компаниях, когда я работал - частенько было именно так. Однако, после первого часа - ваши мыслительные способности начинают падать из-за напряжения.

                        Если бы из-за 5 раундов действительно откалывалось много кандидатов, то процесс бы поменяли.

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

                        Но, получается, первый вы уже прошли. Вероятность прохода 1 раунда очень высока.

                        С нашей же стороны HR передаёт фидбэк и уже мы видим, это yes или strong yes.


                      1. euroUK
                        10.01.2023 13:20
                        +3

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

                        Во-вторых, возможно в фирмах где людей берут "на будущее" такое прокатывает. Мой опыт говорит о том, что в 80% случаев проект горит и тебе тупо нет времени отсеивать сотни кандидатов

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

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

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

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


                      1. WraithOW
                        10.01.2023 13:35
                        +2

                        Мой опыт говорит о том, что в 80% случаев проект горит и тебе тупо нет времени отсеивать сотни кандидатов

                        Это сильно зависит от локации и условий. Условно говоря в Германии notice period и три месяцев может быть - толку торопиться, если после найма вы всё равно будете ждать, пока кандидат отработает?

                        Если нанимаете с релокацией - это отдельное шапито, потому что хрен знает сколько кандидат будет визу получать. Где-то можно только запись в посольство 2-3 месяца ждать.

                        Итого цена найма очень сильно вырастает: если вы взяли посана, прождали его 4 месяца, а через две недели понимаете, что он вообще не тянет - то вы серьезно обосрались и потеряли 4 месяца и кучу денег (при этом надо понимать, что одним днём вы его не уволите). Зато собесов меньше, ага.

                        Ну и сразу отвечу

                        Я вообще за свои 16 лет практики ни разу не видел мест, где действительно требуются 5 раундов собесов.

                        Как минимум 4 - легко

                        1. Первичный с HR'ом/cultural fit

                        2. Техника

                        3. Для синьоров-помидоров - какой-нибудь system design

                        4. Финалка с будущим начальником

                        Опционально посыпьте сессией с лайвкодингом или парным программированием, алгоритмический собес, или какой-нибудь контрольный собес с чуваком из другого подразделения (некоторые такое практикуют) - и вот вам 5 сессий. Ну и да, где-то они будут короткими, до часа, чтобы и кандидат, и собеседующий не превращались к концу в амёбу (плюс чтоб кандидат мог нормально подготовиться).


                      1. euroUK
                        10.01.2023 14:46

                        И все это лишь подтверждает никчемность такого подбора. Потому что в общем случае достаточно пункта 2-3 вместе с техническим оунером на проекте. Все эти вы*боны с лайвкодингом или парным программированием, алгоритмический собес это не более чем плохой фильтр.

                        В реультате этого фильтра остаются те, кто сидит на жопе ровно, но никак не рокстары.

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


                      1. Aleks_ja
                        10.01.2023 15:58

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


                      1. euroUK
                        10.01.2023 16:18
                        +1

                        В статье его не только не тянули, но и даже не тратили время на сформулирование таски нормально


                      1. 0xd34df00d
                        10.01.2023 18:37

                        Не думаю что там где что-то доказывают такое требуется 5 раундов.

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


                        Поэтому вполне возможно, что фильтр в какой-нибудь известный и привлекательный гугл оправданно должен быть сложнее, чем в какой-нибудь galois inc.


              1. event1
                09.01.2023 17:01

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


            1. atri24
              09.01.2023 09:14
              +5

              Согласен, это фейл руководителя, который он переложил на джуна, потому что сдался :)
              Прям как в притче про бревно в глазу.


          1. rezedent12
            09.01.2023 11:25
            +11

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

            Ты формулируешь перед исполнителем задачу - "сделай быстрее" и когда исполнитель оценивает свои силы (,а люди вообще часто делают это неадекватно), то понимает что не успеет. Или понимает что будет слишком долго возится и за малое количество выполненных задач премии не получит, поэтому он хочет что бы с него сняли ту задачу которую он не может и дали другие. Ведь он тоже думает о целесообразности вложения своих сил. Целесообразности для себя. Ведь он несёт ответственность за себя, за своих близких.

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

            Заметь, ты сам написал:

            я буду сидеть и выяснять, почему это произошло

            Как долго ты будешь сидеть и выяснять? В чём между вами разница на самом деле? Ты имеешь уверенность (наглость) сказать - "столько сколько надо", потому что считаешь себя профессионалом и уверен в том что потратишь именно столько сколько надо времени. Если вернее, то уверен что большинство других потратят больше времени чем ты. Молодой же разработчик обычно не уверен в том что потратив месяц на исследование, не обнаружит потом что профессионал потратил на это 1 день. И дело не в том что он не уверен в своих знаниях как таковых или способностях к логическому мышлению. А в том что у него нет опыта решения задач, который бы интуитивно подсказывал среднее ожидаемое время их решения.

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

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

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

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

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

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

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

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


            1. Aleks_ja
              09.01.2023 17:27
              -2

              Без обид, но после такого общения я бы вас уволил.


              1. rezedent12
                09.01.2023 17:35

                Интересно, что в моём общении неприемлемо с точки зрения вас как "серьёзного бизнеса"?


                1. Aleks_ja
                  09.01.2023 18:13
                  +3

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

                  Софт скилы на уровне 0. Также сарказму не место в профессиональном общении. И ещё можно применить модный термин - токсичность.


                  1. rezedent12
                    10.01.2023 17:56
                    +1

                    Софт скилы на уровне 0

                    токсичность

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

                    Также сарказму не место в профессиональном общении.

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

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

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

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

                    Вы не "за одно", а противопоставляете себя

                    Как потенциальный будущий политик, заявляю вам. Какие же вы мрази... Прям как политики.


                    1. euroUK
                      10.01.2023 21:24

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


                    1. Aleks_ja
                      11.01.2023 00:00
                      -6

                      Сложно что-то доказать людям с практически противоположным мировоззрением, однако, вот вам к размышлению - страны в которых принято "не оскорблять чувства", где переименовывают black list в block list, и уж тем более не используют мёртвых детей при описании сайтов - более развиты экономически, имеют здоровые правительства, которые меняются, больший человеческий потенциал и больше возможностей для сограждан.


                      1. 0xd34df00d
                        11.01.2023 00:19
                        +4

                        В этих странах принято не оскорблять чувства только определённого подмножества людей. Остальных принято и поощряется оскорблять.


                      1. Nurked Автор
                        11.01.2023 07:21
                        +1

                        Ох как правильно вы сейчас США описали.

                        Если ты сам стоишь на ногах, то ушат гамна выслушивать тебе. А вот Билли, с другой стороны, он сидит в колясочке, он сам ходить не может. Билли - инвалид.


                      1. Aleks_ja
                        11.01.2023 15:39

                        А кто вам говорит "ушат гамна"? Билли-инвалид, либо такие же здоровые, которые "стоят на ногах"?


                      1. Tresimeno
                        11.01.2023 01:43
                        +4

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

                        То, что их нынешнее процветание обусловлено совсем не переименованием black list в block list, а предшествующими десятилетиями, а то и столетиями жизни без таких маразмов Вы не рассматриваете? Общества имеют огромную инерцию, которая подчас прощает дичь отдельных времен и персон, и в силу этого способна продолжать обеспечивать процветание, даже если президент немного чудит с речами, трапами и вообще, координацией движений.


                      1. Aleks_ja
                        11.01.2023 16:30
                        -1

                        столетиями жизни без таких маразмов Вы не рассматриваете

                        уверен, когда-то говорили - "столетиями жили с рабством, а сейчас что ... должны его отменить???".

                        То, что их нынешнее процветание обусловлено совсем не переименованием black list в block list

                        Это правильно сказали - не процветание обусловлено black list в block list, а наоборот - процветание обусловило подобную политкорректность. Вывело людей на следующий этап.


                  1. 0xd34df00d
                    10.01.2023 18:39
                    +2

                    Мне вот одно очень интересно — а вы правда думаете о том, как каждое ваше слово может быть кем-то истолковано?


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


                    1. Aleks_ja
                      10.01.2023 23:49

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

                      Потом, я уже попытался обосновать почему.

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

                      И сравнивать ваш лёгкий дискомфорт с горем и трагедией - неуместно. Хотя, для вас может быть уместно. Но это значит и мне с вами не работать.

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


                      1. 0xd34df00d
                        10.01.2023 23:59
                        -1

                        скорбь по всем детям, которые умерли в утробе

                        Если в утробе ребёнок, который умирает, то, получается, аборт — это таки убийство? Чё-т какая-то непрогрессивная риторика у вас, не ожидал такого.


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


                        Если в современном развитом мире переименовывают бранчи из мастер в мэйн

                        А, я вспомнил — это мы уже с вами разговаривали на тему того, есть ли в США адский расизм в сторону чёрных, и вы всё верите, что есть. Ну ок.


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


                        И сравнивать ваш лёгкий дискомфорт

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


                      1. Aleks_ja
                        11.01.2023 00:03

                        А, я вспомнил — это мы уже с вами разговаривали на тему того, есть ли в США адский расизм в сторону чёрных, и вы всё верите, что есть. Ну ок.

                        О неет. счастливо оставаться.


                      1. 0xd34df00d
                        11.01.2023 00:44

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


                        Ещё стало интересно, уволили ли бы вы человека, если бы вы узнали, что он сделал (или поддержал решение сделать) аборт, и зависит ли это как-то от сроков, но это я, видимо, тоже не узнаю.


                      1. rezedent12
                        11.01.2023 11:32

                        У меня есть чуть более базовый вопрос. Почему вы так трясётесь на чувствами? Боитесь спугнуть клиента выбирающего между вами одинаковыми прилизанными продаванами? Ну так то да, это рационально. Однако, почему вы позволяете этому анестетику протекать в команду разработки?


                      1. Aleks_ja
                        11.01.2023 12:30
                        -1

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

                        Вот уже сколько я сообщений написал, а вы меня не поняли.


                      1. rezedent12
                        11.01.2023 15:24
                        +1

                        И важный показатель - это эмпатия, которая у вас отсутствует.

                        Эмпатия у меня есть и всякие тесты показывают что даже чрезмерная. С моей точки зрения "больно" везде и всегда. Это вы можете морально и эмоционально от чего то полностью отстраниться просто убрав это из внимания. Я этого не могу.

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

                        Кажись именно это и приводит у меня к эпизодическому перегоранию эмпатии. Полагаю со временем психопатом стану.

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

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


                      1. Aleks_ja
                        11.01.2023 15:57
                        -1

                        Хамство пораждает хамство, негатив - негатив. Улыбаетесь людям, они вам улыбаются в ответ.

                        Если вы настроены враждебно к кому-то, думаете, он будет к вам настроен дружелюбно?

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

                        Сначала меняете слова, а потом смотрите - и меняется действительность.

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

                        Если вы работаете на проекте - то вы работаете с людьми, такими же как вы (ну только с большей эмпатией, скорее всего). Разберитесь "на позитивчике" вместе, что вам сделать, чтобы проект был конфеткой. Например, я не работаю в "дерьме", и всё ок. Да есть какое-то количество легаси кода, но мы его не называем "дерьмом" )) А постепенно его рефакторим. Даже дезедорантом не нужно нигде пырскать.

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


                      1. rezedent12
                        11.01.2023 16:18

                        Улыбаетесь людям, они вам улыбаются в ответ.

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

                        Сначала меняете слова, а потом смотрите - и меняется действительность.

                        Целые нации проводят такие эксперименты. Пока что результаты отрицательные. Особенно ярко это продемонстрировал последний лживый фильм о африканских воительницах.

                        Разберитесь "на позитивчике" вместе, что вам сделать, чтобы проект был конфеткой.

                        Щас спою. Этот ваш гнилой позитив! Вашу землю украсит, лишь ядерный взрыв!

                        Да есть какое-то количество легаси кода, но мы его не называем "дерьмом"

                        Этот ваш "легаси" есть разный. И тот в котором что то прибито гвоздями к специфическому окружению или же привязано к плохой проприетарной технологии, возможно дохлой, без должного слоя абстракции - это дерьмовый код. Как бы ты назвал бы систему разделения "рабочих столов", то есть позволяющую к одному компьютеру подключить множество рабочих мест, в которой всё прибито к GDM определённой версии и при каждом обновлении всё отваливается? А хотя ведь можно было используя штатные средства linux, сделать нормальные драйвера для своих устройств и скрипт запуска X серверов с собственными конфигурационными файлами. И тогда не было бы без разницы какой вообще менеджер графического входа использовать. Всё что нужно было бы поддерживать, это юнит системы инициализации и драйвер для xorg.


                      1. Khelevaster
                        11.01.2023 14:18
                        +1

                        А как вы относитесь, например, к фильмам, в которых умирают люди (и дети, в частности)? Ведь они напоминают людям об их собственном горе и при этом давят на эмоции гораздо сильнее, чем мимоходные упоминания. Считаете ли вы, что в современном мире неприемлемо показывать такие фильмы по телевизору, в кинотеатрах, в рекомендациях ютуба etc?


                      1. Aleks_ja
                        11.01.2023 15:33

                        Лично про меня - если это не документальное кино, где действительно описываются факты - то прекращаю смотреть и считаю, что вводя такой "художественный оборот" сценаристы (или кто там ответственен за это) - используют этот приём, чтобы выбить слезу, однако, могли бы больше постараться и обойтись без этого. Считаю, что такое кино не достойно, чтобы его смотреть. Например, из-за этого я не посмотрел ТорЛюбовь и Гром.

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


                      1. rezedent12
                        11.01.2023 15:50

                        Насколько корректно обозвать тебя "неженкой"?


                      1. Aleks_ja
                        11.01.2023 16:12

                        Когда мы на ты перешли?

                        Я думаю обзывать кого-то - уже некорректно. Не думаю, что я "неженка", вас бы уволил и глазом не моргнул.


                      1. rezedent12
                        11.01.2023 16:37

                        Я думаю обзывать кого-то - уже некорректно. Не думаю, что я "неженка", вас бы уволил и глазом не моргнул.

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

                        А ещё вспомнил. Именно он потребовал в официальных документах не употреблять слово "голод" заменив его на "недород". Так как это плохое слово портило ему аппетит и настроение.

                        Как звучит - "Крестьяне в этом году не уродились"...


                      1. PuerteMuerte
                        11.01.2023 16:16
                        +1

                        Если в современном развитом мире переименовывают бранчи из мастер в мэйн

                        Справедливости ради, конкретно это — не от развитости. Так, популистский тренд. Он пройдёт.
                        то уже упоминание мёртвых детей для «красного словца»

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


                      1. Aleks_ja
                        11.01.2023 16:25

                        это абсолютно обиходное слово, которое касается любой затеи, которая по меркам наблюдателя видится провальной задолго до окончания её реализации

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


                      1. PuerteMuerte
                        11.01.2023 16:35

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


              1. brukva
                09.01.2023 21:17
                +2

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


            1. PuerteMuerte
              09.01.2023 18:30

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

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


              1. rezedent12
                11.01.2023 11:26

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

                Расскажу тебе немного про ответственность. Есть такая контора нехороших людей, называется "бизнес-класс", на одной из моих предыдущих работ мы с ней сотрудничали. И как то эта контора обратилась к нам за технической помощью в проведении мероприятия. Руководитель назвал стандартную цену, 600 рублей в час. Они не согласились. Тогда у него стали спрашивать кого бы другого нанять. Он поспрашивал своих знакомых, там согласных не нашлось и в итоге предложил мне дать отгул на тот день, а я заработаю 3 тысячи рублей (вроде, или 2 тысячи, сумму не помню уже точно). Я согласился, предупредив что никогда раньше этим не занимался.

                Пришёл в конференц-зал. На всех рабочих ноутбуках нелицензионная windows напоминающая о своём статусе полупрозрачной надписью. И не офисного пакета даже. В общем, я поставил libreoffice и acrobat, настроил подключение к проектору. Музыки заготовленной заранее нет, сказали "сам скачай динамичную". Выступления долгие без пауз, еды для персонала нет, цены на неё в ресторане гостиницы дорогие, требуется постоянно быть возле ноутбука. Хорошо что с собой немного еды взял. А потом понадобилось в туалет и никого не нашёл кто бы меня подменил, пошёл в перерыв, но перерыв неожиданно решили закончить. Кстати про музыку, я нашёл OST из "c money of soul and possibility control", там есть много хороших композиций.

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

                Тогда же я и сформулировал тезис: Настоящий мужик не ведётся на слова "будь мужиком ..."

                "На свой account надо принимать только деньги, остальное - spam."


                1. PuerteMuerte
                  11.01.2023 16:24

                  А желание исправлять свои ошибки есть лишь тогда, когда есть гордость за выполняемое дело.

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


          1. shornikov
            09.01.2023 11:31
            +6

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


          1. 0xd34df00d
            09.01.2023 20:54

            Мне вот очень интересно, и стало интересно ещё во время чтения статьи.


            Когда я пару лет назад сказал себе «всё, не могу писать на плюсах надёжный софт, не могу спать по ночам, буду прости фуллтайм-хаскелистом» — я сдался и фу, и надо было продолжать превознемогать?


            1. PuerteMuerte
              09.01.2023 22:55
              +1

              я сдался и фу, и надо было продолжать превознемогать?

              Вы это сделали, забросив какие-либо задачи, которые вы пообещали другим людям, или просто так?


              1. 0xd34df00d
                10.01.2023 03:15

                Я готов был увольняться.


      1. Mitya78
        08.01.2023 21:42
        +30

        человека из россии

        Названия стран пишутся с большой буквы.


      1. Mearo
        09.01.2023 14:33

        Хочу сразу попросить прощения если чего не понял , пока что я всего начинаю свой путь в айти , а самому мне 20 лет отродясь, но волшебное "OK Google " + правильное формирование вопроса, выдаёт ответ на том как решить эту задачу , какие могут быть нюансы и подводные камни, и так же их решения, да ну блин , тут ведь логически ясна причино следствиная связь , и даже более того можно предложить ещё пару идей по отказоустойчивости и оптимизации, хотя возможно они и так были следующими шагами по ТЗ


      1. deepmind7
        09.01.2023 14:34
        +2

        Прекращайте оправдываться. :)


    1. dopusteam
      08.01.2023 18:04
      +18

      Вопрос - а почему вы взяли вместо мидла непонятно кого?

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

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

      А то "Я буду сидеть и тупить в логах, пока не найду настоящую причину этой проблемы" может стоить очень дорого


      1. YDR
        08.01.2023 20:19
        +3

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

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


        1. sshemol
          08.01.2023 21:16
          +1

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


          1. vvbob
            09.01.2023 09:12
            +9

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


        1. saboteur_kiev
          08.01.2023 22:24
          +2

          То есть ваш ответ на этот вопрос на собеседовании будет "я перекину все на более мощное железо" ?
          Уверены?


          1. Daddy_Cool
            08.01.2023 22:59
            +2

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


            1. saboteur_kiev
              09.01.2023 04:39
              +1

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


          1. vvbob
            09.01.2023 09:16
            +4

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

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


          1. suslovas
            09.01.2023 11:05
            +6

            Я как-то проходил собеседование в один банк, и там правильным ответом было именно то, что вы озвучили. А точнее их комментарий, что если проблему можно быстро решить дополнительным железом - это их устраивает. В некоторых случаях "залить пожар деньгами" для некоторых компаний реально проще и выгоднее, чем потерять время на разборки. Разбираться будут потом, когда вокруг перестанет все гореть.


          1. PsyHaSTe
            10.01.2023 16:51

            Как вы из "Понятно, что "хорошо бы разобраться", но это решение не всегда является лучшим или хотя бы оправдвнным." сделали ответ "я перекину все на более мощное железо"? Соломенное чучело это некрасивый подход.


        1. virrus
          09.01.2023 10:21
          +2

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


      1. 0x131315
        09.01.2023 05:27
        +13

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


        1. PereslavlFoto
          09.01.2023 10:03

          зачем тогда ответственность вешать на программиста? Зачем требовать от него «сделай хоть что-нибудь»?

          Для того, чтобы решить проблему, если нет ни дополнительного бюджета, ни аппаратных мощностей.

          Что он может сделать, если ему не дают ни времени, ни возможностей, ни полномочий, ни ресурсов?

          У него есть возможности оптимизировать программу.


          1. aploskov
            09.01.2023 12:15
            +2

            У него есть возможности оптимизировать программу.

            Есть, вопрос всегда во времени решения. С другой стороны, если сервис не приносит столько, что на него есть смысл выбросить гору денег в моменте, то пусть полежит. Снять логи (дампы, при необходимости) программисту + техподдержке, даунгрейднуть сервис до предыдущей рабочей версии и разбираться в проблеме спокойно.


          1. czz
            09.01.2023 21:59
            +1

            Нет бюджета - до свидания. Пойдет туда, где есть бюджет.

            У него есть возможности оптимизировать программу.

            Нет бюджета - сами и оптимизируйте :) Решение нестандартных проблем в горящих условиях стоит дорого


      1. Femistoklov
        09.01.2023 11:37
        +1

        Первый уровень - добавить/обновить железо

        Второй - выяснить и устранить причину

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

        Четвёртый - проверить, действительно ли есть проблема, может мониторинг врёт или сисадмины врут

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

        ...


      1. Terimoun
        09.01.2023 21:08

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


    1. PuerteMuerte
      08.01.2023 18:26
      +4

      Я правильно понимаю, что ваша организация наняла молодого программиста, не проверив его компетенции и технологии, которыми он владеет, как и его опыт?

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

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


      1. ionicman
        08.01.2023 18:43

        Но вроде как они же не джуна брали

        Нигде про это не сказано, но из комментариев автора выходит, что брали вообще чтобы "помочь"...

        и у него неплохое резюме

        Когда резюме - пусть даже и не плохое - являлось гарантом чего-либо?

        но 100% достоверно оценить компетенции специалиста просто по резюме и собеседованиям в принципе нереально

        Естественно, но здесь даже попытку не сделали, зато повелись на слова "Я буду копать!"

        а про то, что ныть «чужая библиотека виновата» — отстой

        Дак это и вытекает из компетенций кандидата - миддл так бы не стал делать, а попытался бы решить проблему или хотя-бы в ней разобраться (на самом деле он бы просто не стал юзать данный стэк и этой конкретной проблемы вообще бы не существовало).

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


        1. PuerteMuerte
          08.01.2023 19:15
          +4

          здесь даже попытку не сделали, зато повелись на слова «Я буду копать!»

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

          Дак это и вытекает из компетенций кандидата — миддл так бы не стал делать

          Вы думаете, миддлов и даже сеньоров мало, которые говорят «ничего не знаю, проблема где-то не в моём коде»?


          1. ionicman
            08.01.2023 19:17

            Я специально нанял человека из россии, решил молодому мальчику помочь.

            Из начала повествования. А надо было собеседовать и проверять и не надо было тянуть - в этом и была ошибка.

            А так да - наняли человека не подходящего под требования.

            Еще раз - у миддла или сеньора данной ошибки по просту бы не было.

            А "оправдывание" было как раз из-за того, что Василий был не из той категории, которая требовалась.

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

            Если же юн либо возрастом, либо умом - то будет то, что описано в статье. Т.е. "оправдывание" описанное в статье - просто обычная психологическая защита.

            Вы думаете, миддлов и даже сеньоров мало, которые говорят «ничего не знаю, проблема где-то не в моём коде»?

            Конечно такие есть - но они это делают, четко понимая зачем и почему.

            Это - не психологическая защита, а расчет - и это, естественно, совершенно другое и для другого.


            1. PuerteMuerte
              09.01.2023 00:52
              +2

              Конечно такие есть — но они это делают, четко понимая зачем и почему.

              Можно и так сказать, но я не особо ошибусь, если скажу, что примерное распределение причин вот такое:
              10% — я уже сейчас вижу, что эта задача не окупит потраченное на неё время, и лучше выбрать другой путь
              10% — у меня есть более приоритетные задачи
              50% — мне влом заниматься такой рутинной и скучной работой, как раскапывать чужой код
              30% — я туда уже заглядывал, и нифига не понял, как оно работает, поэтому боюсь связываться.
              Вот последние два пункта, это всё-таки психологическая защита, а не расчёт.


      1. 0x131315
        09.01.2023 05:33
        +5

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


    1. IvanProvinciaTver
      08.01.2023 22:38
      +13

      Да нет, тут всё выглядит намного проще.

      Судя по описанию проблемы автором, задача не выглядит никакой Ракетной Наукой.

      1. проверить состояние соединения к базе

      2. если его нет - переподключиться

      Написать блок кода уровня if function1() { function2() } джун должен уметь. Обязан.

      Для этого не требуется патчить фреймворк, на котором написан проект.

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

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

      Автор, понимаю вашу боль. Вопросы воспитания - самые сложные.

      Из моей практики:

      джун, матмех. Приходит со скриптом. "у меня тут в батнике что-то не получается". Говорю ему "перепиши свою конструкцию на powershell, делается за 2 строчки, документация лежит там-то. Дальше диалог:

      -но я не знаю powershell
      -тыжпрограммист, ты напишешь. Микрософт давно и официально рекомендовала всем переезд на PS.

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

      P.S. Он вернулся через 2 часа, всё сделано.


      1. 0x131315
        09.01.2023 05:38
        +13

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


        1. sicikh
          10.01.2023 22:28

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

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

          Куча вопросов и слов «вроде». Как раз из-за того, что слышим только одну сторону. Но если рассматривать «абстрактного коня в вакууме» и проблему падения в рантайме из-за отсутствия соединения с Redis, то решение спокойно гуглится за 5 минут и приводится в жизнь. Если же источник проблемы не в этом, то надо дальше смотреть. А как иначе? Бросать всё и говорить «не могу, так как фреймворк плохой»? Ну пусть тогда возьмёт другой, где опыта побольше, если уж изначально хотел поэкспериментировать, что тоже бывает и что, на самом деле, полезно (если простор возможностей такой дали).


    1. Vadem
      09.01.2023 01:35
      +14

       Так что далеко не все так однозначно.

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

      @Nurked, прекращай оправдываться. Не бывает такой штуки, как "этот сотрудник плохо работает". Бывает только некомпетентные руководители, которые не могут выделить адекватные ресурсы на задачу.


  1. KORM_xD
    08.01.2023 18:04
    +8

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

    Он же сидит и работает, а не бегает и не пиарит себя ( и про него знать не знают)

    Или

    Бегает и пиарит, а не работает


    1. Nurked Автор
      08.01.2023 18:05
      -6

      Есть такие люди. Если вы - зае__сь рабочий, это не значит, что вам надо сидеть в тени и ничего не делать. Вы можете сделать так, чтобы о ваших достижениях знали. Не значит, что вы будете постоянно хвалиться. Но, если вы уже сделали что-то хорошее, то и прятать этого не надо. Доложите начальству "Я уладил Сервер 6, который постоянно падал."


      1. stackjava
        08.01.2023 21:48
        +8

        Зависит от размера компании. Думаю топ-менеджеру банка будем параллельно на то что кто-то "уладил Сервер 6" )))

        А вообще иногда слегка злит отношение: "Ты же программист !!!"

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

        Я думал, что разделение труда это все таки благо и быть профессионалом по железу, по сетям, по администрированию, по БД, по написанию программ... одновременно как то тяжеловато

        Я бы сказал программист - пишет программы, системный администратор - занимаются серверами и сетью, девопс - настраивает CI/CD, DBA - думает о репликациях, масштабировании и отказоустойчивости базы...

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

        Честно говоря, вообще параллельно от чего там радуется Василий
        Геннадьевич и какими способами достигает он удовольствие )))

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

        Я ему говорил, что его вонючие
        микросервисы нафиг никому не сдались. Я не раз показывал Василию
        оригинальное ТЗ, в котором значилась одна вещь: REST API сервер, с пятью
        endpoints. Всё. Я не просил NestJS, на самом деле я не просил даже
        Javascript. Я хотел, чтобы всё было сделано на Golang. Но я знал, что
        Василий не силён, и решил, что мне стоило ему помочь.

        Дак сказали бы ему что подошло бы лучше или в чем больше экспертизы, наставили бы на путь истинный в начале проекта. И делал бы он вам "невонючий" монолит на чем-нибудь в чем человек силен или на чем у вас принято.

        Он прилежно решает задачи на leetcode и всё такое. Он умеет сортировать деревья сбалансировано и несбалансированно. Он научился до такой степени, что может отсортировать строку алгоритмом O(n^-1).

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

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


      1. PereslavlFoto
        09.01.2023 04:21
        +3

        Разумеется, в месячном отчёте будет сказано: «я уладил Сервер 6, который постоянно падал».

        Затем в месячном отчёте по отделу будет сказано: «отдел уладил Сервер 6, который падал последние полгода».

        Затем руководитель направления отметит: «попутно настроен Сервер 6».

        Затем замдиректора отметит: «настроены сервера».

        В годовом отчёте эта строка не появится, поэтому топы её не прочтут.


        1. spacediver
          10.01.2023 15:27
          -1

          Ваш комментарий как бальзам!

          Кто-то же должен фильтровать грамматику вида «уладить <вещь>» (вместо «уладить такие-то проблемы с <вещь>»), и как можно раньше))


  1. Orbit67
    08.01.2023 18:09
    +22

    Многие так и делают, перестают оправдываться и начинают обвинять, потом становятся высокими специалистами.


    1. Nurked Автор
      08.01.2023 18:09
      -4

      Покусал бы таких. Но и на них есть управа.


    1. Terimoun
      09.01.2023 21:10

      Есть такие, да, но так не все могут, как выясняется.


  1. ugenk
    08.01.2023 18:10
    +27

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


    1. Aleks_ja
      09.01.2023 00:10
      +2

      Нанять на работу, уволить - это также работа менеджера. Так получилось, что человек не влился, не подошёл, не нашлось задач под компетенцию. Может где-то он будет отлично контент набивать и шаблоны подправлять.

      Если в итоге расстались, то не вижу косяка. Разве что излишняя эмоциональность. Такие вещи также нужно делать профессионально - только уже со стороны менеджера.

      Если разобрались в статье с тем, кто такой программист-профессионал, то кто же такой менеджер-профессионал?


      1. ugenk
        09.01.2023 08:06
        +3

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


        1. Aleks_ja
          09.01.2023 13:53

          А на сколько ошибок у человека есть право?


          1. ugenk
            09.01.2023 13:55
            +1

            Если каждая ошибка осознанна, оговорена, задокументирована и отработана - то на бесконечное :)


  1. MentalBlood
    08.01.2023 18:10
    +5

    Описана типичная XY проблема, т.е. важен не инструмент, а


    оригинальное ТЗ, в котором значилась одна вещь: REST API сервер, с пятью endpoints. Всё.

    Т.е. надо тыкать в ТЗ и спрашивать где здесь NestJS


    P.S. Впрочем, если бы Василий смог обосновать необходимость использования NestJS для решения этой задачи, речь уже шла бы именно о


    Ты, программист, знаешь. Ты можешь


    1. Nurked Автор
      08.01.2023 18:19
      +3

      Да хрен бы с ним с обоснованием. Мне был нужен сервер. Хоть на Rust. Проблема в том, что вышло вот что:

      Не важно, если это NestJS, pure JS, Rust, Golang, C#, Java или Brainfuck. Важно, что это не могло быть "И так сойдёт". Но, даже важнее этого - это то, что на этом подходе настаивали.


      1. YDR
        08.01.2023 20:26
        +14

        я так понял, что не "и так сойдет", а "stop: я не знаю, что делать дальше"


      1. arokettu
        09.01.2023 12:35
        +2

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


  1. mayorovp
    08.01.2023 18:28
    +2

    А если ты плохой программист, то у тебя в кармане всегда найдётся пара отговорок о том, что в голанге нет дженериков или прочей билеберды

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


    1. GeorgeII
      09.01.2023 00:10
      +1

      Написать либу иерархии тайпклассов. Чтобы с higher kinded types и type constructors


      1. mayorovp
        09.01.2023 06:25
        +1

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


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


        1. GeorgeII
          10.01.2023 10:29

          Higher kinded types и type constructors - фичи языка. А с помощью них (и еще некоторых языковых конструкций) можно реализовать тайпклассы, как это сделано в Скале. Например, здесь. Но при этом сами HKT требуют(?) наличия параметрического полиморфизма, т.е. дженериков.

          Хотите сказать, настоящий профессионал, который никогда не оправдывается, и правда способен взять и сделать всё это в голанге первой версии

          Наоборот же :) Задача нереализуема и отговорка об отсутствии в языке дженериков, а тем более их старшего брата HKT, вполне прокатит


          1. mayorovp
            10.01.2023 11:29

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


            Рассмотрим теперь утверждение "в языке Go 1.x невозможно написать либу иерархии тайпклассов, чтобы с higher kinded types и type constructors, так как в Go отсутствуют дженерики" — отговоркой оно не является, поскольку эта причина настоящая. Ни один профессионал её не обойдёт не сменив язык.


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




            Higher kinded types и type constructors — фичи языка. А с помощью них (и еще некоторых языковых конструкций) можно реализовать тайпклассы, как это сделано в Скале.

            Уточнение: с их помощью можно реализовать не тайпклассы, а стандартную иерархию тайпклассов из теорката.Сами по себе тайпклассы — тоже необходимая фича языка.


            1. 0xd34df00d
              10.01.2023 18:41

              Уточнение: с их помощью можно реализовать не тайпклассы, а стандартную иерархию тайпклассов из теорката.Сами по себе тайпклассы — тоже необходимая фича языка.

              Вроде как в скале это имплиситами эмулируют. Хотя я недостаточно знаю про скалу, но в той же агде или идрисе тайпклассы делаются через некоторый особый (и отличный от auto proof search) механизм автоматического поиска термов с заданным типом.


  1. skilllab
    08.01.2023 18:31
    +1

    У меня другой случай был. Технически сложное API к одной большой PLM системе. Различные варианты реализации алгоритма. В результате - дикие тормоза при обычной выгрузке данных. На что заказчик сказал "я подожду пару часов, лишь бы не падало". Мои убеждения на ковыряние дальше в целях оптимизации (как раз тот самый лоулевел) отвечал - "не надо". В результате имею неудовлетворённого себя + заказчика, который удовлетворился малым.


    1. DjPhoeniX
      08.01.2023 21:04
      +2

      Технически - право заказчика. Он платит деньги за то, что его устраивает. И он может сказать "стоп, меня устраивает, работа принята, деньги выплачены".


    1. gmtd
      08.01.2023 23:03
      +2

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


      1. skilllab
        09.01.2023 09:35

        И да, и нет. В бюджете были заложены необходимые часы. С заказчиком уже давно работаем над многими проектами. Т.е. это чисто его осторожность, которая косвенно привела к неудовлетворённости обоих. Хотя задача то решаемая. И даже пути решения описал. Начиная работать над конкретным проектом реально не знал никто что будет так ... долго.


    1. XelaVopelk
      09.01.2023 09:52

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


      1. skilllab
        09.01.2023 14:43

        Это твёрдый факт! )))


    1. I_Love_Misato
      09.01.2023 21:05
      +1

      А ещё бывает так. Руководство говорит: "Пусть работает, как есть, нас всё устраивает, оптимизируем потом". А потом через пару недель: "А почему твоя программа такая медленная? А почему сразу нормально не написал? Ты ж программист, ...", далее по тексту статьи.


  1. EGA_production
    08.01.2023 18:34
    +1

    Если ваша компания наняла человека, не соответствующего требованиям - это просто повод пересмотреть подход к проведению собесов и всё.


  1. web1nick
    08.01.2023 18:37
    +17

    Что-то мне кажется, это из серии где один идиот менеджер, который думает, что он умный, нанял идиота программиста, который так же думал, что он умный, и они по эффекту Даннинга-Крюгера обвиняют друг друга в неудачах


    1. Nurked Автор
      08.01.2023 18:47
      -11

      Неа. Никто никого не обвиняет. Вы думаете я не смогу REST сервак поднять за три часа? Оправдывался тут только программист.


      1. kpmy
        08.01.2023 18:50
        +11

        Если никто никого не обвиняет, то слово "оправдание" выбрано неверно.


      1. Tomvish
        09.01.2023 00:40
        +4

        "..я скажу в своё оправдание" в первых строчках поста с названием "Хватит оправдываться". Ценная оговорка.

        Похоже этот вирус внедрился гораздо глубже и рано радоваться такому названию статьи.

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

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

        Тогда возникает винегрет из противоречивых позиций и попыток удержать это вместе.

        В этом ключе, размышления об ответственности не как "о несении наказания", а как о Возможности, - очень верное направление! Однако, замешав эти понимания с "баблом", вы как бы смешиваете всё обратно.

        И конечно же лечить надо там, где болит -- как в вашем примере: "пока не найду причину". В этом месте, часто злоупотребляют фразой "начни с себя" ("и до других не доберёшься"), что звучит конечно красиво. При этом, часто бывает, что если до других не добрался, значит ничего не понял в устройстве проблемы -- как она проявлена в Системе. Нередко, скрыто порождается системой.

        Или видеть это не выгодно... Вот тут-то, как вариант, и начинаются оправдания.

        Иногда самые запутанные проблемы начинают решаться с простого проговаривания простых очевидностей.


        1. raamid
          09.01.2023 01:36
          +4

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

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


  1. korvint
    08.01.2023 18:51
    +8

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

    А мысли про ответственность - да он прям взял мои мысли! Я бы точно так ответил бы.

    По-научному это называется внутренний локус контроля. Далее - копипаста с одного ресурса:

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

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


    1. engine9
      09.01.2023 09:26
      +5

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

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

      Зато она формирует навыки конформизма и умение быть лояльным к начальству (в лице учителей). Вот и получаются жополизы, которые чуть что пошло не по плану падают на спину и пораженчески задирают лапки :D


      1. event1
        09.01.2023 17:18
        +1

        такое мнение выглядит как оправдание /s

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


        1. engine9
          09.01.2023 19:48

          Выглядит как оправдание неэффективности и вредоносности.


          1. event1
            09.01.2023 19:51
            +1

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


  1. SergeiMinaev
    08.01.2023 19:12
    +8

    поймите, не бывает такой штуки, как "это плохо работает". Бывает только "я в этом не до конца разобрался"

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

    Но лично я давно стараюсь не контактировать с людьми, у которых постоянно какие-то проблемы, в которых виноват кто угодно, но только не они.


    1. Nurked Автор
      08.01.2023 19:23
      +4

      Тут вы правы, но есть прикол.

      Представьте, вы работаете на предприятии, где всё стоит на air-gapped сети, и вы не можете ничего подключать к интернету. А всё оборудование из прошлого десятилетия. У них стоит один нещастный сервер, на котором крутится PHP4.

      Плохо работает? Несомненно. Можно ли на этом писать? Да. Вы бы PHP4 в проде никогда бы не использовали. Но, вот припёрло, а вы не жалуетесь. Вы просто пишите.


  1. gmtd
    08.01.2023 19:33
    +2

    Скажите, кто виноват кроме вас, что вы не проверили Васю перед принятием на Professional & Programmer?


    1. Nurked Автор
      08.01.2023 19:33
      -7

      А кто запретил Васе им становиться?


      1. gmtd
        08.01.2023 19:35
        +4

        Так это дело Васи, кем ему становится.
        Ваше дело - чтобы человек, которого вы наняли, сделал проект

        Или вы оговаривали, что берете его на стажировку под руководство опытных разработчиков?


        1. Nurked Автор
          08.01.2023 19:38
          -4

          Как очевидно из статьи, оговаривал.


          1. gmtd
            08.01.2023 19:47
            +4

            Не вижу этого

            Зато вижу такое:

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

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


          1. gmtd
            08.01.2023 19:50
            +4

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


  1. panvartan
    08.01.2023 19:35
    +4

    Вы, надеюсь, понимаете, что перцы с компьютером на ты, с бизнесом тоже на ты? И штат большинства компаний, не то место куда они стремятся? Человек умеющий что-то делать хорошо сразу перестает это делать и начинает это продавать. Как вы.


    1. Breathe_the_pressure
      09.01.2023 16:50
      +1

      У нас и плохо делающие, тоже все продают. На то и щука как говорится. :)


  1. GBR-613
    08.01.2023 19:48
    +3

    Мне кажется, вопрос неправильно поставлен. На курсах, в университетах, где угодно учат, условно говоря, как решать задачи на leetcode. А вот как решать проблемы - не учат, никто и нигде.

    Вот решил Вася стать профессионалом. Что конкретно ему делать? Кроме как внушать себе: "никогда не сдавайся"?


    1. AndrLang
      10.01.2023 11:32

      Невозможно научить решать проблемы, можно только научиться самому. Когда у тебя нет альтернатив, кроме как её решить. Мозг начинает работать совсем по-другому. И ты по-любому её решаешь. Жестковато, не спорю, но других способов освоить эту науку просто нет. А когда становишься более опытным в решении проблем, то учишься правильно сопоставлять все контексты, все риски и начинаешь принимать самые оптимальные решения. И да, почаще пересматривать сцену с мистером Вульфом из "Криминального чтива")


  1. dmitrybelsky
    08.01.2023 19:58
    +4

    Кажется, вы описанием программирования затуманили всем мозги.

    У вас ведь не про конкретную работу, а про ответственность. Брать ответственность на себя - это отдельный скилл, который достаточно быстро гарантирует рост и в кареьере, и над собой.

    В этом смысле не важно молодой ли мальчик (и мальчик ли он), из какой он страны, откуда вы. Решает вопрос - "отвечаешь за результат или нет?" даже на каком-то малом участке


    1. Kenya-West
      08.01.2023 22:42
      +2

      Брать ответственность на себя - это отдельный скилл, который достаточно быстро гарантирует рост и в кареьере, и над собой

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


      1. screwer
        09.01.2023 03:30
        +4

        начал опекать местный сервер и случайно его завалил из "воздушки"... прям по материнской плате

        Это как ?


    1. markoni
      09.01.2023 03:49
      +1

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


  1. sarhome
    08.01.2023 19:58
    +16

    ответственность — это когда пахнет деньгами

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


    1. Gryphon88
      08.01.2023 20:18
      +4

      Я тоже на этом моменте в статье разрыдался. Очень часто ключевых сотрудников не ценят, или ценят, но потому стараются заменить, для снижения bus factor или чтобы снизить позицию на зарплатных переговорах для сотрудника.


    1. engine9
      09.01.2023 09:32
      +1

      Ответственность не равно рабская самоотверженная исполнительность.

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


  1. akakoychenko
    08.01.2023 20:21
    +9

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

    Эх... Знаю многих таких. Вот именно, точь в точь, как описали. Часто это легендарные личности в своей компании, и без них компании и не было бы.

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

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

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

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


  1. vkflare
    08.01.2023 20:28
    +13

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


    1. Aleks_ja
      09.01.2023 00:33
      +1

      самомнение, категоричность и максимализм намного сильнее влияют на принятие решений

      А я увидел Лида, который впервые столкнулся с необучаемым человеком и через чур долго его холил и лелеял.


      1. vkflare
        09.01.2023 09:13
        +4

        с необучаемым человеком

        Я таких не встречал, хоть и преподавал питон коллегам из Индии.

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

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


        1. YDR
          09.01.2023 09:39

          причем после первой же проблемы.


        1. Aleks_ja
          09.01.2023 11:15
          +2

          Я таких не встречал, хоть и преподавал питон коллегам из Индии.

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

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

          А Индусы - они всегда скажут "sure" и спорить не будут. Однако не всегда выполнят этот "sure", скажешь им ещё раз, они скажут "простите" и ещё раз "sure". Будут обучаться в зависимости от способностей. Но иногда может перерости в записывание "макросов" и выполнение ими четких инструкций, не более того.

          тыканьем пальцем в сотрудника и инициированием сеанса публичного унижения

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


          1. funca
            09.01.2023 13:42
            +1

            А встречали вы таких, которые через какое-то время начинают с вами спорить про всё на свете?

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


            1. Aleks_ja
              09.01.2023 13:50
              +2

              Сейчас у меня в команде все как минимум синьёры и компания нанимает только синьёров, а когда-то долгие годы работал в команде с полным набором всех уровней. Могу сказать - земля и небо. Так что "дураки" совсем не обязательны.

              Из спорщиков-джунов потом получаются пытливые ребята

              Если вся остальная команда не разбежится до этого времени из-за того, что в коллективе невозможно работать.


              1. funca
                09.01.2023 16:50

                компания нанимает только синьёров, а когда-то долгие годы работал в команде с полным набором всех уровней. Могу сказать - земля и небо. Так что "дураки" совсем не обязательны.

                Это не про булинг для джунов. Тут смысл немного в другом. Дурак это персонаж у которого кадблаш на глупые вопросы, экстравагантные поступки, над которым можно всей толпой смеяться и которому все сходит с рук. В этой маске может быть и ваш начальник, совсем не обязательно, что глупый. Например, он заставит вас объяснить свои затруднения так, чтобы даже дураку было понятно - и даже вы сами все поймёте. Я пару раз работал с такими, довольно прикольный сетап.


                1. vkflare
                  09.01.2023 17:11
                  +2

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


                1. Keeper9
                  09.01.2023 18:46

                  Архетип шута или трикстера.


    1. 0x131315
      09.01.2023 05:58
      +1

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


      1. Aleks_ja
        09.01.2023 11:19

        А диверсии Джуна не считаются? И за что, по-вашему, можно уволить Джуна? Только за пьянство на рабочем месте?


    1. Breathe_the_pressure
      09.01.2023 16:55
      +1

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


  1. dcc0
    08.01.2023 20:37
    +2

    1. Я не программист (в серёзном понимании этого слова). 2) Я не оправдвываюсь. 3) Мне точно нельзя доверить критическую инфраструктуру. Мне просто тут интересно. Самореализация и общение.


  1. NecroRomnt
    08.01.2023 20:40
    +6

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


    1. Aleks_ja
      09.01.2023 00:37

      Похоже на раздувание "из мухи слона". Программист же тот не стал причиной провала проекта на миллионы $ (либо не успел стать).


  1. khabib
    08.01.2023 21:03
    +4

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


  1. hyragano
    08.01.2023 21:38
    +2

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


    1. YDR
      09.01.2023 09:41

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


  1. Temoxa
    08.01.2023 22:39
    +5

    Плюсую господину!

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

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

    Автору респект, полностью разделяю эти мысли


    1. gmtd
      08.01.2023 22:57
      +3

      А вы думаете среди юристов или экономистов не так? Любой юрист тоже может полистать учебники права и выиграть любое судебное дело, с вашей стороны?

      Проблема компетентности и профессионализма есть, но описанный случай не об этом


      1. Temoxa
        09.01.2023 15:11

        Просто хабр больше про технарей, поэтому и в данном контексте дал коммент.

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


    1. markoni
      09.01.2023 14:24

      А к рынку "успешных менеджеров" вы это не относите?


      1. Temoxa
        09.01.2023 15:12

        Это вообще отдельная тема) конечно, там точно такая же картина


  1. Markscheider
    08.01.2023 23:19
    +7

    Публикация вызвала противоречивые чувства, прямо как в хабровском спойлере. Комментарии прочитал как отдельное и захватывающее повествование. ИМХО, главное слово тут не "оправдание", а "ответственность". Если на работе происходит мой косяк, я действую так:

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

    2. Озвучиваю, как все можно поправить и поправляю(ем).

    3. Объясняюсь - из-за чего все случилось и как избежать подобного в будущем.

      В исходной истории, вроде бы, перепутан порядок пунктов, оттого и все плохо.

    Хорошие API можно написать и на Visual Basic в Ворде.

    Автор, а напишите, плз, триллер пост на эту жуткую тему. Как раз под зимнее настроение, типа страшная история, которую можно рассказать "в кругу друзей у камина, когда стаканы наполнены..." ©


    1. acsent1
      09.01.2023 10:51
      +1

      Главное чтоб не гнобили за косяки. Иначе будут скрывать до последнего


  1. AlexSky
    08.01.2023 23:58
    +2

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

    Именно здесь проходит грань ответственности - ты отвечаешь за других. Именно это настоящая ответственность. Не надо её перекладывать на подчинённых. Если к вам есть претензии с уровня выше, то прикрыться "он не сделал" не выйдет.


    1. funca
      09.01.2023 00:29
      +1

      Именно это настоящая ответственность. Не надо её перекладывать на подчинённых

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


      1. YDR
        09.01.2023 09:44

        ответственность руководителя - это не прятать голову в песок, а все-таки искать (и реализовывать) решение. Требовать ее от начинающего - ошибка.


    1. PuerteMuerte
      09.01.2023 00:59

      Взяли нового работника и он не вывез? Ошибка тимлида. Ну или как у вас он называется. Нет, это не ошибка работника.

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


      1. p07a1330
        09.01.2023 01:09

        если работник какие-то скиллы заявил на собеседовании, вполне логично, что их наличие у него — как раз ответственность работника

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


        1. PuerteMuerte
          09.01.2023 01:19
          +4

          Если я заявлю, что я умею пилотировать Боинг — допустят ли меня до штурвала?

          Эм… да, допустят. Вы же не думаете, что пилотов авиакомпаний после приёма на работу сразу на кукурузники бросают, а не садят на те лайнеры, для которых их, собственно, и взяли? А если пилот сел в кресло и не знает, что ему делать — ну тогда да, его попросят на выход. Потому что врать не надо.
          Точно так же и с программистами. Да, первые задачки даются простые, но это не ради обучения там основам тайпскрипта, а для того, чтобы дать человеку ознакомиться с проектом, к которому он подключается. А сказать на собеседовании, что «вот это я не знаю» — это абсолютно нормально и правильно.


          1. shiru8bit
            09.01.2023 10:46
            +1

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


            1. funca
              09.01.2023 13:49
              +2

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

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


          1. p07a1330
            09.01.2023 13:10

            но это не ради обучения там основам тайпскрипта

            Как мне кажется, еще и для того, что чувак адекватный и понимает, чего от него хотят

            А если пилот сел в кресло и не знает, что ему делать — ну тогда да, его попросят на выход

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


          1. dimars08
            09.01.2023 14:34
            +1

            Как то у вас все простенько. Эй, я пилот. О, давай быстрее за штурвал. Ага????


        1. YDR
          09.01.2023 09:45

          и требовалось от него не совсем то, что заявлялось, кстати.

          В резюме - по сути, реклама, а что уж на самом деле - надо проверять.


  1. funca
    09.01.2023 00:03
    +10

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

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

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


    1. vassabi
      09.01.2023 01:39
      +2

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

      (сначала смеялся, потом плакал)
      ну прямо хоть в рамку ставь!


      1. screwer
        09.01.2023 03:38
        +1

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


        1. funca
          09.01.2023 14:08

          Если вписывается в требования и решает задачи - не пофиг ли, на чем она реализована ?

          50 оттенков серого. Где то будет управление рисками, требования по availability, SLA и ранбуки для обученного саппота как тушить пожары, а где-то лид, который хочет в отпуск и новый мерседес, у кого один универсальный ранбук - Вася, спасайтыжпрограмист.


          1. Dmitry89
            09.01.2023 16:57

            Тимлид заводит джуна в красную комнату, где развешены выписки из договоров с SLA.

            - Клиенты делают это... с тобой?

            Или так:

            - Мои хард скиллы слишком специфичны, ты не поймешь

            - Посвяти же меня в них!

            Давно так не веселился.


        1. WraithOW
          09.01.2023 15:29
          +1

          не пофиг ли, на чем она реализована

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

          Бонусные очки, если заюзали какой-то редкий фреймворк, а его автор через год раз и перестал его поддерживать, и теперь нужно либо всё переписать, либо самим латать дыры.


  1. AlexanderS
    09.01.2023 00:34
    +4

    не бывает такой штуки, как «это плохо работает». Бывает только «я в этом не до конца разобрался»

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


    1. screwer
      09.01.2023 03:40
      -1

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


      1. zloddey
        09.01.2023 09:37
        +1

        Бывает и так, что приходишь на существующий проект, где решения принимали N лет назад люди, которых уже и нет в компании. А проект всё равно нужно поддерживать и развивать.


      1. AlexanderS
        09.01.2023 10:10

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


  1. fugasio
    09.01.2023 00:39
    +9

    Ох уж эти любители радовать гендиров с их замами с Golang-понтами. Джун и джун, ему бы пока только простую бизнес-логику писать, да смотреть что вокруг происходит. Заставили его вместо этого разбираться в чужом фреймворке, чтобы реализовать в нем то, что не реализовали его разработчики, зашеймили наверняка, и в итоге когда парень демотивировался насколько что сказал "я всё" — выгнали.


  1. PsihXMak
    09.01.2023 01:39
    +10

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

    Автор столкнулся с другим типом характера человека, не понял как с ним работать, а потом сверху высыпал бочку обвинений. С моей точки зрения это выглядит, как будто этот человек посмотрел на автора, на методы работы компании, понял что не сможет так работать и просто ушёл.

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


    1. AirLight
      09.01.2023 02:16
      +7

      Согласен. Такое высокомерное выливание эмоций желчью - это не очень профессионально.


      1. PsihXMak
        09.01.2023 11:31
        +4

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

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


    1. screwer
      09.01.2023 03:41

      не понял как с ним работать

      А как надо было ? Есть конкретная проблема. Она озвучивается. Но никак не может быть исправлена. Это длится несколько итераций.


  1. LuchS-lynx
    09.01.2023 02:20
    +4

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

    Я не программист, хотя и изучал в свое время Borland Pascal 7.0, QBasic4.5 и даже использую макросы по работе в MS Excel, однако по своей отрасли (строительной) скажу так:

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

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

    Следующий момент:

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

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

    Я это к чему пишу!? К тому что Вы, как руководитель и программист, должны понимать, что человеческие нейросети в мозгу работают так, что в общем случае мало кому нужна объективная картина. Это дорого. Это несправедливо, а еще и не ценится, в т.ч. благодаря манипуляциям коллег. Люди могут простить все... кроме успеха. Соответственно среди наемных работников такое поведение сегодня воспроизводится слабо и плохо.

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

    Исключительно ИМХО и точка.


  1. inv2004
    09.01.2023 03:24
    +8

    Не оправдывая разработчика, и не оправдывая хамовато-хозяйский тон автора, замечу что:

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

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

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

    Если там какие-то обновления - то надо повторять, именно запрос что упал, или транзакции откатывать

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

    Можно ли делать это в middleware и потом перезапускать - не знаю, кстати интересно

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


    1. PuerteMuerte
      09.01.2023 03:55
      +1

      Автор-Менеджер с ходу оценивает эту задачу как «простую», упуская все остальные технические детали

      Но с другой стороны, додумывать технические детали в отношении совершенно неизвестной софтины — тоже дело неблагодарное :)


    1. AlexSpaizNet
      09.01.2023 08:08
      +1

      Более того. Нужно еще правильно определить проблему с условным Редисом. А то так можно бесконечно ритраиться...

      Мы например пришли к тому что мы будем падать на любых ошибках подключения к внешним сервисам (базам например). Но, мы сделали нормальный graceful shutdown (что кстати имеет свои подводные камни) и у нас есть автоматический скейлинг.


  1. Cerberuser
    09.01.2023 07:18
    +3

    Да, кстати, ещё одна вещь. Ты обязан знать, что, блин, происходит в твоих программах!

    (боль человека, который получил в наследство проект на Spring и теперь периодически лезет в его кишки, чтобы разобраться, как работает очередной edge case, да)


  1. DollyPapper
    09.01.2023 07:30
    -4

    Эта статья прекрасна просто во всех отношениях. Спасибо автор.


  1. sgmak
    09.01.2023 07:30
    +7

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

    Вот это утверждение из разряда "Тыж программист, почини микроволновку".
    Есть такое понятие - специализация, и это необходимо учитывать, почему-то многие "менеджеры" не понимают этого. Если я занимаюсь разработкой DWH на MS SQL Server, то на PHP точно ничего путнего не напишу, это будет боль и страдания и для меня и для того кто потом с этим будет работать


  1. pomidoroshev
    09.01.2023 07:33
    +2

    Мы отправили наше приложение в докер. И я решил, что это неприлично, что проект на NestJS падает насмерть, когда происходит отсоединение Redis или базы данных.

    А зачем что-то ковырять в кишках для решения проблемы, если можно задать restart policy у контейнера?


    1. vitaly_il1
      09.01.2023 10:32
      +1

      Потому что этот workaround работает плохо/ненадежно, так же как и его старая версия "перегружайте сервер два раза в день"


      1. pomidoroshev
        09.01.2023 11:11

        "перегружайте сервер два раза в день"

        Если речь о перезагрузке сервера "просто так", то это не то же самое, что автостарт контейнера/демона после падения.


        1. mayorovp
          09.01.2023 11:16

          И, тем не менее, только что стартовавший контейнер будет "холодным", и ему потребуется время чтобы выйти на полную производительность. Что особенно заметно при использовании JIT (а нода его использует).


          Гораздо лучше если контейнер не будет падать по пустякам.


          1. pomidoroshev
            09.01.2023 12:02
            +2

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

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

            Гораздо лучше если контейнер не будет падать по пустякам.

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

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


        1. vitaly_il1
          09.01.2023 11:28

          Я понимаю что это разные вещи. Кстати, перезагрузка сервера не дожидаясь проблемы лучше, чем автостарт после падения. Так как никто не знает, как ведет себе апликация перед падением.
          Автостарт после падения маскирует проблему - memory leak или другую.


  1. buratino
    09.01.2023 08:00
    +1

    ! Я буду сидеть и тупить в логах, пока не найду настоящую причину этой проблемы

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


  1. beduin01
    09.01.2023 08:09
    +3

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

    Это я про автора самой статьи если что.


    1. sshemol
      09.01.2023 12:16

      вопрос на общее развитие

      Это точно, то, что нужно для работы? )


      1. screwer
        09.01.2023 18:14
        +3

        Вообще говоря да. Если человек имеет широкий кругозор - то общаться с ним приятнее. Рабочие вопросы решать легче и быстрее.


  1. mrkaban
    09.01.2023 08:10
    +5

    Вся статья это одна попытка оправдать свои поступки и решения, в результате которые не получилось достичь своих хотелок.

    Если вы хотите что-либо на REST API и Golang, но при этом хотите вырастить специалиста, тогда логичнее было бы взять молодого специалиста, у которого в резюме хотя-бы упомянается пара проектов на необходимых вам технологиях. И да, хорошо бы на собеседовании проверить наличие знаний по нужным вам технологиям.

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

    И да, интересно было бы узнать все условия работы специалиста, включая з\п.


    1. s-r-grass
      09.01.2023 14:35

      Уверен, что там и з\п была значительно ниже уровня и мотивировалась мол мы ведь даём тебе возможность стать специалистом! А ты еще и денег хочешь!

      Компания, о которой говорит автор RUVDS, судя по тому, что он постит от них. Нашел у них старую вакансию, с 20 ноября 22 года, "Руководитель отдела системного администрирования в RUVDS.com", город Москва, а з\п, внимание "до 150 000 руб. на руки", простите, но для такой должности в Москве это очень мало.


      1. Nurked Автор
        09.01.2023 15:07

        Ну вот откуда всё это? Ну вот реально, откуда это взялось? Я для РУВДС писал статьи от нефиг делать до 23-го Февраля прошлого года. Теперь не пишу.

        Я уже как 12 лет живу в США, гражданином коих и являюсь. Предложенная зарплата равнялась $3500 в месяц. Никакого отношения к РУВДС это всё не имело.


        1. euroUK
          09.01.2023 18:53

          3500 в месяц это нормальная зарплата?


        1. s-r-grass
          10.01.2023 04:52

          Ну вот откуда всё это? Ну вот реально, откуда это взялось? Я для РУВДС писал статьи от нефиг делать до 23-го Февраля прошлого года. Теперь не пишу.

          Да ладно?

          Я уже как 12 лет живу в США, гражданином коих и являюсь.

          В профиле у вас совсем другая информация указана.

          Позвольте уточнить, правильно ли я вас понял? Вы гражданин США, который живет в США и работает там же руководителем в международной компании? При этом вы пишите статьи для РУВДС за деньги от нефиг делать? и вместо посвящения этого времени обучению джуна вы писали статьи? И в профиле у вас указано другое место жительства?


          1. Nurked Автор
            10.01.2023 08:40
            -3

            Статьи могут лежать в черновиках месяцами. Их выпускают по необходимости. Если очень хочется - можете спросить у Рувдс, был ли у них такой, писал ли.

            Более того, вот вам, держите. Можете сравнить, что там в профиле написано.

            И при всём при этом, я буду писать на Хабр чисто для удовольствия, потому что хабр - писец какая офигенная платформа.

            А если вам очень хочется — вы можете пойти и спросить у Отуса, преподавал ли я у них. Преподавал.

            И всё это делается не для денег, А для того, чтобы я мог поделиться с другими своим опытом. Их есть у меня. Как и у вас.

            И когда я нанимаю в свою компанию, я никогда не пытаюсь работать с такой фигнёй как "HR". Я просто иду в свой телеграм и нахожу одного из студентов или знакомых на Хабре.


        1. mrkaban
          10.01.2023 04:56
          +2

          Вы сейчас оправдываетесь... прекращайте оправдываться.


  1. svr_91
    09.01.2023 09:21
    +4

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

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

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


  1. vitaly_il1
    09.01.2023 10:29

    У меня два вопроса:
    1) сколько лет опыта у Василия?

    2) Я человек старый (1963 г.р.), в контейнеры не влюблен, но все же - почему потребовали убрать контейнеризацию вместо того чтобы понять и починить падающий Redis (или что там было)?


  1. aceofspades88
    09.01.2023 10:32
    +3

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


  1. Andruh
    09.01.2023 11:15

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

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

    Но времена Дикого Запада прошли. Мы заполнили пустоты в нашей жизни грейдами, специализациями, софтскиллами, гендерной, расовой повесткой, правом на хотя бы 20 когнитивных искажений, переодические выгорания и походами к психотерапевту и т.д... И все неявно должны тащить не только равенство полов, но и все эти новые социальные игры. Спецназ от программирования живёт в параллельных очень аскетичных вселенных и стоит дорого.


  1. Gordon01
    09.01.2023 11:38
    +3

    199* год рождения - это молодой?)

    Я попадаю в эти рамки и у меня уже 10+ лет опыта, описанные в статье задачи довольно простые, с ними должен справляться кто угодно.

    У меня скорее к вам вопрос - почему вы систематически работаете не с теми, хотя на рынке полно хороших специалистов.

    Лично я и мои друзья 199* года рождения могут решить ваши задачи на любом стеке технологий, включая монолит на Си или С++ быстро и качественно.

    В связи с чем вопрос - почему мы у вас не работаем и не живём счастливо?

    Подозреваю что что-то с наймом, репутацией или банально зарплатой.


  1. Stommelen
    09.01.2023 12:33
    -1

    Интересно, а в реальности он тоже затирает этот бред про то, чему там радуется гендиректор?


  1. leu_astashonak
    09.01.2023 13:48

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

    На коленях тут только вы, по-моему.


  1. kostatuno
    09.01.2023 15:08

    ????желание писать код, когда уже сонный


  1. galats1983
    09.01.2023 15:08
    -1

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


  1. Hemml
    09.01.2023 15:28
    +2

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


  1. boolka989
    09.01.2023 15:52
    +2

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


  1. Skynet2034
    09.01.2023 16:49
    +1

    А  знаете, что такое ответственность?

    Ответственность бывает гражданской, административной и уголовной :)


  1. BEARlogin
    09.01.2023 17:32

    Вообще, то что сервис падает, когда теряет соединение с транспортом или базой, это by design, ИМХО. Так как смысл в сервисе, который без доступа к данным? Так что, как писал тут один комрад, смахивает на ошибку XY все это точно. На лицо ошибка архитектора, которого, судя по всему - не было :) В итоге пострадал бедный джун, которого пытались заставить исправить нормальное поведение NestJS... Но выводы сделаны абсолютно неправильные. Правильно, зачем нам ФТ, НФТ, когда можно написать ТЗ в виде "API из 5 эндпоинтов"


  1. AMDev
    09.01.2023 17:56

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


  1. f-end
    09.01.2023 18:46
    +6

    На собеседовании спрашивали как деревья сортировать, а в реальной работе оказалось, что надо проект поднимать когда Редис падает. Вася, видимо так и не понял что ему отсортировать-то надо в итоге


  1. alexey_girin
    09.01.2023 18:53
    +3

    Человек нанял каменщика что бы построить 100 этажный дом в то время как надо было нанять архитектора?
    А почему притензии к каменщику? Пианист играет как умеет.
    Менеджер завалил проект - его и надо наказывать.
    Не будьте как этот менеджер. Не пытайтесь в то, что не умеете, не обвиняйте в своих провалах ваших подчинённых.
    Играть чужими жизнями - плохо. По возможности - избегайте этого.


  1. euroUK
    09.01.2023 18:57
    +4

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

    Почему-то наняли джуна

    Почему-то с другим стэком

    Почему-то дали выбирать джину стэк

    Почему-то не описали эдж кейсы

    Но виноват ясен пень джун

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


    1. mrkaban
      10.01.2023 07:16
      +1

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


  1. AllexIn
    09.01.2023 19:00

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


    1. mrkaban
      10.01.2023 06:52

      Вообще было бы прикольно почитать эту же историю со стороны Василия.

      Согласен, нельзя составлять мнение не выслушав доводы другой стороны.

      В конце концов, в чем-то я Василия тоже понимаю. Меня в своё время, лет 15 назад, уговорили поработать в компании в должности супер-универсального специалиста-системного администратора. Знакомые посоветовали меня им, а хозяин уже пригласил на встречу и уболтал меня. Я не хотел туда идти, но будучи молодым и недостаточно самоуверенным согласился - на меня повешали парк компьютеров в пару сотен, разработку сайта на php и поисковую оптимизацию. Бюджет на контент не выделяли, поэтому приходилось самому заниматься им. Сложно было всё совместить и обязательно проседало направление, на которое не хватало времени. Либо ты занимаешься техникой, но проседает сайт и позиции в результатах поиска, либо занимаешься сайтом, тогда у множества людей проблемы с техникой и они жалуются директору. Искренне старался всё успеть, но почувствовав, что не вывожу сам ушел.


  1. twid
    09.01.2023 19:54
    +1

    Целиком и полностью поддерживаю автора статьи.
    Автор, не надо считать что все приходящие к тебе - Василии. Это не так.
    Если человек начал оправдываться, прежде чем "ооо...с этим все понятно"... Прочитай лекцию про оправдания, вот как в статье описал также и вживую. Потому что это действительно важно.


  1. Legomegger
    09.01.2023 20:08
    -1

    Ору с комментаторов-умников. Придираются к частным примерам, когда в целом посыл статьи очень и очень крутой. Типичные люди которые везде найдут "не слава богу". Спасибо за статью! Дает пищу для размышления и рефлексии


  1. Dart55
    09.01.2023 21:55

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

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


  1. thenikita
    09.01.2023 22:37
    +1

    С общем посылом скорей согласен.

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

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

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

    Похоже на то когда батя пиздит, чтобы ты привыкал, что тебя по жизни будут пиздить :)


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

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


  1. DIMANVAZ
    09.01.2023 23:19

    В тему джунов и карьер:
    я вакансию на hh видел, TypeScript разработчик.
    Требуемый опыт 3-6 лет.
    Там видно, сколько желающих откликнулось.
    Я был бы 871-м.
    Интересно, на что рассчитывают люди, когда откликаются, видя, что они уже не в первой сотне?


    1. AllexIn
      10.01.2023 06:33
      +1

      Там есть счетчик откликнувшихся? Никогда не замечал. Возможно и эти 870 человек не замечали.


  1. DmitrySukharev
    09.01.2023 23:19

    Ну да, ответственность - способность ответить. И не только по всей строгости закона, а в первую очередь способность ответить на вопрос почему оно вот так вот работает.


  1. yokotoka
    10.01.2023 00:25
    +5

    На самом деле, ответственность — это когда пахнет деньгами.

    Когда ты идёшь по коридору, а мимо проходит Гендир с Замом, и оба они тебе подмигивают, и говорят: "Вот он! Идёт! Спасибо за отличную работу!" вот тогда ты понимаешь, что на самом деле значит ответственность.

    А ловко с денег на "спасибо" перескочили. )


  1. Dmitrymalllpr
    10.01.2023 06:43

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


  1. fpinger
    10.01.2023 07:08

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

    И насчет ответсвенности. Их много, а не только та, что перед вами. Есть ответсвенности перед собой, женой, детьми, родителями, коллегами и т.д. Когда одна ответсвенность, то это просто, а когда их нужно согласовывать и сохранять ресурс, то все не так просто. Оправдание? Но и вы себя оправдываете через ответсвенность. Ту что для вас важней.


  1. GothicJS
    10.01.2023 14:09
    +2

    Анекдот в тему, найденный где то на просторах Сети:

    Заходят как то в тренажерный зал Большой-и-Важный-Чсвшник из центра вселенной и маленький спортсмен Василий из далекой страны.

    Большой-и-Важный-Чсвшник: "ну што, Василий, видишь вон ту штангу? Подымай! Я в тебя верю!"

    Василий: "ээ....500кг?! Нет, не могу, да вы что!"

    Большой-и-Важный-Чсвшник: "ну што же ты, Василий, не оправдывайся, возьми и сделай...я рядом постою, подбадривать тебя буду! С такой то помощью точно справишься! Эх, Василий, вот я то в твои годы!..."

    Василий: "да я же под ней все кости переломаю! Она ж меня задавит блин!"

    Большой-и-Важный-Чсвшник: "ну што же ты, Василий, это всего лишь штанга, а ты уже сдаешься....тыжпрограммист спортсмен, ты должен уметь все даже из моих самых сокровенных фантазий!"

    Василий: "нет."

    Большой-и-Важный-Чсвшник: "ну што же ты, Василий, я хотел сделать из тебя мужчину, а ты оправдываешься и во всем винишь штангу! "

    "Пойду-ка я отсюда от греха подальше" - оглядевшись вокруг, подумал Василий и ушел искать более адекватную среду.

    "Пойду-ка я расскажу всем, как я, такой хороший, люблю превращать мальчиков в мужчин! А они, такие безответственные, не выдерживают и сдаются!" - подумал Большой-и-Важный-Чсвшник, надеясь найти себе новых мальчиков, которые наконец-то возьмут всю ответственность на себя.


    1. PuerteMuerte
      10.01.2023 14:27

      Да, как повезло сабжевому Василию-программисту, что не стал разбирать ту библиотеку. А то не дай боже папочка node_modules на ногу бы упала — все кости переломала бы.


  1. amidas
    10.01.2023 14:24

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


  1. Yuriy_75
    10.01.2023 14:41

    >>Когда ты идёшь по коридору, а мимо проходит Гендир с Замом, и оба они тебе подмигивают

    Ага, щас. Гендир с Замом общаются с ИТ-манагерами. И тут как в известном произведении:

    -Кто строил эту дорогу?

    -П.А. Клейнмихель


  1. Mister1Burger
    10.01.2023 14:44

    Жаль, что сегодня в резюме не указывают информацию о семейном положении. И многие HR не понимают зачем это надо.
    А ведь это ярчайший показатель уровня ответственности человека.


    1. Cerberuser
      10.01.2023 20:03
      +2

      В смысле, если в наше время всё равно зачем-то женился - значит, точно дурак и не лечится?


  1. botyaslonim
    10.01.2023 20:44
    +1

    У меня был один программист, который вот такой вася: нихрена до конца не разбирался, не хотел и дрожжал в коленках. Но у него была замечательная тактика: он задалбливал меня вопросами. Якобы он хочет разобраться, вот-вот, ещё чуть-чуть, вот он весь в деле, бомбит вопросами меня с 9 утра до 23 вечера. Через некоторое время я понял, что это просто такой способ морочить голову, и дал пинка. Удивляло только, сколько времени и энергии человек тратил, чтобы скрыть свою некомпетентность. Хотя это можно было потратить на изучение материала и уже давно преуспеть в своей профессии!


  1. hofijo
    11.01.2023 11:52
    +1

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


  1. HellWalk
    11.01.2023 13:20

    Как там говорят - простота хуже воровства?

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

    И вот сидит руководитель, или тимлид такого проекта, и говорит мне "вот пришел к нам на работу, и давай, не жалуйся, что у нас тут все плохо, бери и делай!"

    Серьезно? Во первых, моя задача, как программиста - выявить таких "работодателей" на уровне собеседований. Если не получилось - выявить в первый же день работы, высказать все, что я думаю о работе с таким проектом и уволиться.

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

    P.S. Прочитав заголовок статьи, ожидал содержание вроде "программист, хватит оправдываться за то, что ты что-то не знаешь, или не умеешь - программирование большое, сложное и разное, и нормально всю жизнь тут работать, всю жизнь что-то изучать, и все равно многое не знать и не уметь"


    1. PuerteMuerte
      11.01.2023 16:07

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

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