Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Як поєднувати full-time та фриланс. Досвід і поради розробника

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

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

Чому я обрав фриланс

Через бажання знайти те, що мені найбільше підходить, технічний бекграунд чи зовнішні впливи мені доводилося працювати на різних роботах і в діаметрально протилежних напрямах. Завдяки такому «зоопарку» навичок, широкому кругозору та бажанню постійно вчитись і пізнавати нове я дійшов думки, що приказка «За двома зайцями поженешся — жодного не впіймаєш» насправді не така вже й правдоподібна: спростовував її неодноразово.

Я навчався на радіотехнічній спеціальності й не помічав, що програмування може розв’язати кілька важливих проблем для студента, як-от отримання необхідного стажу, щоб далі влаштуватися на роботу в пристойну IT-компанію, і заробляння грошей, щоб мати фінансову свободу. Я пропрацював рік у науково-дослідному інституті, а тоді з’ясував, що деякі мої друзі піднімають на фрилансі більше, ніж становить моя місячна зарплата лаборанта у 700 гривень.

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

Першим моїм підробітком стала контекстна реклама. Як зараз пам’ятаю, як з викладачем ми налаштовували Google Adwords та Google Analytics для одного інтернет-магазину, що займався сантехнікою.

До речі, цей викладач завдяки фрилансу купив собі і автомобіль, і квартиру. Разом з кількома товаришами він займався контекстною рекламою.

Здавалося, що шлях доволі успішний. Однак були «але», зокрема:

  • відсутність того, хто допоможе хоча б порадою;
  • неможливість взяти замовлення самостійно без більш вмілого та прокачаного компаньйона.

Тому я змінив свій напрям діяльності на DSP та математичне моделювання і, як показав час, усе зробив правильно.

Шлях до роботи мрії

Як уже згадував, я займаюся цифровою обробкою сигналів (DSP). І більша частина моїх завдань — це оптимізація алгоритмів для спеціалізованих процесорів, що можуть обробляти ці алгоритми надзвичайно ефективно. Assemler, MAC operations, Vector operations, FFT, DCT, FIR, IIR, Calling conventions, Circular Buffers — це все, з чим мені доводиться мати справу кожного дня.

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

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

Було кілька шляхів, як це вирішити:

  • піти та просити підвищення зарплати чи підвищення на посаді;
  • знайти більш оплачувану роботу;
  • взяти додаткову роботу.

Перший варіант не розглядав, бо зарплату мені підвищили місяць тому, а мого реального досвіду було замало, щоб обіймати більш відповідальну посаду в компанії.

Знайти більшу оплачувану роботу — це вже реальніше, але довго. Зазвичай пошук триває кілька місяців або більше, особливо зваживши на те, що я DSP Engineer, а це не дуже популярно в Україні. Отже, залишився третій варіант.

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

Чи витратити купу часу на завдання і не виконати його тому, що некомпетентний або недостатньо досвідчений. Ти можеш некоректно оцінити роботу і попросити занадто багато чи мало грошей. Де краще — це риторичне питання, є свої «за» і «проти» на кожній стороні барикад.

Одне із перших моїх завдань на Freelancehunt було з MATLAB: звичайна курсова робота для аноніма-іноземця. Отже, я реалізував методи пошуку мінімуму та максимуму у функціях. Вивів графіки та знайдені точки. Замовнику не сподобалось, як я вивів ці точки, бо потрібно було не жирними крапками, а зірочками :)

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

Приклад невдалого оцінювання проєкту та поради початківцям

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

Отже, я взявся за завдання реалізації інверсного маятника — це той самий гіроскутер, де треба розв’язати питання балансування, спираючись на кут нахилу їздця. Потрібно було побудувати його математичну модель, перевести в диференціальні рівняння, потім диференціальні рівняння представити за допомогою перетворення лапласа, лінеалізерувати ріняння, перейти у простір станів.

Коли я глянув на завдання вперше, витратив на його осмислення близько 15 хвилин. Я оцінив роботу у $100 та час у 7 днів. Це була перша помилка. Далі я подивився приклади рішень інверсного маятника на практиці в інтернеті. Серед іншого можна шукати наукові статті на Researchgate.

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

