Zawód-programista. Zawód-freelancer. Przestrogi.

13

Minęło circa około ~300 dni od kiedy zostałem freelancerem. Przez ten czas dość regularnie otrzymywałem od Was pytania typu “jak to jest?”, “jak zacząć?”, “jakie są plusy i minusy?”… Czas więc na krótkie zerknięcie wstecz i spisanie kilku porad dla tych, którzy myślą o przejściu na “swoje” i pracy w domu.

Freelancowanie może wydawać się szczytem zawodowej rozkoszy, jednak nie wolno myśleć o nim z klapkami na oczach. Przez nierozsądne podejście do tematu można się nieźle sparzyć. Mam nadzieję, że po lekturze tego posta każdemu freelance-wannabe łatwiej z gardzieli wydostanie się kwestia: “ja, mega-ziom, świadomy praw i obowiązków…” A innym razem postaram się bez zrzędzenia napisać dlaczego udany freelancing JEST szczytem zawodowej rozkoszy :).

Za przewodnią mądrość poniższych wywodów można uznać jakże skomplikowane w swej prostocie stwierdzenie… które właśnie przyszło mi do głowy:

Lepszy późniejszy start, niż falstart.

Ochłonęliście już z tej głębokiej sentencji?:) Pewnie tak, zatem zapraszam na kilka porad zebranych z własnego doświadczenia.

Upewnij się, że umiesz pracować w domu

Nie ma co się oszukiwać – zawód freelancera najczęściej oznacza pracę w domu. Nie mogę zatem wystarczająco podkreślić tego najważniejszego kroku…

Skąd masz pewność, że praca w domu jest dla Ciebie odpowiednia? Codzienne chodzenie do jakiegoś biura może Cię z różnych powodów męczyć, jednak nigdzie nie jest powiedziane, że siedzenie w domu będzie lepsze! Daj sobie tyle czasu na przemyślenie, ile trzeba. Nie spiesz się – musisz być w 100% pewny. Pochopna decyzja jest w pewnym sensie… nieodwracalna, bądź więc przekonany, że jest słuszna. Pamiętaj o mądrości przewodniej!

Ja właściwie WIEDZIAŁEM od samego początku, że praca w domu jest dla mnie idealna, a mimo to podjęcie ostatecznej decyzji zajęło mi aż 8 miesięcy! A jak to sprawdzić? Bardzo prosto: wymyśl sobie projekt do zrealizowania (albo jeszcze lepiej: znajdź kogoś, kto za niego zapłaci), weź 2 tygodnie urlopu i mimo “wolnego” wstawaj regularnie co rano i pracuj tyle, ile powinieneś. Po takim eksperymencie nie będzie już potrzeby zgadywania – po prostu DOWIESZ się czy masz odpowiednie predyspozycje. Niczego nie rób na siłę i bądź przygotowany na to, że Ci się odechce. Wiele osób najzwyczajniej w świecie nie potrafi pracować w domu. Pokusa dłuższego pospania, pogapienia sie w okno, walnięcia browarka, przejrzenia onetu, pooglądania tv, pogrania w gierki czy poczytania xiong jest czasami zbyt duża. I na dłuższą metę nic się na to nie poradzi. Ja osobiście nie mam żadnego problemu z samodyscypliną, ale nie musi być tak w Twoim przypadku. I nie jest to nic złego – po prostu kwestia charakteru.

Konieczność pilnowania samego siebie nie jest jedynym problemem – jeszcze gorsza może być praca w pojedynkę, bez pokoju pełnego innych programistów… Dla mnie to również pasuje – i tak podczas programowania na całym świecie istnieję tylko JA, mój KOMPUTER, i MUZYKA. Ale dla większości brak “towarzyszy”, do których można otworzyć paszczę, jest nie do wytrzymania.

A więc: UDOWODNIJ sam sobie, że samodzielna efektywna praca w domu jest dla Ciebie wykonalna (i, co ważne, PRZYJEMNA!). I jeszcze, aby nie było wątpliwości: NIE, doświadczenie ze studiów i nocek zarwanych na dokończenie projektu na zaliczenie się nie liczy.

Upewnij się, że będziesz miał co robić

Założenie firmy to pikuś. Nie jest to jeszcze co prawda obiecywane przez Miłościwie Nam Panujących magiczne Jedno Okienko, ale wszystkie formalności da się załatwić sprawnie i bez żadnych trudności (szczególnie jeśli pomoże w tym księgowa). Tak więc rozpoczęcie działalności tego nie jest żadnym powodem do dumy. Co dalej?

