• ,

Сколько ты стоишь (перевод)

Перевод с сайта yegor256.com. Оригинал статьи на английском.

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

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

Оригинал перевода размещен здесь.

________________________

Я получаю несколько писем каждый день от программистов заинтересованных работать с teamed.io удаленно. Первый вопрос, который я обычно задаю это «Какая твоя почасовая ставка?» (мы платим по часам). Меня удивляет как часто люди некорректно оценивают себя как в большую так и в меньшую сторону.

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

Вклад в проекты с открытым исходным кодом.

badge

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

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

Вторая возможная причина, это ты работаешь с девяти до пяти за еду, без страсти. На самом деле в этом никто не сознается. Я часто слышу что-то вроде «моя компания не платит мне за вклад в open source проекты, а дома я хочу проводить время со своей семьей». В современной разработке ПО, большинство кода, с которым мы работаем, является открытым – библиотеки, фрэймворки, инструменты и прочее. Почти все что ты используешь в твоем коммерческом проекте — это open source. Платя тебе зарплату твой работодатель уже осуществил вклад в продукты с открытым кодом, потому что ты активно их используешь. Проблема в том, что ты при этом не заинтересован быть более активным и делать свой вклад в open source проекты. Я вижу это как недостаток страсти и мотивации. Будешь ли ты эффективным разработчиком в наших проектах? Вряд ли, потому что наша система менеджмента опирается на само-мотивацию.

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

Поэтому, если твой GitHub аккант пуст и твое CV не содержит строчки «активно участвую в развитии ядра Linux» (а почему бы и нет?), я моментально теряю интерес. С другой стороны, когда я вижу 100+ звездочный проект на твоем GitHub, я воодушевляюсь и готов предложить большую оплату.

Месторасположение

Распространенная практика платить больше тем, кто живет в более дорогих странах. Когда я получаю резюме из Сан-Франциско, запрашиваемые ставки составляют $70+ в час. Те же самые навыки и опыт стоит $15-20 для Карачи. Причина – стоимость жизни в США значительно выше, чем в Пакистане.

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

Хочешь платить $30 за ланч? Стань лучше как разработчик. До тех пор, покупай хот дог за пару баксов. Просто фраза «Я уже здесь и мой ланч стоит $30» — не аргумент.

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

Репутация на StackOverflow.com

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

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

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

Я часто слышу, что люди решают большинство их проблем, задавая вопросы коллегам, сидящим рядом с ними в офисе. Они говорят, StackOverflow им просто не нужен (или другие похожие ресурсы, если они существуют), потому что их команда так хороша, что всегда можно получить ответ на любой вопрос. Это хорошо для команды, но плохо для тебя. Почему? У тебя нет важного навыка – нахождение ответа в публичном Интернете. В наших проектах мы не поощряем любые горизонтальные коммуникации между программистами, и ты не сможешь получить помощь ни от кого. Ты будешь сам по себе и ты провалишься, потому что ты привык получать помощь от старших в своем офисе.

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

Стаж работы

badge

«Я писал на Java 10 лет!» — и что? Это число значит только одну вещь для меня – ты сумел выжить в каком-то офисе в течение 10-ти лет. Или может быть в нескольких офисах. Ты убедил кого-то, что он должен платить тебе за твои 10 лет проведенных в его здании. Значит ли это, что ты писал что-то полезное? Значит ли это, что твой код был идеальным? Ни первое, ни второе.

Стаж работы это ложный индикатор. Это даже может сыграть против тебя, в комбинации с другими индикаторами, обозначенными выше. Если твое CV говорит, что ты только начал программировать 2 года назад и твой GitHub и StackOverflow аккаунты пустые – есть возможность что ты исправишься. Ты просто в начале своей карьеры. Однако, если твое CV говорит что ты «10-ти летний системный архитектор» с нулевым вкладом в открытые проекты — это значит что ты или лжёшь о 10-ти годах или ты абсолютно бесполезен как архитектор.

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

