Comments 241
Недавно, впервые в жизни, искал работу. Подтверждаю, дословно ;)
Пришел к выводу, что это говорит только о том, что, на самом деле, очень немногие компании (даже выглядящие вполне успешными) занимаются реальным делом в старом понимании этого слова. Все оптимизируют не процесс долгосрочного развития, а процесс быстрого и безопасного схлопывания. Не мешайте — пусть хотя бы они (пока суетятся) платят тем, кто сумел освоить именно тот фреймворк, который сумел.
Есть и обратная сторона. У "правильных" команд решето отбора работает только на студентов. Если Вы уже взрослый и пришли с улицы — вы через него не пройдете. Вас должно быть можно только случайно переманить. ;)
Дальнейший диалог был примерно таким: Интервьюер описывал симптомы, я описывал свои действия, исходя из них. И так раз 20, пока я не сдался и не узнал какже они нашли решение (Совершенно случайно, кстати).
В процессе такого «квеста» сразу становится видно, что человек знает, как думает, рассуждает и т.д.
Ps: К сожалению моих знаний оказалось недостаточно и меня не взяли… Но, блин, было так интересно, что даже захотелось сделать такую игру!
Кстати, это отличный компромисс между отнимающими кучу времени тестовыми заданиями и тупейшими опросниками с задачками на бумажке. Нужно взять на заметку.
Помнится, пришел в компанию, которая занимается разработкой ПО для автомобилей. Так вместо того, чтобы спросить, как я делал свой CarPC с GPS-трекером на борту (аналог Strava), какие решал проблемы, они задавали вопросы типа см. выше. Профильное же им было неинтересно.
23-летние сеньоры, что с них взять.
Но, как правило, людям нужен книжный червь, который знает, чем отличается абстрактный класс от интерфейса и какой размер int.
Для того, чтобы знать, чем абстрактный класс отличается от интерфейса не надо быть книжным червём, надо использовать на практике и то и другое и обобщить опыт. Что касается размера инта в используемом тобой языке — это просто все знают.
Но, как правило, людям нужен книжный червь, который знает, чем отличается абстрактный класс от интерфейса и какой размер int.
Это тесты на уровень трейни/джуна. Чтобы не прошли через фильтр те, кто вообще не в зуб ногой.
Для миддла/сеньора — такие тесты свою функцию не выполняют.
Можно попробовать про все это еще статейку написать, со своими «имхо» о правильных-неправильных вопросах и что из них следует. Вместе с расшифровками, о которых упоминал achekalin, они и правда забавные и будут в тему.
Не очень сложно, если собеседующий хорошо в теме. Цель квеста не в правильном ответе, а в правильном пути и в рассуждениях. И "правильный ответ" при одинаковых вводных может быть сильно разным. И, да, если друг маминой подруги непрошедшего кандидата может пройти любой квест типа "ваша БД тормозит", или "приложение списывает со счета неправильную сумму", или "сервис внезапно перезапускается", то он красавчик.
PS: к примеру, 23-х летнего сеньора — это такая ирония?
1 Создаю таск в Jira куда копирую тест из жалобы и ссылку на «жалобщика». С пометкой уточнить и детализировать.
2 Асигню на отдел тестирования.
Яндекс ищет себе сисадмина на линуксовые сервера. Почему им надо писать «Experience with algorithms, data structures, complexity analysis and software design», а не «опыт администрирования Unix/Linux»?
SRE это как бы немного шире, чем сисадмин и «функции» этих «человеков» различаются. Соответственно и различаются задачи и требования. Но, опять же, это все функции.
«Experience with algorithms, data structures, complexity analysis and software design»
Это же как раз к SRE относится. В целом, можно было взять любые другие вакансии этих компаний и там все было бы +- так же в большинстве случаев.
Именно. Это как раз к SRE и относится, а не к сисадмину. Немного разные функции ищут Яндекс и Гугл в вашем примере, не кажется вам?
Было бы любопытно увидеть вакансию от Гугла на аналогичную позицию сисадмина Линукс серверов. Мне кажется, что они бы в требованиях знание Линукс указали бы обязательно.
К админам они пишут следующее.
Minimum qualifications:
- Bachelor's degree in Computer Science, Electrical Engineering or a related technical field, or equivalent practical experience.
- 5 years of industry experience in technical support, professional services, engineering, sustaining engineering or systems engineering.
Preferred qualifications:
- 5 years of industry experience in technical support, professional services, engineering, sustaining engineering, or systems engineering including hands-on experience implementing, troubleshooting and supporting Internet-based applications, web servers, mail servers (e.g., Exchange, Lotus, sendmail, or Postfix) and Linux/Unix operating systems.
- Thorough Linux/Unix System Administration skills with understanding of network administration.
- Network troubleshooting skills with protocols such as BGP and VRRP.
И конкурс стабильный — 6 человек на одно место.
Вообще тут как и со всеми случайными величинами и гипотезами, есть ошибка первого и второго рода. Есть шанс взять неподходящего кандидата, есть шанс отфильтровать подходящего. А дальше уже каждая компания в зависимости от своих потребностей и финансовых возможностей может выбирать, какую из ошибок ей выгоднее минимизировать и как это сделать.
А в спокойной нормальной рабочей атмосфере я вполне себе пишу вполне себе код.
Что при этом не мешает при необходимости выучить java за пару недель при необходимости узнать и ответ на этот вопрос тоже.
Можно конечно сказать, что если человек устраиваться «разработчиком java» он должен знать такие вещи, но по моему мнению, если человек хорошо знает один язык то и второй освоит.
Первое время на незнакомом языке (даже имея хороший опыт в похожих языках) человек будет работать очень медленно — постоянно придется лазать в документацию и натыкаться на простейшие подводные камни повсюду — от синтаксиса до систем сборки и тулинга.
В большинстве случаев компания не заинтересована оплачивать человеку обучение языку с нуля, а хочет получить уже знающего специалиста. Поэтому вполне логично такими вопросами отсеивать тех, кто вообще не знает по теме ничего.
Но вот если человек, извините, дурак, то он дураком и останется, как бы хорошо он не знал отличия интерфейса от абстрактного класса, а умный войдет в режим и начнет приносить пользу.
Брать такого человека имеет смысл только тогда, когда найти нужного специалиста сложно. Например вот нужен разработчик на Scala — а их мало, фиг найдешь. Окей, сойдет и разработчик на джаве, а в крайнем случае и на другом языке, все равно переучивать придется.
Во всех остальных случаях не вижу большого смысла брать разработчика на другом языке.
Я уже писал о том, что Тимлид стал синонимом "программист со знанием Jira".
Для меня невероятно, что мои коллеги — те же самые люди с высоким окладом не считают нужным готовиться к приходу кандидатов с таким же высоким окладом, что ни в одной вакансии нет списка или хотя бы темы задач, которые будет проверять рекрутер.
Собеседование — само по себе — стресс. В таком состоянии — пропустить глазами блок функции или не помнить, как выполняются Х-ричные вычисления( изучаемые порой по 6 раз на 5 лет ) — совершенно нормально, задачи, где основная проблема — вспомнить, что такое семафор(в голове поезда) без википедии, а не обработать RC — печальная шутка и над собой и над соискателем.
Пикантности ситуации добавляют случаи, когда в вакансии 20 технологий, архитектурные знания, в "желаемом" новейшие библиотеки и методологии, информированность о уязвимостях и соискатель на полном серьезе читает, изучает, освежает знания в преддверии собеседования. А у рекрутера оказывается весь интерес — вопросы по языку в стиле "сделайте сортировку блинчиком".
Все было бы нормально, если бы не психология. В нашей сфере нормально проработать 10 лет, но остаться неспособным дать себе даже призрачную гарантию попасть в ту или иную компанию.
Провал никак объективно не отражается на результате — работу найти не сложно, собеседования везде разные, разные задачи, разные вопросы, разные руководители, бывает задач нет вовсе, бывают это именно те, что прочитал на медиуме "вчера". Но зарплата та же. Объективных причин огорчаться нет, но захотев попасть "куда-то туда", очень тяжело смириться со страхом перед непредсказуемостью.
Не далее как вчера одна компания разыскивая гуру Linux со словами в вакансии DevOps, Kubernetes, Apache CloudStack, прислала мне в качества теста вопрос-фильтр: как не просадить iops при бэкапе работающего приложения с сохранением текущей аппаратной конфигурации, в рамках имеющихся возможностей и ограничений, на единственном сервере Linux на удаленное хранилище по FTP.
Предложите варианты решений для каждого из случая:
Случай 1: локальное хранилище LVM2, удаленное хранилище FTP.
Случай 2: файлы находятся на смонтированном томе NFS, удаленное хранилище FTP.
Случай 3: файлы находятся на ZFS, удаленное хранилище ZFS.
От случая 2 до сих пор в недоумении. Но описал в ответах ход мыслей и как это делаю или сделал бы я лично, выбрав из всех зол меньшее для этой задачи.
Сегодня, прочитав эту статью, я нашел вакансию компании на HH. Там всё как описал автор поста, портянка технологий и разнонаправленные требования. Ягодкой на торте:
- спокойная работа без стресса
Найти бы тот список переводом, очень в тему он был бы здесь.
Но необходимо учитывать, что часть вакансий (возможно, даже, бОльшая) создана для того, чтобы решить какие-то конкретные проблемы организации «здесь и сейчас», а не через 1-2-5 лет. Соответственно, и специалист им необходим для этого с конкретными знаниями конкретных технологий «здесь и сейчас».
Вот в этом и есть ошибка. Если нужно решить конкретную проблему, да ещё и конкретным набором инструментов, то это означает, либо подобное решение уже существует, либо существует пошаговый алгоритм решения.
В таком случае нужен не программист, а машинистка с хоршими навыками набора текста.
К конкретной проблеме и конкретному набору инструментов забыли добавить: в конкретной инфраструктуре и в в конкретном, уже существующем решении.
в конкретной инфраструктуре и в в конкретном, уже существующем решении.
Подобные требования всегда мне напоминают про «нужен сотрудник до 23 лет, желательно студент последних курсов с опытом работы от 10 лет с технологией, которой еще 5 лет нет».
Множество внутренних решений (да-да, древние технологии, легаси и т.д и т.п.), с которых, в обозримом будущем, компания не пересядет на космолёт однозначно.
И да, эти решения надо развивать и поддерживать.
Бизнес не хочет и не будет ждать, пока мы переобуемся.
Поэтому да — нам нужны работники для разработки в конкретной инфраструктуре и в в конкретном, уже существующем решении.
Поэтому да — нам нужны работники для разработки в конкретной инфраструктуре и в в конкретном, уже существующем решении.
Ну так ваше право. Поэтому они дорогие, их сложно найти и они навсегда прибиты к этим технологиям и умрут вместе с ними, потому что такое сочетание стека, как у вас, есть еще… у вас. И что-то может быть похожее у непосредственных конкурентов сопоставимого возраста.
Бизнес ждать не должен, просто это должно делаться в параллель с увеличением расходов на все это, а это как раз бизнес не очень любит, пока его не клюнет.
С автором согласен на все 100%.
Плюс вопрос сложности въезжания в корпоративную инфраструктуру и кодовую базу. Одно дело — нанять фрилансера сделать пятиминутный фикс в стандартном шаблоне. Другое дело — нанимать фрилансера для того же пятиминутного фикса в тонне легаси кода, который он будет разгребать и понимать месяц, прежде чем поймет что делать. А потом для следующего фикса нанимать еще одного, и тоже терять месяц ради пяти минут? Нет уж, лучше собственного постоянного сотрудника, один раз инвестировать в него время и деньги на обучение вашим сложностями и дальше чтобы он работал.
Ну и совсем крайние случаи — всякие коммерческие тайны, финтех и т.п. Где вообще не стоит доверять свой код и инфраструктуру какому-то левому человеку с фриланса, о котором вы знаете только его логин в скайпе и номер счета.
Автор еще забыл упомянуть про характерные для туповатого российского HR описания вакансий с типичными требованиями:
а) Full-Stack (перевожу на понятный: «мы всё равно не разбираемся в этих технологиях ни хрена, но хотим побольше»);
б) «Чай-печеньки-фрукты» (перевожу: «дома-то вам, смердам, всё равно такое жрать не по карману, так хоть в офисе запах понюхаете»);
в) «Мы работаем по agile» — ну_ебить, какие вы прогрессивные-то, у меня даже трусики стали мокрыми
И ТД И ТП
«Мы работаем по agile»
Это мне сказало минимум 4 европейских компании на собеседованиях, кое-кто даже уточнял что у них Scrum и спрашивал «а вы знаете, что такое score points и как их применять»?
«Чай-печеньки-фрукты»
Мне кажется это просто паста, но в целом это не плюс и не минус. Есть — замечательно, нет — ну и хрен с ним, если все остальное отлично (хотя обычно там не бывает).
Full-Stack
В это плане особенно страдают позиции DevOps-ов и SRE (может еще какие-то, но эти ближе к моему профилю). Очень часто встречаются позиции, где за средние на рынке деньги работодатель хочет серьезного программиста с опытом 5+, знанием тучи всего и еще прицепом умеющего в CI/CD, тестирование, архитектуру, контенеры, орекстраторы и далее по списке. Эдакий человек-орекстр который может все сам, и желательно бесплатно.
И вы еще не упомянули про «знание облачных технологий»!
«знание облачных технологий»
Для меня это отдельная боль как для человека, который занимается k8s, микросервисами, миграциями и иже с ними:)
Хотя мне пару раз звонили такие товарищи, которые явно в технической части -2 по шкале 0..10 и задавали очень странные вопросы. Но, по крайней мере произнести «эй-даблю-эс» все HRы в состоянии.
А вот до этого — да, было:)
«а вы знаете, что такое score points и как их применять»?
Story Points
Самое смешное, когда компании отдают HR на аутсорс… И вот ты приходишь в абсолютно стороннюю HR-фирму, тебе задают вопросы о том "на чём ты писал/что использовал?", ты начинаешь отвечать… И понимаешь, что "клиент поплыл". Т.е. опрашивающий обычно вообще ни бельмеса в стеках и технологиях, даже если они записаны у него на листочке и буквально после пары предложений — у него стекленеют глаза и он становится похож на обезьянку, которая загипнотизированно кивает в след твоим словам:
- Вы слышите меня, бандерлоги?
- Мы слышим тебя, о Каа… :D
Но — позитивный пример.
Пару раз я собеседовался в Google (на уровне первых этапов) и оба раза (с промежутком в 5 лет) у них входящий фильтр ровно один — 20 базовых вопросов по элементарным вещам и ряд вопросов типа:
— На каком языке вы пишете?
— На N
— Отлично. Оцените по пятибальной шкале свое знание N?
Причем в процессе разговора девушка однажды честно мне призналась что «у меня нет такого варианта ответа, может быть вы имели ввиду M?». Я был позитивно удивлен этим, кстати.
Оба раза я кстати кстати этот фильтр не прошел, потому что мне честно сказали, что то, как я оценил свои знания — недостаточно для той позиции, на которую я хотел. И это было весьма обидно:) С другой стороны, это такая хорошая подсказка на сколько я должен знать и что потом могут спросить подробнее. И это как раз примерно то, как надо проводить входящую фильтрацию.
Оцените по пятибальной шкале свое знание N?
Такая постановка вопроса меня вообще удивляет. Кто-то может контрибутить в ядро и знать сколько он не знает, поэтому поставит 7-8. А кто-то просто несколько проектов написал с использованием тулзы и поставит себе 8-9. Интересно, как они эти данные нормализуют, чтобы извлечь хоть какую-то пользу?
Что касается первого — видимо есть какая-то нормализация с учетом оценки опыта и предыдущих проектов, резюме-то у них есть… С другой стороны, дальнейший отбор делается людьми (по крайней мере, на мой взгляд), которые все-таки умеют анализировать по косвенным признакам.
Проблема как раз в том, что первый случай — может просто отсеяться. Учитывая, что чем выше рост профессионализма тем выше самокритика обычно — человек грамотный может оценить себя на 7-8 и не получить работы. А "хвастун" — заявит 9 и пройдёт дальше. Да он отсеется на последующих собеседованиях, но первый-то на них (собеседования) даже не попадёт.
Ну а исходя из этого, я себе часто ставлю оценку 3 из 5, если свободно не ориентируюсь в кодовой базе технологии. Грубо, 5 — это те, кто пишет, например, PHP, фичи новые там впиливает, 4 — те, кто знает как он работает, могут баг пофиксить какой-то, ну а 3 — это топ 10% из обычных пользователей языка или технологии.
Да, в какой-то мере это была перестраховка с моей стороны (можно было бы сказать на 4\5 из 5) и я бы наверняка дошел до следующего этапа, вот только я то прекрасно знаю на сколько я знаю это N и если им знания в этой области так нужны и важны, то стоит наверно его еще подучить.
Кстати, это неплохо уберегло от стресса, потому что завалиться на относительно простых вопросов о штуке, которую ты, как заявил, знаешь как минимум на 4, это весьма и весьма неприятно.
Если это было искреннее заблуждение, то тут уже другой вопрос. Правда спуск на землю будет еще более жестким в таком случае.
уметь рассуждать и учиться, уметь делать обоснованные предположения о том, что не знаешь.
Так вот. Лет 6 была у меня ситуация когда в отделе не хватало рук. То есть задачи нельзя сказать, что были сложные, но их было много. И я с тимлидом, ощущали понятный дискомфорт. Штатка на 3го сотрудника у начальства была выбита, но бюджет был прямо скажем не очень велик. Решили что спеца нашего профиля на такие деньги найти без шансов. Решили искать ораклиста. Пошли соискатели…
И очень быстро я осознал, что фраза «Я быстро обучаюсь и разбираюсь в новых технологиях» хорошо для вас звучит только когда вы ее произносите на собеседовании сами.
А вот когда вы интервьювер и слышете эту фразу, то эмоции совсем другие.
Грубо говоря, продолжаешь улыбаться, а про себя думаешь:
«А не пойти бы тебе молодой человек сначала поучиться, а уж потом идти деньги зарабатывать. А то пока ты будешь быстро учиться за счет компании работать со страшной скоростью за тебя буду я...»
А не пойти бы тебе молодой человек сначала поучиться, а уж потом идти деньги зарабатывать
Можно ли эту фразу перефразировать как «А не пойти ли тебе поработать 2 года за копейки в никому ненужной компании, где ты научишься ненавидеть себя и весь мир, почти не приобретя при этом полезного опыта, потому что мы не хотим инвестировать в тебя и твоё будущее, нам важна прибыль здесь и сейчас, а на завтра нам наплевать»?
Не поймите меня неправильно, но это довольно забавно, что все ищут состоявшихся спецов, но почти нигде не готовы этих спецов подготавливать сами. Возможно, именно поэтому у вас и случился такой жесткий недостаток квалифицированных кадров. Возможно, годом ранее вам следовало инвестировать в нового сотрудника. Возможно.
К сожалению, мы живем в реальном мире. И здесь неИТишная компания не видит своим призванием обучать и воспитывать кадры которые чуть подучившись удерут продавать себя в других компаниях.
Возможно, в каком то более справедливом и лучшем мире все будет иначе. Возможно.
Поэтому давайте я перефразирую фразу несколько по другому:
«Мы компания с годовой выручкой в пару-тройку сотен миллиардов рублей. Наша деятельность не связана с ИТ. Поэтому нам нет смысла выращивать ИТ-самомородки и тратить на это время и деньги. У нас есть ИТ-системы которые необходимо поддерживать, обслуживать и развивать и именно за выполнение этих задач мы готовы платить деньги. Если специалист не способен выполнять эти задачи, то мы готовы повторно с ним побеседовать через пару лет. Если у него будет желание, а у нас открытая вакансия.»
Это было бы прекрасно сразу после универа, без всякого опыта и практических знаний сразу устроиться в тот же Эппл, чтобы в меня как следует проинвестировали
Ха(эппл)-ха(майкрософт)-ха(гугл)-ха(интел)-ха(амд)-ха(нвидия).
Это вполне себе реальный сценарий развития событий во многих крупных технологических компаниях. В россии же готовностью взять стажера могут похвастаться в лучшем случае 1 из 5 компаний, но я бы даже сказал, что 1 из 10.
Опыт то я вполне полезный набрал. До сих пор его использую. Это от человека зависит. Кто то сидит в никому не нужной компании и занимается никому не нужными вещами, а другой учится, чтобы было, что показать в нужных компаниях.
Хорошо быть вами. Однако очень часто такие должности сами по себе не позволяют получить достаточного количества востребованных и полезных навыков. Очень часто приходится идти, например, эникейщиком и учиться в свободное от работы время. Учиться в свободное время, конечно, хорошо, но неплохо бы ещё при этом не поехать крышей от постоянного стресса (а стресса у молодых людей в таких условиях будет немало). У нас в стране как-то любят игнорировать тот факт, что регулярные стрессы и перенапряжения ничем хорошим для человека не обернутся.
И здесь неИТишная компания не видит своим призванием обучать и воспитывать кадры которые чуть подучившись удерут продавать себя в других компаниях.
Почти любая компания не видит, но должна видеть. Потому что специалисты на деревьях не растут, и где-то их воспитывать надо. Конечно, способ «поработать несколько лет за еду и подучиться» работает, только эффективным он не является. На нормальной стажировке уже через полгода сотрудник будет способен окупать себя, а через 2 года он ещё и вернет вложенные в него инвестиции. И после такой «программы» он будет гораздо более квалифицированным, чем тот, кто работал «за еду» и учился сам.
Ну вот соседа по комнате в общежитии не взяли в Касперского после стажировки там же. Это не значит, что я согласен с вашим утверждением про Россию и 1 к 10. Просто не взяли.
Но попробуйте взглянуть с точки зрения работодателя на проблему отсутствия опыта потому что не берут получать опыт без опыта.
Они лучше возьмут на работу меня. Который все таки поработал и имеет и опыт работы(в том числе в коллективе) и кое какие навыки и т.д.
Да мной быть хорошо. Согласен.
Ну, я не супермегаспец. Но на собеседовании лучше сказать иначе.;-)
Вон там выше история от соискателя в гугл, пострадавшего из-за скромности.
PS Отвечу Neikist в уже написанном посте:
Хорошо. Пусть противоречу. С вашей точки зрения. А с моей нет. Какой то опыт у нас, видимо, разный в этой жизни, раз вы противоречие видите, а я нет.
А не пойти бы тебе молодой человек сначала поучиться, а уж потом идти деньги зарабатывать. А то пока ты будешь быстро учиться за счет компании работать со страшной скоростью за тебя буду я...
По моему вы сами же себе противоречите.
А почему в свободное от работы то? Мне казалось это самое правильное — работать и этому то и учиться.
И тут образуется замкнутый круг. Чтобы научится, нужно найти работу. Чтобы взяли на работу — нужно быть уже наученым.
И тут образуется замкнутый круг. Чтобы научится, нужно найти работу. Чтобы взяли на работу — нужно быть уже наученым.
К слову учился сам, тогда профессия была гуманитарная.
Мне было интересно ковыряться с ассемблером, писать программы, мне просто было интересно, общался с такими же людьми.
В один прекрасный день, ко мне подошел знакомый и предложил работу с зарплатой в 5 раз большую, чем я получал.
Так я ушел в IT профессию.
И мне жалко тех людей которые идут в IT за рублем, а не из-за интереса, т.к. читать техническую документацию дома, или дома ковыряться в новом движке/языке это просто наслаждение. А если не любишь — каторга.
Видно первую(за интерес) и вторую (за рубль) группу людей которые работают в IT. И если человеку интересно, он легко может подтянуть, то что ему не хватает дома. Потому что это интересно!!!
А когда я начинал было только FIDO и то что бы туда попасть нужно было проделать нехилый такой комплекс телодвижений.
А теперь ролики, курсы, форумы, бери — не хочу.
Нужно только одно, ЖЕЛАНИЕ и интерес!!!
Вернее, у Вас не верные представления о работе разработчиком.
Балансировку деревьев, с индексным поиском делал только 1 раз для пром.компьютеров где нельзя было поставить базу данных.
Продумывание алгоритмов, в основном тоже для аппаратных устройств которые требовательные к передаче информации, среде запуска. Остальные 99% работы на штатных библиотеках, в которые уже не заглядываешь, как раньше с вопросом что, как, почему?
И зачем переходить с 1С на другие языки?
Если вопрос в деньгах, то малая прослойка в языках может дать зарплату выше + халтуры для 1-эсников могут только снится другим разработчика.
Я ушел с 1С потому что меня тошнило от ограничений, а начинал работать еще под досовской версией, полностью закончил на 7,2 версии. И я счастлив, что не работаю с 1С, хотя я ушел в свое время на меньшую зарплату из 1С.
Если с 1С «не прет», не тяните, проходите собеседования. Ищите «ваш коллектив», «вашего руководителя» и «вашу работу».
Сходите на собеседования, посмотрите кто, как и в каких условиях работает, найдите свой идеал и вперед к своей мечте.
Тянуть нельзя. Если есть страх к перемене — это хорошо, значит на верном пути. Вперед, вперед к своей цели.
К слову, последнюю работу почти год искал.
Балансировку деревьев, с индексным поиском делал только 1 раз для пром.компьютеров где нельзя было поставить базу данных.
С одной стороны да. А с другой потом вот так человек впишет запрос из базы с цикле, и вроде всё ок и работает, а но продакшене вдруг формочка 15 секунд открывается. Никто не говорит, что надо по памяти уметь балансировать деревья, но хоть примерно знать базовые вещи надо.
Если есть сроки заказа, то заказ должен быть выполнен в срок и даже если формочка открывается не 15 секунд, а 1,5 минуты в тестовой эксплуатации (некоторые заменяют тестовую эксплуатацию продакшеном) ничего страшного, нужно разбираться. Если база, то блокировки, индексы, планы, структура запроса, потом настройки самой базы, железа и тд, все смотрится.
Если проблема не с базой то смотрятся какие объекты, выделение памяти, другие ресурсы и тд и тп. То есть этап оптимизации. В отдельных случаях приглашаются узкие специалисты для оптимизации.
Но первым пунктом должно все работать правильно в приемлемые сроки.
И оптимизация оптимизации рознь.
Мы вон давеча с админом базы бились над ускорением запроса за сотые доли секунды пробуя различные варианты выборки данных.
Всегда все индивидуально.
Если программер делает правильный и не оптимальный код, ничего страшного в этом нет. Оптимизация это лишь определенный уровень знаний. Главное, что бы котелок работал и был интерес, а оптимизации такой человек быстро научится в команде. Посмотрит исходники, спросит коллег, и через полгода будет делать не хуже тех кто 20 лет отработал.
Так как в каждой конторе применяются накатанные шаблоны и решения, если есть какая то проблема, то разработчик не подходит к кирпичной стене и не разбивает свою голову в кровь под улюлюкание коллег и руководства.
Если есть какая то серьезная проблема, то ее решают сообща и решение таких задач, как глоток свежего воздуха для программеров, поизголяться в не стандартном решении.
Так что вперед, на новую работу!!!
Это все теория, практика другая.
Нет, это как раз практика. Трагедии конечно никакой, поправили. Ошибаются все.
Но одно дело ошибаются, а другое дело в принципе так делают всегда.
(irony)Конечно, надо выполнить заказ в срок, потом взять новый заказ на оптимизацию, потом на переделку, потом на оптимизацию переделанного, а потом вечно поддерживать это потому что никто кроме Вас не разберётся — можно годами зарплату получать, а сделаешь сразу хорошо — и что завтра кушать?(/irony)
Но вообще то я другое имел в виду. Если человек не умеет крутить шуруповёртом, спросит, почитает, научится. А если он не знает о его существовании, то все шурупы окажутся забитыми молотком.
А ещё на практике знание факта, что существуют деревья, почему-то кореллирует с «котелок варит».
А сваливать лишь бы куда не хочу, хочется работать с интересными и приятными мне языками и технологиями, вот и хочу максимально увеличить шансы на попадание в интересное место хорошенько подготовившись.
А ведь это не считая естественного требования знать библиотеки и MVP/MVVM/MVC и т.д.
До этих вопросов я сомневался куда начинать двигаться: андроид или бэкенд, но после решил что однозначно андроид, по моим ощущениям там попроще все же. Бэкенд вряд ли собеседование пройду.
Позиционирование, как и знание языка разработки ну очень разное.
Требование на вакансию программиста:
-Ядра СУБД
— разработки видеокодеков
— разработчика сайта Ростелеком
— Написание модулей под «Парус»
вопросы будут ну очень разными.
Нужно спрашивать на вакансию, которую вы хотите идти.
И надо идти не где проще, надо идти где интереснее.
И зачем решать не свойственные вам задачи «вряд ли собеседование пройду»?
Возьмут или не возьмут? Это ведь не Вы решаете!
Ставьте другие вопросы:
Как получить максимальную зарплату, при своем бекграунде? Как часто повышают зарплату, куда я устраиваюсь?
Как происходит постановка задачи, какие циклы разработки используют? Сколько человек будут указывать что делать? Круг обязанностей (только программировать или еще лампочки вкручивать, шкафы таскать, кабеля прокладывать?)
Не только Вас выбирают. но и Вы! выбираете.
Несколько лет назад меня тут заминусили за это высказывание, но как только вы будете ставить во главу угла СЕБЯ и под СЕБЯ искать проекты (что Вам нравится), коллектив, руководство, работать будет намного интереснее, за ту зарплату которую Вы хотите получать.
Так как сменить город или даже страну для ийтишника не пролема, если сравнивать с другими профессиями.
b vs b+ tree, нормальные формы, статические и динамические индексы это про субд, про алгоритмы: «avl или rb tree, бфс\дфс, дейкстра, построение мст, макс флоу»
В странах бСССР традиционно спрашивают больше теории, чем в западной Европе. Но уже не всегда.
Я бы разбил на такие темы:
«нормальные формы, статические и динамические индексы это про субд» — если позиция подразумевает проектирование/доработку/администрирование БД, то знать это надо. Опять таки не обязательно выдать все нормальные формы по памяти, достаточно знать что это и почему важно.
«Алгоритмы» — в единственном месте работы где такие алгоритмы я видел в коде, меня про них не спрашивали :) но там таки было интересно.
Во всех остальных случаях отвечаю так "10 лет назад я по памяти мог написать совершенно нечитаемую сортировку с Goto, которая работает значительно быстрее стандартной QuickSort, и всё ещё могу распознать где это надо и нагуглить. Но если Вы меня возбмёте на работу, я буду писать Array.sort()." Аналогично с другими алогоритмами.
«Паттерны и структурирование кода» — это нужно обычно всем и везде, но не все спрашивают.
«Особенности фреймворков, тулзы, узкоспециализированные вещи» — это зависит от конкретной вакансии и обычно приходит с опытом.
И что это за сортировка такая волшебная?
Вариация на тему QuickSort с goto и странным кодом, оптимизированная под олимпиадные задачи на Паскале — то есть оптимизировано как по скорости выполнения, так и по скорости написания.
Знать надо было целиком напамять и писать за пару минут, чтобы оставить максимум времени на решение основной задачи.
Конечно, в реальном проекте это смысла не имеет — полученный код совершенно нечитаем, и не факт что этот алгоритм вообще применим к чему-то кроме тех задач.
Думаю в CLR есть код намного страшнее, по понятным причинам, и это совсем не тема собеседования.
Мне было интересно ковыряться с ассемблером, писать программы, мне просто было интересно, общался с такими же людьми.
В один прекрасный день, ко мне подошел знакомый и предложил работу с зарплатой в 5 раз большую, чем я получал.
Так я ушел в IT профессию.
Проблема только в том, что за последние годы технологии несколько поменялись. И если 20 лет назад я сам с удовольствием ковырял на своей машине ассемблер, баловался с самописной ОС, делал небольшие игры и так далее — все в охотку, все в удовольствие, то теперь, желая работать, скажем, с современным backendом я должен знать не только язык (который можно синтетически выучить на синтетических проектах), а еще и работу с конкретными фреймворками, которые вживую употребляются только в сложных, не синтетических системах и то далеко не везде, скажем, та же Enterprise Java с экосистемой (условно). И получается, что чем дальше, тем сложнее самому изучать актуальные технологии, экосистемы. И тем скучнее.
Все равно придется идти куда-то на низовой уровень, там учиться на практике, потом гордо писать коллегам «it was nice time that I've spent with you all, but it is time to move forward», типа «лузеры, я пошел дальше».
А почему в свободное от работы то? Мне казалось это самое правильное — работать и этому то и учиться. Прямо на рабочем месте.
Ага, т.е. человек, который будет учиться востребованным и актуальным технологиям должен сначала прийти в фирму, ищущую специалиста, уже состоявшегося, в актуальных востребованных технологиях. Замкнутый круг, однако — т.е. возвращаемся на исходные позиции: должны-таки найтись компании-«альтруисты», готовые готовить спецов. И это, конечно, должна быть любая компания, но не ваша.
А на деле стажеров будут брать (я не про китов индустрии) от безысходности компании средней руки на невнятные технологии, навыки связанные с которыми потом будут нигде не нужны, с невнятными процессами и так далее.
Ваша точка зрения понятна, но вот меня немного зацепило вот это:
Поэтому нам нет смысла выращивать ИТ-самомородки и тратить на это время и деньги. У нас есть ИТ-системы которые необходимо поддерживать, обслуживать и развивать и именно за выполнение этих задач мы готовы платить деньги.
Но при этом вы хотите практически воровать* готовых специалистов у других компаний, которые IT и которые вкладывались в их обучение? И это при том, что у тех IT компаний возможно не было подобного: "с годовой выручкой в пару-тройку сотен миллиардов рублей" — так получается?
К тому же вам в минус идёт то, что мало того что вы хотите переманивать готовых специалистов, так вы ещё и посадите их на "несложные задачи поддержки и обслуживания".
То есть какая-то компания с интересными задачами, должна недосчитаться вышколенного и обученного работника, которого хотите вы, но при этом у вас готовый специалист будет заниматься "несложными задачами", которые в принципе не покрывают его квалификацию, а людей, достаточной для вас квалификации — вы, несмотря на размах вашего общего бюджета — готовить и поддерживать не желаете?
P.S.
*воровать — тут недостаточно корректный термин, но он призван подчеркнуть некоторый негатив подобного поведения.
Но я не HR. Я никогда этим не занимался.
И тем более не стану говорит за них. Может они действительно считают «переманивание» нормальным.
Но я бы предпочел, чтобы меня иногда переманивали. С умножением зарплаты хотя бы процентов на 30%. ;-) А честно или не честно… Люди не в честность играют. Они деньги зарабатывают.
Но я ничего и ни у кого не ворую и не хочу воровать.
Вы считаете мои задачи поддержки\обслуживания\развития несложными? Ок. Это ваше право. Не будем спорить. Возможно, они действительно проще, чем разработка гугл ассиста или Сири. Но, отмечу, очень малый процент ит-специалистов занимаются действительно столь серьезными задачами.
Вы считаете мои задачи поддержки\обслуживания\развития несложными?
Вообще вы сами обозначили сложность задач на которые людей искали.
То есть задачи нельзя сказать, что были сложные, но их было много.
Переманивать — это у HR, а у вас интересная позиция: сам кого мне надо — воспитывать и обучать не хочу, но специалиста вам — вынь да положь. Потому и я и применил такую вот словесную экспрессию.
Есть ведь ресурсы — чего стоит приложить усилия? Но нет — хотим чтобы другие теряли деньги и время, а мы, такие хитропопые, потом перекупим, когда ещё не заматерет, но будет уже слегка продвинут.
Вы сами написали, что это несложные задачи, но их много — потому и нужен человек, чтобы распределить нагрузку.
В жизни именно так и происходит: маленькие конторки берут людей без опыта, чтобы поменьше им платить. Обучают их, а люди (вот, неблагодарные, а!) обучившись и набрав опыту перебегают в крупные корпорации на серьезные деньги и прочие соц. плюшки.
Отмечу, кстати, что нормального ораклиста в заданный бюджет мы нашли. Так что проблема была не в наших хотелках.
Ссылка на несправедливость мира при наличии ресурсов в данном случае есть не что иное, как лицемерие и банальное жлобство, что вашу компанию и вас (оправдывающего данную концепцию) не красит.
В жизни происходит по разному: есть как сценарий, что вы описали, но и выращивание профессионалов под себя — тоже имеет место быть. Мало того — в последнем случае обычно у сотрудников обычно выше такая штука как лояльность к компании. Несмотря на прогрессирующие идеалы агрессивного капитализма и приоритета личной выгоды — правильные сотрудники всё таки имеют некую подспудную благодарность компаниям, которые их выпестовали.
Нашли. До первой компании-конкурента, которая предложит чуточку больше, нежели ваш "небольшой бюджет".
Я уже достаточно опытный сотрудник, чтобы словосочетания «лидер сегмента рынка» и «корпоративный дух» вызывали у меня желание бежать и четкое понимание что денег платить будут сильно меньше рынка.
Но у вас может быть другой опыт.
Я сейчас не про это немного. Т.е. то что там эти эффективные манагеры придумали — это пусть на их совести остаётся.
Я про то чувство, когда ты совсем зелёный (эх давно это было), читающий кучу объявлений с обязательными пунктами "требуется 2/3/5 года/лет опыта работы" внезапно приглашён на собеседование и, вот счастье то — принят по результатам оного впервые идёшь на работу и с тобой, нубом таким, носятся — объясняют, показывают, втолковывают. Прощают первые косяки…
И ты чувствуешь себя обязанным в некотором роде — за науку. За науку не "по книжке", а "как надо и как эффективнее". Любое другое место — оно уже немного не такое — даже если тебе есть там чему поучиться. Тут эдакое чувство и самоосознание, что "в тебя поверили". Как первый секс — хочешь не хочешь, а партнёршу (или партнёра — будем толерантны) — запомнишь. :)
У нас есть ИТ-системы которые необходимо поддерживать, обслуживать и развивать и именно за выполнение этих задач мы готовы платить деньги
но бюджет был прямо скажем не очень велик. Решили что спеца нашего профиля на такие деньги найти без шансов
Прямо классика:
«Нам необходимо сделать одну работу, мы даже готовы (подумать только!) платить деньги, но… не очень большие. Сказать по правде, настолько „не очень“, что мы и сами не особо верим, что найдется дурак, который согласится на наши условия, но надежду пока не теряем.» Короче говоря, если кто-то нужен, только условно-бесплатно, значит по факту он не нужен, но за символическую плату взять можно, авось пригодится.
Мы ж искать стали спеца профилем подешевле, чтобы в бюджет попадал.
И нашли, кстати.
Или те, кому он реально нужен, не смогли убедить выделить достаточный бюджет, того кто им распоряжается.
Ну и далее, имея скромный бюджет и нанимая «готового быстро обучиться» сотрудника, уж вашей задачей будет построить процесс так, чтобы хоть какой-то фидбек от него пошёл достаточно рано, а вашего времени он отнимал не так уж много.
Да, скорее всего, отдача на рубль потраченных средств от него будет куда меньше, чем от «готового и с опытом». Но и это вполне логично, что нанимать «готового и с опытом» эффективнее. Но раз уж бюджет не позволяет, то у вас есть выбор только в найме низкоэффективного падавана или ненайме вообще никого.
Вроде ж банальности, но если они вам самим давно известны, то мне несовсем понятны ваше недовольство.
Но его было вполне достаточно, чтобы нанять просто нормального оракл ДБА.
Что и было сделано.
Мой пост был про засилье «хорошо обучаемых кандидатов» которые по факту не знают даже основ. Что несколько заставляет сомневаться в их обучаемости. Обучились бы дома за пару недель — и знали бы хоть что то.
Вообще слова про «хорошую обучаемость» в резюме — просто красивый фантик, если не подкреплены сходным опытом, всякий может такое написать, и сходу такое не проверишь. ;)
«давайте пройдём все круги ада наши собеседования, кроме технического по Ораклу — его мы отложим на две недели, чтоб вы изучили, если пройдёте всё остальное»
Бывает, но немного в другой интерпретации: «ты толковый, но на эти темы ответил плохо. А в резюме написано умеешь учиться. У тебя есть неделя изучить». Меня так однажды наняли :)
Грубо говоря, продолжаешь улыбаться, а про себя думаешь:
«А не пойти бы тебе молодой человек сначала поучиться, а уж потом идти деньги зарабатывать. А то пока ты будешь быстро учиться за счет компании работать со страшной скоростью за тебя буду я...»
Так вы и так уже работаете за него — у вас же людей не хватает. Его обучение (не считая ситуаций, когда/если он будет вас отрывать) не должно изменить вашу загрузку.
Решили что спеца нашего профиля на такие деньги найти без шансов. Решили искать ораклиста.
Вот это меня несколько смущает. 6 лет назад дешевле было кого угодно найти (исключая джавистов, их тогда активно скупать начали), чем ораклиста со знаниями выше джуна, за скромные-то (и не очень) деньги.
А вот когда вы интервьювер и слышете эту фразу, то эмоции совсем другие..
Безусловно. Но в этом как раз ничего ужасного нет.
Правда, если возникает мысль «А не пойти бы тебе молодой человек сначала поучиться», то это скорее нехватка основ, чем каких-то специфических знаний. Если человек уверенно знает базу, специфику он обычно достаточно быстро осваивает и ужаса такие фразы не вызывают. Кроме того, ему все равно придется адаптироваться под конкретную компанию и на это тоже нужно время.
Мне кажется в вашей истории есть еще 2 момента — прозевали момент, когда уже надо было начинать искать сотрудника, не закапываясь в яму оверлоада и бюджет был не очень сопоставим с задачами и, соответственно, уровень приходящих людей был не особо высок.
Поправьте меня если я ошибаюсь.
Проблема в том, что соискатели и основ не знали. Но обещали быстро быстро все выучить…
Момент прозевали — не то слово.
А про бюджет расскажу совершенно замечательную историю.
Сначала нам бюджет выделили вообще на стажера. И было ясно, что человек который хотя бы знает слово Оракл за такие деньги в Москве не пойдет работать.
Тимлид через недельку сказал, что надежда есть. Есть, говорит, знакомый достаточно умный, с компами много лет. Оракла конечно не знает, а работает курьером вообще за копейки.
Вот он ему предложил прочитать книгу по ораклу (и ссыль на книгу выдал) с предложением о работе. Почитаешь, поговорим, что понял, что не понял и пойдешь на зарплату втрое большую чем у курьера к нам стажером. С возможностью вырасти еще в 4 раза.
(30тр стажер, потом 60 и еще через пару лет 120)
Короче через месяц выяснилось что человечек… Фрай из Футурамы. Ну то есть курьер по жизни. Он не смог прочитать книгу и сказал что лучше он тут посылочки повозит.
После этого мы насели выбивать бюджет…
Как сказала знакомая HR, джуны приходят на работу, через три месяца пишут что они миддлы, через полгода что сеньоры, а тех кто работает найти все труднее.
А в моем комментарии не про то что знание этих основ необходимо и достаточно, а про то что найти даже их знание затруднительно у соискателей. Полный список вопросов конечно шире.
Это не только мои данные, коллеги из других компаний (и стран) говорят примерно те же цифры.
При мне был случай когда человек работал на должности уровня сеньор, по .net, пилил год проект получая больше всех в отделе. А когда стало ясно что проект нежизнеспособен быстро уволился. И таких примеров только в моей практике несколько.
Если руководство не из бывших технарей, его легко обмануть и кормить завтраками, при этом руководство далеко не всегда считается с мнением остальных коллег таких работников.
Если руководство не из бывших технарей, его легко обмануть и кормить завтраками
Да ладно…
Хотите сказать, что высшее руководство какой-нибудь немаленькой корпорации досконально разбирается во всех используемых их предприятием технологиях?
Это не нужно.
Всего-то нужно ставить задачи и контролировать результат.
Даже если ты не знаешь что такое int и чем он там отличается от for — то понять функционирует ли десктопное/мобильное приложение в целом — для этого не нужно быть программистом.
Умение контролировать рядовых сотрудников человечество освоило еще во времена древних империй.
Небольшим и средним компаниям сложнее выставить схожие по привлекательности условия.
Однажды это была компания, которой был нужен c++ программист для SCADA-подобной системы, а я сказал что имею базовый опыт работы на c++ но предпочитаю c#. Не взяли.
В другой раз это была компания, которая что-то делала для банков и им нужен был программист java. Я программировал на c# и в области промышленной автоматизации. Сказали всему научишься, берем (сам не пошел).
Еще была компания по банкам с моим c#. Тоже директор около 60 возрастом, поговорил 10 мин и сказал приходи, найдем работу (тоже не пошел).
Была один безумный стартап, набиравший непонятно кого непонятно для чего. Там правда собеседование проводили не руководители. Из интересовал JS, о котором я понятия не имел (это в 2014! представьте какой я «специалист»). Выслушали, потом перезвонили, сказали все круто, берем, еще позвоним, потом так и не позвонили (видимо не поверили что приду).
В компаниях, в которых работал было примерно то же самое: посидели поговорили, назвали зарплату и вперед.
PS. Думаю, если бы кто-то предложил мне решать задачи на программирование или отвечать на вопросы я бы откровенно описал уровень своих знаний в этой области и не стал бы ничего решать. Зачем?
Но если берем разработчика, то как показывает практика, кроме общего диалога на проверку насколько совпадают интересы, стоит убедиться в знаниях хотя бы основ. Понимание структур данных, разруливание доступа к ресурсам в многопоточной среде, понимание двоичной арифметики.
Недавно открыл для себя игру TIS-100, и мне кажется что для проверки разработчика (собеседую только их) можно было бы дать на интервью пройти оттуда какой-нибудь уровень из самых ближе к началу.
Если вакансия на системного администратора, и соискатель проработал 10 лет в этой сфере, конечно нет смысла спрашивать про уровни OSI и как найти инфу в логах.
Я вам как админ скажу — очень даже стоит. Пусть не про уровни, но пару базовых вопросов задать нужно, потому что бывает (и пугающе часто) что и там провалы.
Да-с, налицо тренд на удешевление нашей профессии. Глядишь, и вправду скоро сами себя автоматизируем и поздно будет «Механическое пианино» читать…
Понятное дело, что иметь в штате HRов с опытом работы от логиста до юриста и от грузчика до нач.цеха — нереально. Поэтому если фирма в основном ITшная, держите HRа с опытом в IT. Большой поток IT-соискателей он сам первично отфильтрует, не «отбросив» ни одного нормального кандитата на разработчика, в вот кандидатов на водителя (которые в IT фирме нужны редко) будет собеседовать вместе с зав.гаром. Зав.гары они такие, с порога видят кто в первом рейсе запьёт, а кто солярку сливать будет.
К примеру не могу найти даже курс Exam 70-698/Course 20698A. оплатить и пройти законно нет денег, и знания английского. Вот как вырасти самостоятельно я хз. А задачи ставят и в 1с и циске ад, есченж, ну и весь фарш… Вот как самому себя спасти?
Что за депрессивный коментарий? Осень что-ли сказывается? И причём здесь вообще возраст, если вход в технологии 1-3 года.
Самообразование, десциплина и позитивный настрой — вот что Вас спасёт! Не знаете английский язык? Ну так учите, здесь полно статей как это делать и на ютубе полно каналов. Хотя его и учить особо не нужно, просто пользуйтесь им, смотрите курсы, читаете книги. Сначала будет тяжело, будет закипать мозг, будут болеть уши, а потом привыкните, начнёте понимать, пропускать его через себя, думать на нём.
По теме курса 70-698. Он есть на pluralsight.com, можно использовать 30-ти дневный trial и пройти эти 11 часов за месяц. Ещё этот курс есть на mva.microsoft.com бесплатно, где также полно курсов на русском.
А всего лишь нужен какой никакой но интерес. Доки часто только на английском в принципе, например сейчас по фану dart+flutter изучаю, так по флаттеру на хабре например вообще ни одной статьи, сам уже подумываю в целях популяризации технологии или перевести чего или простенькую статью введение написать.
Вот как самому себя спасти?Зачем? Родился, потерпел и умер :)
Крупные часто могут нанимать с прицелом на будущее, выращивать своих спецов так сказать.
Мелкие чаще нанимают чтобы быстрее сделать конкретный проект и у них нет времени на обучение конкретным технологиям\фреймворкам.
Как программист, я, например, жду тестового задания и считаю его основным критерием. Если его нет — у меня сразу подозрения что в компанию набирают кого попало.
Последующее очное интервью — для работодателя способ убедиться, что я делал задание сам, а для меня — будет ли мне комфортно работать там в социальном плане (коллектив, офис, печеньки).
Ну и да, если последнее проводится жестко, с прессингом (а стресс есть всегда), то это ошибка работодателя, тк. пропадает желание идти в такую компанию.
На уровне руководителей департаментов, заместителей директоров и т.д. требования несколько меняются и детализируются – им нужен человек, зарплата которого укладывается в бюджет
Это всегда мне казалось глупостью… Зарплата же платится помесячно. Почему бы не платить в полтора раза больше человеку, который может сделать в два раза быстрее и качественнее и соответственно раньше закрыть существующие задачи? В итоге же выйдет очевидная экономия, но нет — 120 тысяч рублей в месяц укладываются в бюджет и на них мы найдем кого попало, а 180 тысяч не укладываются и нам не нужен классный специалист.
Зарплата же платится помесячно.
Так в том и дело, что помесячно и навсегда.
На практике есть прибыль компании, распределенная между отделами. И вот программистам достались 1 млн в месяц, из которых 800к это зарплата текущих, и надо иметь запас на премии, расходники и т.д. Осталось 120.
А вот дальше именно «на уровне руководителей департаментов, зам. директоров и т.д.» определяют, это 60к принесут больше отдачи если их вложить в программистов или в продажников или…
Если таки есть «очевидная экономия», то можно рискнуть и работать в убыток как Тесла, и нанять ещё с десяток программистов. А может техдир пока смог обосновать только 120к. Потому что счёт не резиновый.
Выигрыш по всем показателям. И думаю не нужно объяснять, что повышение зарплаты в вакансии в полтора раза приведет к качественно иному набору соискателей. То что руководители не просчитывают такую элементарную математику говорит либо о том, что они не способны определить уровень кандидата, либо просто о зашоренности и шаблонности мышления.
И если есть понимание что топ-специалист с зарплатой 180 тр разработает за полгода то, что средний специалист с зарплатой 120 тр будет разрабатывать год, то через 6 месяцев, заплатив топу 180 * 6, то есть 1080 тр он получит тот же продукт, а скорей всего лучшего качества, что через год со средним специалистом, заплатив 120 * 12, то есть 1440 тр.
А через полгода этого топ-специалиста уволим, и продукт лучшего качества превратится в тыкву. Потому что дополнительных полмиллиона рублей в год у фирмы нет и не предвидится.
Ну и если мы не про сферического программиста в вакууме, то человеку надо влиться в команду, изучить продукт, пообвыкнуть, так что ещё большой вопрос, кто эффективнее — средний на год или топ на полгода. Чтобы не вышло как в анекдоте — «чем круче джип, тем дальше ехать за трактором».
Если ИТ-директор имеет уверенность что «бизнес начнёт пользоваться», расчёт что это повысит прибыль и этот продукт через полгода реально нужен, и доверие к его мнению — подписи директоров на доп. финансирование будут через 5 минут. Кстати да, было в моей практике, и не скажу что я доволен.
Я лишь повторюсь, директора за то зарплату и получают, чтобы просчитать это всё и решить что выгоднее. Тесла вон в убыток работает, а БМВ лимитирует расходы на развитие, и не строит новые заводы — а ведь могли бы построить все машины на 2019 год за первые полгода и раньше их продавать. Думаю, причины очевидны.
Очень часто всё сложнее, чем конкретный проект на одного человека. И тогда надо думать, как строить команду в долгосрочной перспективе, что делать после сдачи проекта через полгода (увольнять? прибыль вырастет?), как человек вольется в команду и какая будет от него реально польза.
А вообще ограниченный бюджет 120к обычно означает «вы меня не убедили, что это важно для бизнеса, но у нас есть сумма на которую я готов рискнуть».
И если есть понимание что топ-специалист с зарплатой 180 тр разработает за полгода то, что средний специалист с зарплатой 120 тр будет разрабатывать год, то через 6 месяцев, заплатив топу 180 * 6, то есть 1080 тр он получит тот же продукт, а скорей всего лучшего качества, что через год со средним специалистом, заплатив 120 * 12, то есть 1440 тр.
Да ты че…
Занимаюсь разработкой софта с начала века — и до сих пор затрудняюсь давать такие оценки с конкретными цифрами даже для конкретных проектов.
А вы тут разом все мои проблемы разрешили, — оказывается есть простой коэффициент на все случаи жизни.
Занимаюсь разработкой софта с начала века — и до сих пор затрудняюсь давать такие оценки с конкретными цифрами
Есть люди, которые поют с начала века, но до сих пор не только не Монсеррат Кабалье, а вообще в ноты не попадают. Естественно названные цифры примерные, со стороны нанимателя требуется просто уметь отличать среднего специалиста от очень хорошего и быть готовым платить второму хотя бы в полтора раза больше. Если вы с начала века не научились петь как Монсеррат Кабалье, значит это не ваше, займитесь чем-то еще.
Большинство людей, которым я задавал этот вопрос (а так же я сам), сходятся во мнении, что на самом деле 15-20 минут общения хватает, чтобы убедиться что человек подходит и определить его уровень и в пределах 10 минут нужно на то, чтобы понять, что человек не подходит совершенно.
При этом, тесты и глубокие технические опросы практически не влияют на результат.
Вы берете на работу программиста, но тест того, как он пишет программы, не влияет на результат, а влияют 25 минут болтовни с ним? Очень и очень забавно.
Вы берете на работу программиста
Ну, конкретно я беру на работу не совсем программистов, скорее системных инженеров с навыками программирования, но да, 25 минут болтовни с ним о правильных вещах вполне помогают понять, ориентируется он в теме или нет.
Я не сторонник написания кода на листочке\доске, да даже в ноутбуке. Для того, чтобы понять, как он думает и что знает вполне можно просто поговорить.
Все дело в том, что на определенном моменте (кроме самых низов) требуется не «программировать», а решать вполне конкретные задачи во вполне конкретном окружении.
Если под «программировать» вы понимаете навык кодирования, то это один вопрос. Если же «программирование» — это решение задач определенных задач с помощью доступных инструментов — это другой вопрос.
Причем с навыками кодинга (или программирования) еще проще — в подавляющем большинстве хоть какой-то код, написанный кандидатом, будет публично доступен.
Реальные задачи почти всегда требуют гораздо больше времени, чем разумно тратить на собеседования. В рамках собеседования можно давать сложные задачи на программирование, которые он, возможно, решил (если тратил время на подобное в прошлом), вот только это ну никак не показатель того, что он так же классно решает практически задачи.
Я не сторонник написания кода на листочке\доске, да даже в ноутбуке. Для того, чтобы понять, как он думает и что знает вполне можно просто поговорить.
Я думаю, что вы очень везучий человек, если этот подход работает. Я всегда был противником подобного подхода, но не всегда решал я в компаниях, и дважды становился свидетелем ситуации, когда на собеседовании человек выглядит абсолютно вменяемым, бодро отвечает на вопросы и вообще источает вселенскую уверенность, его радостно берут, и оказывается, что он откровенно слабый разработчик.
Мой же подход работал 100%. Я сразу оговорюсь, что я
а) Противник кода на листочках и на доске на собеседованиях, потому что на собеседования я прихожу, чтобы обсудить работу а не играть в блиц.
б) Противник тестовых заданий, на которые нужно тратить день.
но при этом почему бы не использовать срединный подход: дать сразу тестовое задание на 2-3 часа, которое будет включать 8-10 коротких заданий на знание предмета, и 1-2 средних задания на умение нешаблонно мыслить. И уже по итогам этого теста приглашать человека на собеседование.
Этот подход я использовал для поиска разработчика 4 раза и все 4 раза он давал приемлемый результат.
А я с своей стороны не хочу тратить время на заведомо неинтересную компанию или компанию, которую не удовлетворяет уровень моих знаний или софт-скиллы.
Если в вакансии четко описаны необходимые скиллы, а еще лучше, чтобы они были отражены в тестовом задании, то глядя на вакансию и тестовое задание вы будете ясно понимать, что от вас требуется. Я сам сталкивался с ситуацией, когда сделал тестовое задание на отлично, но компании не подошел мой опыт работы. Я был несколько удивлен — тогда для чего тестовое задание? Полагаю тестовое задание и должно включать в себя проверку необходимых скилов.
Делать тестовое сразу я буду только в случае, если мне по его результатам обещают оффер, а не еще десяток собеседований.
Где-то выше я озвучивал мысль, что тестовое задание должно быть в принципе интересным. Люди же тратят часы и дни, решая задачи на сайтах вроде codewars или codeforces. Если человеку в принципе неинтересно ничего делать, если за это не платят, то лично для меня потеря такого человека была бы не слишком большой проблемой.
Если в вакансии четко описаны необходимые скиллы, а еще лучше, чтобы они были отражены в тестовом задании, то глядя на вакансию и тестовое задание вы будете ясно понимать, что от вас требуется.
Этого практически никогда не бывает.
Во-первых — обычно нет четкого понимания, что конкретно хочется от человека. Ну, есть конечно, но оно не реалистично совершенно.
Во-вторых — если начать в тестовом задании давать то, чем реально будет заниматься человек, то тогда вскроется неприятная правда (которую правда и так все знаю) — подавляющее большинство вакансий и заданий будут содержать что-то вроде «сделайте небольшое суперстандартное приложение, которое можно сделать по туториалу». Просто потому, что работа в подавляющем большинстве это и подразумевает.
Приятные исключения конечно бывают, но таких компаний и вакансий на порядок (если не более) меньше, чем остальных.
И все же пишут про «инновационность, прорывные технологии и челленджи».
Сложный фееричный отбор приносит удовлетворение обоим сторонам тогда, когда и работодатель готов предложить что-то нестандартное и действительно цепляющее в практически работе, и кандидат готов это вытянуть, потом что ему хочется этим заниматься. В остальных случаях, которых большинство, такие штуки приносят раздражение и разочарование как минимум одной из сторон.
Люди же тратят часы и дни, решая задачи на сайтах вроде codewars или codeforces.
Это ИХ время, они его тратят так, как хотят и на то, что они хотят. Нет никакой гарантии, что данное «сложное» тестовое задание еще до собеседования вообще понравится кандидату. Может быть ему вообще эта тема не интересна, он сейчас другими задачками увлечен.
Может быть ему вообще эта тема не интересна, он сейчас другими задачками увлечен.
То есть — «знаете, я ищу работу, но потратить 3 часа на тестовые задания я не могу, потому что увлечен другими делами — копаю картошку на огороде». Увлечен другими задачами — значит ему не интересна работа, а мне, как руководителю, не будет интересен этот человек. Все очень просто, мы не подошли друг другу — продолжаем поиск дальше.
То есть — «знаете, я ищу работу, но потратить 3 часа на тестовые задания я не могу, потому что увлечен другими делами — копаю картошку на огороде».… значит ему не интересна работа, а мне, как руководителю, не будет интересен этот человек.
А что вы, как руководитель, сделали, чтобы ему стала интересна ваша работа? Предлагаете доход выше рынка? Меняете мир? Ваш бренд известен всем и имеет вес в резюме? У вас есть классные штуки и масштаб технологий, которые могут себе позволить себе десяток компаний на весь мир?
Нет? Тогда вы просто одна из тысяч компаний и тратить на вас 3 часа жизни нет никакого смысла, проще пойти к такому же соседу, который таких заданий не дает и получить то же самое на выходе, а в эти 3 часа лучше вскопать картошку или провести время с семьей. Ну, или решить клевенькое задание на codeforces, которое именно нравится, а не просто — надо.
> Где-то выше я озвучивал мысль, что тестовое задание должно быть в принципе интересным.
Начиная искать работу внезапно, я нахожу обычно 20-30 открытых вакансий, которые, как минимум, ничем не отпугивают и посылаю резюме. Процентов 80 из них отвечают, что заинтересованы, пускай 25. Если каждая будет давать тестовое на 3 часа — 75 часов, почти 2 недели фуллтайм или 3 недели по вечерам.
В теством задании софт-скиллы можно проверить только весьма опосредовано, типа вложить в задачу противоречивые или идиотские условия, ожидая реакции.
Софт скиллы, как мне кажется, делятся на несколько групп:
— Способность к алгоритмизации (
примеры: 1) написать запрос к таблице SQL с полями user(varchar) и birthday(date), выбирающий пользователей чьи дни рождения попадают в промежуток минус N дней плюс M дней от выбранной даты.
Задание крохотное, 1 маленький запрос, но большинство его решить не может, потому что в лоб оно не решается.
2) Написать алгоритм для крестиков ноликов 3х3 (да, это может занять часа два-три, но лично мне было делать интересно)
— Способность оптимально использовать механизмы языка
Можно дать какой-то готовый код и попросить его оптимизировать. У меня есть на примете интересные варианты, думаю каждый кто покопается сможет найти.
— Способность использовать эффективно существующие механизмы разработки
Здесь уже больше работа с фреймворками наверное.
Я не вижу проблем проверить любой из этих навыков. Да, есть вероятность что человек мог спросить, но спросить можно насчет вещей, которые решить легко, а если надо думать, кто за него будет думать, даже по дружбе?
За 10 лет своей карьеры сначала Системным Администратором, потом Системным Инженером и DevOps-ом, успев побыть простым исполнителем, тех- и тим-лидом, я посетил и провел десятки собеседований в компаниях разного размера в разных странах
За 10 лет от админа до многокого в разных странах и компаниях.
Сколько в среднем/максимум/минимум, на одном месте? Почему(минимум)? Почему ушли(максимум)?
Без всякого подвоха и сарказма, действительно интересно.
Максимум — 3 года, минимум — 1 месяц. В среднем — 2 года.
Всего — 6 фул-тайм позиций, плюс еще наверно столько же на парт-тайм в разных ролях параллельно с основными.
Уходил почти всегда тоже по банальным причинам — деньги и задачи.
Я увлекающаяся человек, люблю много работы, быстро выгораю, если не подпитывать новыми задачами, сложно восстанавливаюсь, плохо переживаю «ну подожди полгодика, там задачка появится и займешься, а пока давай вот тут попилим потихоньку вот тут, где ты будешь использовать 5% своих знаний». По крайней мере до недавнего времени все было именно так. Сейчас даже не знаю, не могу сказать то же самое с уверенностью.
Вообще — жить забавно. Лет сколько-то назад я с непониманием смотрел на «стариков», с их странными понятиями о жизни и думал, что сам то никогда таким не стану, всегда буду «на волне», а теперь читаю ваш ответ и понимаю, что это совсем другой шаблон мышления и отношения жизни. И, самое неприятное, но все же интересное в качестве задачи для саморазвития — на мое сформировавшееся мировоззрение этот шаблон фиг натянешь.
Сорри за старперское философствование. :)
Сорри за старперское философствование. :)
Да все нормально:)
Я просто из депрессивного региона, вариантов у меня было немного — или, как говориться, «жопу рвать», или на завод, или торговать.
Повезло, что отец в свое время добыл правдами и неправдами себе на работу компьютер и некоторую литературу и показал мне все это. Сам он по профессии очень далек от IT (доктор), но сумел заинтересовать меня, почувствовав, что в этом будущее. Так и понеслось, у меня выбора то и не было, по сути.
Но — мне все нравится. И я ему благодарен за то, что получилось.
Мне кажется есть ещё градация: является ли найм процессом поиска или оптимизации? Т.е. получит ли оффер первый прошедший отбор кандидат (опуская адекватность самого отбора). Или мы будем искать дальше чтобы найти "exceptional talent".
В компании где я работаю к сожалению позиция — нам нужны exceptional talents, поэтому мы хронически understaffed и на одного человека вешается по два и три проекта. т.е. до обеда ты делаешь один проект — а после обеда другой :)
А зарплата и условия работы у вас в компании тоже exceptional? Ну к примеру: захотел и уехал на Карибы, ноутбук рядом с шезлонгом поставил и работаешь — код компилишь… Вокруг мулатки ходят и коктейли предлагают — на яхту кататсья зовут. Ну, а компания всё это (отъезд, отель, мулаток, коктейли и яхту) естественно оплачивает — так?
Знающие люди, подскажите пожалуйста.
Недавно впервые в жизни искал работу, и наткнулся на такую проблему: собеседования то я прохожу, но в каждой организации в договоре есть какая-нибудь приписка типа "я даю согласие себя поиметь". А когда я прошу её убрать — мне говорят, что я им не подхожу. Например, в Huawei в договоре написано что каждые пол месяца они пишут что я выполнил такой-то процент работы, и платить будут ровно за выполненный процент + в случае недополученной прибыли я рискую всем своим имуществом, а на словах говорят что честно-честно это всего лишь формальность и платить будут всегда 90 в месяц. В другой конторе договор ссылается на Приложения1,2,3, но приложения мне ни в коем случае не покажут. В ИТМО мне пообещали 70, но в договоре пишут 12, опять же говорят что это чистая формальность и честное слово будут платить 70, но в конце месяца.
Я же слал всех таких куда подальше.
Вот у меня вопрос: правильно ли таких слать, или это в России такое негласное правило: что если не разрешаешь себя поиметь то и на работу не устроишься?
2. Если это большая корпорация, можно читать отзывы.
3. Спорные пункты должны обхяснять. Например «12 по договору, 70 устно» — это серая зарплата. Ваше решение, устраивает ли это, и обычно без проблем можно прописать белую зарплату — но будет меньше на налоги, скажем 40.
4. Изучите законы Вашей страны. Если пункт договора противоречит закону — игнорируйте его.
5. Вы опытный или новичок? Если новичок, то в работе заинтересованы Вы, и придётся согласится на меньшую зп или худшие условия. Получите опыт — будете диктовать свои условия. Возможно стоит найти фирму поменьше, где будет договор без подводных камней с честной маленькой зарплатой.
«в случае недополученной прибыли я рискую всем своим имуществом» — читайте законы, своим имуществом вы не можете рисковать, надеюсь вы не как ИП заключаете договор? И тем более за чью-то недополученную прибыль, такая ответственность, «за недополученную прибыль», по определению наложена на владельцев/акционеров фирмы, но естественно за «полученную» они тоже получают. Вы можете дописать, что если прибыль была получена, то вам её тоже должны выплатить :)
Huawei предлагал работать только как ИП. Ни на какие уступки по договору они не шли, ни как ООО, ни по обычному трудовому договору — говорят политика нашей компании, только сдельный контракт с ИП и ни как иначе.
При этом работа — research, и как можно сдельно оценивать research я себе плохо представляю: ни я ни они ведь не знают, возможно ли это в принципе осуществить — тут не попробуешь не узнаешь. На словах они говорят что это чистая формальность, и обещают мне на фиксированную зарплату в месяц.
Но мой вопрос не конкретно про них, а вообще. Может быть компании в большинстве своём честные, но боятся брать меня на работу, поэтому себя подстраховывают так, чтобы в случае чего от меня можно было легче избавиться — это меня в общем то устраивает, и если оно так, то может быть мне следует снизить градус паранойи и довериться работодателю. А может быть наоборот, что компании ищут лохов готовых работать по договору который не защищает работника, чтобы потом его выкинуть и не заплатить — это меня не устраивает, и тогда мне следует наоборот внимательно следить за тем, чтобы договор меня защищал.
А может быть мне просто не повезло, и то что из 4 компаний, где дело дошло до договора, договор с подвохом был у всех — это всего лишь случайность которая ничего не значит.
Зарплату я прошу весьма скромную для своих навыков.
Надо понимать, что договор есть продукт непротивления двух сторон. Естественно он должен защищать обе стороны и что-то давать обеим сторонам.
Человек-функция или перестаньте нанимать технологии