Odpowiedz sobie na pytania:

  • skąd potencjalny klient dowie się o mnie?
  • czy mam odpowiednie referencje / certyfikaty / dowody profesjonalizmu, aby potencjalny klient zgłosił się akurat do mnie?
  • w jaki sposób mogę konkurować z firmami zajmującymi się produkcją oprogramowania od lat?
  • czy mam wystarczające doświadczenie, aby WZIĄĆ PRAWNĄ ODPOWIEDZIALNOŚĆ za zrealizowanie projektu poczynając od analizy, przez projektowanie architektury, przez programowanie, przez testowanie, po wdrożenie?

I tak dalej… Mówi się “mierz siły na zamiary” i “do odważnych świat należy“, ale nie należy mylić tego z bezmyślnością. Znajdź swoje słabe punkty – i postaraj się z nich wybronić. Postaw się w sytuacji potencjalnego klienta i sam sobie zareklamuj swoje usługi. Jeżeli nie zostałeś przekonany – nie myśl że “jakoś to będzie”. Zastanów się co dokładnie stoi na twojej drodze a następnie odłóż na jakiś czas (miesiąc? dwa? pół roku?) zamiar zostania freelancerem (mądrość przewodnia po raz kolejny) i pokonaj przeszkody. Może więcej doświadczenia zawodowego? Może więcej znajomości? Może certyfikacja?

Bezbłędny sprawdzian: znajdź klienta PRZED założeniem firmy. Ja zrobiłem dokładnie w ten sposób – miałem podpisaną umowę na duży projekt na miesiąc przed odejściem z etatu. I jest to chyba najlepsza możliwa weryfikacja. Bo jeśli nie potrafisz znaleźć klienta teraz, to w jaki sposób znajdziesz go za miesiąc?

Upewnij się, że nie skończysz pod latarnią

Założyłeś firmę, oddałeś pierwszy projekt i… cisza. Nowego zlecenia ani widu ani słychu. Co wtedy?

Wiem, brzmi to być może “nieprawdopodobnie” i tak dziwacznie, że aż nie chce się o tym myśleć. Ale jednak… nie ma co się oszukiwać, może być różnie. Szczerze radzę przed wejściem w ten “biznes” najzwyczajniej w świecie napchać sobie kasy do wirtualnej skarpety. Kwota w przypadku każdej osoby jest oczywiście inna, więc najrozsądniej będzie przedstawić ją jako “zdolność przeżycia przez 3 miesiące”. Czynsz/kredyt * 3 + ZUS * 3 + żarcie * 3 + benzyna * 3 + komórka * 3 etc… Dlaczego akurat trzy? Ja to widzę tak: dwumiesięczny okres “nieurodzaju” nie powinien kończyć tej jakże fajnej przygody, zatem przez tyle czasu mógłbym potencjalnie mówić sobie “nic się nie dzieje, jeszcze będzie dobrze”. Jeśli jednak po dwóch miesiącach nadal cisza… cóż, czas na szukanie normalnej pracy. Środków zostało na miesiąc, a to powinno wystarczyć na znalezienie fajnej “normalnej” pracy. Jeżeli z kolei pod koniec tego magicznego okresu dwóch miesięcy pojawi się na horyzoncie projekt, to mam jeszcze środki do życia potrafiące mnie utrzymać do czasu jego “dogrania” i realizacji wstępnej postaci mogącej przynieść jakieś dochody.

Uwaga: zabezpieczenie finansowe jest też konieczne ze względu na ewentualne okresy choroby. Nie licz na to, że wyżyjesz z ochłapów rzuconych Ci przez ZUS, zapomnij o otrzymywaniu na chorobowym 80% pensji tak jak jest to na etacie.

Uwaga 2: mogą się również zdarzyć opóźnienia (i to dość spore) w płatnościach – i nie jest to nic nadzwyczajnego. Faktura wystawiona, kilka tygodni minęło, kasy nie ma, a podatki (za nieuzyskaną jeszcze kasę) zapłacić z czegoś trzeba.

Upewnij się, że będziesz miał NA CZYM pracować

