«Твої навички нікому не потрібні, якщо не можеш їх продати». Розробник - про особливості роботи на фрилансі

Сергій Дименко — PHP і Python-розробник, який вже чотири роки працює суто на фрилансі. Каже, що сьогодні йому достатня працювати 20 робочих годин на тиждень, щоб коштів вистачало на життя й подорожі.

Про ті, чому змінив стабільну офісну роботу на фріланс, про труднощі у цій сфері й ті, чи планує влаштовуватися в компанію, Сергій розповів в інтерв'ю DOU.

У Данії працював у Королівській бібліотеці

Про роботу в офісі

До 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% щось змінить у ТЗ. Зазвичай це результат поганого менеджменту з боку фрілансера.

Наведу гіпертрофований приклад того, що буде, якщо людині бракує досвіду. На фрилансі вона продає свій годину втричі дорожче за зарплату, альо:

У підсумку розробник продавши свій годину втричі дорожче, але загалом витратив на проєкт понад три місяці. Виходить, реальний дохід буде менших за заробітну плату в офісі.

Ці цифри, звісно, умовні. В когось є навички, альо прокрастинація бере своє, дехто багато годин налаштовується на спілкування із замовником чи має вивчити, що таке Amazon Web Services. Гарний менеджер зможе продати годину на написання кошторису, тестування та інше. Але для цього потрібен досвід, якого середньостатистичному розробнику бракує.

На старті не вистачає і навичок, щоб переводити замовника з категорії тимчасового у категорію постійного. Адже зазвичай клієнт приходити із забаганками, а ти маєш зробити продукт, що подобатиметься йому та ЦА. Якщо є менеджерський досвід, клієнту можна продати реалізацію проєкту, яку б він точно не сформулював чи навіть не уявляв у мріях, адже нерідко його бачення помилкове. І якщо фрілансер просто виконує побажання, то проєкт точно не злетить, стартап закриється, а клієнт наступні роки відкладатиме гроші на нову спробу. І є сумніви, що знову звернеться до вас.

Робота в грецькому кафе, 2018 рік

Про формування ціни на послуги

Проєкт може бути нескінченним. Того оплату я беру або погодинну, або за спринт. Рейт залежить від того, чи клієнт оплачує весь годину. Наприклад, якщо не хоче платити за тестування та багфіксинг, тоді я закладаю ціну на 20% вищу, бо час на виправлення помилок все одне буде витрачено.

Спринт узгоджується, до прикладу, в Jira. У шкірного тікета є кошторис. Зазвичай я беру гроші за менеджмент. Це означає, що шлях від нотування та аналізу вимог до узгодження кошторису має оплачувати замовник. Але знаю багато фрилансерів і компаній, які це роблять безкоштовно.

Ціну на послуги почав підвищувати з годиною. Зрозумів, що знання дають можливість реалізувати новий функціонал швидше. Ті, що на старті зайняло б вісім годин, тепер займає дві. Але, звісно, я не кажу замовнику, що можу працювати швидше в чотири рази, й тому він має платити в чотири рази більше. Треба шукати баланс.

Питання рейту завжди нагадує мені історію про талановиту дівчинку, яка працювала поряд зі мною у коворкінгу. Вона знала все про все, будь-які новини фрілансу, і я дивувався, звідки в неї годину, щоб це читати. Потім з'єднання ясував, що дівчина працювала за $50 на годину й могла знайті клієнтів на 3-4 години щомісяця. Цих грошей їй вистачало на коворкінг і проїзд. На моє питання, чому вона не знизить ціну, відповідала щось на кшталт: «Вони буржуї, нехай платять багато». Так робити не варто.

Щомісяця я рахую реальний рейт: дохід ділю на годину, який витратив на роботу чи пов'язану з нею діяльність, включно з навчанням, пошуком клієнтів, витратами на транспорт, обід тощо. Реальний рейт можна підвищити тайм-менеджментом в рази.

Фріланс дає змогу отримувати стабільний дохід. Але найбільша проблема — це часткова зайнятість. Наприклад, на проєкті роботи на 20 годин на тиждень. Знайте стабільний part-time важко, якщо братися додатково за full-time, виходить 60 робочих годин на тиждень. Забагато. В такі періоди я зазвичай отримую нові скіли. Щоб вистачало на життя, мені достатня працювати 20 годин на тиждень, але на пенсію та деякі мандрівки грошів може не стати. Рік за роком я працюю все менше, якщо рахувати в годинах, але заробляю плюс-мінус ту саму суму, яка покриває всі мої потреби.

Про баланс між життям і роботою

Я працюю щодня мінімум дві години, щоб тримати себе в тонусі. З роками зрозумів: лекше працювати п'ять годин сім днів на тиждень, ніж три дні по дванадцять годин або в інших пропорції. Як на мене, ефективність роботи, коли ти працюєш понад шість годин на день, суттєво знижується. Тому намагаюся цього унікати. Востаннє перепрацьовував в березні цього року, коли біг гірський ультрамарафон увесь вікенд. Вирішив зробити собі фору, щоб не думати про роботу щонайменше пів тижня.