Мені довелось відмовитися від завдання. Коли я спокійно все проаналізував, з’ясував, що навіть знаючи, як усе робити, я витратив би на завдання щонайменше два тижні, а не один. Оскільки ще були проблеми з математичним апаратом, то цей час можна сміливо множити на два.

Висновки із цього прикрого випадку:

  • Оцінюйте завдання неквапливо, зважте на можливі труднощі у виконанні.
  • Не беріть завдання на вчора. Це погана практика, що поєднується з мізерним бюджетом і замалим часом не виконання.
  • Не кидайтесь стрімголов на завдання, де не розумієте хоча б половини того, що потрібно знати.
  • Не зваблюйтеся великими грошима.
  • Завдання не подобається — не беріть. Воно не варте тих нервів і часу.
  • Обов’язково закладайте додатковий час на виконання при оцінюванні роботи. Його тривалість залежить від завдання. На жаль, немає формули, усе ситуативно.

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

Як зрозуміти, чого хоче клієнт

Можливо, це один із найскладніших етапів, і досвід у виконанні завдань тут грає на руку.

Отже, був у мене проєкт, у якому потрібно було виконати завдання з орієнтації соматосенсорної рукавички у просторі в реальному часі для відфільтрування даних з датчиків, а саме акселерометра та гіроскопа. Треба було використовувати фільтр Калмана, бажано було ще знайти шлях, який пройшла рукавичка з точки А в точку В. Для цього була сама рукавичка, яку я отримав з Лейпцига, та MATLAB.

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

Трохи порадився з посередником і полистувався з клієнтом і вирішив, що той не розуміє навіть 40% того, що хоче. Хоча знає багато крутих слів. Тобто у нього було лише уявлення, який це має мати вигляд, але як робити — ні.

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

Отже, якщо замовник погано розуміє, чого хоче, то може мати невиправдані витрати. Крім того, технічне завдання для виконавця може дуже змінитися. Наприклад, у візуалізації соматосенсонсорної рукавички в просторі довелося відмовитись від інверсної динаміки, оскільки це коштувало надто дорого.

Де я шукав роботу

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

FL.ru. Знайти роботу на фрилансі легше Web-програмістам, дизайнерам, перекладачам і рекламникам. Математичні алгоритми чи диференціальні рівняння, на жаль, тут не популярні.

Weblancer.net. Не знайшов на платформі релевантних моїм навичкам завдань.

Globalfreelance.ua. Потрібно виконати тестове завдання (я тричі зробив його невдало), є незрозумілий анонімний аукціон: тобто невідомо, скільки запропонував твій опонент за завдання, нема змоги моніторити ціни коректно.

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

Я використовую два варіанти:

  1. Freelancehunt та інші фриланс-сайти: є сейф (буфер), куди кладуть гроші за замовлення. Клієнт розуміє, скільки коштує робота, і викладає цю суму, що гарантує виконавцю оплату. Далі спеціаліст виконує завдання, після завершення викликає посередника — адміністратора чату. Той переконується, що все гаразд, і дає згоду на пересилання грошей на внутрішній рахунок програміста. Недолік такого посередництва — комісія від замовлення, вона залежить від сайту та обсягу роботи.
  2. Сарафанне радіо: проєкт розбивається на кілька етапів, за кожний з них призначено винагороду. Таким чином захищений і спеціаліст, і замовник, немає спокуси не заплатити за завдання і не виконати його.

Скільки реально заробити

Це майже підприємницька діяльність — скільки хочеш, стільки й буде. Головне — досвід, бажання вчитись на своїх та чужих помилках і не боятися робити великі замовлення чи малі й не сильно грошовиті. За маленьким замовленням іноді стоїть великий замовник.

Наприклад, я зробив одному клієнту одновимірний фільтр Калмана за $50, йому сподобалось і він замовив весь проєкт за $1000.

Ставлення роботодавця до фрилансу

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

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

Його величність тайм-менеджмент

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

При режимі 12/12 хоч-не-хоч мусиш привчити себе до дисципліни. Кожна година стає цінною, адже тобі потрібно встигнути зробити дві роботи, а не одну.

Я для себе розробив такий графік:

7:00–8:00 прокинувся, фізичні вправи.

8:00–9:00 готую, їм.

9:00–10:00 дзвінки та координація дій на день із замовниками на фрилансі.

10:00–11:00 координація дій на роботі на день.