Na etacie jest jasne: dostajesz komputer, dostajesz soft i jedziesz. Nie przejmujesz się takimi rzeczami jak system operacyjny, subskrypcja MSDN, ReSharper czy kontrolki Telerika. ZANIM podejmiesz własną działalność zerknij na cenniki narzędzi, które powinieneś posiadać. Windowsa ma pewnie każdy (czy w odpowiedniej wersji? Home się prawdopodobnie nie nada), ale już za VS trzeba słono zabulić. Do tego R# + Telerik/DevExpress/cokolwiek innego + potencjalnie LLBLGen i może zrobić się groźnie. A co jeśli – nie daj Kali – padnie Ci komp?

Oczywiście można pracować na samych Expressach i darmowych odpowiednikach, ale czasem takiej opcji nie ma.

Tip: soft Microsoftu młodej firmie uda się prawdopodobnie dostać z programu BizSpark, a to już ogromna oszczędność.

Tip 2: prowadzisz bloga, grupę .NET, w inny sposób udzielasz się w społeczności? Wielu producentów z chęcią podaruje Ci licencję za wzmiankę o ich produkcie w szerszym gronie osób. Nie ma co się obawiać, nie będziesz zmuszony do chamskiej reklamy – ja na przykład dostałem licencję na LLBLGen (250 jełro piechotą nie chodzi) w podziękowaniu za swój OBIEKTYWNY tekst “LLBLGen Pro – płatny O/R Mapper. Czy warto?“.

Nie marnuj czasu. Chcesz być księgową? Idź na księgowość!

Wedle mojej szaleńczo niezawodnej dedukcji istnieje prawdopodobieństwo graniczące z pewnością, że jesteś, Czytelniku, programistą. Doskonale zdajesz sobie zatem sprawę z tego jak ważny jest odpowiedni podział zadań pomiędzy najbardziej kompetentne osoby. Daj bazodanowcowi do napisania aplikację client-side w Javascript a po jej uruchomieniu IE wyśle wszystkie hasła prosto na serwery torrentowe. Daj koderowi do ubrania stronę WWW a klient zabrudzi Ci biurko podczas demonstracji. Daj… i tak dalej.

Nawet nie staraj się wnikać we wszystkie prawne kruczki, podatkowe wygibasy i proceduralne bzdury. Od tego jest księgowa, którą sobie jak najszybciej znajdź. Niech pozanosi twoje dokumenty w odpowiednie miejsca podczas zakładania firmy, niech doradzi termin startu działalności, niech podeśle szablony umów i tak dalej – nie trać czasu na takie coś. To jest praca innych ludzi. Ważna i odpowiedzialna praca (której zaniedbanie może się dla firmy skończyć bardzo nieprzyjemnie), ale nie Ty ją powinieneś wykonywać.

Czy wiesz jaki wpływ na twoje finanse ma zarejestrowanie firmy podczas TRWANIA umowy o pracę? Czy wiesz od kiedy podatek liniowy zaczyna być opłacalny? Czy wiesz kiedy należy Ci się “promocyjny ZUS” pozwalający oszczędzić 11K PLN przez pierwsze dwa lata działalności? Czy wiesz co możesz odpisać od podatku? Czy wiesz co i gdzie musisz zanieść jeśli zachorujesz? Nie, naprawdę nie wiesz? Spoko, ja też nie – i niewiele jest rzeczy na świecie, które interesują mnie mniej. Typowy workflow: pojawia się wątpliwość -> pytam księgową -> uzyskuję odpowiedź -> podejmuję działanie -> zapominam. Niejednokrotnie słyszałem z tego powodu opinie, że jestem skrajnie nieodpowiedzialny, ale moim zdaniem właśnie tak powinno to wyglądać.

Dla zainteresowanych: mnie taka przyjemność kosztuje 150 zł miesięcznie.

ZAWSZE spisuj umowę ZE SPECYFIKACJĄ

Przeanalizowałeś wszystkie za i przeciw (albo: wszystkie za i za:) ), upewniłeś się w swoich zamierzeniach, zrealizowałeś niezbędne punkty prowadzące do wiecznietrwającej nirwany i przychodzi wymarzony moment: pierwszy klient!

STOP!!