Сертификаты.

Oracle, Zend, Amazon, IBM, MySQL и прочие – вот о каких сертификатах я говорю. Чтобы получить их ты должен пройти экзамен. Не легкий, и не онлайн. Это реальный экзамен, который сдается в сертификационных центрах, где ты будешь сидеть за компьютером, в условиях ограниченного времени, без книг или доступа к Интернету и будешь отвечать на вопросы. Достаточно унизительно для такого уважаемого разработчика? Ага. И также очень высока вероятность провалится, что тоже достаточно неловко.

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

Первая, ты боишься провала. Серьезная сертификация может стоить несколько сотен долларов (я платил более $700 за SCEA) и ты не получишь их назад если провалишься. Если ты боишься проиграть, ты боишься сражаться. Это значит, что ты струсишь в реальных ситуациях, когда надо решать реальные проблемы.

Второе, ты не инвестируешь в себя. Это скорее всего значит что ты не хочешь менять компании и предпочитаешь найти уютный офис, где ты бы мог сидеть вечно. Я помню однажды сказал своему другу – «Ты значительно улучшишь свое CV, если получишь этот сертификат». Он ответил с улыбкой – «Я надеюсь, что мне не понадобится CV. Мне нравится эта компания». Этот подход хорош для компании, на которую ты работаешь, но это точно работает против тебя.

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

Разнообразие навыков.

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

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

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

Выступления и Публикации

badge

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

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

Кроме того, если ты пишешь и выкладываешь результаты труда регулярно, у тебя уже есть важный навык/талант – ты можешь представлять свои идеи в «удобоваримом» формате. В наших проектах мы не поощряем неформальные связи и используем систему тикетов. В этих тикетах ты будешь объяснять свои идеи, вопросы и соображения так, чтобы остальные смогли бы тебя понять. Без навыков представления идей, ты не сможешь выжить в проекте.

Кстати, некоторые разработчики даже патенты подают на свои имена – почему ты этого не сделал? Или может быть опубликовать книгу? Почему нет?

Предыдущее место работы

Я обычно не обращаю большое внимание на этот раздел твоего CV. Наша модель управления настолько отличается от всего, что ты мог где-либо видеть, что это не имеет никакого значения сколько раз тебя увольняли или как высок был твой пост в твоей компании. Даже если твоя должность «Технический директор Twitter» — это ничего не значит для меня.

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

Я более заинтересован в том «Что ты делал» в последние годы, чем «Где ты делал» это или «Как тебя называли» пока ты этим занимался.

Образование

BSc, MSc, PhD… важно ли это? Не думаю. Образование очень схоже с «Предыдущим местом работы», обозначенным выше. Не так уж и важно где ты провел пять лет после школы. Важно что ты делал в это время. Если тебе нечего сказать о своей активности в студенческие годы, тогда что мне скажет название твоего ВУЗа?

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

Оплата

$100+ в час мы с радостью платим эксперту который владеет несколькими продуктами с открытым исходным кодом, имеет рейтинг на StackOverflow более 20к, имеет сертификаты, статьи, презентации или даже патенты.

$50+ мы платим профессиональному программисту, владеющему проектом с открытым исходным кодом или является активным участником такого проекта, имеющему рейтинг на StackOverflow больше 5к, пишущему о разработке ПО, владеющему сертификатами.

$30+ мы платим программисту регулярно вносящему вклад в проекты с открытым исходным кодом, имеющему активность на StackOverflow, с несколькими сертификатами.

$15+ мы платим всем остальным.

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

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

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

Кстати, иллюстрации к посту созданы Andreea Mironiuc.


https://www.youtube.com/watch?v=GS45LzE3LPQ

13 комментариев

realcorwin
Покупатели рабов мысленно кивают написанному.
Kingpin
Короче вкратце — сферическая галера в вакууме. Причина написания возвышенного текста стара как мир — купить подешевле, продать подороже — тут ребята предпочитают брать индийских и прочих пакистанских сеньоров по 15$ в час и продавать заказчику как илиту программирования.
dksd
Причина написания возвышенного текста стара как мир — купить подешевле, продать подороже

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

