Сергей Дыменко — PHP и Python-разработчик, который уже четыре года работает исключительно на фрилансе. Говорит, что сегодня ему достаточно работать 20 рабочих часов в неделю, чтобы средств хватало на жизнь и путешествия. О том, почему сменил стабильную офисную работу на фриланс, о трудностях в этой сфере и о том, планирует ли устраиваться в компанию, Сергей рассказал в интервью DOU.UA. Приводим перевод интервью.
О работе в офисе
До 2014 года я часто менял стек технологий, каждый раз начинал с нуля. Работал еще в FoxPro 2 (DOS-версия) в начале нулевых. Программировать веб (речь о PHP 3/4, Flash), во времена dial-up модема и оптимизировать каждый байт было неинтересно, но через 10 лет я вернулся в веб. У меня есть диплом бухгалтера, поэтому писал софт для бухгалтеров и менеджеров. Языков было много, но сейчас ни один не используется: Delphi, C ++ Builder, 1С. Перепробовал «креативные» профессии (реклама, PR, неправительственные организации), однако разочаровался. Там люди не развиваются. Поэтому вернулся в IT. После революции был в штате компании DA-14, откуда уволился летом 2016-го.
На последней работе отпуск был десять дней в году. Мне, мягко говоря, было мало этого времени. Всегда стоял выбор между отдыхом зимой (сноуборд) и летом (музыкальные фестивали и море). Ни одна оптимизация не давала шансов на полноценный отдых, а работать удаленно не позволяли.
Поэтому 25 июля 2016 стало для меня новым праздником — днем, когда я стал фрилансером. С тех пор стал редко заходить на LinkedIn. Пожалуй, HRы обижаются, что я им отвечаю: «Спасибо, у меня все и так хорошо» через полгода после приглашения (смеется).
В программировании я уже более 10 лет. Сегодня мой стек — это PHP / Python.
О первых клиентах и нюансах работы на фрилансе
На старте искал рекомендации среди друзей, бывших заказчиков, партнеров. Кто-то кому-то меня порекомендовал, и я получил первые заказы.
Теперь проекты нахожу или через Upwork, или по рекомендациям. Стараюсь вести хотя бы один постоянный проект, даже за небольшой рейт, чтобы были гарантии, что на хлеб, соль и крышу над головой денег хватит. Чтобы было и на масло, ищу короткие подработки — за них больше платят. Но проект менее чем на 200 часов не рассматриваю. Иногда берусь за интересные задачи, например в Machine Learning, но ставлю небольшую цену, потому что опыта недостаточно — такая работа чисто для души. Это один из больших плюсов фриланса: делать не те проекты, которые скажет компания, а те, которые хочется.
Самое большое и самое банальное открытие — твои навыки никому не нужны, если ты их не можешь продать. Фриланс — это полноценный бизнес, но очень маленький, где ты сам должен выполнять все функции. Более 50% времени занимает менеджмент. А еще есть тестирование и DevOps. Получается, на разработку остается 30% времени.
Поэтому всегда говорю: если не любите менеджмент, тестирование и администрирование, не стоит переходить в фриланс. Аутсорсинговые компании приучили заказчиков, что они оплачивают время разработчика и получают бесплатно время PMа, администратора и тестировщика.
Если вам не хватает опыта, чтобы из общих фраз клиента написать и утвердить смету, согласовать стек технологий, то фриланс тоже не для вас. Я видел много хороших разработчиков, которые брали проекты на несколько недель, начинали имплементацию, а потом, например, понимали, что неправильно понимали слова заказчика. В результате двухнедельный проект становился трехмесячным, а человек вместо оплаченных 10 дней работал 60. Клиент в процессе всегда хочет что-то изменить или улучшить. Если не проговорить все нюансы до начала работ, не согласовать каждый пункт, то заказчик будет трактовать это в свою пользу и 100% что-то изменит в ТЗ. Обычно это результат плохого менеджмента со стороны фрилансера.
Приведу гипертрофированный пример того, что будет, если человеку не хватает опыта. На фрилансе он продает свое время втрое дороже зарплаты, но:
- 100 часов уходит на работу сэйлза.
- 170 — на менеджмент. То, что делает профессиональный PM за неделю, человек без опыта сделает за месяц, ведь нужно пройти путь от пожеланий заказчика до утвержденных тикетов и спринтов.
- 170 часов займет разработка (за которую фрилансеру и заплатили).
- 170 часов пойдет на DevOps, тестирование, исправление багов и финальные замечания.
В итоге разработчик продал свое время втрое дороже, но в целом потратил на проект более трех месяцев. Получается, реальный доход будет меньше заработной платы в офисе.
Эти цифры, конечно, условные. У кого-то есть навыки, но прокрастинация берет свое, кто-то много часов настраивается на общение с заказчиком или должен изучить, что такое Amazon Web Services. Хороший менеджер сможет продать время на написание сметы, тестирование и прочее. Но для этого нужен опыт, которого среднестатистическому разработчику хватает.
На старте не хватает и навыков, чтобы переводить заказчика из категории временного в категорию постоянного. Ведь обычно клиент приходит с прихотями, а ты должен сделать продукт, который понравится и ему, и ЦА. Если есть менеджерский опыт, клиенту можно продать реализацию проекта, которую он точно не сформулировал бы или даже не представлял в мечтах, ведь нередко его видение ошибочно. И если фрилансер просто выполняет пожелания, то проект точно не взлетит, стартап закроется, а клиент последующие годы будет откладывать деньги на новую попытку. И есть сомнения, что снова обратится к вам.
О формировании цены на услуги
Проект может быть бесконечным. Поэтому оплату я беру или почасовую, или за спринт. Рейт зависит от того, оплачивает ли клиент все время. Например, если не хочет платить за тестирование и багфиксинг, тогда я закладываю цену на 20% выше, потому что время на исправление ошибок все равно будет потрачено.
Спринт согласуется, к примеру, в Jira. У каждого тикета есть смета. Обычно я беру деньги за менеджмент. Это означает, что путь от записи и анализа требований до согласования сметы должен оплачивать заказчик. Но знаю много фрилансеров и компаний, которые это делают бесплатно.
Цену на услуги начал повышать со временем. Понял, что знания дают возможность реализовать новый функционал быстрее. То, что на старте заняло бы восемь часов, теперь занимает два. Но, конечно, я не говорю заказчику, что могу работать быстрее в четыре раза, поэтому он должен платить в четыре раза больше. Надо искать баланс.
Вопрос рейта всегда напоминает мне историю о талантливой девочке, которая работала рядом со мной в коворкинге. Она знала все обо всем, любые новости фриланса, и я удивлялся, откуда у нее время, чтобы это читать. Потом выяснил, что девушка работала за $50 в час и могла найти клиентов на 3-4 часа ежемесячно. Этих денег ей хватало на коворкинг и проезд. На мой вопрос, почему она не снизит цену, отвечала что-то вроде: «Они буржуи, пусть платят много». Так делать не стоит.
Ежемесячно я считаю реальный рейт: доход делю на время, которое потратил на работу или связанную с ней деятельность, включая обучение, поиск клиентов, затраты на транспорт, обед и тому подобное. Реальный рейт можно повысить тайм-менеджментом в разы.
Фриланс позволяет получать стабильный доход. Но самая большая проблема — это частичная занятость. Например, на проекте работы на 20 часов в неделю. Найти стабильный part-time трудно, а если браться дополнительно за full-time, выходит 60 рабочих часов в неделю. Много. В такие периоды я обычно приобретаю новые скиллы. Чтобы хватало на жизнь, мне достаточно работать 20 часов в неделю, но на пенсию и некоторые путешествия денег может не хватить. Год за годом я работаю все меньше, если считать в часах, но зарабатываю плюс-минус ту же сумму, покрывающую все мои потребности.
О балансе между жизнью и работой
Я работаю каждый день минимум два часа, чтобы держать себя в тонусе. С годами понял: легче работать пять часов семь дней в неделю, чем три дня по 12 часов или в других пропорциях. Как по мне, эффективность работы, когда ты работаешь более шести часов в день, существенно снижается. Поэтому стараюсь этого избегать. Последний раз перерабатывал в марте этого года, когда бежал горный ультрамарафон весь уикенд. Решил сделать себе фору, чтобы не думать о работе как минимум полнедели.
Помню, в первый год фриланса выработал привычку: во время, когда не отдыхаю на 110%, я работаю или учусь. Пришлось многое оптимизировать. На старте фрилансерской жизни работал в поездах, аэропортах, автобусах и ресторанах, пока ждал заказ. То есть все время, которое в силу определенных обстоятельств не мог уделить себе, занимался делами, чтобы высвободить время на полноценный отдых. Если не мог отдохнуть, то заставлял себя. Например, ходил в кино каждый день в обед, чтобы разделить рабочий день на две части, ездил на все большие концерты или покупал авиабилет туда, где еще не бывал. Разделение времени на «отрывайся или работай» имело пагубные долгосрочные последствия, но сильно изменило мою жизнь. Когда-то для того, чтобы заработать больше, я «оптимизировал» друзей, прогулки, рассветы. То есть банально отказывался от них. Из-за этого образовалась определенная пустота. Теперь от этого концепта немного отошел.
Сейчас, если чувствую эмоциональное выгорание, пытаюсь что-то изменить в жизни. Осваиваю новый скилл или ищу новое увлечение. Стараюсь ставить цели на месяц вперед и более — цели, которые заставляют двигаться дальше. Также анализирую данные трекера, измеряющего время, меняю баланс: иногда надо больше отдохнуть, а иногда — поработать. Если ничего не помогает, отправляюсь в путешествие.
О профессиональном развитии и управлении временем
От способности правильно распоряжаться временем зависит очень многое. Когда для «поддержки штанов» достаточно работать 2-3 часа в день, остальное время можно инвестировать в собственное развитие. Главное — что-то делать, куда-то двигаться, а еще лучше иметь план развития, иначе болото засосет.
Развитие — самая большая проблема фрилансеров, так как со временем они либо деградируют, либо знания становятся ненужными на рынке. Ведь есть соблазн делать только то, что хорошо получается, зарабатывать больше, а остальное время тратить на себя. В таком случае через несколько лет фрилансер не найдет себе места на рынке.
Чтобы избежать печальных последствий, в период частичной занятости коллекционирую сертификаты. Обычно это что-то из Artificial Intelligence, Machine Learning, Data Science, разработки под mobile.
Если у вас есть опыт менеджера, можно настоять на использовании нового фреймворка или библиотеки, чтобы изучить что-то новое за счет клиента. Конечно, для этого надо быть экспертом, чтобы не подписаться на то, что не способен довести до конца.
На офисной работе ты вынужден развиваться — часто благодаря опыту коллег. Когда работаешь на себя, надо заставлять себя изучать что-то новое. За это не платят, но каждый квартал я выделяю определенное количество часов на развитие.
Чтобы не потеряться во времени, использую несколько программ для планирования. Для понимания, что и когда должен сделать, есть Google-календарь. Еще Scrum-доска со стикерами на стене, там тикеты из всех сфер жизни: досуг, спорт, работа.
Кроме того, установил тайм-трекер — записываю все, что занимает более 15 минут. Это помогает понять, какой баланс между проектами, обучением, развлечениями, личной жизнью и т.д. был за последний период, и не пора ли что-то изменить.
Большинство проектов у меня на Jira и Bitbucket. Оба — Atlassian, которые хорошо интегрируются. Хотя клиенты бывают разные.
Об удачных и провальных проектах
Я всегда стараюсь подписывать договор о сотрудничестве. Хотя опыт показывает, что такие документы в основном защищают заказчика, а не исполнителя. Обычно почти любые проблемы можно решить, если с обеих сторон сидят хорошие менеджеры, но такое бывает редко. Как правило, разработчик — плохой PM, а заказчик не эксперт в теме, иногда просто фантазер. Есть тысячи заказчиков, мечтающих создать новый Facebook за $ 1000, и есть тысячи фрилансеров, которые берутся за реализацию социальной сети в WordPress. Эти люди действительно существуют, их много, и они находят друг друга. И всегда одна из сторон будет недовольна.
О моих проектах много рассказывать не позволяет договор о NDA. В общих чертах скажу, что работал над ML-проектом, NLP, с огромными объемами данных и кучей оптимизации с использованием алгоритмов, о которых раньше только читал. Такие проекты для меня редкость, поэтому они запоминаются лучше.
Были и неудачные примеры на практике. Иногда рейт непредсказуемо падал. Например, появлялась фронтенд-разработка, которую я не только не люблю, но и неэффективно трачу на нее время. Или требования к документации были чрезвычайно высоки, а доплачивать клиент не хотел. Или вычисления на моем стейджинге стали слишком дорогими, потому что клиент хотел работать на реальных, а не тестовых данных. Случалось, что клиент хотел коммуницировать по два часа ежедневно. Есть много таких примеров, и когда реальный рейт падает, я стараюсь закончить сотрудничество, потому что изменить подписанные условия обычно невозможно.
Как быть с негативными ситуациями, однозначно сказать не могу. Единого рецепта нет. Каждый проект индивидуален, стоит понять, почему заказчик это делает и что с этим делать мне. Рекомендую тратить больше времени и активно коммуницировать с клиентом до подписания контракта, чтобы оценить его адекватность и собственные возможности. С последним у фрилансеров часто бывают проблемы, ведь они обещают невозможное, когда чувствуют большой куш. Надо быть честными и не верить в сказки и чудеса. Всегда следует понимать, что чем больше рейт, тем выше ожидания заказчика, и не только от кода, но и вообще от работы над проектом, а вам может не хватить опыта во многих сферах.
О (не) желании вернуться в офис
С фрилансом у меня две проблемы:
- Недостаточно откладываю на пенсию, потому что много путешествую по миру.
- Хочу перейти в AI (ML), но это обычно R&D-проекты, где фрилансерам не место. Их «со скрипом» продают крупные компании, а отдельному неизвестному part-time девелоперу точно не доверят.
Это подталкивает к мысли о постоянной работе в офисе. Но все идет по замкнутому кругу:
Пункт № 1. Осенью задумываюсь, что время искать работу. Понимаю, что скоро зима, а я привык к горнолыжному сезону на протяжении 2-3 месяцев. Откладываю вопрос на весну.
Пункт № 2. В марте возвращаюсь с гор и понимаю, что надо улететь на серфинг, потому что замерз за эти холодные месяцы. Планирую путешествие, покупаю билеты месяца на два, потому что они дорогие и брать на меньший срок просто не выгодно.
Пункт № 3. Возвращаюсь в мае. Опять вспоминаю о работе. Но здесь подворачивается какой-нибудь марафон в Греции или трейл в Альпах. А потом начинаются фестивали, куда приезжают любимые группы.
Пункт № 4. О работе я вспоминаю в октябре, а дальше… дальше возвращаюсь к пункту № 1.
Когда-то у меня был план выйти на пенсию в 50 лет, инвестировать средства в то, чтобы уже не работать. Я провалил этот план по нескольким причинам: сложная ситуация в стране, много средств отдавал на армию, кроме того, я из Харькова, где инвестировать в недвижимость страшно, потому что «русский мир» может прийти в любой момент и все инвестиции обнулятся. Поэтому много путешествую по миру вместо того, чтобы экономить.
Конечно, устроиться на галеру и 15 лет стоять за конвейером было бы финансово выгоднее. Возможно, я бы уже обеспечил себе пенсию. Но мысль, что я трачу жизнь на деятельность, которая не нравится, для меня невыносима. И никакие «плюшки» не могут этого изменить.
После Майдана вообще появилось ощущение, что должен жить за двоих: за себя и парня, который стоял рядом и был убит. Смерть очень меняет мировосприятие, и тратить время зря ты просто не можешь.
Три совета тем, кто хочет перейти на фриланс
- Многие друзья в начале карьеры брались за откровенно невыгодные проекты, чтобы получить репутацию. Первые шаги у каждого разные, надо анализировать и работать над пробелами в знаниях. Я не рекомендую переходить на фриланс неопытным специалистам, поскольку разработчики из Индии зажмут демпингом. Сначала надо стать экспертом в области, в которой работаешь, чтобы не бороться за кусок хлеба с теми, кто готов работать за доллар в час. А такие есть, и их много!
- Советую попробовать себя на фрилансе, пока работаете в офисе. Так увидите, в чем не хватает опыта, и сможете его набраться у коллег офлайн. Это гораздо эффективнее, чем усваивать информацию онлайн.
- Развивайтесь в направлении, которое дает больше драйва и где меньше конкуренция на рынке. Знание алгоритмов, машинного обучения и статистики дают существенное преимущество на рынке фриланса, потому что с математикой у 90% соискателей огромные проблемы.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]