Как да превърнем работа, която се отваря в мечтана работа за най-добрите техни таланти

Малко инвестиции могат да се конкурират с ROI за изграждането на наистина ефективен екип, но намирането на точните хора може да бъде труден процес.

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

Ако копирате пакета, вероятно няма да успеете.

Не следвайте сляпо какво правят всички останали Много малко компании получават това право, което означава, че ако копирате пакета, вероятно няма да успеете.

Защо има значение?

Вече плащате разходите на висококачествен екип - просто плащате разходите по различни начини:

  • Неефективен процес на развитие
  • Скъпи грешки, които могат да се избегнат, направени от неопитни разработчици
  • Технически дълг
  • Сривове на производителността и изгаряния
  • Служител взрив

Проблемът е, че всички тези разходи имат отрицателна възвръщаемост на инвестициите. Вместо това можете да инвестирате същите пари в най-положителната възвръщаемост на инвестициите: вашия екип.

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

Недостатъчната логика има нещо подобно:

Мога да наема програмист от средно ниво за 120 000 долара или старши за 160 000 долара (40 000 долара е средната разлика в цената между уменията за младши и старши нива в САЩ [В действителност.com]). Мислите, че спестявате $ 40 000, но ...

Преобладаването на научните изследвания предполага, че има порядъчна разлика в производителността между разработчиците. Да цитирам Стив Макконъл (автор, „Код завършен“):

Общата констатация, че „Съществуват разлики в порядъка на величината между програмистите“ е потвърдена от много други изследвания на професионални програмисти (Curtis 1981, Mills 1983, DeMarco и Lister 1985, Curtis et al. 1986, Card 1987, Boehm и Papaccio 1988, Valett и McGarry 1989, Boehm et al 2000).

Това не означава, че най-ефективният разработчик ще напише 10 пъти повече код или ще изкара 10 пъти повече функции. Това означава, че ще доставят 10 пъти по-голяма организационна стойност.

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

Колко стойност можете да канализирате чрез вашия екип за разработка, до голяма степен зависи от вашата организационна креативност и приходи, но доколкото знам, броят е неограничен. Когато Instagram беше придобит за $ 1B, в екипа имаше само 13 души, което означава, че всеки член на екипа е допринесъл средно по 77 милиона долара за оценката на компанията.

Подобни придобивания са рядкост, но екстремните вноски за стойността са извънредни за технологичната индустрия. Лично съм виждал отделни разработчици да преместват иглата по многомилионни начини твърде много пъти, за да ги изброят. Неубеден? Вижте „Как един билет на Джира направи моя работодател 1 милион долара на месец: 7 показателя, които всъщност имат значение“.

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

Добрата новина е, че по-добрите разработчици не трябва да ви струват повече пари. По-доброто заплащане е един от няколко фактора, които могат да привлекат по-добри разработчици към вашия екип.

За какво се интересуват разработчиците?

Според проучването на Stackoverflow за 2017 г.:

Това се свежда до:

  • Нужди от оцеляване (например здраве)
  • Свобода на времето
  • Свобода на местоположението
  • Възможности за растеж
  • Работно въздействие

Оцеляването идва на първо място. Разработчиците искат да бъдат изплатени справедливо, но след като попаднем в типичните заплати за разработчици на софтуер в размер на 90 000 щатски долара + други нужди стават по-важни.

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

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

Да се ​​осмелиш да бъдеш различен

Средните компании предлагат справедливи пазарни заплати, почивни дни, ползи за здравето и оборудване. Повечето софтуерни разработчици приемат всички тези неща за даденост.

Кои са най-добрите начини да се разделите? Ето някои неща, които повечето разработчици искат, но малко компании предоставят. Ето как да превърнете работа в мечтана работа:

  1. Отдалечена работа
  2. Гъвкаво работно време
  3. Професионално развитие / Възможности за обучение
  4. Златна компенсация на белезници

Дистанционна работа и гъвкави часове

Повече от половината от разработчиците искат както отдалечена работа, така и гъвкави часове и оценяват тези предимства в горната част на своите контролни списъци.

Не правете дистанционно на половината път. Приемете дистанционно първа култура. Ако един човек посещава срещи по компютър, всеки трябва да го прави редовно.

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

Ще отнеме малко време за преход на офис екип във високоефективни отдалечени операции, но си струва, защото отдалечената работа води до:

  • По-добър дизайн на софтуера
  • Високопродуктивна работа (офисите са фабрики за прекъсване)
  • По-ниски разходи за заплати и комунални обезщетения (вижте по-долу)

Златни белезници

Не е нужно да предлагате златни белезници, за да се състезавате, но трябва да сте наясно, че компании като Facebook, Google и Netflix използват тази стратегия в голяма полза, за да привлекат специализирани, редки таланти.

