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

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

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

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


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

Многие могут подумать, что дальше последует очередной набор всем надоевших клише. «Я слышал эти советы много раз, но какой от них толк, если я по-прежнему не могу устроиться разработчиком?!» Что ж, в таком случае стоит ненадолго остановиться и порефлексировать.

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

«О, круто! Еще один эксперт по Python, Node.js, C++, базам данных SQL и noSQL, а также почти по всем технологиям, о которых я слышал!»

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

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

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

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

  • Знаю ли я, как это работает? Понимаю ли я это на более глубоком уровне (подробнее смотри ниже совет 2)?

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

Если кто-то говорит, что владеет SQL, то он по меньшей мере должен знать, как и когда создавать индекс. Я лично ожидал этого минимума от кандидатов. Когда кто-то не оправдывал моих ожиданий, приходилось делать в отчете пометки: «Кандидат в своем резюме утверждал, что владеет [определенными навыками], но на собеседовании не ответил даже на [мои вопросы]». Как вы думаете, стоит ли рассматривать дальше вашу кандидатуру?

Что думаю я

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

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

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

«Я разработчик Python. Мне действительно нужно разбираться в указателях и управлении памятью?»

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

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

  • Я уже упомянул SQL и индекс. Если вы работаете с SQL ежедневно, то, скорее всего, вы уже умеете создавать индексы для ускорения определенных запросов. В таком случае не стоит останавливаться на этих знаниях. Постарайтесь понять, как работает индекс: например, как работают B-дерево и B+дерево и почему их можно использовать для реализации индексов. Почему индекс может ускорить запрос и как система управления базами данных (СУБД) принимает решения, какой индекс использовать при выполнении запроса («план выполнения запроса»).

  • Это нормально, если вы выполняете повседневную работу, используя высокоуровневые языки, такие как Python или JavaScript, но вы точно потом скажете себе спасибо, если углубитесь в изучение нюансов работы указателей, ссылок, heap и стеков. При этом вам не обязательно разбираться во внутреннем устройстве Python (реализация PyObject на C/C++). Зная, например, как работают указатели и ссылки, вы по крайней мере не удивитесь, если объект, переданный в функцию, изменен (или не изменен) на месте. Если вы знаете, как коды хранятся в памяти в виде инструкций, вы не впадете в ступор, если кто-то попросит вас изучить байт-код, сгенерированный функцией dis.

  • Если вы используете современные фреймворки для реализации веб-приложений, знание протоколов HTTP и TCP может вам очень помочь.

Что думаю я

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

Совет 3. Программирование копипастом из Google (или Stack Overflow) не делает вас разработчиком.

«Увы, не знаю, как решить эту проблему, но я определенно могу найти ее решение в интернете».

Да, с момента, как Google и Stack Overflow стали суперэффективными инструментами для поиска узкопрофильной информации, многие кандидаты удивляются, если их просят написать код прямо на собеседовании.

«В конце концов вы нанимаете программистов для решения задач, а не для ответов на экзаменационные вопросы».

«Я всегда могу найти в интернете фрагмент кода, чтобы решить проблему. Это ли не доказывает, что я быстро учусь?»

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

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

Что думаю я 

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