Пам'ять пам'ятаю, в перший рік фрілансу виробив звичку: у годину, коли не відпочиваю на 110%, працюю або навчаюся. Довелося багато чого оптимізувати. На старті фрилансерського життя працював у поїздах, аеропортах, автобусах і ресторанах, поки чекав на замовлення. Тобто весь час, який через певні обставини не міг приділити собі, займався справами, щоб вивільнити години на повноцінний відпочинок. Якщо не міг відпочити, то змушував себе. Наприклад, ходів у кіно щодня в обід, щоб розділити робочий день на дві частини, їздив на всі великі концерти або купував авіаквиток будь-куди, де ще не бував. Поділ годині на «відривайся або працюй» мав згубні довготермінові наслідки, але сильно змінив моє життя. Колись для того, щоб заробити більше, я «оптимізовував» друзів, прогулянки, світанки. Тобто банально відмовлявся від них. Через це утворилася певна порожнеча. Тепер від цього концепту трохи відійшов.

Наразі, якщо відчуваю емоційне вигорання, намагаюся щось змінити у житті. Опановую новий скіл або шукаю нове захоплення. Стараюся ставити цілі на місяць вперед і більше, які змушують рухатися далі. Також аналізую дані трекера, який вимірює час, змінюю баланс: інколи треба більше відпочити, а інколи — попрацювати. Якщо нічого не допомагає, вирушаю у мандри.

У 2018-му відвідував Арабські Емірати. На фото — у Dubai Mall

Про професійний розвиток і керування часом

Від здатності правильно розпоряджатися часом залежить дуже багато. Коли для «підтримки штанів» достатня працювати 2-3 години на день, решту часу можна інвестувати у власний розвиток. Головне — щось робити, кудись рухатися, а ще краще мати план розвитку, інакше болото засмокче.

Розвиток — найбільша проблема фрилансерів, бо з годиною смороду або деградують, або знання стають непотрібними на ринку. Адже є спокуса робити тільки те, що добре виходить, заробляти більше, а решту часу витрачати на себе. У такому разі за кілька років фрілансер не знайде собі місця на ринку.

Щоб уникнути сумних наслідків, у період часткової зайнятості колекціоную сертифікати. Зазвичай це щось з Artificial Intelligence, Machine Learning, Data Science, розробки під mobile.

Якщо у вас є досвід менеджера, можна наполягти на використанні нового фреймворку або бібліотеки, щоб вивчити щось нове коштом клієнта. Звісно, для цього треба бути експертом, аби не підписатися на ті, що не здатен довести до кінця.

На офісній роботі ти змушений розвиватися — часто завдяки досвіду колег. Коли працюєш на себе, треба змушувати себе вивчати щось нове. За це не платять, але шкірного кварталу я виділяю певну кількість годин на розвиток.

Щоб не загубитися в часі, використовую кілька програм для планування. Для розуміння, що й коли маю зробити, є Google-календар. Ще є Scrum-дошка зі стікерів на стіні, там тікети з усіх сфер життя: дозвілля, спорт, робота.

Крім того, встановив тайм-трекер — записую все, що займає понад 15 хвилин. Це допомагає зрозуміти, який баланс між проєктами, навчанням, розвагами, особистим життям тощо був за останній період, і чи не час щось змінити.

Більшість проєктів у мене на Jira та Bitbucket. Обидва — Atlassian, які гарно інтегруються. Хоча клієнти бувають різні.

Робота з Ice Bar у Копенгагені

Про вдалі та провальні проєкти

Я завжди намагаюся підписувати договір про співпрацю. Хоча досвід показує, що такі документи здебільшого убезпечують замовника, а не виконавця. Зазвичай майже будь-які проблеми можна розв'язків зв'язати, якщо з обох боків сидять гарні менеджери, але таке буває рідко. Як правило, розробник — поганий PM, а замовник не експерт у темі, іноді просто фантазер. Є тисячі замовників, які мріють створити новий Facebook за $1000, і є тисячі фрилансерів, які беруться за реалізацію соціальної мережі у WordPress. Ці люди справді існують, їх багато, і вони знаходять одне одного. І завжди одна зі сторін буде незадоволена.

Про мої проєкти багато розповідати не дозволяє договір про NDA. У загальних рисах скажу, що працював над ML-проєктом, NLP, з величезними обсягами даних і купою оптимізації, з використанням алгоритмів, про які раніше тільки читав. Такі проєкти для мене рідкість, тому вони є ятовуються найкраще.

