Привет, меня зовут Дмитрий, разработчик на C++ со стажем более 15 лет. В основном приходилось заниматься разработкой десктопного софта и софта для мобильных устройств. Живу в Москве.

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

Соответственно собеседовался на позицию "C++ разработчик".

Делюсь впечатлениями.

Deutsche Bank

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

  • Алгоритмическая задачка на BST. Именно с такой задачкой раньше не сталкивался, хотя на LeetCode перерешал немало. Как потом выяснилось, на LeetCode она есть, но доступна только для платных подписчиков. Решил, но не самым эффективным образом.

Фидбэка не дождался.

Network Optix

Американская компания, занимаются системами видеонаблюдения.

  • Собеседование с HR, тест по C/C++ из ~10 пунктов вида "Что будет напечатано после исполнения данного кода". Прошел.

  • Собеседование с техническим специалистом, абсолютно адекватное, задачка и вопросы в основном по многопоточности. Прошел.

  • Домашнее задание, написать эффективный TCP-сервер с определенными требованиями. Код должен быть покрыт юнит-тестами. Раньше TCP-сервера писать не приходилось, потратил три дня почти full-time, отослал результат. Ответили что стилистически код понравился, но сервер недостаточно эффективен, в частности имеются лишние копирования данных. Оценил что на исправление замечаний может уйти еще N часов. Забил.

Следующим пунктом там должно было быть еще одно 4-часовое собеседование в офисе, по архитектуре и System Design.

В целом, общение с представителями компании оставило самые приятные впечатления.

Yandex

В общем все знают как проходят собеседования в Яндекс.

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

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

VK

Немного про алгоритмы, немного про многопоточность, задачка на теорию вероятностей. Прошло нормально. Через несколько дней ответили, что я произвел впечатление сильного разработчика, но оффер не делают, так как им показалось, что личностно (sic!) мне будет тяжело работать в их команде. Ок, правда на собеседовании задавались чисто технические вопросы, на которые я давал чисто технические ответы, личность вообще не обсуждалась. Видимо решили что я too old for their shit stuff.

Joom

Они не используют C++, для бэкэнда используется Go, но знания языка на собеседовании неважны. Достаточно знать какой-либо мэйнстримовый язык (C++, Java, Python, Go, etc).

  • Алгоритмическая сессия из двух задачек

  • Домашнее задание часа на четыре

  • Собеседование по многопоточности, задачка

  • System Design interview

Собеседования непростые, но впечатление оставили самое приятное.

Mail.ru

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

Сбер

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

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

Транстелематика

Занимаются разработкой систем оплаты и прочего для транспорта.

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

Прошло норм.

New Cloud (aka Новые облачные технологии)

Они забавны.

Сначала написал независимый headhunter c предложением к ним пособеседоваться. Говорил что-то про разработку под Андроид и что требуются сильные Андроид разработчики. На что я возражал, что опыт с Андроид у меня был очень небольшой и давно, что я вряд ли им подхожу. И так несколько раз. Он что-то про Андроид, я - а может не стоит? Ну ладно, убедил, попытка не пытка.

Потом общение со штатным HR. Она что-то про Андроид. Я - эээ, думаю я вам все-таки не подхожу, не андроидист и никогда им не был. Ну ок, убедила, попытка не пытка.

На собеседовании были вопросы по C++, почти на все ответил. Опять спросили про опыт с Андроид. Говорю, было мало и давно.

В итоге реджект: "Похоже, что сильный C++ разработчик, но опыт с андроид был давно и очень небольшой, с нужными нам версиями андроид не работал, т.е. можно считать, что релевантного опыта нет совсем." Логично, чё.

Avito

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

Citibank

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

Выводы

Собеседования в хорошие IT-компании сейчас непросты, но опыт полезный.