В любом случае, в статье раскрыты интересные подходы к оценке программиста. Естественно, не все на них ориентируются, но такая точка зрения обозначена и с ней полезно будет ознакомится.
LJ_
  • LJ_
  • 0
Я бы с таким работать не стал.
Может быть дело в переводе, но мне показалось автор невероятно высокомерен ЧСВ over 1000.
Даже читать не приятно.
shcho_isle
Разные люди мотивируется по разному: кому-то нужны похвалы, а кому-то — критика. Видимо, статья будет полезна для второго типа людей.
Torin
  • Torin
  • +1
  • Комментарий отредактирован 2017-09-07 22:49:46 пользователем Torin
Частично идеи в статье пересекаются с идеями из книг «программист-фанатик» и «путь программиста», есть моменты с которыми не поспорить, а именно — вклад в open-source, активность на stackoverflow, личный блог, публичные выступления, самомотивация и самообучение. Но есть моменты, которые перечёркивают все светлые идеи автора — «мы лучше возьмём индуса и будем платить ему 15$, потому что у него страна понищеброднее»… Тогда зачем мне все эти сертификаты, блоги, выступления и opensource, если все в конечном итоге упрется в то, что будет нанят дешёвый идус? Более того, мне интересна страна автора, потому что в США это больная тема. Многие лишились работы из-за более дешёвой рабочей силы — и тут такие заявления. Демпинг это всегда плохо
mila
да конечно! если эта тенденция будет развиваться они всю мировую экономику с ног на голову поставят, им этого никто не даст сделать, в развитых странах все программисты останутся без работы. К тому же нанимая индуса за 15$ софт свой они где будут при этом продавать? уж точно не в индии, а в какойнибудь Великобритании или германии. Думаю потом эти страны просто введут законы типа «хочешь продавать свой софт у нас в стране — потрудись нанять хотя бы 80% наших граждан или граждан страны с ввп не меньше нашего».
tanzwud
Надеюсь понимаете что это относится не только к Индии. А к Росии, Беларуси и тп странам тоже )).
Интерестно читать про Индию. Работаю в ИТ в Англии с 2004 го года где то. Меняю место работы раз в полтора года. Почти каждая фирма оутсорсит в другие страны работу, очень часто не потому что где то там дешевле, как раз наоборот дороже выходит. Опять же платят напрямую не человеку а фирме, которая ставит рейты мама не горюй. А так да, в итоге аутсорсер получает меньше. Первое, работы в разы больше чем програмистов в развитых странах, и работы только прибавляется. Так же програмист это не пуп земли, хороший спец с опытом получает на уровне начинающего практиковать врача, посыл понятен? Кто пойдет в програмеры если есть работы где можно получать в несколько раз больше )), вот и нанимают аутсорс.
mila
Ну Россия всё-таки где-то в середине этой шкалы цен, взяла Индию как самый полярный пример, но да я в курсе конечно что и к нам это относится, в данный момент мне интересна ситуация в целом в мире.
Имеете ввиду фирмы аутсорсят работы потому что местных программеров не хватает? ок, допустим, но здесь чувак рассказывает что напрямую нанимает и устанавливает ставку я так поняла больше ориентируясь на ставки в странах третьего мира, получается что программистам родившимся и выросшим в развитых странах(они никуда не переезжали, у них здесь семья и родственники) вобще не выгодно работать удалённо, вот здесь и получается какая-то дискриминация.
Про врачей тоже не совсем поняла, имеете ввиду что в развитых странах (не в России конечно) врач гораздо более престижная и выгодная профессия чем программист, что в ИТ там никто особо не рвётся и по определению программистов там много быть не может?
tanzwud
Не скажу за США, т.к. не знаю рынка там.
Вот немного ситуация в Англии. Начинающий програмист получает от £25 000, Врач терапевт £70 000 старт, трансплантолог где то £150 000 — £170 000. Прогамисту получать пусть даже £70 000 нужно ОЧЕНЬ постаратся. Водители автобусов получают на одном уровне как програмисты, теже таксисты и полицейские имеют больше. Образование не сильно заточено на ИТ(сам учился тут, довольно слабенько).
Да програмистов не хватает, 99% фирм занимаются не только своим бизнессом но и обязаны развивать свои ИТ сервисы, иначе не выжить сегодня. Как результат ищут по всему миру кто бы мог им помочь. Фирмы которые предлагают аутсорсеров\консультантов растут как грибы. Цена таких програмистов обычно в 2-3 раза выше чем full time employee (не знаю аналогов по русски). Разници нету ни в знаниях ни в работоспособоности, однако приемущество будет да отдано Индийским програмистам по как минимум 2 причинам.
1. Если надо можно и 100 000 прогамистов получить без особых проблем.
2. Бранское образование в Индии. Т.е. разговорный английский если человек закончил университет и умение себи правильно вести.