Колко още? Компаниите, които използват стратегията на златните белезници, често плащат 150% -300% пазарен диапазон - или дори пари от лотарийни билети за избрани таланти с доказани умения в горещи изследователски области като машинно обучение, AR, VR, blockchain или дронове. Не знам горната граница Някои придобити разработчици печелят милиони годишно на склад и заплата.

Как да спестите пари от заплата

Идеята е да увеличите максимално стойността на вашата инвестиция, а не да инвестирате възможно най-малко.

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

За да извлечете максимума от парите си, трябва да платите над пазарните, а аз нямам предвид 110% от пазарната средна стойност. Вашата конкуренция вече прави това. 120% + ще ви помогне да привлечете висш талант от най-висок клас.

Начинът да спестите пари от заплата е да наемете по двойки; един старши разработчик в двойка с един младши разработчик. Поставете ги на един и същ проект и практикувайте преглед на кода и програмиране на специални двойки.

Заплатите варират много във времето, но от юли 2017 г. очаквайте да плащате:

  • Старши: $ 140k - $ 230k
  • Джуниър - Среден: $ 100k - $ 140k

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

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

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

Спестете пари от офис пространство, като наемете отдалечени инженери.

Ако сте в Сан Франциско, Ню Йорк или Лос Анджелис наемете служители, които трябва да пътуват до вашия офис, очаквайте да платите по-близо до върха на тези граници за най-добрия талант, напр. 180 000 долара + за старши от най-високо ниво разработчик. $ 120 000 + за най-висок клас младши разработчик.

Представете си, че наемате екип от 6 души. Предполагаме, че сте избрали да създадете отдалечен екип, така че да можете да избягате от плащането в близост до тези нива. Представете си, че наемете старши екип:

  • 6 старши разработчици @ $ 150k
  • Общо: $ 900k ($ 75k / месец)

Сега нека разделим наемането между младши и старши:

  • 3 старши разработчици @ $ 150k
  • 3 младши разработчици @ $ 110k
  • Общо: $ 780k ($ 65k / месец)

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

ВНИМАНИЕ: Не се опитвайте да спестите пари, като наемате всички младши разработчици.

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

интервюиране

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

Правете това на истински компютри, а не на дъски. За предпочитане е дистанционно, преди да харчите пари или да инвестирате сериозно време с кандидата.

Никога не молете кандидат да кодира на бяла дъска. Кандидатите ще мислят, че не знаете как да интервюирате разработчици, а вашата компания е заседнала в тъмните векове.

Никога не задавайте въпроси на случаен CS алгоритъм. Кандидатите ще мислят, че току-що сте завършили CS програма и нямате представа какви предизвикателства ви очакват в реалния свят.

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

Макс Хоуъл написа Homebrew, който се използва от много служители на Google (и почти всеки друг разработчик с Mac), но Google го отхвърли, защото не можа да обърне двоично дърво на бяла дъска.

Ами сега.

Какво да търсите в старши разработчик

Като цяло, вие искате старши разработчици с широк спектър от опит, сдвоени с дълбоко разбиране на архитектурата на приложенията и технологичните стекове, подобни на вашите.

  • Доказани умения за решаване на проблеми с множество приложения за реално производство в мащаб
  • Дълбока специализация в проблемния домейн или технологичен стек (в идеалния случай и двете)
  • Отлични менторски / преподавателски умения (не забравяйте: ще ги сдвоите с младши разработчици с цел обучение на юношите)
  • Отлични умения за учене (способност за изследване и научаване на нови технологии и решения на проблеми)
  • Страст за изграждане на софтуер и вълнение за справяне със специфичните проблеми, които ще срещнат във вашия екип
  • Бонус: Публичен запис на менторство, писане, публични изказвания или принос към OSS

Опит:

  • 3+ години, минимум.
  • 6+ години, идеален.

Какво да търсите в младши разработчик

Наемането на младши разработчици е свързано с разбирането на тяхната траектория на обучение. Ще ги затрупате с някои въпроси за техническа и софтуерна архитектура. Потърсете някой, който не се страхува да каже: „Не знам, но бих искал да го науча!“

Ето какво да търсите:

  • Колко знаят за техния стек?
  • Знаят ли правилните неща или просто нещата, които очевидно са достъпни за google в документи на API?
  • Най-важното: от колко време учат сериозно? Впечатляваща ли е скоростта на ученето им? Очевидна ли е страстта им към това?

Страхотните младши разработчици ще искат да научат за екипа и те ще търсят възможности за двойки с отличен наставник. Това е чудесен момент да им спомена, че те ще бъдат сдвоени с старши разработчик, който ще им предоставя постоянна подкрепа и обратна връзка.