Мои личные фавориты, по степени приятности собеседований (в алфавитном порядке):

  • Joom

  • Kaspersky

  • Network Optix

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


  1. Matisumi
    06.02.2022 13:30
    -10

    Тут, мне кажется, интереснее другое - зачем вообще писать десктоп и мобилки на C++?


    1. Ritan
      06.02.2022 13:46
      +25

      Потому что не в любом софте есть возможность платить за ГЦ и использовать память как не в себя( т.к. она нужна для другого )


      1. 0xd34df00d
        06.02.2022 20:36
        -2

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


        1. TheKnight
          06.02.2022 21:05
          +4

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


          1. Koval97
            06.02.2022 21:42

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


            1. AnthonyMikh
              06.02.2022 22:07
              +1

              А хороший компилятор — это какой?


              1. Koval97
                07.02.2022 10:25
                -5

                Вот пусть и ответит человек выше на этот вопрос. Кому-то функционал подавай, кому-то эргономику.

                Из Java-подобных компиляторов мне больше понравился Eclipse, но там даже 0,7 коньяка едва ли хватит, чтобы разобраться.

                Из С/С++/С# поработал с плагинами для Visual Studio, но предпочитаю больше CodeGear 2009 и ему подобные компиляторы с 5-оконным интерфейсом. Засовывать всё в одно окно, как делают это современники - крайне ущербная тактика.


                1. DarkEld3r
                  07.02.2022 10:42
                  +5

                  Так Eclipse — не компилятор.


                  1. Koval97
                    07.02.2022 12:20
                    -7

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


                    1. F0iL
                      07.02.2022 12:22
                      +1

                      Компилятор может быть частью IDE, но не обязательно (см., например, CLion, который может работать почти с десятком разных компиляторов, смотря как настроите).


                1. 0xd34df00d
                  07.02.2022 10:52
                  +6

                  компиляторы с 5-оконным интерфейсом

                  Компиляторы со оконным интерфейсом — это вообще уже само по себе интересно.


                1. F0iL
                  07.02.2022 11:34

                  Вы путаете понятия "компилятор" и "IDE".


            1. F0iL
              07.02.2022 11:44
              +3

              Для C++ выбор современных компиляторов так-то не особо большой: G++, Clang, если пишете под Windows, то еще MSVC. Всякие там ICC и IAR это уже более редкая и специфическая штука.

              А что до редакторов кода - большинству хороших редакторов вообще без разницы, с каким именно языком работать, если под этот язык есть language server, либо имеют механизм плагинов. Итого, и на Rust, и на Python вы без проблем можете писать в VS Code, Atom, Sublime Text, IntelliJ Idea, Eclipse, Vim, Emacs, Geany - практически во всем том же самом, в чем пишут на C++.


          1. AnthonyMikh
            06.02.2022 22:06
            +1

            Unity с C#. Хорошо работает, кстати.


            1. F0iL
              06.02.2022 22:12
              +4

              ...и при этом сам Unity написан на C++ :)


          1. 0xd34df00d
            06.02.2022 22:20
            +3

            Современные компьютерные игры — и так сойдёт.


            Поиграл тут в ремастер cod:mw — так оно начало падать при загрузке уже третей миссии. Невосстановимо.
            Поиграл в ремастер первого крузиса — вылетает раз в пару часов.
            Играю в Squad — оно вылетает сильно реже, но багов там порядком, и соотношение FPS к графонию там такое, будто оно написано на питоне.
            Играю в DCS — ну, сейчас с багами и вылетами получше стало, но несколько лет назад оно валилось постоянно. Плюс, игра патологически одноядерная, и сами разрабы говорят, что для многоядерности надо переписать движок. Интересно, связано ли это с C++?


            1. RozetkaOtUnitaza
              07.02.2022 11:36

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


          1. MaM
            08.02.2022 05:06
            -1

            Rust


        1. Ritan
          06.02.2022 21:49
          +3

          Почему-то я не раз за разом от вас читаю о ужасных падениях в С++ от любого чиха, но в моём продукте этого нет. Может мы что-то делаем не так?( например, используем квалифицированных разработчиков, а не джунов с курсов "с++ за 21 день" )


          1. AnthonyMikh
            06.02.2022 22:07

            Значит, у вас софт не падает, а тихо портит память, что ещё хуже


            1. F0iL
              06.02.2022 22:14

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


              1. 0xd34df00d
                06.02.2022 22:23
                +4

                статический

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


                динамический

                Тоже ловит далеко не всё, и у меня от этого «you don't pay for what you don't use» сдулся.


                1. Koval97
                  07.02.2022 10:38
                  -1

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

                  Интересно, и как это вы себе представляете конкретно для C/C++? Может изначально нужно в стандарте для разработчиков компиляторов ещё прописывать, чтобы интегрировали статические анализаторы, а то программисты совсем не внимательные стали? Вот очень интересно узнать, ответьте, пожалуйста.


                  1. 0xd34df00d
                    07.02.2022 10:51
                    +3

                    Интересно, и как это вы себе представляете конкретно для C/C++?

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


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

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


                    а то программисты совсем не внимательные стали

                    Вот да, сейчас-то программист уже не тот, измельчал… вот в моё-то время программист мог за неделю браузер для HTML6 и ES2024 написать на ассемблере и не допустить ни одного бага!


                    1. Koval97
                      07.02.2022 12:28

                      "Интересно, и как это вы себе представляете конкретно для C/C++?"

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

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

                      Если вам так нравится Rust, то пишите только на нём. Он же компилируемый, а следовательно на нём можно всё что угодно писать. На черта вы всем вокруг пытаетесь навязывать свои предрассудки как религиозную догму?!


                      1. F0iL
                        07.02.2022 12:32
                        +4

                        Это вы в соседней ветке жаловались на грубость в комментариях, да? :) Заявить про @0xd34df00d что он "плохо знает основы программирования" - это сильно, конечно. Вы бы хоть немного посмотрели, кому вы такие комментарии пишите :) Не задумывались, что может быть наоборот, он гораздо лучше вас знает основы программирования, и поэтому вы не можете понять, к чему он клонит?


                      1. Koval97
                        07.02.2022 13:13
                        -2

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

                        Хатаб больше сделал для общества, чем ваш @0xd34df00d, который даже псевдоним человеческий не мог сочинить и прикрывается адрессацией.


                      1. F0iL
                        07.02.2022 13:19
                        +2

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

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


                      1. Koval97
                        07.02.2022 13:41
                        -4

                        Жалкое зрелище здесь только вы. Всего хорошего.


                      1. 0xd34df00d
                        07.02.2022 19:29
                        +3

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

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


                        и просто невнимательны?

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


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


                        Если вам так нравится Rust, то пишите только на нём.

                        Мне не нравится Rust :]


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

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


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


                      1. Koval97
                        07.02.2022 20:21
                        -2

                        "К чему тогда все ваши притензии? Может тогда это только вы плохо знаете основы программирования"

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

                        "и просто невнимательны?"

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

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

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

                        Я не спорю, что именно вам полезны инструменты статического анализа, всё таки лучше всего они справляются именно с опечатками.

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


                      1. 0xd34df00d
                        07.02.2022 21:19
                        +4

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

                        Я пытался. Просто некоторые вещи невозможно починить.


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

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


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


                        Я не спорю, что именно вам полезны инструменты статического анализа, всё таки лучше всего они справляются именно с опечатками.

                        Нет, см. выше.


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

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


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

                        Ну хз, semantic highlighting я очень люблю, и по её отсутствию в своём vim я очень скучаю.


                      1. Inspector-Due
                        08.02.2022 09:28

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

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


                      1. Koval97
                        08.02.2022 09:56

                        Тексты комментариев и статей во всём Интернете всегда одного цвета. Но это не мешает ориентироваться по заголовкам.

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

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


                      1. Koval97
                        08.02.2022 10:24
                        -3

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

                        Всё очень просто. Доверие.

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

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

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

                        Воззразите: А что с этим делать?

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

                        Что и называется, "работает без нареканий".

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


                      1. 0xd34df00d
                        08.02.2022 11:45
                        +5

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

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


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


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

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


                      1. Koval97
                        08.02.2022 10:51
                        -2

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

                        На практике такие секреты, скорее обычные профессиональные привычки, которых у вас ещё нет.

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

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

                        Если хотите инструментарии, то очень советую обратить внимание на более профессиональные программы трейсировки. На Хабре есть статья "24-ядерный CPU, а я не могу сдвинуть курсор", где наглядно представлена практика работы с такими программами. Я так же с этим работал, когда разбирал выбесшие меня "Системные прерывания" на планшете с Windows 10 - несколько минут в Google, предложили подобную программу от MSI, с помощью её понял, что ОС не могла запустить драйвер встроенной графики и конфликтовала с ним. Дальнейший путь меня привёл к тому, что оказалась проблема в сильно костыльном несовместимом UEFI (он был жестко завязан на Windows 8) - теперь ожидает, когда у меня появится снова программатор, чтобы уже окончательно разобраться с этой проблемой.


                      1. 0xd34df00d
                        08.02.2022 11:52
                        +4

                        На практике такие секреты, скорее обычные профессиональные привычки, которых у вас ещё нет.

                        Было бы очень интересно услышать об этих привычках. Что конкретно стоит взять на вооружение?


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


                      1. Koval97
                        08.02.2022 14:50
                        -2

                        Было бы очень интересно услышать об этих привычках. Что конкретно стоит взять на вооружение?

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

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


                      1. 0xd34df00d
                        08.02.2022 19:36
                        +3

                        Замечательно! Какие изменения в нейминге могли бы помочь найти висячую ссылку?


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


                      1. Koval97
                        08.02.2022 23:53
                        -1

                        Как изменения в нейминге могли бы помочь найти висячую ссылку?

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

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


                      1. 0xd34df00d
                        08.02.2022 23:54
                        +3

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


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


                      1. Koval97
                        09.02.2022 00:21
                        -1

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

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


                      1. 0xd34df00d
                        09.02.2022 00:37
                        +4

                        Да ё-моё, спрашиваешь у явно опытного в продакшен-разработке человека советов по тому, как бы улучшить код, а тебя в ответ к психологу посылают :(


                        Не понимаю, почему бы конкретно не сказать на простом и достаточно мелком примере на 50 строк кода.


                      1. Koval97
                        09.02.2022 10:03
                        -1

                        Да ё-моё, спрашиваешь у явно опытного в продакшен-разработке человека советов по тому, как бы улучшить код, а тебя в ответ к психологу посылают :(

                        А как ещё помочь человеку, который потерял веру в себя?

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

                        Не понимаю, почему бы конкретно не сказать на простом и достаточно мелком примере на 50 строк кода.

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

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

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


          1. 0xd34df00d
            06.02.2022 22:16
            +4

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


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


          1. F0iL
            06.02.2022 22:17
            +1

            Глупо спорить с тем, что в C++ с его undefined behaviour (список которых в современных стандартах переваливает за несколько сотен кейсов) и неочевидными нюансами даже квалифицированному и сконцентрированному у программисту выстрелить себе в ногу гораздо проще, чем на многих других языках - вон, спросите у команды PVS Studio, они немало некоторого дерьма повидали и очень хорошо на этом зарабатывают. Но you don't pay for what you don't use и огромное количество уже существующего кода во многих случаях в итоге перевешивают :)


            1. Ritan
              07.02.2022 13:52

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

              Rust, потенциально, может ею стать когда будет достаточный набор библиотек и решатся нынешние проблемы с выпиливанием проверок границ в llvm. Хотя, при попытках отказаться от копирований и переалокаций памяти проблемы с UB в rust начинаются ничуть не хуже плюсовых. А то и забористей, учитывая меньшее количества накопленного опыта с ним. По сути по одному rustonomicon и приходится навигировать


              1. AnthonyMikh
                07.02.2022 23:28
                +1

                … решатся нынешние проблемы с выпиливанием проверок границ в llvm

                А вот про это можно поподробнее?


                1. Ritan
                  08.02.2022 17:59
                  +1

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

                  https://godbolt.org/z/PoWxcrMcG

                  И обойти это можно только рассыпав повсюду грабли

                  `unsafe { ..get_unchecked() }`

                  вот, приблизительно тот же код на C++, где clang снова не выпилил проверки границ https://godbolt.org/z/8vqaGPb8e


      1. KvanTTT
        06.02.2022 23:01
        +6

        ГЦ не тождественен "использованию память как не в себя", ровно как и использование C++ не гарантирует отсутствие тормозов.


    1. tandzan
      06.02.2022 14:00
      +2

      А куда еще применить знания плюсов в 2022г? Жирный эмбеддед разве что.


      1. F0iL
        06.02.2022 14:36
        +3

        Плюсы в 2022 так-то много где используются. Жирный эмбеддед (которого сейчас все больше и больше), всякий десктоп/сервера где требуется производительность или близость к системе (типа геймдева, движков браузеров, инфобеза/телекома, компиляторов, рантаймов и т.д.), числодробилки (если простой NumPy по каким-то причинам не подходит, ну или всякая криптография), иногда high-load веб-бэкенд, и всякие вещи на стыке всего этого типа высокочастотного трейдинга.


        1. 0xd34df00d
          06.02.2022 20:38
          +3

          Зачем писать компилятор на C++?


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


          1. crea7or
            06.02.2022 20:40

            ну пишите компиляторы не на с++ :) никто же не запрещает.


            1. 0xd34df00d
              06.02.2022 20:53
              +2

              Так я-то и не на плюсах пишу, просто, может, упускаю что при этом.


          1. F0iL
            06.02.2022 20:47
            +1

            Clang пишется на C++, GCC (начиная с версии 4.8) пишется на C++. JS-движок V8 с JIT-компилятором пишется на C++. Java Runtime с JIT-компилятором пишется на C++. Зачем - спросите у их авторов, они вам расскажут, наверное


            1. 0xd34df00d
              06.02.2022 20:53
              +5

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


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


              1. KanuTaH
                06.02.2022 21:35
                +1

                Ну как же "не было"? Хаскель же появился еще в начале 90-х, уж V8-то (2008 год) могли бы на нем написать! Да и UE тоже. И о чем они только думали, все эти разработчики...


                1. 0xd34df00d
                  06.02.2022 22:09
                  +2

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


                  1. KanuTaH
                    06.02.2022 22:13
                    +1

                    Ну ничего, зато сейчас можно, наверное (ведь можно, да?) Да что там - конечно, можно! Я от кого-то слышал (не помню от кого), что там и инлайн-ассемблер есть теперь, так что точно можно. Правда, ассемблер штука такая: одно движение - и готово убэ, от которого земля налетит на небесную ось.


                    1. 0xd34df00d
                      06.02.2022 22:27
                      +3

                      Давно можно, поэтому давно куча вещей пишется на хаскеле.


                      Просто есть такая интересная тема, что если вам интересны условные плюсы (или JS), то вы, скорее всего, ещё не ковыряли хаскель. А если вам интересен хаскель, то вам уже неинтересен JS.


                      Отсылка к инлайн-ассемблеру толстовата, попробуйте тоньше.


                      1. KanuTaH
                        06.02.2022 22:29
                        +1

                        Отсылка к инлайн-ассемблеру толстовата, попробуйте тоньше.

                        В следующий раз обязательно попробую :)

                        Просто есть такая интересная тема, что если вам интересны условные плюсы (или JS), то вы, скорее всего, ещё не ковыряли хаскель. А если вам интересен хаскель, то вам уже неинтересен JS.

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


                      1. 0xd34df00d
                        06.02.2022 23:27
                        +2

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

                        Ну RIIx самим по себе мне тоже заниматься неинтересно. Иногда, по фану, бывает интересно «а какие проблемы вылезут, и как это всё будет выглядеть и работать?», но это мелкие проекты на условные выходные.


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


                      1. AnthonyMikh
                        06.02.2022 22:36
                        +2

                        Отсылка к инлайн-ассемблеру толстовата, попробуйте тоньше.

                        Я целую статью написал ради отсылки


                      1. 0xd34df00d
                        06.02.2022 23:25
                        +2

                        Это тоньше.


              1. F0iL
                06.02.2022 21:55

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

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

                поэтому в написании кланга

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


                1. 0xd34df00d
                  06.02.2022 22:12
                  +3

                  Во-первых были

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


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

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


                  1. KanuTaH
                    06.02.2022 22:18
                    +1

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

                    С "небольшими" вкраплениями LLVM (собственно, они до сих пор никуда не делись), который написан... На чем же он написан?... Никак не вспомню :)


                    1. 0xd34df00d
                      06.02.2022 22:25
                      +2

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


                      1. KanuTaH
                        06.02.2022 22:28

                        На чём он написан тут не так важно

                        Согласен. Я бы вообще расширил это утверждение :) Впрочем, мне Михаил Афанасича (устами Филипп Филиппыча) все равно не переплюнуть.


                  1. vkni
                    07.02.2022 05:40

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

                    OCaml считается наиболее удобным языком для построения компиляторов.


                    1. 0xd34df00d
                      07.02.2022 06:52
                      +3

                      Французской школой, разве что :]


                      В хаскеле как-то ИМХО проще.


    1. w5346c Автор
      06.02.2022 19:17

      Ну, а на чем например писать антивирус, или софт для устройства gps-навигации, которое должно работать днями от двух батареек AA?


      1. AnthonyMikh
        06.02.2022 22:08
        +4

        На Rust


        1. oYASo
          06.02.2022 23:50
          -1

          Который использует бэкенд LLVM, который написан на C++. Огонь.


          1. 0xd34df00d
            07.02.2022 00:01
            +5

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


            Во-вторых, тут уместно вспомнить, что C++ использует стандартную библиотеку, которую на [стандартном] C++ написать невозможно, точно так же как C использует стандартную библиотеку, которую на [стандартном] С написать невозможно (по крайней мере, в обоих случаях ­— без UB). И что это значит?


            1. technic93
              08.02.2022 02:02

              что malloc и linux kernel не существует? =)


              1. 0xd34df00d
                08.02.2022 03:35
                +4

                Существуют, но они написаны не на стандартном C.


        1. Woodroof
          07.02.2022 06:46

          Идея хорошая, но не без проблем. Так, в rust уже год как не могут сделать сборку под последний NDK :(


        1. k-morozov
          07.02.2022 10:24
          +1

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


      1. ViacheslavNk
        07.02.2022 10:34
        +1

        А зачем писать антивирус исключительно на С/С++? Понятно, что фильтр-драйвера придется писать на С, а всю бизнес-логику, какую-то машинку/анализ и особенно UI, можно писать на C#/JAVA и пр, преимущество в сокращении времени разработки.

        софт для устройства gps-навигации, которое должно работать днями от двух батареек AA?

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


  1. lrrr11
    06.02.2022 13:50
    +11

    Фидбэка не дождался

    а вот это, мягко говоря, хамство


  1. qark
    06.02.2022 14:10
    +17

    Мои личные фавориты, по степени приятности собеседований (в алфавитном порядке):
    • Joom
    • Kaspersky
    • Network Optix
    Про Kaspersky нет в статье. Собеседование было раньше 2021?


    1. w5346c Автор
      06.02.2022 19:06
      +1

      Да, раньше.


  1. Koval97
    06.02.2022 15:11
    +3

    Мне менеджерам всех компаний хочется воззразить лишь одним словом: "Вы либо крестик снимите, либо трусы наденьте". Что это за цирк Шаппито?! Они что там все совсем джуна нанимают?!

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

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

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


    1. Xambey97
      06.02.2022 15:33
      +12

      Не все пилят что-то для себя или опенсорса, у большинства нет на это ни дополнительных сил, ни времени. Семья и отдых дороже. Я когда-то много чего делал для себя в опенсорс, но эти времена давно прошли, да и качество моего кода в те времена оставляло желать лучшего. В общем нормально все с вопросами, единственно я против тестовых заданий на дом с масштабом более чем на пару часов за бесплатно, это полное неуважение к чужому времени, особенно с тем, какой сейчас богатый выбор, как и большого кол-ва этапов. Мой личный рекорд — 8 этапов-собеседований в течение 1.5 месяцев в яндекс (после такой хрени, я к ним больше ни ногой), прошел из интереса, но пока это все проходило, у меня 4 менее интересных офферов сгорело, одно из которых мне очень понравилось по команде


      1. Koval97
        06.02.2022 21:52
        -4

        Не все пилят что-то для себя или опенсорса

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

         у большинства нет на это ни дополнительных сил, ни времени. Семья и отдых дороже.

        Если человек ищет работу, то у него точно найдётся и время, и вдохновение.

        Мой личный рекорд — 8 этапов-собеседований в течение 1.5 месяцев в яндекс (после такой хрени, я к ним больше ни ногой), прошел из интереса, но пока это все проходило, у меня 4 менее интересных офферов сгорело, одно из которых мне очень понравилось по команде

        Мне очень интересно кто тут больше дурак: вы или они? 1,5 месяца на собеседование - это же ещё деградировать до такого уровня надо. Не топ-менеджера же они выбирали, ни директора филиала.


        1. F0iL
          06.02.2022 21:59
          +4

          найти 2 часа и написать одну программу он точно сможет

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


          1. Koval97
            07.02.2022 11:00
            -2

            Вот только за 2 часа вы в лучшем случае напишите крохотную утилитку

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

            Цитата:

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

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


            1. F0iL
              07.02.2022 11:28
              +1

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

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


              1. Koval97
                07.02.2022 12:52
                -1

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

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

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

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

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

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

                Для упращения работы бухгалтерии его обычно назначают кратным 1 месяцу, 3 месяца - это максимальный срок установленный ТК РФ. Вопрос "Кто кого тут обхитрил?" уже риторический, бывает люди назначают бесплатные стажировки, с чем я в корне не согласен. Если человек только набирается своего первого опыта работы в коллективе, то его труд всегда должен оплачиваться.


                1. F0iL
                  07.02.2022 14:33
                  +1

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

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

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

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

                  И для справки: Испытательный срок длится всего 21 день

                  Это и очень мало и очень много одновременно. Это очень мало для погружения в проект: если у вас большая кодовая база или сложная предметная область, то первые пару недель кандидат будет только настраивать железо и окружение, разбираться в системе сборки, пробовать деплоить, читать документацию, смотреть код. В лучшем случае к третьей неделе он сможет приступить к своей первой простой user story типа фикса мелкого бага или добавления очередной опции. А очень много это для процесса трудоустройства. Простой пример: я решил поменять работу, поставил себе на linkedin "в активном поиске", за пару дней получил три десятка приглашений от рекрутеров, отобрал из них пять самых интересных, подался во все места, получил пять офферов. Я не могу сказать четырем из них "я принял один, подождите, пожалуйста, 21 день, если первым что-то во мне не понравится и меня уволят, я вернусь к вам". Точно так же со стороны работодателя: мне нужен еще один инженер в команду, у меня 5 кандидатов, одна позиция, я не могу нанять всех пятерых на испытательных срок чтобы потом гарантированно уволить четверых (это просто неэтично), и я не могу сказать остальным четверым "подождите три недели, мы тут взяли одного, но если мы его за это время уволим, то вернемся к вам". Увы, это так не работает.


          1. Koval97
            07.02.2022 11:07
            -1

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

            Например, я использую короткие кейсы для того, чтобы разобраться в новых для себя инструментах. Сейчас, по иронии судьбы, мне нужно перебрать 170 ГБ информации из 60 с лишним тысяч медиа-файлов, из которых полезных фотографий только 24 ГБ. Вручную уйдёт на это годы, а нужную программу написать на понравившемся компиляторе займёт не более чем 2 часа, даже с нормальным оконным UI.


            1. F0iL
              07.02.2022 12:18
              +1

              ...говорит, но очень мало.

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


              1. Koval97
                07.02.2022 13:27
                -2

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

                Только вы одного не учитываете. Я беру кейсы на основе реальной практики, а не каких-то псевдофилософских предположений, как вы.

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

                Например, вам нужен синьор,

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

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

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


                1. F0iL
                  07.02.2022 14:37
                  +1

                  Только вы одного не учитываете. Я беру кейсы на основе реальной практики, а не каких-то псевдофилософских предположений, как вы.

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

                  По одной вашей манере речи можно судить какой вы специалист

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

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

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

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

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


                1. 0xd34df00d
                  07.02.2022 19:41
                  +2

                  Вряд ли в таком вообще возникнет необходимость.

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


        1. Xambey97
          07.02.2022 02:35
          +3

          найти 2 часа и написать одну программу он точно сможет.


          Я пишу код в день от 4 до 12 часов (в зависимости от кол-ва совещаний и трат на менторинг), иногда подряд, а рабочий день обычно начинается в 9 утра и заканчивается в 19-20 часов вечера. Вы меня извините, но мне хочется проводить свое свободное время с семьей и изучением различной литературы в других интересных мне областях, и в целом за решением других проблем, которых тоже не мало, и на которых тоже никогда не хватает времени. Если у вас так много свободного времени, что вы можете себе это позволить, то ваше право, но я себе это УЖЕ позволить не могу. Я люблю свою работу и программирую уже более 11 лет, за это время я разработал (один или в команде) предостаточно, как поделок разной степени качества, так и коммерческих сервисов, и показывать их на собеседовании не намерен (одни просто слишком стары и просты/говнокод старых времен, или NDA), потому что ни одну из них не запускал уже много лет. Если мне приспичит делать что-то для опенсорса, то это будут или мои эксперименты по работе, которые мне ПОЗВОЛЯТ выкладывать, или если у меня на это появится время/желание (возможно потенциально коммерческое), но никак не необходимость. Чтобы оценить мои навыки, можно меня о них спросить, и вы не поверите, но большинство компаний это устраивает. Я достаточно регулярно меняю работу (1-2 года), и проблем с выбором компаний у меня нет, у меня все мессенджеры и ящики ЗАВАЛЕНЫ предложениями о работе, хотя везде написано, что я не ищу работу, и стоит мне открыть этот кран, как уже Я могу выбирать, куда хочу. Так в прошлом году, я за 2 недели прошел около 25 собеседований за пару недель отпуска и получил более десятка офферов в достаточно хорошие компании. В общем рекомендую вам попробовать походить по собеседованиям, чтобы убедиться в том, что там где на «техническом фильтре» стоят не hr'ы, а нормальные тех. специалисты, проблем с определением уровня кандидата не возникает.

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

          P.S Для особо буйных уточню. Я не утверждаю, что тестовые задания бесполезны, они хороши, если они:
          а) достаточно короткие и хорошо раскрывают какие нибудь базовые аспекты понимания тех или иных инструментов, чтобы по этим решениям можно было опросить потенциального сотрудника, это может ускорять опрос (если задавать нормальные вопросы о глубине реализации, то можно выявить потенциальных лжецов, которые не сами делали задание)
          б) если их используют для проверки к примеру ребят, которые идут в стажеры и джуны, потому как их ОЧЕНЬ много приходит (к примеру на одном из моих собеседований в Яндекс, мне рассказали, что на первых двух этапах заканчивают собеседовать под 80% кандидатов, а их приходят сотни), и более 90% отсеиваются (по моему личному опыту), если с каждым сажать для собеседования нормального специалиста, это будет большая трата времени (а за это часто, о ужас, нужно еще и доплачивать, т.к это часто делается вне основного рабочего времени), и то я в данном случае тоже за небольшие домашние задания на пару часов максимум, если человек понимает, что делает, он может управиться и быстрее…


          1. Koval97
            07.02.2022 11:47

            В общем рекомендую вам попробовать походить по собеседованиям, чтобы убедиться в том, что там где на «техническом фильтре» стоят не hr'ы, а нормальные тех. специалисты, проблем с определением уровня кандидата не возникает.

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

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

            Вы слишком грубы, когда предписываете собеседнику что он никаким образом не имел ввиду. Я ни слова не говорил ни про open source, ни про большие программы. Хватило бы короткого полезного вам кейса, может исходник рабочей программы созданной вами, который скорее всего я потребовал только прокомментировать и рассказать о том через что вы прошли, чтобы его создать. Даже более скажу, вы бы сами охотно так и поступили.

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

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

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


            1. F0iL
              07.02.2022 12:29
              +2

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

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


              1. Koval97
                07.02.2022 13:34

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


                1. F0iL
                  07.02.2022 14:17
                  +1

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


                  1. Koval97
                    07.02.2022 20:36
                    -1

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

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


                    1. F0iL
                      07.02.2022 21:20
                      +2

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

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


                      1. Koval97
                        09.02.2022 00:09
                        -1

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


                      1. F0iL
                        09.02.2022 10:56

                        Попрошу вас не лгать, у меня нет на Хабре никаких ботов (можете сделать запрос администрации, у них очень хороший опыт по выявлению подобного), и возможность минусовать у меня довольно сильно ограничена из-за кармы: большую часть своих голосов я трачу на плюсы, а не на минусы (причем не в этой, а в других темах). Я ради интереса проверил, в этой теме у вас есть комментарии с -3, -5 и -7 - по-вашему у меня целых 5 ботов? :) Ну а про деанон, прямо скажу, странно звучит - за 7 лет тут на Хабре очень многие люди видели ссылки на мой профиль на linkedin, на моих работодателей и даже примерно на место где я живу :)

                        Вам просто пора уже свыкнуться с мыслью, что ваше мнение - не единственное правильное в этом мире, и очень многие люди могут быть по объективным причинам не согласны с вашими нередко голословными высказываниями. А вы еще и периодически демонстрируете эффект Даннинга - Крюгера в чистом виде, что очень забавно наблюдать по вашей дискуссии с @0xd34df00dвыше.


    1. lookid
      06.02.2022 15:42
      +3

      Цель собеседования определить уровень синьерности. Если проходит - определить уровень лидовства. Если нет - смотрим сможет ли на мидла (джуна). Какие задачи будет решать никто не знает. За 2-3-4-5 недель всё может поменяться. Нужно чтобы человек мог впечатывать тысячи строк кода в месяц и дебажить неочевидные multithreading service oriented architecture. Нужны рок-звезды или хотябы звездочки. Человек может не писать код дома, а Кормена решать или Кнута. И вообще человек может быть с мат-кафедры, а не информатики или программной инженерии. Главное мозги, а не зубрежка.


    1. F0iL
      06.02.2022 16:19
      +7

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

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

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

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


      1. Koval97
        06.02.2022 22:21
        -1

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

        Это вообще как? Давайте подумаем.

        <...>

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

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


        1. F0iL
          06.02.2022 22:24
          +4

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

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


        1. panzerfaust
          07.02.2022 10:46
          +2

          Сделайте любительский проект, чисто для души

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


          1. HellWalk
            07.02.2022 11:19

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

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

            Соответственно, в какой-то критической ситуации (например, на проекте 100 багов на проде) - человек будет абсолютно спокоен - "мне задачи на исправление этих ошибок никто не ставил - какие вопросы?"

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


            1. panzerfaust
              07.02.2022 11:39
              +1

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

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

              Это же уровень шуток про бабушек у подъезда: "Если в миниюбке - проститука, а если с наколками - нарокман"


              1. HellWalk
                07.02.2022 15:31

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

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

                А если человек говорит, что:

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

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

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

                P.S.

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


                1. panzerfaust
                  07.02.2022 16:59
                  +1

                  Я вот ни разу не слышал про гонщиков, которые бы говорили "хорошо в отпуск съездил, ни разу за руль не садился"

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

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


                  1. HellWalk
                    08.02.2022 09:15

                    Вообще мимо.

                    Конечно, конечно, и знаменитому Шумахеру начали платить с 5 лет, когда он уже начал участвовать в гонках:

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

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


                    1. ReadOnlySadUser
                      09.02.2022 07:17

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


                1. ReadOnlySadUser
                  09.02.2022 11:22
                  +1

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

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

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

                  Я вот ни разу не слышал про гонщиков, которые бы говорили "хорошо в отпуск съездил, ни разу за руль не садился".

                  Я вот ни разу не слышал про работников АЭС, которые дома строят себе маленький ядерный реактор. Что это доказывает? Правильно. Что все аналогии ложны.


            1. Koval97
              07.02.2022 12:58
              -1

              Соответственно, в какой-то критической ситуации (например, на проекте 100 багов на проде) - человек будет абсолютно спокоен - "мне задачи на исправление этих ошибок никто не ставил - какие вопросы?"

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

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


      1. 0xd34df00d
        06.02.2022 22:28

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

        Я вот не понимаю — зачем добровольно отрезать от себя возможность заниматься тем, что интересно?


        1. F0iL
          06.02.2022 23:26
          +1

          В жизни нашлись вещи ничуть не менее интересные, а в сутках всего 24 часа - нужно делать выбор.


        1. vkni
          07.02.2022 05:45

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


          1. 0xd34df00d
            07.02.2022 06:53
            +1

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


            1. ReadOnlySadUser
              07.02.2022 11:26
              +1

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

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

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


              1. KanuTaH
                07.02.2022 14:22
                +2

                Меня это всё привело к лютой апатии и бессмысленности бытия.

                А у меня наоборот. Как только я дистанцировался от людей, перестал беспокоиться о том, "что подумают княгини Марьи Алексевны" и начал заниматься только тем, что мне нравится, я стал гораздо счастливее. Все люди разные, кто-то пишет код 8 лет только на работе и счастлив, а кто-то пишет его 35+ лет, даже нигде не работая (потому что интересно), и тоже счастлив. Каждому свое.

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

                Не забывайте про надпись на кольце царя Соломона :)


                1. 0xd34df00d
                  08.02.2022 11:55
                  +2

                  Не забывайте про надпись на кольце царя Соломона :)

                  Мне тут больше нравится то, что если у вас нет собаки, её не отравит сосед.


                  1. KanuTaH
                    08.02.2022 15:30
                    +1

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


                1. ReadOnlySadUser
                  08.02.2022 13:23

                  Не забывайте про надпись на кольце царя Соломона :)

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

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

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

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

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


                  1. KanuTaH
                    08.02.2022 14:28

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

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

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

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


                    1. ReadOnlySadUser
                      08.02.2022 16:34

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

                      Закон сохранения энергии против этого правила) Мне лично больше по душе думать: "всё проходит, но ничего не исчезает". Так, как оно всё сегодня через 10 лет точно не будет, и через 10 лет мои отношения с женой и друзьями будут не те. Фактически и я буду другой, и все остальные. Можно сказать сегодняшние мы будем давно мертвы. Это вообще не повод отказываться от сегодняшнего дня.

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

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


                      1. KanuTaH
                        08.02.2022 16:44
                        +2

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

                        Поправка: жить для того, чтобы заниматься тем, что тебе нравится, а не идти на бесконечные уступки другим людям. Я развлекаюсь тем, что пилю код и правлю баги в опенсорце, но вполне мог бы путешествовать (я честно пробовал, но, приезжая куда-либо, я точно так же сидел в номере, пилил код, по вечерам ездил на пляж или гулял, но все то же самое я могу делать (и делаю), никуда не уезжая, так что я забил), ходить на яхте, рыбачить, скалолазить, да что угодно. Главное - это заниматься тем, что ТЕБЕ нравится, а не жертвовать этим ради непонятно чего. Многим нравятся и отношения вот эти вот все, ну ОК, без проблем. Но когда есть ощущение, что ты чем-то именно жертвуешь ради непонятно чего - то мое ИМХО (подкрепленное жизненным опытом), что от этого надо драпать со всех ног.


                      1. F0iL
                        08.02.2022 17:02

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


                      1. ReadOnlySadUser
                        08.02.2022 17:56

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


                      1. ReadOnlySadUser
                        08.02.2022 17:52

                        Главное - это заниматься тем, что ТЕБЕ нравится, а не жертвовать этим ради непонятно чего.

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

                        Согласен, что жертвовать чем-либо ради непонятно чего - это тупо. И я согласен, что от этого стоит бежать. Просто я лично вполне точно осознаю чем жертвую и ради чего))


                  1. 0xd34df00d
                    08.02.2022 19:39
                    +2

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

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


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

                    Это немного грустное состояние, но оно даёт силу и свободу.


                    1. ReadOnlySadUser
                      08.02.2022 22:39

                      Вопрос выбора цвета обоев, фильма на посмотреть под пиццу или что-то такое — это, конечно, ерунда

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

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

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

                      В моей жизни, внезапно, дела менее постоянны людей. И это с учётом того, что за последние 5 лет я сменил 3 города и суммарно 5 переездов между квартирами.

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

                      Это немного грустное состояние, но оно даёт силу и свободу.

                      Мне так не повезло. Лично меня это привело к жизни, когда я после рабочей недели приходил с работы, заказывал 4 пиццы и не вставал (кроме как в туалет сходить) с дивана все выходные. Вот прям вообще. Я даже не всегда смотрел телевизор. Просто иногда лежал в потолок смотрел. И так 4 месяца к ряду. В будние дни тоже не лучше, вставал в 8 утра, возвращался с работы в 22:00. Не потому что хотелось работать (да я и не работал особо после 19:00), а потому что не хотелось идти домой. Отпуск не помогал, путешествия тоже.


    1. fzn7
      06.02.2022 20:00

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

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


      1. Koval97
        06.02.2022 22:39
        -1

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

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

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


    1. ReadOnlySadUser
      06.02.2022 20:15
      +4

      Вариант, что люди после работы не работают вообще не рассматривается? Я вот 8 лет пишу коммерческий код и что-то не припомню, чтобы писал программы для себя. По крайней мере на С++. На bash/python ещё чет могу поавтоматизировать дома, но не более. Про опенсорс я вообще молчу. Играть в это благородство у меня нет ни сил, ни желания. У меня есть жена, есть друзья и есть другие интересы, помимо программирования.

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


    1. KvanTTT
      06.02.2022 20:37

      Как же мне, наверное, повезло, что я и на работе занимаюсь опенсорсом (Kotlin), так и в качестве пет-проджекта тоже занимаюсь опенсорсом, причем делаю существенные фиксы (ANTLR). Всегда будет что показать.


  1. zuko3d
    06.02.2022 16:07
    +21

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

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

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

    Другой вариант был когда человек напрочь отказывался признавать ошибку. Сначала аргументированно обсудили, как будет работать код - наши мнения не сошлись. Покопались, поняли что мы по-разному помним, как работает функция XX. Я знаю, что могу и сам ошибиться, поэтому предложил посмотреть что написано в стандарте (это было собеседование по С++ и функция из STL). Почитали, написано так, как я говорил и... челвоек сказал, что это старая версия стандарта. Ок, я предложил запустить в онлайн-компиляторе, компиль всё выдал в соотвествии стандарту, но... собеседник заявил, что в компиляторе баг. Я и сам находил баги в компиляторах (даже в актуальном clang было дело как-то), поэтому такой вариант не исключил - возьмём другой компиль. В итоге все проверенные компили (кажись clang, gcc и icc) работали ожидаемо одинаково. В общем, после некоторых препирательств я понял, что не вижу смысла тратить так много времени на бесполезный спор и двинулся дальше. И вот казалось бы, ну залупается чел, ну чего я придираюсь? Язык-то знает хорошо, алгоритмы понимает. А ответ прост - я не хочу потом каждую неделю тратить время на то, чтобы доказывать ему, что у него баг, а потом ещё и самому эти баги исправлять когда он откажется т.к. "у меня всё праивльно написано".

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


    1. Koval97
      06.02.2022 23:01

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

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


      1. zuko3d
        07.02.2022 01:36

        Ну тот, который матерился, работал несколько лет в гугле на позиции то ли Senior, то ли Staff SWE. Такими кандидатами не раскидываются, решили дать шанс (хотя HR ещё на скрининге отметила его "непривычный стиль изложения мыслей"). И технический спец он реально хороший, прям круто на вопросы отвечал и язык знал. А, забыл, он ещё посередине собеса начал просить закурить =) Это огонь был =)


        1. Koval97
          07.02.2022 12:15
          -1

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

          Один из признаков профессионального роста - это умеренная самооценка.


  1. balberbro
    06.02.2022 19:43

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


  1. myoffice_ru
    07.02.2022 15:52
    +2

    w5346c Здравствуйте, нам жаль, что у вас остались негативные впечатления от встреч с нашими HR. Будем благодарны, если напишете нам на podbor@myoffice.team или в личные сообщения и уточните, когда именно проходило собеседование. Если помните, уточните, пожалуйста, имена HR, которые проводили встречу. Мы обязательно разберёмся в ситуации и вернемся к вам с ответом. Заранее спасибо!