Насчет рвутся в ИТ или нет сказать тяжело. Я не заметил чтобы люди туда рвались. Те у кого более менее мозги есть идут в финансы, адвокаты и врачи это точно.
mila
Ну эти цены мне всё равно что летели два крокодила, один зелёный, другой на юг) очень давно там была, поэтому не представляю как эти 25000 будут ощущаться там по комфорту.
И стоп, при чём здесь другие профессии вобще) основная цель была выяснить ситуацию по программистам)
А вот почему компании нанимают аутсорс в 2-3 раза дороже а не берут программистов в штат(full time employee) мне тоже непонятно. Потому что свои все заняты а заниматься рабочими визами иностранцев не охота? а, там же ещё квоты какие-то на зп есть, типа можно нанимать иностранцев только на позиции не ниже миддла и с зп не ниже средней по отрасли. Хотя как тогда фирмы-аутсорсеры выкручиваются непонятно. Знакомый работает у такого аутсорсера в польше хотя фактически приставлен к одному клиенту и занимается только им, тоже задумывалась почему они его к себе в штат не возьмут интересно.
Бранское образование? это что имелось ввиду?
Про то куда идут те у кого есть мозги — чё эт вы так собственную индустрию опустили))
tanzwud
Сколько получают специальсты профессий для который те-же програмисту пишут софт, я привел чтобы показать на значтилельный разрыв в заработке и как итог люди неспешат связывать себя с програмированием.
В Англии не слышал про то, что нанимать можно только мидлов+ и какие то вилки по зарплате, может такое и есть хотя вряд-ли.
Нанимают фирмы контракторов и аутсорсеров по нескольким причинам, и это никуда не уйдет:
Представте вы занимаетесь к примеру логистикой, и вдруг решили что вам нужно свое програмное обеспечение, т.к. это делает ваш канкурент и у него получается даже вроде что-то. Вот такие фирмы начинают писать софт, зачем им штат своих програмистов если им по зарез нужны курьеры, водители и тп. Похожая ситуация везде, каждый пишет свой софт сегодня, видимо такой тренд.
mila
Странно, если программистов не хватает, почему зп остаются низкими.
Про миддлов и вилки по зп это касается только условия оформления рабочей визы (блю карты для евросоюза), я так понимаю сделано для того чтобы в иммигранты не посыпались кто попало и в неконтролируемых количествах, типа если уж ты нанимаешь к себе иностранца и хочешь позволить ему жить в нашей стране то это должен быть очень ценный кадр, настолько ценный что у нас таких ты не нашёл.
На счёт аутсорсеров, это понятно когда проект временный и ты знаешь что через год-два весь этот ит отдел тебе будет не нужен, но если ты знаешь что кто-то всё равно должен поддерживать твои сервера и бд, и софт твой постоянно подпиливать хотя бы один программист нужен — вот почему в этом случае не нанять в штат, вот это мне непонятно.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.