Младшите разработчици търсят бърз път до обучение и кариерно развитие. Дайте им го и те ще скочат в него.

Професионално развитие и обучение

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

САЩ трябва да си вземат поука от останалия свят, защото когато се прилага добре, менторството се свързва по-добре с по-високото заплащане от напредналите университетски степени, интензивни стартови камери, сертификати или онлайн курсове.

Какво е менторство?

Наставничеството обикновено е под формата на еднократно, дългосрочно ръководство от експерт от висше ниво. Взаимоотношенията с менторството в идеалния случай обхващат месеци или години и дори могат да надхвърлят трудовите правоотношения. Менторството не е само за младши разработчици. Старшите разработчици също се нуждаят от него.

Марк Зукърбърг (Facebook) беше наставляван от Стив Джобс (Apple). Сергей Брин и Лари Пейдж (основатели на Google) бяха наставни от Дейвид Чаритон. Дейвид Пакард и Бил Хюлет (основатели на Hewlett-Packard) бяха наставни от Фредерик Емънс Терман.

В идеалния случай всичките ви служители (независимо от уменията или опита) трябва да имат ментори. Сдвойте старши разработчици в наставническите отношения с средно ниво и младши разработчици. В зависимост от целите на кариерата, старшите разработчици могат също да пожелаят да влязат в наставнически отношения с инженерни мениджъри, технически директори, други старши разработчици или специалисти в област на интерес като машинно обучение, AR / VR и т.н. ...

Ако вашият екип няма квалифициран наставник за вашите старши разработчици, активно търсете възможности за привличане на наставничество от хора извън компанията. Някои експерти в тази област ще имат желание да влязат в менторски отношения. Ако не можете да намерите някой, който да го направи безплатно, опитайте да предложите пари (платени от работодателя). Все по-често менторството се превръща в жизнеспособна възможност за кариера за високо постигнат талант.

Има платформи за сдвояване на наставници с наставлявани, но когато погледнах в тях, бях силно разочарован. Вместо да предлагат истинско дългосрочно наставничество, те бяха предимно услуги за помощ на разработчици с плащане на минута. Качеството както на менторите, така и на наставляваните беше ненормално.

Затова създадох нова платформа: DevAnywhere.io

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

Платено обучение

Най-добрите компании предлагат бюджети за обучение на служителите. За да изпъкнете наистина, предлагайте щедър бюджет за учебни ресурси като книги, онлайн съдържание и конференции. За $ 1k - $ 5k годишно, можете да осигурите много мощна полза, която талантът от най-високо ниво обича.

Освен това трябва да разчитате да инвестирате 30% - 50% от заплатата на програмиста в менторство. Това може да звучи много, но има изключително висока ROI. Инвестираната сума работи в линеен мащаб, докато възвръщаемостта на инвестицията работи в експоненциален мащаб. (Вижте също: „Борят се да намерят страхотни старши разработчици на JavaScript? Менторството е отговорът“)

Ако в екипа имате разработчици, които биха служили като добър модел за подражание / наставник за по-млади членове, разходите ще отидат към заплатата на ментора. Ще трябва да ги сваляте от такса за индивидуален доносник поне за ден или два седмично и да ги поставяте на коефициент на умножение.

За най-старшите си разработчици ще трябва да потърсите извън организацията и да намерите наставник. Тъй като повечето квалифицирани ментори няма да могат или не желаят да дарят времето си за вашата кауза - ще трябва да ги платите.

Нуждаете се от помощ при намирането на квалифицирани ментори? Опитайте DevAnywhere.io.

TL; DR

Ако искате да превърнете скучния си списък с обяви в мечтата на програмист, за да привлечете по-добър талант, ето рецептата:

  • Щедро време за ваканция
  • Отдалечена работа
  • Големи ползи за здравето
  • Гъвкаво работно време
  • Страхотно оборудване
  • Менторство
  • Бюджет за обучение
  • Пропуснете теста за бяла дъска / CS (вместо това ги гледайте код на истински компютър)

Изравнете уменията си с менторство на живо 1: 1

DevAnywhere е най-бързият начин да изравните до напреднали JavaScript умения:

  • Уроци на живо
  • Гъвкаво работно време
  • 1: 1 менторство
  • Създавайте истински приложения за производство
https://devanywhere.io/

Ерик Елиът е автор на „Програмиране на JavaScript приложения“ (O’Reilly) и съосновател на DevAnywhere.io. Той е допринесъл за софтуерни преживявания за Adobe Systems, Zumba Fitness, The Wall Street Journal, ESPN, BBC и най-добрите звукозаписни артисти, включително Usher, Frank Ocean, Metallica и много други.

Той работи където си поиска с най-красивата жена в света.