malyj_gorgan: (Default)
[personal profile] malyj_gorgan
There is a category of job candidates who can't code. I'm not talking about fancy graph traversals, hashes or recursions, but of a simple requirement: read straighforward instructions and write code that works. How do you test for that? Synthetic problems are often either too convoluted, or too trivial, or rely on some assumption that is never universal: knowing a particular language or software packet or an algorithm, which a given person could have just overlooked in their past, yet the fact of having overlooked that doesn't disqualify them from anything.
Just came up with a fitting interview question for such a case:

Give them the f1040 booklet + an hour or two of time and ask to write a script (they can even chose the language) that would do last year's tax return for a reasonably simple set of cases (say, only basic schedules, no itemized deduction, no crazy depentands... at most a family with small kids)
Grade by feeding the returns of some of current junior programmers (having them slap together a script like that before)
If the bottom line of the produced code matches what the junior got, hire the candidate.
If the resulting tax is higher than the junior's results, don't hire
If the candidate's results are lower than the junior's and the code appears to be correct, fire the junior, hire the candidate...
... at least the junior will save on the last year's taxes

Можна не дякувати.

Date: 2021-03-17 04:29 am (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Not bad, but it will take more than half an hour actually.

Date: 2021-03-17 04:50 am (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Да не екселе у меня дня два ушло на эту хрень когда-то.

Date: 2021-03-17 02:40 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Да... я давно забросил; у нас 7 W2, всякие мелочи в смысле расходов по делу; ну и всякие 1099.

Date: 2021-03-17 09:38 pm (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
Ну..не знаю. Если бы мне такое когда-то предложили, я бы послал интервьюера в пешее эротическое сразу.

Date: 2021-03-18 12:36 am (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
Да тупо западло, pardon my french. Eсли им нужно грузить говно, то пусть и ищут себе говночиста.

Я не знаю, кто что даёт.. я знаю, что даю я.

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

Проходят те, кому реально интересно. Я только что повысил одного кадра - он в своё время наваял очень годное решение и прислал его со словами "ладно, надо, наверное, остановиться, но вообще ещё хочется улучшить это, это, это и вот тут". И так с тех пор и работает, отдал ему проект и забыл.
Edited Date: 2021-03-18 12:38 am (UTC)

Date: 2021-03-18 01:53 am (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
А, понятно.

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

Date: 2021-03-18 06:41 am (UTC)
From: [personal profile] mprotsenko
A minor correction: Нетфлікс джунів не наймає.

Date: 2021-03-18 12:39 pm (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
В принципе, я бы сказал, что это должен быть первый фильтр, а не второй но да в таком виде это, наверное, имеет смысл, особенно если и на работе придётся заниматься чем-то похожим. Что, кстати, никак не отменяет моего первого комментария - моя реакция на такое в данном случае не баг, а фича.

Вообще, я, возможно, отреагировал слишком серьёзно.

А что, действительно сейчас такие зарплаты в песочнице? Я года полтора разговаривал с человеком, ему деньги примерно из этого диапазона (ну, чуть выше - около 300 килодолларов) хотелось за dev lead. Неужели с тех пор так поменялось?

Offtopic - как сейчас со всем этим ковидом ездят в Украину - надо ли сидеть в карантине и т.д.? Интересуется женщина, которая у нас убирает дом, вот только что и поинтересовалась. Она из Украины, здесь давно (и легально), хочет туда съездить на месяц.

Date: 2021-03-18 02:05 pm (UTC)
From: [personal profile] mprotsenko
А что, действительно сейчас такие зарплаты в песочнице?

В SF Bay Area - ага. Подозреваю, что это связано как-то с борьбой с иммиграцией, предложение на рынке упало. (Ну и плюс стоимость жизни - медианная халупа 1М+.) Но это чисто теория.

300К TC за хорошего L5 (senior software engineer, человека, над которым не нужно с палкой стоять, но не dev lead, не) - Гугл давал еще в 2016. Опять же, SF Bay Area.

Актуальные цены по рынку я бы смотрел на levels.fyi, фильтруя по 0 years at the company - или непосредственно спрашивал у людей в blind/fishbowl.



Offtopic - как сейчас со всем этим ковидом ездят в Украину - надо ли сидеть в карантине и т.д.?

Можно по прилету сделать ПЦР-тест и по получении негативных результатов - выйти из карантина (за 1-2 дня). Подводные камни - программа, в которую забиваются результаты теста, дико глючная, имеет смысл заранее поставить и проверить на своем смартфоне.

Date: 2021-03-18 02:12 pm (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
Спасибо!

Опять я отстал от жизни, похоже.

Date: 2021-03-18 09:05 pm (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
Ну.. да, наверное. Я бы всё-таки посоветовал давать задачку, котороя соответствует будущей работе - хотелось бы верить, что у вас задачи интереснее, чем расчёт налогов по трём таблицам и пяти идиотским worksheets.

>Цифри, про які пише Проценко, можливо, правда, але для мене звучать фантастично.
Меня тоже удивило, no он, вероятно, знает, о чём говорит. Я думаю, тут надбавка за вредность - всё-таки работа в этих больших конторах по бОльшей части есть самоубийство с целью личной наживы. Ну как донецкая угольная шахта в лучшие времена.

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

Date: 2021-03-18 10:26 pm (UTC)
From: [personal profile] mprotsenko
думаю, тут надбавка за вредность

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


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

В приличных конторах поменьше (Roku, Airbnb, StichFix etc) - на самом деле, тотал комп сравнимый.

Date: 2021-03-18 10:40 pm (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
Ну я в некотором слысле так делал - работал в Одной Известной Конторе к северу от моста, а жил где и сейчас. У них в 16-м последняя инженерская вилка кончалась где-то на 220, емнип, с премией и опциями.. ну, наверное, у тех, кто дослужился до конца вилки 300к выходило. Но это были совсем верхние инженеры, и за дослужиться до конца вилки надо было каждую начальственную жопу раз в месяц вылизать.

В том же Булыжнике (Boulder, CO), на самом деле, и не сказать, что недвижимость намного дешевле - не на ползарплаты.

(мне, кстати, можно по украински отвечать, если вам так удобнее)
Edited Date: 2021-03-18 10:42 pm (UTC)

Date: 2021-03-18 10:51 pm (UTC)
From: [personal profile] mprotsenko
Дякую.

Що до цін, я на всяк випадок перевірив на realtor.com:

Медіанна ціна за кв. фут в Болдері $485.
В Маунт В'ю - $975.

Медіанна ціна:
в Болдері - 850K
в МВ - 1.7M


Так що не просто в Болдері дорого (тобто там дорого, нема де правди діти). Це в нас ЗАХМАРНО дорого.
Edited Date: 2021-03-18 10:52 pm (UTC)

Date: 2021-03-19 12:51 am (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
Таки я опять отстал от жизни :)

Date: 2021-03-18 06:44 am (UTC)
From: [personal profile] mprotsenko
Synthetic problems are often either too convoluted, or too trivial

You would be surprised how many candidates are filtered out by a simple fizzbuzz problem.

BTW, calibrating interview questions against current employees is a great idea, I can attest to that.

Date: 2021-03-18 04:57 pm (UTC)
From: [personal profile] mprotsenko
Словом, занадто проста задача -- поканий класифікатор, бо на ній буде забагато як false negatives, так і false positives.

В мене трошки іншій підхід - задача типа fizzbuzz це дуже гарний класифікатор на ПОЧАТКУ funnel.

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

False positives можна отримати, так, але ніби то ніхто не каже, що в нас повинен бути тільки один раунд інтерв'ю, ні? Далі буде місце і для більш складних задач.

Date: 2021-03-18 10:41 pm (UTC)
From: [personal profile] mprotsenko
я в Roku підходив до funnel так:

- дуже проста задачка на вході, щоб не було false negatives,
- задачка на вміння ЧИТАТИ код - ось вам простий код, в ньому помилка, є таки симптоми, виправляйте,
- допзавдання - як би ви переписали цій код, що в ньому зайве, чого не вистачає?
- поговорити про минули проекти кандидата,
- якщо позиція потребує - то домашнє завдання + поговорити про нього, трохи pair programming, якщо треба + design interviews.


Неідеально, але як мінімум і кандидатам, і інтерв'юерам було цікаво.

Це ж, до речі, важливий момент - бо interview це частина devrel, який підвищує відсоток адекватних (чи навпаки - неадекватних) кандидатів. Бачиш, як людей від інтерв'ю в деяких компаніях відлякує процес і вони просто не йдуть до компанії? (тому, до речі, ми ще й кожному кандидату дарували roku останньої моделі - просто за те, що він чи вона прийшли на інтерв'ю.)

Date: 2021-03-19 03:41 am (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
О, вот откуда пошла мода называть воронку лейкой. А чем не устраивает "процесс отбора"?

Date: 2021-03-19 12:40 pm (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
Сейчас не знаю, а в 70е слышал (и морщился: лейка - это то, из чего поливают цветы :))

Date: 2021-03-19 05:43 pm (UTC)
ppk_ptichkin: (Default)
From: [personal profile] ppk_ptichkin
>ви би знали, від скількох слів і граматичних конструкцій

Я.. могу себе представить.

Я, правда, с возрастом разучился раздражаться по этому поводу.

Profile

malyj_gorgan: (Default)
malyj_gorgan

January 2026

S M T W T F S
     1 23
45 6 7 8910
11121314151617
18192021222324
25262728293031

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 11th, 2026 02:55 am
Powered by Dreamwidth Studios