11:00–19:00 працюю.

Після 19:00, якщо не встигаю, то продовжую працювати до 20:00. Далі потрібно перемикатись на фриланс-завдання. До 22:00 займаюся ними. Відтак відпочинок та підготовка до сну.

«Гаразд, чіткий графік, дисципліна та бажання йти до мети дадуть мені змогу це все виконати», — думав я. Але не все так просто. Графік іноді «плаває», не завжди вдається зв’язатися із замовником у вказаний час. Якщо вже таке трапляється, то веду перемовини у робочий час. Парадоксально, але я навіть трохи вдячний карантину: тепер перемовини проходять вдома. Був випадок, коли на один і той самий час було два дзвінки, причому дуже важливих. Сидів на обох.

Проблеми, які розв’язував на фрилансі

Розповідати про завдання, які виконував як фрилансер, можна дуже довго. Думаю, за 3–4 роки можна буде зібрати довкола себе жовторотих студентів і розповідати кумедні історії про замовників і про себе. Забивши добряче люльку та відростивши бороду.

Отже, головні проблеми, які довелось вирішити, не беручи до уваги технічну частину:

  • Правильне оцінювання часу, що відводиться на завдання. Траплялося, що через неправильне оцінювання доводилося відмовлятися від завдання або проводити безсонні ночі біля комп’ютера.
  • Розуміння того, що від тебе хоче замовник. Це ціла наука, іноді сам замовник до кінця не розуміє, чого хоче. Доводиться показувати раніше виконані проєкти чи наводити приклади, щоб технічне завдання було сформовано не так абстрактно.
  • Переосмислення технічного завдання та виконання його не так, як хотів замовник із самого початку. Таке теж буває, але з цим потрібно бути обережним, щоб не переробляти назад.
  • Фраза «клієнт завжди правий» працює не на 100%. Буває, що сам клієнт не знає на 100%, чого хоче, і його уявляння щодо реалізації не завжди збігається з реальними можливостями. Спробую перефразувати: не потрібно дуже міняти технічне завдання та лізти в процес розробки. Це не дасть бажаного ефекту та буде тільки сповільнювати.

Кому варто спробувати фрилансити

Для тих, хто хоче:

  • довести собі, що вартий грошей, які отримує на роботі;
  • шукати пригод і хитрих замовників, що можуть кинути на гроші та час;
  • отримати досвід не тільки на постійному місці роботи;
  • дослідити ринок послуг і пропозицій. Я розглядаю фриланс і як перехідну зону до підприємницької діяльності. Ти Software Engineer/Project Manager/Team Lead/CEO в одному флаконі.

Поради

Коли працюєш по 12 годин на день, необхідно мати фізичну активність протягом дня. Чудово освіжає пробіжка на ніч, кров насичується киснем, а це позитивно впливає на мислення. Раджу також відтискання та вправи для спини. В YouTube є купа туторіалів, достатньо 30–40 хвилин фізичних вправ щодня, щоб чудово почуватися біля монітора.

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

Відпочивайте! Зробили завдання — подихайте свіжим повітрям, звільніть розум на хвильку від роботи і знову вперед.

Щодо технічної частини, то у кожного своя спеціалізація. Навчання у вільний час виправдовує себе на 120%. Ніколи не знаєш, що за навичка знадобиться на наступному завданні, все дуже варіативно.

Висновки

На звичайній роботі набагато спокійніше, немає завжди увімкненого турборежиму, коли шукаєш додаткове замовлення, щоб закинути грошей за квартиру чи ще на щось важливе. Круто, коли працюєш з 10-ї до 18-ї та в тебе все ок. Та бувають ситуації, коли потрібно робити щось понаднормове і таким чином підвищувати свій рівень життя. Важкий шлях до розуміння себе, своїх сильних і слабких сторін. Фриланс — це можливість перевірити, у чому ти кращий, у чому — гірший, чи правда те, що думаєш про себе.

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

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному6
LinkedIn

Схожі статті




41 коментар

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

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

Мені довелось відмовитися від завдання. Коли я спокійно все проаналізував, з’ясував, що навіть знаючи, як усе робити, я витратив би на завдання щонайменше два тижні, а не один.

Передоговориться за другие сроки и цену не получилось?

