Разработчик-фрилансер: как начать карьеру и привлечь клиентов
Спринт-циклы сводят с ума? Бэклог напоминает седьмой круг ада? Готовы выбирать свой собственный проект и работать над теми сценариями использования, которые вас действительно заботят? Значит, пришло время начинать карьеру разработчика-фрилансера.
Но встать на ноги и начать зарабатывать деньги на фрилансе новичку не так просто. Будут трудности, которые придется преодолевать, и области, в которых нужно будет подрасти. Из самого важного можно выделить:
- Построение своей клиентуры
- Выбор своих клиентов
- Ведение бизнеса
Прежде чем мы углубимся в то, как помочь вам справиться с этими проблемами, давайте сначала пробежимся по некоторым основным ожиданиям от карьеры фрилансера.
Разработчик-фрилансер: жизненные реалииПоскольку вы раздумываете над «перерождением» в качестве разработчика-фрилансера, мы полагаем, вы уже сделали некоторые исследования выгод и неудобств, которые принесет ваша новая жизнь. Если нет, мы сделали их за вас.
Не слишком хорошо- Нет фиксированных доходов
- Нужно иметь собственное оборудование
- Нет медицинской страховки/выходного пособия
- Нет оплачиваемых тренингов
- Нет оплачиваемых отпусков
- Нужно рассчитывать только на себя
- Гибкий график
- Свобода творчества
- Нет офисных распорядков
- Потенциально — неограниченные заработки
Если вы переходите на фриланс с полной ставки, вам придется столкнуться с риском и неопределенностью (по крайней мере поначалу), к которым вы не привыкли. Ваши заработки будут колебаться от месяца к месяцу в зависимости от вашей успешности в поиске клиентов. Вам придется охотиться на проекты, а не получать готовые задания на своем столе. У вас не будет коллег, на которых вы сможете рассчитывать при дедлайнах, и вам придется самостоятельно себя мотивировать и проактивно сотрудничать со своими клиентами.
Чтобы получить больше информации «изнутри» от людей, которые уже прошли через это, мы связались с опытным разработчиком-фрилансером на CodementorX, Дэйвом Салливаном. Он говорит:
«В работе на полную ставку есть ложное чувство безопасности, и если вы не рисковый человек, вам действительно будет тяжело отвернуться от нее и выбрать фриланс».
Когда у вас появится потребность в новых навыках, которые обеспечат вашей карьере дальнейший рост, вам придется проявлять инициативу и самостоятельно это оплачивать. Аналогично, никто не позаботится о том, откладываете ли вы деньги на черный день и обеспечиваете ли себе хорошее медицинское обслуживание. Ваша карьера и ваше личное благополучие – целиком и полностью ваша ответственность.
Однако, как заметил Дэйв, где большие риски, там и большое вознаграждение. Само слово «фрилансер» содержит главное слово – «free», свободу. Это свобода работать в то время дня и ночи, когда вам удобно, свобода выбирать желанных клиентов и интересные проекты, которые утолят ваш творческий голод. Свобода устанавливать свою ставку на уровне, который считаете адекватным, и работать дома, в коворкинге или на островах Бокас-дель-Торо.
ПредпосылкиГотовы работать в тропиках? Не так быстро, не стоит прямо сейчас заказывать себе бунгало на пляже. Фриланс-карьера очень привлекательна, но сначала нужно приобрести некоторый опыт.
В идеале вы как минимум пару лет поработаете разработчиком в офисе или с каким-нибудь агентством по разработке программ. Помимо этого вам нужны будут некие доказательства, что вы способны делать то, чем занимаетесь. Это должно значиться в вашем резюме, онлайн-портфолио или на личном сайте, иметь ссылки и отзывы.
Ваше резюме должно служить описанием вашего действительного профессионального и личного опыта наряду с дипломами и сертификатами. Ваше онлайн-портфолио, в свою очередь, должно показывать вашу законченную работу со ссылками на веб-страницы и ваши репозитории, описания проектов и результатов.
Ваше портфолио – прекрасное место для построения вашего личного бренда, показа рекомендаций и сбора потенциальных клиентов. Если у вас мало собственных работ или предыдущие проекты подпадают под соглашение о неразглашении, для вас будет иметь большее значение участие в проектах с открытым исходным кодом или работа над собственными любимыми проектами, которые вы затем сможете включить в свое портфолио.
В дополнение к ссылкам, отзывам и экземплярам работы, вы можете повысить доверие к вам (и расширить источники клиентов), присоединившись к надежным фриланс-платформам. На таких платформах как CodementorX есть строгие процессы проверки, включающие задания на написание кода, технические и поведенческие интервью, отзывы о предыдущих работах.
И да, для вас будет не лишним потратить время и пройти эти проверки. Успешное вхождение в высококонкурентный пул кандидатов на специализированных сайтах для разработчиков даст вам поддержку доверенных отраслевых платформ и доступ к серьезным клиентам, которые ищут навыки, подобные вашим.
Чтобы уменьшить риски, связанные с нестабильностью на первых порах, попробуйте не окунаться в новую карьеру с головой, а начать с малого. Подумайте о подработке на нескольких крупных сайтах по фрилансу: так вы сможете приобрести уверенность, наработать клиентов и доход для своей карьеры фрилансера.
Своя ниша или общие навыки программирования?Что касается присоединения к крупным фриланс-платформам, вам придется конкурировать буквально со всем миром.
Одна из важных вещей, которую стоит обдумать заранее, – хотите ли вы занять определенную нишу или будете ставить на общие навыки программирования.
Лучший способ выделиться в условиях мирового рынка — иметь специализацию и навыки в одной-двух областях. Например, если вы специализируетесь на Kotlin, Go, Ocaml или JavaScript-фреймворках для определенных сценариев использования, это повышает вашу конкурентоспособность и заметность для клиентов, которые ищут навыки именно в этих сферах.
С другой стороны, более общие, full-stack навыки программирования обеспечат вам доступ к более широкому кругу проектов. Общие навыки также будут иметь большее значение при работе со стартапами и продуктами на ранних стадиях разработки, которые в перспективе будут расширяться. Такие пользователи скорее будут искать кого-то, чьи навыки покрывали бы все основные потребности, а это и знания по фронтенду (HTML, CSS, JavaScript), и языки, фреймворки бэкенда, серверная инфраструктура, DevOps.
На что ставить – набор общих навыков или определенную нишу разработки – зависит от вида проектов и клиентов, с которыми вам хотелось бы работать. Разработка проекта с нуля с будущим масштабированием требует скорее общих навыков, а разработка определенного функционала для конкретных сценариев использования – специализированных.
Если вы в самом начале своей карьеры, важно убедиться, что у вас есть хороший бэкграунд в общих навыках и понимание разработки в целом. Усвоив это, будет легче приобрести более конкретные навыки при потребности в них.
Выбор между нишей и общими навыками (или решение о работе в обоих направлениях) также может рассматриваться как преимущество карьеры фрилансера. Вы не привязаны ни к какой определенной технологии и открыты для экспериментов, испытания новых вещей и приобретения новых навыков по желанию.
Построение клиентской базы: 6 стратегийКлиенты — основа вашей способности к выживанию в мире фриланса. Вначале вы будете проводить время в погоне за потенциальными клиентами, занимаясь маркетингом и своим продвижением. Когда заработаете репутацию и покажете, на что способны, вашей целью станет тратить меньше времени на поиски и больше — на заработки. Джош Альбрех, сооснователь Sourceress, озвучил простую стратегию, как занять желаемую позицию:
«Во-первых, надо быть реально хорошим специалистом. Во-вторых, рассказать об этом людям».
Вот некоторые советы о том, как это сделать:
- Продвигайте себя, чтобы получить клиентов. Вы больше не имеете отношение к бизнесу. Вы и есть бизнес. Если потенциальные клиенты не знают о вашем бизнесе, это проблема. Вы должны построить бренд, который будет находить отклик у клиентов.
- Начните писать блог о том, в чем разбираетесь: отвечайте на вопросы, задаваемые клиентами, и делитесь знаниями с другими разработчиками. Участие в сообществах девелоперов (таких как Codementor Community) также поможет вам показать свою увлеченность разработкой ПО и знания в своей сфере.
- Займитесь социальными сетями. Делайте твиты своих статей и ретвиты других людей, чья работа вам понравилась. Убедитесь, что ваш профиль в LinkedIn обновлен. Это часто первое место, куда обращаются рекрутеры, поэтому проявляйте там активность и делитесь своими достижениями.
- Онлайн- и офлайн-сети. Хорошие профайлы и активное продвижение себя, описанное выше, скорее относится к онлайн-сетям. Вам также стоит посещать встречи и конференции, такие как Microsoft Build, QCon, DeveloperWeek. Будьте готовы обсуждать свои интересы, учиться, делиться своими наработками и направлять людей в свои онлайн-каналы. Если вы готовы к этому, можете даже выступать на подобных мероприятиях. Личное общение по-прежнему имеет большое значение и может помочь найти клиентов.
- Получайте рекомендации от других разработчиков и клиентов, довольных вашей работой. Не бойтесь напрямую попросить клиентов (из тех, для кого вы сделали действительно хорошую работу) рекомендовать вас друзьям и коллегам. Можете предложить им скидки за рекомендации, по которым получите новый контракт. В конечном итоге рекомендации должны стать двигателем ваших доходов.
- Посвящайте время проектам с открытым исходным кодом или организациям, о которых заботитесь. Это опционально, однако это хороший способ продолжать развитие ваших навыков программирования и создания себе портфолио. Постарайтесь уловить разницу между «работать бесплатно» и «посвящать, жертвовать свое время». Первое означает, что кто-то получает ваши услуги, за которые следовало бы заплатить, то есть, получает прямую выгоду за ваш счет. Когда вы жертвуете свое время, вы выбираете условия сделки и делаете это потому что хотите. Это показывает вашим клиентам, что вы достаточно увлечены программированием чтобы заниматься им не только для оплаты счетов, но также и на пользу обществу.
Если вы еще только начинаете, то скорее всего будете рады, если кто-то вам заплатит за любую работу, касающуюся программирования. Но стоит помнить, что соглашение между клиентом и исполнителем это равноправное партнерство, и у вас всегда есть выбор. Когда вы приобретете больше опыта, ваша избирательность возрастет. Вот несколько моментов, которые стоит обдумать при выборе клиентов.
В целом более высокая ставка подразумевает проекты более высокого класса. Если вы не в сильно стесненных обстоятельствах, не продавайте свой труд слишком дешево и уж конечно не ниже рыночной стоимости.
Консультации клиентовВ ходе начальных бесед с клиентами, обращайте внимание на их поведение и отношение. Собеседование работает для обеих сторон не только вас оценивают, но и вы тоже. Это достойные люди? Они хороши в общении? Ценят ли они ваши навыки и опыт? Или необоснованно пытаются сбить вашу ставку и имеют нереальные ожидания касательно времени?
Если у клиента неясные требования или плохо очерчены рамки проекта, не стесняйтесь предложить платную консультацию чтобы помочь улучшить видение проекта. Если клиенты настроены серьезно в отношении ваших услуг, платная консультация будет для них приемлемым вариантом.
Вид проектаВы не coding monkey. Работайте с тем, что вам интересно, что вас озадачивает и принесет вам профессиональный рост. Избегайте шаблонных проектов, с которыми любой может справиться: скорее всего отдача будет небольшой, в том числе и в карьерном росте.
Увольняйте плохих клиентовДа, вы можете уволить клиента. Это скорее редкость, но если вы оказываетесь в ситуации, когда клиент необоснованно меняет условия вашего соглашения, лучше всего сократить свои потери и уйти. Вот несколько самых распространенных причин избавиться от клиента:
- Постоянные пропуски платежей или недоплаты
- Существенные изменения требований или масштаба проекта без обсуждения условий
- Требования изменить или добавить существенные части в последнюю минуту
- Отсутствие нормального общения
- Отсутствие профессионального этикета и уважения в целом.
Отказ от клиента должен быть последней мерой. Прежде чем пойти по этому пути, стоит приложить все усилия для разрешения проблем.
Ведение бизнеса«Фриланс это нечто большее, чем написание кода за деньги: это бизнес», – напоминает нам наш разработчик с CodementorX Дэйв Салливан. Как мы обсуждали в предыдущем разделе, вы ответственны за свое продвижение и маркетинг. Также вы – единственный член команды, ответственный за обслуживание клиентов, заключение договоров, продажи, учет рабочего времени и ведение записей, выставление счетов, обсуждения и другие важные составляющие бизнеса. Подробности становления бизнеса с нуля выходят за рамки данной статьи, но некоторые аспекты мы рассмотрим.
Контракты разработчика-фрилансераНаличие готового контракта с условиями предоставления услуг показывает вашим клиентам, что вы профессионал, с которым можно иметь дело. Договор заключается для защиты как вас, так и вашего клиента, и условия должны быть взаимно оговорены. Вот самые важные моменты, которые должны быть отражены в вашем контракте:
- Ожидания и ответственность
- Оговорки о независимом подрядчике
- Отчеты о работе
- Условия платы
- Конфиденциальность
- Сроки
- Правовая защита
Вы можете предоставлять каждому клиенту один и тот же шаблон контракта, но помните, что каждый проект разработки ПО уникален, так что каждая сторона может потребовать пересмотра и дополнений к договору.
Соглашения о неразглашенииОбычно инициатором таких соглашений выступает клиент, который хочет защитить секреты фирмы и обеспечить свое право интеллектуальной собственности, возникающее в результате сотрудничества. Как фрилансер вы должны убедиться, что соглашение о неразглашении НЕ содержит следующего:
- Покушение на ваше право на работу
- Ограничивает ваше право использовать знания, полученные до проекта
- Ограничивает ваше право использовать навыки, полученные во время работы над проектом
- Ограничивает ваши возможности на рынке труда
- Сохраняет вашу ответственность за будущие неполадки, которые вы не сможете контролировать.
Имея это в виду, уделите особое внимание пунктам о неиспользовании и неконкуренции. Будет разумным иметь собственный вариант соглашения под рукой или как минимум разбираться в том, что для вас приемлемо, а что – нет, и быть готовым отстаивать свои интересы.
Учет времениНекоторые клиенты могут попросить вас вести учет вашего времени и вести записи, поскольку они хотят иметь доказательства того, над чем вы работаете и как долго. Самый эффективный способ сделать это – установить специальную программу для учета времени, которая автоматически генерирует отчеты о работе над задачами, которыми вы занимаетесь, так что вы сможете направлять их прямо клиентам. В некоторых программах даже есть встроенная инвойс-система, так что вы можете убить сразу двух зайцев. Вот несколько программ, достойных рекомендации:
Идея учета времени может быть несколько обескураживающей, так как одно из самых больших преимуществ фриланса предполагает независимость в управлении своим временем. Учет времени этому не повредит и будет хорошим способом доказать вашу ценность для клиентов. Даже если клиенты не требуют отслеживания времени, вы в любом случае можете это делать чтобы оценить прогресс и течение своих рабочих процессов.
Определение своей ставкиКогда вы только начинаете «фрилансить», определить свою ставку может быть нелегкой задачей. Если вы переходите с работы на полную ставку, не стоит просто пересчитывать эту ставку на часы: так вы будете работать над большим количеством проектов невысокого качества, потребляющих много времени, и при этом питаться лапшой быстрого приготовления. Помните, что теперь вы бизнесмен. У вас куда больше обязанностей, чем только написание кода, и это должно отражаться на вашей ставке.
Факторы, влияющие на вашу ставку, это годы вашего опыта, уровень навыков, расположение, объем и сложность проекта. Сделайте небольшое исследование чтобы понять, сколько берут за работу другие фрилансеры вашего региона со сходным опытом и навыками. Как только у вас за плечами окажется несколько проектов или если вы уже опытный разработчик, вы можете пересмотреть свою ставку и привести ее в соответствие. Более высокие ставки имеют тенденцию привлекать клиентов более высокого класса, повышать удовлетворение работой и ведут к карьерному росту.