Послесловие

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

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

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

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

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

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


  1. MrSelfDestruct
    30.07.2021 11:20
    +1

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


    1. MegaplanCEO Автор
      30.07.2021 11:37
      -4

      Захотели что-то более близкое для нас поставить :)


  1. Sm1le291
    30.07.2021 11:24
    +14

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

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

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

    Можно конечно все это вспомнить и представить что ты сейчас на экзамене, а не в офисе. Но гораздо проще и эффективнее скопипастить этот код


    1. Alex_ME
      30.07.2021 11:33
      -8

      Вот прям скопипастить as is? А ведь у кода со стаковерфлоу есть лицензия (CC, но это не точно), которая может быть не совместима с лицензией вашего продукта


      1. Alekseyz
        30.07.2021 23:06

        Какая вам и бизнесу разница как разраб решает задачи, копипастит или вбивает вручную по памяти?


        1. Alex_ME
          31.07.2021 00:46

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


          1. pfffffffffffff
            31.07.2021 12:56

            Поменяй названия переменных и вот новый код


    1. SadOcean
      30.07.2021 12:22
      +1

      Кажется, автор говорит совсем не про это.

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


    1. Virtor90
      02.08.2021 10:00

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


  1. dimskiy
    30.07.2021 11:38
    +9

    «Поступайте хорошо, а плохо не поступайте!»


  1. IT-NEWS
    30.07.2021 11:40
    +4

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


    1. Alex_ME
      30.07.2021 11:42
      -4

      Просто ради любопытства: какой уровень вы считаете нормальным?


      1. F0iL
        30.07.2021 12:13

        Обычно что-то типа B1-B2, чтобы был способен вести переписку и участвовать в созвонах на технические темы.


        1. Alexufo
          01.08.2021 14:17

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


        1. Anterenoire
          30.07.2021 13:29

          Диалектом или акцентом? :)


          1. Dlougach
            30.07.2021 13:36

            Представляю себе: "для общения с клиентами требуется свободное владение рифмованым кокни и диалектом чёрных гетто".


  1. anonymous
    00.00.0000 00:00


    1. kalombo
      30.07.2021 13:06
      +1

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


      1. zhulan0v
        30.07.2021 23:06
        +3

        Удаленка на Европу, Израиль или штаты с нормальным уровнем английского даёт эти искы.


  1. BATPYIIIKOB
    30.07.2021 11:47
    +1

    Зачастую требования работодателей также зашкаливают. Ищут мастера на все руки за зарплату допустим бекендера. Это к тому, что:

    «...Еще один эксперт по Python, Node.js, C++, базам данных SQL и noSQL, а также почти по всем технологиям...»

    Соответственно, пишут в резюме всё о чём слышали. Просто разный уровень знаний технологий ;)


    1. MegaplanCEO Автор
      30.07.2021 11:49
      -2

      Согласен, среди некоторых работодателей есть и такое


  1. VYudachev
    30.07.2021 12:05
    +1

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

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


    1. ivegner
      30.07.2021 12:54
      +1

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

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


      1. VYudachev
        30.07.2021 13:10

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


        1. ivegner
          30.07.2021 21:07
          +1

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


  1. MarkFish
    30.07.2021 12:24
    +3

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

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


    1. MegaplanCEO Автор
      30.07.2021 12:25
      -1

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


      1. MarkFish
        30.07.2021 12:30
        +1

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


        1. ivegner
          30.07.2021 12:57
          +1

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


  1. ayevdoshenko
    30.07.2021 12:35
    +4

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

    По порядку:

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

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

    Безграмотные - это где вообще неправильно написаны названия технологий, инструментов, фреймворков и т.д. Shame on you!

    Про Неадекватные уже выше пояснил - ну взвесьте вы свои требования, черт побери! Знание, к примеру, PostgeSQL - это что? Поднять и настроить? Сделать распределенную инфраструктуру? Писать запросы на SQL, вьюхи и т.д.? Или это значит только то, что у вас в качестве СУБД - PostgreSQL, а разработчики дальше ORM и не ходят? Насколько это вообще актуально для вакантной позиции? Или это так, на всякий случай?

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


    1. VYudachev
      30.07.2021 13:50
      +4

      Навеяло


      1. ayevdoshenko
        30.07.2021 14:07
        +1

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


  1. N-Cube
    30.07.2021 13:13
    +2

    … как система управления базами данных (СУБД) принимает решения, какой индекс использовать при выполнении запроса («план выполнения запроса»).

    Серьезно, нужно назвать единый способ для всех СУБД?.. Тогда специалистов по PostgreSQL можно выгнать за рассказ о не детерминированном планировщике, а специалистов по SQLite - за рассказ о детерминированном :) А за упоминание реализаций индексов в виде виртуальных таблиц и вовсе казнить на месте, наверное.


    1. Ndochp
      30.07.2021 15:26
      -2

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


      1. N-Cube
        30.07.2021 16:54
        +2

        Хм, вы себе представляете дистанцию от ОРМ до внутренней реализации СУБД?:) Если вы ищите формоклепателя, какой смысл спрашивать его про опкоды SQLite для обработки индексов?:D А для PostgreSQL и вовсе не существует человека, знающего весь код обработки всех типов индексов, не говоря уже про работу анализатора статистики выполнения запросов и все эвристики. Да и с чего вы взяли, что вы способны хоть как-то оценить верность ответов?


        1. Ndochp
          30.07.2021 16:59
          -2

          Еще раз, это была тема для развития, а не вопрос на собеседовании.
          И я уверен, что любым ОРМом можно положить базу так, что она в себя неделю приходить будет. Поэтому знание того, как оно в СУБД работает — очень полезно. Даже если ни одного селекта ты не пишешь.


  1. voldrevs
    30.07.2021 13:26
    -2

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


  1. mixsture
    30.07.2021 14:05
    +4

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


    1. donPedro
      30.07.2021 15:10
      +2


      1. Alexufo
        01.08.2021 14:13

        Onyx? а… он onix, тогда Sawk.


        1. greabock
          04.08.2021 15:11

          https://www.pokemon.com/ru/pokedex/ditto
          https://www.pokemon.com/ru/pokedex/vulpix
          Я думаю, что их там еще спрятано...


    1. light_and_ray
      31.07.2021 11:30

      Есть такое. Но я не понимаю, почему бы не писать как оно есть. Я, например, в резюме тоже добавил "есть базовое знание Java, JS, R, SQL, HTML/CSS", хоть на самом деле нормально знаю только Python и C++. Но я написал "базовое знание", а так же два раза повторил, что лучше нормально знаю только Python и C++, при этом плюсы лучше и предпочтительней

      Почему бы так не делать всем? Честность и ясность - это же хорошо!


  1. DarthVictor
    30.07.2021 14:39
    +1

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

    3 совета для разработчиков по результатам 20 собеседований

    "Делай как я говорю, не делай как я делаю".

    Двадцать собеседований — это уровень джуна среди интервьюеров, если что.


  1. saboteur_kiev
    30.07.2021 16:33

    Если кто-то говорит, что владеет SQL, то он по меньшей мере должен знать, как и когда создавать индекс. Я лично ожидал этого минимума от кандидатов

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

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

    Я вообще не разработчик, а админ, который занимается бэкапами. И при этом регулярно работаю и с SQL и с noSQL и с TSDB
    И да, я наверное могу по памяти написать на бумажке просотой запрос с джойном и может даже какими-то count/sum/order by. И возможно даже вспомню какие-то нюансы между oracle и mysql синтаксисом.

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

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

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


  1. greabock
    30.07.2021 20:03
    +2

    А вот вам встречные советы для работодателя:
    1. Дважды подумайте, прежде чем упомянуть в вакансии навык, который вам не нужен.
    2. Постарайтесь адекватно оценить "интересность" вашего проекта. Очередной калькулятор KPI - это скучно.
    3. Свободный график и офис в центре Москвы не делают вас дружной командой.

    Теперь по контексту. Вы вакансии-то которые ваши HR нахреначили видели?
    https://hh.ru/vacancy/46667381
    https://hh.ru/vacancy/46213538

    PHP разраб с опытом 1-3 года. Что он может знать и уметь? Да почти нихрена. Сениор-помидор.
    Фуллстек 3-6 лет с бэкграундом Yii за 100к рублей. Вы точно хотите, чтобы ваш проект работал?

    Ох уж эти учителя... всё бы вам учить. На что ловили, то и поймали, в общем-то


    1. Sm1le291
      30.07.2021 23:17
      +2

      Ахаха))
      Кстати да, посмотрел вакансию, там требуется php разработчик с опытом от 1 до 3 лет.
      Но не это главное! В ключевых требованиях знания миграций БД!
      Да черт возьми, если человек пришел на проект и кодит год, ему возможно никто никогда и не доверял еще эти миграции писать. А если он и писал, то по примеру. Но вряд ли, он углублялся в детали.
      Я так понял, пунктики указали просто для количества

      Много ранее написанного кода: 283 модели предметной области ( для понимания масштабов ).

      А это вообще что?)
      Я встречал как солюшены со 100 проектами, так и один файл с 100000 строк, что его отказывалась Visual Studio открывать. Ни то ни другое не характеризовало те проекты с хорошей стороны