Бували й невдалі приклади у практиці. Інколи рейт непрогнозовано падав. Наприклад, з'єднання являлася фронтенд-розробка, яку я не тільки не люблю, але й неефективно витрачаю на неї годину. Або вимоги до документації були надзвичайно високі, а доплачувати клієнт не хотів. Чі обчислення на моєму стейджингу стали занадто дорогими, бо клієнт хотів працювати на реальних, а не тестових даних. Траплялося, що клієнт прагнув комунікувати по дві години щодня. Є багато таких прикладів, і коли реальний рейт падає, я намагаюся закінчити співпрацю, бо змінити підписані умови зазвичай неможливо.

Як бути з негативними ситуаціями, однозначно сказати не можу. Єдиного рецепту немає. Кожен індивідуальний проєкт, варто зрозуміти, чому заказчик це робить і що з цим робити мені. Рекомендую витрачати більше часу та активно комунікувати з клієнтом до підписання контракту, щоб оцінити його адекватність і власні можливості. З останнім у фрилансерів нерідко бувають проблеми, адже вони обіцяють неможливе, коли відчувають великий куш. Треба бути чесними та не вірити в казки й діва. Завжди варто розуміти: що більший рейт, то вищі очікування замовника, і не тільки від коду, а й загалом від роботи над проєктом, а вам може забракнути досвіду в багатьох сферах.

Про (не)бажання повернутися в офіс

З фрілансом у мене дві проблеми:

  1. Недостатньо грошей відкладаю на пенсію, бо багато мандрую світом.
  2. Хочу перейти в AI (ML), але це зазвичай R&D-проєкти, де фрілансерам не місце. Їх «зі скрипом» продають великі компанії, а окремому невідомому part-time девелоперу точно не довірять.

Це підштовхує до думок про постійну роботу в офісі. Альо все йде по замкненому колу:

Пункт № 1. Восени замислююся, що годину шукати роботу. Розумію, що скоро зима, а я звик до гірськолижного сезону протягом 2-3 місяців. Відкладаю питання на весну.

Пункт № 2. У березні повертаюся з гір і розумію, що треба полетіти на серфінг, бо змерз за ці холодні місяці. Планую подорож, купую квитки на два місяці, бо вони дорогі й брати на менше просто не вигідно.

Пункт № 3. Вертаюся в явились в місті у. Знову згадую про роботу. Альо тут підвертається якийсь марафон у Греції чи трейл в Альпах. А потім починаються новини, куди приїжджають улюблені гурти.

Пункт № 4. Про роботу я згадую у жовтні, а далі... далі вертаюся до пункту № 1.

Колись у мене був план вийти на пенсію у 50 років, інвестувати кошти у щось, аби вже не працювати. Я проваливши цей план з кількох причин: складна ситуація у країні, багато коштів віддавав на армію, крім того, я з Харкова, де інвестувати в нерухомість страшно, бо «рускій світ» може прийти будь-якої миті й усі інвестиції обнулятиметься. Тому багато мандрую світом замість того, щоб заощаджувати.

Звісно, влаштуватися на галеру і 15 років стояти за конвеєром було б фінансово вигідніше. Можливо, я б уже забезпечив собі пенсію. Але думка, що я марную життя на діяльність, яка не подобається, для мене нестерпна. І жодні «плюшки» не можуть цього змінити.

Після Майдану взагалі з'єднання явилося відчуття, що маю жити за двох: за себе й хлопця, який стояв поряд і був убитий. Смерть дуже змінює світосприйняття, і марнувати годину ти вже просто не можеш.

Селфі з Грузії, 2018 рік

Три поради тим, хто хоче перейти на фріланс

  1. Багато друзів на початку кар'єр кур'єри бралися за відверто невигідні проєкти, щоб здобути репутацію. Перші кроки у кожного різні, треба аналізувати й працювати над прогалинами в знаннях. Я не рекомендую переходіті на фріланс недосвідченим фахівцям, бо розробникі з Індії затиснуть демпінгом. Спочатку треба стати експертом у сфері, в якій працюєш, щоб не боротися за шматок хліба з тімі, хто ладен працювати за долар на годину. А такі є, і їх багато!
  2. Раджу спробувати себе на фрилансі, поки працюєте в офісі. Так побачите, в чому бракує досвіду і зможете його набратися у колег офлайн. Це набагато ефективніше, ніж засвоювати інформацію онлайн.
  3. Розвивайтеся в напрямі, який дає більше драйву і де менша конкуренція на ринку. Знання алгоритмів, машинного навчання та статистики дають суттєву перевагу на ринку фрілансу, бо з математикою у 90 % шукачів величезні проблеми.

Опубліковано: 10/08/20 @ 07:00
Розділ Різне

Рекомендуємо:

Реалити: инфо-сайт, отчет #4
Королев — новый поисковый алгоритм от Яндекса
Як правильно заповнювати LinkedIn-профіль джуніору і сеньйору. Детальна інструкція
Не Unity єдиним, або Як ми в Playrix розробляли свій движок
Вигідне географічне розташування та розвинена ІТ-сфера: Дніпро очима упередженого місцевого програміста