Сколько ты стоишь?

Перевод с сайта 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