Ох е..
Так жить можно. Но зачем?

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

Мне кажется, оптимальный вариант full-time с почасовкой, с нормальным рейтом и лимитом часов 50-70 в неделю. Хочешь больше денег/интересно/скучно, можешь работать больше 40 часов и нет необходимости искать сторонние проекты, заказчиков и т.п.

У вас просто не было двух работ на которых в совокупности можно работать 45 в неделю)

А какая при этом мотивация иметь две работы, а не одну?

Почему бы те же финансы (или больше) не зарабатывать на одной работе?

Сколько можно заработать сеньйору на одной работе, максимум, по вашему?

Сначала я бы сказал define senior. А так $40-50/час вполне реально. Т.е. при 45 часах в неделю в среднем получится $6900-8625 в месяц. Ну и соответсвенно с повышением рейта и зп будет увеличиваться.

Посмотрите калькулятор ДОУ. Там таких ЗП и близко нету. 4-6 это вилка которую предлагают на киевских предприятиях коллективного кодирования. Чаще склоняется в сторону до 5.
По личным наблюдениям.

Возможно вы имели ввиду Фриланс?

Возможно. А что получается при двух работах и 45 часах в неделю?

Норм, конечно. Но если клиент готов 6к платить за 20 часов, может ему и 40 часов будет интересно? Но тут уже тонкости каждого клиента, наверное. Конечно, лучше две компании за 12к, чем одна за 8к при том же колличестве уделенного времени.

Но если клиент готов 6к платить за 20 часов

А чи буде він знати що платить за 20 а не за 40?)

Я не хотел явно в этом треде об этом писать дабы разумением своим не смущать начальство. А так да, выбор или работать по высокому рейту с полным погружением или нажухивать заказчика бытро клепая тривиальные задачки.

Может ещё быть финансово-эволюционная)
Допустим вам на работе А не пыльный саппорт. Но так как вы в теме вам платят довольно существенное жалование.
А вы хотите Новый стек.
Что делать?
Можно отдать концы на текущей, уйти на новую. Можно пойти на новую и подрабатывать на текущей. Старая работа — не пыльно спорится, новая даёт Новый стек.
Все конечно же зависит от личных предпочтений.

Если непыльный саппорт и норм денег, то норм, конечно. Но распыляться между несколькими проектами (особенно часто меняющимися) в долгосроке довольно напряжно.

Понимаю и соглашусь.
Имеет смысл если один из двух вялотекущий. Или опыт формокрафта позволяет делать задачи сильно быстрее)

опыт формокрафта позволяет делать задачи сильно быстрее

Типа биллить 8 часов, а работать 4?

Забыл ещё вот что — страховочная мотивация)
Например вам сильно нужны деньги, а запаса прочности нет. Ну так сложились обстоятельства. Фактически вы с трудом можете позволить себе месяц без работы. Не будем вдаваться в детали)

А сегодняшний аутсорс беспощаден)
Сегодня ты сеньйор, а завтра на морозе.
Два же проекта никогда(очень маловероятно) не загнутся в один месяц.

Ещё знающие бухгалтеры рекомендовали иметь «второго контрагента» чтобы налоговая не пришила вам трудовые отношения ;-)

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

Если так получается — только в путь)

Frilancehunt

Может у человека проблемы с английским, и нет проблем с немецким?

виправили, дякую за уважність!

Судя по графику, то личной жизни у ТСа нет :D девченки, налетай, ничейный девелопер XD

Тебе бы куда-нибудь в Теслу прособеседоваться. Они как раз под Берлином офис открыли.
А то какой-то фигней за копейки занимаешься.

FL.ru. Знайти роботу на фрилансі легше Web-програмістам, дизайнерам, перекладачам і рекламникам. Математичні алгоритми чи диференціальні рівняння, на жаль, тут
не популярні.

Вы серьезно? Работать на рашкованских ватников в условиях открытой агрессии России против Украины? Или «фрилансеры вне политики», как и проститутки из шоу биза?

Наконец хоть кто-то по сути написал.

ну хто із справжніх фрилансерів буде здавати хлібні місця? )

Теруъ специалисты не боятся конкуренции 😁

Лучше не совмещать фриланс и фулл-тайм.

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

Круто, отличная школа для любого IT-предпринимателя.

Підписатись на коментарі