How Much Do You Cost?

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Я каждый день получаю несколько писем от программистов, заинтересованных в удаленной работе с Zerocracy. Первый вопрос, который я обычно задаю, звучит: “какая у вас ставка?” (мы платим за час). Меня удивляет, насколько часто люди неправильно оценивают себя, в обеих направлениях.

Я слышу очень разные числа, от $5 до $500 в час. Я никогда не говорю “нет”, но обычно предлагаю свою собственную оценку почасовой ставки. В этой статье объясняется, какие факторы я учитываю и какие нет. Это мои личные критерии; не считайте их отраслевым стандартом. Однако, я считаю их объективными и логичными, поэтому позвольте мне объяснить.

Open Source Contribution

Это первая и самая важная характеристика программиста. Вы вносите свой вклад в проекты с открытым исходным кодом? У вас есть собственные библиотеки open source, которыми пользуется сообщество? Вы пишете код, который доступен и используется общественно?

Если у вас здесь нет ничего, я вижу три возможные причины.

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

Вторая возможная причина заключается в том, что вы работаете с девяти до пяти, для пропитания, без страсти. На самом деле, никто не выражает это таким образом. Вместо этого я часто слышу что-то вроде “моя компания не платит мне за вклад в открытый исходный код, а дома я хочу проводить время с семьей.” В современной разработке программного обеспечения большая часть кода, с которым мы работаем, является открытым исходным кодом - библиотеки, фреймворки, инструменты и прочее. Почти все, что вы используете в своих коммерческих проектах, является открытым исходным кодом. Оплачивая вашу зарплату, ваш работодатель уже инвестирует в продукты с открытым исходным кодом, потому что вы являетесь активным пользователем этих продуктов. Проблема в том, что вы не заинтересованы в более активном участии в разработке открытого исходного кода. Я вижу это как недостаток страсти и самомотивации. Будете ли вы эффективным разработчиком в наших проектах? Совсем нет, потому что наша вся система управления основана на самомотивации.

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

Таким образом, если ваша учетная запись GitHub пуста и ваше резюме не указывает на вас как на “активного участника ядра Linux” (да, почему бы и нет?), я сразу теряю интерес. С другой стороны, когда я вижу проект с более чем 100 звездочками на вашей учетной записи GitHub, я восхищаюсь и готов предложить более высокую ставку.

Geographic Location

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

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

Хотите заплатить 30 долларов за обед? Станьте лучшим инженером. Пока что, купите хот-дог за несколько баксов. Просто сказать, что “я уже здесь и мой обед стоит 30 долларов” - не аргумент.

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

Stack Overflow Reputation

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

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

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

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

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

Years of Experience

“Я пишу на Java уже 10 лет!” — и что с того? Это число для меня означает только одно - вы смогли выжить в каком-то офисе в течение десяти лет. Или, может быть, в нескольких офисах. Вам удалось убедить кого-то в том, что он должен платить вам за десять лет сидения в его здании. Это означает, что вы писали что-то полезное? Означает ли это, что ваш код был идеальным? Ничего из этого не означает.

Годы опыта являются ложным показателем. На самом деле, они могут сыграть против вас, в сочетании с другими упомянутыми выше показателями. Если в вашем резюме указано, что вы начали программировать только два года назад, а ваш аккаунт на GitHub и Stack Overflow пуст—все еще есть шанс на улучшение. Вы только начинаете свою карьеру. Однако, если в вашем резюме указано, что вы “опытный архитектор с 10-летним стажем”, но у вас нет вклада в открытые исходные коды—это означает, что вы либо лжете о своем стаже в десять лет, либо вы абсолютно бесполезны в качестве архитектора.

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

Certifications

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

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

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

Во-первых, вы не инвестируете в свой профиль. Скорее всего, это означает, что вы не хотите менять компании и предпочитаете найти спокойный офис, где можете остаться навсегда. Я помню, что однажды сказал своему другу: “если ты пройдешь это сертифицирование, ты значительно улучшишь свое резюме”. Он ответил с улыбкой: “я надеюсь, мне больше не понадобится резюме, мне нравится эта компания”. Это отношение очень выгодно для компании, в которой вы работаете, но оно точно работает против вас.

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

Skills Variety

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

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

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

Talks and Publications

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

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

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

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

Previous Employment

Обычно я не обращаю много внимания на этот раздел вашего резюме. Наша модель управления настолько отличается от всего, что можно видеть где-либо еще, что не имеет значения, сколько раз вас увольняли раньше и какое старшее положение у вас было/есть у вашего постоянного работодателя. Даже если ваше звание - “CTO Twitter”, - это для меня ничего не значит.

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

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

Education

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

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

Rates

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

$50+ в час мы платим профессиональному программисту, у которого есть собственные проекты с открытым исходным кодом или который является активным участником таких проектов; имеет рейтинг Stack Overflow более 5K; пишет о разработке программного обеспечения; обладает несколькими сертификатами.

$30+ в час мы платим программисту, который регулярно вносит вклад в открытый исходный код; присутствует на Stack Overflow; имеет некоторые сертификаты.

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

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

Я написал эту статью в основном, чтобы мотивировать вас к росту.

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

Кстати, иллюстрации, которые вы видите выше, созданы Андреей Миронюк.

Translated by ChatGPT gpt-3.5-turbo/002 on 2023-08-28 at 19:34

sixnines availability badge   GitHub stars