To o czym teraz piszę może wydać się banalne i niepotrzebne. Mi też takie się wydawało i w życiu nie przyszłoby mi do głowy aby dawać komukolwiek tak oczywistą poradę… gdybym sam jak ostatni matoł nie wpadł w takie sidła. Pamiętajcie: podpisanie OGÓLNEJ umowy nie jest oznaką zaufania i bycia cool – jest oznaką braku profesjonalizmu. Skupienie się jedynie na tematyce projektu, kasie i terminie z dopowiedzeniem “a co do dokładnej funkcjonalności… dogadamy się w trakcie” może nie skończyć się dobrze. Domaganie się precyzyjnej specyfikacji wymagań nie jest upierdliwością i zrzędzeniem. Nie jest równoznaczne z “oto dokument z którym mogę iść do sądu”. Nie powinno być odbierane jako “mam tu papier i wszelkim modyfikacjom ustaleń z góry mówię NIE”. Jest po prostu początkiem gwarancji udanej współpracy.

Zdarzyło mi się realizować niewielki projekt pisany w ten sposób. Na szczęście nie trwało to długo i wszystko zakończyło się dobrze, po kilku tygodniach katorgi zadowolony byłem zarówno ja, jak i (co ważniejsze) zleceniodawca. Ale co się człowiek nadenerwował i nasiedział po nocach, to jego. Z tej współpracy obaj wyszliśmy z ogromną dawką doświadczenia, ponieważ obaj przekonaliśmy się na własnej skórze co znaczy cała masa niedopowiedzeń i nieporozumień. Obaj zgodziliśmy się: nigdy więcej takiej prowizorki! I nie było w tym niczyjej winy – po prostu nie zdawaliśmy sobie sprawy jak BARDZO WAŻNE jest stuprocentowe zrozumienie wzajemnych oczekiwań i wymagań przed rozpoczęciem współpracy (teraz to zabrzmiałem jak specjalista od problemów małżeńskich, a niech mnie).


Wpis ten powstawał strasznie długo, jednak po popędzeniu przez Czytelników – sprężyłem się :). Być może coś mi umknęło lub jakąś kwestię poruszyłem w niewystarczającym stopniu. W takim przypadku – pytajcie w komentarzach, chętnie ten temat rozwinę jeszcze bardziej. A może ktoś inny podzieli się swoimi poradami odnośnie freelansowania? Sam z przyjemnością bym się czegoś jeszcze dowiedział, aby w przyszłości uniknąć czekających na nas min.

Share.

About Author

Programista, trener, prelegent, pasjonat, blogger. Autor podcasta programistycznego: DevTalk.pl. Jeden z liderów Białostockiej Grupy .NET i współorganizator konferencji Programistok. Od 2008 Microsoft MVP w kategorii .NET. Więcej informacji znajdziesz na stronie O autorze. Napisz do mnie ze strony Kontakt. Dodatkowo: Twitter, Facebook, YouTube.

13 Comments

  1. Świetny post :). Ale mam pytanko: jak rozumiem, godziny pracy są nienarzucone, zgadza się? Z dyscypliną u mnie nie ma problemu, ale nie lubię spać sztywne ileś-tam godzin.

    Czy nie zastanawiałeś się nad pracą zdalną? Masz jakieś doświadczenia na ten temat?

  2. @Arsen:
    Dzięki:).
    Godziny pracy – to zależy jak ustalisz ze zleceniodawcą. Ja akurat mam ustalone, że codziennie w pewnych godzinach jestem do dyspozycji klienta i już – ale wydaje mi się to naturalne.
    Praca zdalna… właściwie to co robię można nazwać pracą zdalną, tylko na luźniejszych niż na etacie zasadach.

  3. W pełni usatysfakcjonowany jestem tym wpisem :) Dużo cennych rad a całość okraszona jakże ważnym wstępem: "Lepszy późniejszy start, niż falstart"

  4. @Darek Tarczynski:
    A wiec… trzeba LLBLGen kupic w razie koniecznosci:).
    Nie napisalem ze kazda firma ma taka oferte – napisalem ze niektore firmy rozdaja licencje za zwiekszanie zbiorowej swiadomosci o ich produkcie. Co jest prawdą.
    I że dostalem licencje od LLBLGen. Co też jest prawdą.
    Nie wiem skad wziales tą informację, ale widocznie zmienila sie ich polityka w tym zakresie. Moze moj post spelnil swoje zadanie i zauwazyli wystarczajacy wzrost zainteresowania produktem z regionu PL przez ostatnie pol roku:).

  5. Pracując na etacie, obawiam się, że oszczędności na 3 miesięczne przeżycie to niezbędne minimum.

  6. Witaj,
    Podpisuję się pod wszystkimi punktami ;) Mam bardzo podobne doświadczenia jeśli chodzi pracę zdalną i freelancerską(mam dość specyficzny układ :). W twoim wpisie brakuje mi dość ważnego aspektu tej pracy – jako freelancer, musisz współpracować z różnymi osobami (często też freelancerami). Z własnych doświadczeń wiem że praca z "rozproszonym" zespołem wymaga dość sporego wysiłku jeśli chodzi o koordynacji. Trzeba strasznie pilnować przekazywania informacji, zrozumienie, terminowość poszczególnych współpracowników itd.
    Zazwyczaj się o tym nie pamięta ale od początku trzeba ustalić sztywne zasady współpracy (w granicach rozsądku oczywiście) aby przy końcu projektu nie zostać jednoosobowym oddziałem do zadań specjalnych (grafik się nie wyrabia-uczysz się photoshopa i kończysz jego robotę w jedną noc itd.) ;)

    Pozdrawiam

  7. Zgadzam się z całym tym postem :-)
    Sam jestem od dłuższego czasu HyperFreelancerem :) czyli coś pomiędzy freelancerem a już przedsiębiorstwem, z tego względu, że zdarza mi się czasem zatrudniać cały zespół programistów do jakiegoś projektu – to też jest fajna rzecz. Właśnie w pracy freelancera często zaciera się ta granica między one-man-army a software-house i to jest fajne.

    Zapomniałeś wspomnieć tylko o bardzo przydatnej umiejętności którą powinien posiadać każdy freelancer (pewnie ta umiejętność jest dla Ciebie na tyle oczywista, że nie dostrzegasz jej jako dodatkowego skillu) która ładnie się nazywa "business development". Czyli umiejętność dostrzeżenia potencjalnych możliwości współpracy.
    Dla przykładu: robiąc projekt klientowi z jakiejś branży, warto rozejrzeć się za możliwościami robienia interesów z ludzi z tej branży korzystając z tego, że ma się chwilowe "wtyki" w danym przemyśle. To jest czasem nawet ważniejsze niż lista referencji, certyfikatów czy CV.

    Warto też czasem wchodzić w współpracę z różnymi firmami nie tylko jako programista lub sprzedając usługi programistyczne a nawiązać współpracę gdzie byś wykorzystał swoje zdolności programistyczne ale finalnym produktem jaki dajesz jest coś innego.

    Ostanią rzeczą o której chce wspomnieć o "business development" jest to, że jakbyśmy pomyśleli.. to część z naszych zleceń które tworzymy (nie mówimy tu o web-developerach czy "stronkowiczach") wprawdzie jakby trochę zgeneralizować ich funkcjonalności to nadawałyby się na pudełkowe produkty, które potem mogą same na siebie zarabiać. Osobiście już dwa takie produkty mam i okazały się strzałem w 10 (no może jeden z nich był strzałem w 7 :P).

    Praca na etacie nigdy nie ta takich możliwości wykorzystania w pełni swojej przedsiębiorczości, za to bez przedsiębiorczości każdy freelancer prędzej czy później będzie musiał wrócić na etat.

    Pozdrawiam

  8. @jarek:
    racja, przykład z grafikiem bardzo życiowy… chociaż w moim przypadku niestety taka akcja ratunkowa skonczylaby sie raczej tragicznie:)

    @Karim:
    dzięki za uwagi, warto zwracać na to uwagę i korzystać ze wszystkich pojawiających się okazji

  9. ciekawy post, jednakże zastanawia mnie jedna rzecz – mianowicie dosyć trudno jest konkurować początkującym firmom (bez portfolio) z firmami działającymi na rynku od jakiegoś czasu. No, chyba że klienta nie interesuje to czy już dana firma wykonywała już jakieś projekty, choć jest to wyidealizowana sytuacja. Nie mniej jednak brak portfolio może doprowadzić do powrotu na etat, więc trzeba inaczej się gimnastykować aby zdobyć klienta. Tworzy się swoiste błędne koło, więc jeśli ktoś nie potrafi znaleźć klienta to po co bawi się w prowadzenie firmy ?

Newsletter devstyle!
Dołącz do 2000 programistów!
  Zero spamu. Tylko ciekawe treści.
Dzięki za zaufanie!
Do przeczytania wkrótce!
Niech DEV będzie z Tobą!