Satnica freelancera i naplaćeno vs. utrošeno vrijeme

U freelancerskoj računici, cijena koju klijent treba platiti izravno ili nezravno vezana je uz utrošeno vrijeme freelancera.

Ako se radi o plaćanju po satnici, cijena se izravno formira po utrošenom vremenu i satnici. Ako se radi o projektu sa fiksnom cijenom, potrebno vrijeme se procijeni na osnovu opsega projekta.

Cijena satnice

Kako formirati cijenu satnice? Jednostavno – cijena satnice je najviša cijena koju vam je klijent spreman platiti a da mu vi i dalje budete bolji izbor od bilo kog drugog na tržištu (uključujući “susjedovog malog”). Pritom “najbolji izbor” ne znači nužno niti najjeftiniji niti najkvalitetniji, već ovisi o specifičnostima samog projekta. Tu dolazimo do problema “susjedovog malog” – ukoliko klijent ne može procijeniti razliku u kvaliteti između vas i nekog jeftinijeg, teško će mu biti procijeniti zašto ste vi bolji izbor. Dokaz kvalitete su obično reference i portfolio.

Što ako je cijena satnice za neki projekt niža nego što vam se isplati? Nemojte prihvatiti posao ili ga proslijedite nekom drugom tko bi mogao biti zainteresiran. A kako saznati za koju cijenu vam se isplati raditi? Dižite cijenu sve dok ste većinom popunjeni s poslom. Hint: ako vam gotovo nitko ne kaže da ste im preskupi, definitivno ste prejeftini.

Utrošeno i naplaćeno vrijeme

Prilikom određivanja cijene satnice, imajte na umu da iznos koji ćete naplatiti nije i iznos koji vama ide u džep. Osim raznih troškova poslovanja, bitna skrivena stavka je i činjenica da (kod plaćanja po satnici) nisu svi sati naplativi. Primjeri nenaplativih, a realno potrošenih sati:

  • Vrijeme utrošeno na pregovaranje s klijentom o tome hoćete li uopće raditi na projektu. U ovo ulazi i amortizacija vremena utrošenog za dogovaranje projekata na kojima niste radili.
  • Općenito, komunikacija s klijentom.
  • Razne birokratske stvari (npr. sređivanje papirologije, odlazak kod knjigovođe, čekanje u redovima po raznim šalterima)
  • Održavanje infrastrukture potrebne za vaš rad (instalacija sustava i softvera, nabava nove opreme, nošenje stvari na servis i sa servisa)
  • Edukacija, konferencije, istraživanje novih tehnologija i trendova.

Pritom imajte na umu da klijenta ne zanimaju ovi detalji – oni su bitni samo vama za proračun što vam se isplati.

Fiksna cijena ili plaćanje po satu

I jedan i drugi način računanja cijene imaju svojih prednosti i nedostataka – stvar ovisi o prirodi samog projekta i o vama dražem načinu rada.

Projekti sa fiksnom cijenom dobri su za klijenta jer može lako planirati svoje financije. S druge strane, vi preuzimate rizik da će se stvari zakomplicirati i vama stvoriti više posla nego što je predviđeno. Ovo je posebno nezgodno za programere, koji praktički uvijek potcjenjuju količinu truda koju će trebati uložiti u projekt. Zbog ovakvih stvari, obično se uzima pesimistična procjena o potrebnom vremenu (obično kao originalna procjena * neki faktor).

Druga opasnost leži u nedovoljno jasno definiranim projektima, gdje se može dogoditi da ono što je klijent htio (ili se naknadno sjetio da želi, ali smatra da se to podrazumjeva) nije isto što ste i vi mislili da treba, a originalna specifikacija posla nije bila dovoljno precizna. U tom slučaju slijedi natezanje s klijentom ili popuštanje (još jedan razlog za već navedeni sigurnosni faktor u procjeni vremena). Rizik se može ublažiti što detaljnijom specifikacijom projekta, no teško je potpuno predvidjeti i navesti sve detalje i pretpostavke.

Plaćanje po satu transparentnije je – točno se zna što je odrađeno i koliko je (naplativog) vremena utrošeno. No, u ovom slučaju klijent preuzima rizik probijanja budžeta, što je vrlo lako moguće s obzirom da i klijenti često potcjenjuju potrebno vrijeme (“ma to je tebi maheru sigurno čas posla”). Također, neki klijenti mogu negativno reagirati kad saznaju konkretnu cijenu satnice (pogotovo ako je uspoređuju sa neto plaćom nekog radnika u firmi, ili sa “susjedovim malim”).

Ekipa iz Sprawsm nedavno je napisala dobar post o tome zašto prelaze na naplaćivanje po satu, sa argumentima zašto je takvo računanje pogodno i za klijenta i za onog tko obavlja posao.

tl;dr

U načelu, ako su zahtjevi dovoljno dobro specificirani i ako možete napraviti točnu procjenu količine posla, jednostavnije je računati fiksnu satnicu. Ukoliko unaprijed nije poznato baš sve ili se može dogoditi da treba raditi izmjene plana usred rada, svakako je bolje računati po vremenu. I u jednom i drugom slučaju, vodite računa o tržišnoj cijeni koju možete postići i o konačnom iznosu koji vam nakon svega ostaje kao zarada.

Jedna ideja je bezvrijedna, niz ideja nije

Jedan mali rant za ljude koji se boje da će im netko ukrasti ideju, ili kažu “e baš sam ja takvu ideju imao” kad vide nešto uspješno.

Put od ideje do realizacije nekog projekta (o čemu god da se radi) ide otprilike ovako:

  1. Netko ima početnu ideju. Sama ideja u ovom trenutku ne znači ništa.
  2. Početni zanos je tu, ideja zvuči odlično, kreće se u realizaciju.
  3. Ups! Nalet na prvi problem, koji cijelu originalnu zamisao baca u vodu. Katastrofa! Panika! Već smo potrošili X sati, što ćemo sad?
  4. Nakon smirivanja panike, pronalazi se izlaz – maaaalkicu modificirati trenutni plan, da cijela stvar bude postavljena malo drugačije.
  5. S uzdahom olakšanja kreće se u daljnji razvoj. Prethodne dvije točke ponavljaju se prema potrebi, desetak do stotinjak puta
  6. Projekt je realiziran! Svjetska dominacija je blizu!
  7. Umm … nikog nije briga. Aaaa, propast!
  8. Hm, ali nekoliko ljudi je spomenulo da bi nešto slično, ali malo drugačije, bilo dosta korisno. Back to the drawing board.
  9. Prethodnih 6 točaka ponavljati prema potrebi.

Gornji koraci su tipičan primjer iterativnog postupaka. A zgodno svojstvo iterativnih postupaka je da gotovo uopće nije bitno odakle krenete. Recimo, postupak za iterativno računanje broja pi (ili e) u što više decimala može krenuti od broja 200, a ne od 3.14 (ili 2.7). Ako je početni korak, odnosno početna ideja, loša, možda će biti potrebno nekoliko koraka više, to je sve.

Ono što je bitno kod iterativnog postupka je raditi iteracije. Ne stati na prvoj (originalnoj ideji), drugoj, ili dvadesetoj. Raditi iteracije i poboljšavati stvar, sve dok ne bude dovoljno dobra da uspije, ili očito toliko loša da se od svega može odustati.

Polazna točka može biti bitna utoliko što možete završiti u lokalnom maksimumu. Odnosno, napravili ste sve najbolje što ste mogli, ali stvar ne ide prema naprijed. U tom trenu vrijeme vam je totalno zaokrenuti stvar i krenuti sa neke druge točke. Popularni buzzword za to je pivot, a svjetli primjer istog napravila je ekipa iz Pet Minuta sa svojim Shoutem projektom.

Drugi primjeri kretanja ispočetka su napuštanje originalnog projekta i kretanje u sasvim nešto novo. Nakon dovoljno takvih pokušaja, vjerojatnost da će nešto i uspjeti samo raste (pod uvjetom da se rade kvalitetne stvari i da se uči na greškama). Popularni naziv za to je “prekonoćni uspjeh nakon 10 godina” (ten years to overnight success).

Početna ideja, ili bilo koja od niza ideja u lancu od početka do uspjeha (ili propasti), nije previše bitna. Bitna je realizacija i adaptacija.

Freelancer računica

CC-BY AMagill @ Flickr

Nakon nedavnog prilično čitanog članka u Globusu o online/web freelancingu moglo se čuti i pročitati dosta komentara o masnim parama koje se mlate u online-biznisu, nakon kojih bi čovjek dobio dojam da je taj internet biznis jako lukrativna i tajanstvena prilika u koju su rijetki upućeni nekako ušli i sad se kupaju u zlatu.

Pritom se ponekad zaboravlja da prihodi i neto dohodak nisu ista stvar i financijsku realnost unutar koje freelanceri, kao i svi ostali poduzetnici, moraju poslovati. U nadi da će nekom biti informativna ili korisna, složio sam okvirnu računicu koju bi mogao imati neki hipotetski freelancer. Prilikom računanja zaokruživao sam i procjenivao vrijednosti na neki “prosjek” – pojedini brojevi razlikuju se prilično od slučaja do slučaja, ali recimo da su redovi veličine tu negdje.

Katica za sve

Recimo da se potaknuti člankom želite baciti u freelancing. Web developer ste (možda designer / front end developer, možda backend / php / sql ninja); kod (programerski ili markup) štrikate već godinama, stvarno ste dobri u onom što radite i imate već nekoliko fuševa iza sebe.

Naravno, osim samog “odrađivanja posla” morat ćete se baviti i sa promocijom (bilo običnim reklamiranjem, bilo pisanjem vlastitog bloga kojim dižete svoj osobni brand), networkingom (sakupljanjem i održavanjem kontakata, odlascima na konferencije, itd), prodajom svojih proizvoda ili usluga (tj. trebate nagovoriti nekog da upravo vama plati – samo zato što nešto znate ne znači automatski da će korisnik vas odabrati), te naposlijetku i pružanjem korisničke podrške.

A pošto sve ovo zajedno ne želite raditi u fušu nego iz toga stvoriti normalan posao, morati ćete se baviti i papirologijom vezanom uz rad tvrtke koju otvorite. Dio te papirologije možete prepustiti knjigovodstvenim i drugim servisima, ali dio će ostati vaša briga.

Dakle, za početak, poželjno je da imate iskustvo ne samo u Web razvoju, nego i u vođenju projekata, prodaji, oglašavanju, a hodanje po kancelarijama i kupovanje biljega vam ne bi smjelo biti previše frustrirajuće.

Minus i plus

Recimo da procjenjujete da će vaši mjesečni prihodi (dakle, količina novaca koji vam klijenti plate, minus PDV domaćih klijenata) biti oko 16 tisuća kuna. Uzimam ovu brojku jer je bila navedena u Globusovom članku – doduše kao “plaća”, ali dosta ljudi nije vjerovalo u taj “ogromni” iznos, pa uzmimo je kao razumnu (uspješnu) brojku u ovoj računici.

Minimalni mjesečni troškovi na koje možete računati su vam mobitel (recimo 200kn), internet i druge režije vezane uz poslovanje (200kn), troškovi prijevoza (iako radite iz spavaće sobe, još uvijek morate na poneki sastanak, poslovnu kavu ili odnijeti papire u Finu – ako radite u nekoj normalnoj firmi, troškove ovoga vam pokriva poslodavac) u npr. visini mjesečne ZETove karte (~240kn), topli obrok (kojeg vam u nekoj firmi pokriva poslodavac) od recimo 500kn mjesečno, te recimo 100kn za pokrivanje netbanking i sličnih troškova.

Trebate imati i opremu na kojoj ćete raditi – minimalno nekakvo računalo, ali vjerojatno i nekakav backup disk, veći monitor, i slično. Recimo da ćete godišnje na računala, mobitel i raznoraznu uredsku opremu potrošiti 10 tisuća kuna (što ispada 830kn mjesečno). Osim toga morat ćete si nabaviti nekakvu stručnu literaturu, zakupiti server ili prostor na serveru, kupiti domenu ili dvije, eventualno se negdje reklamirati ili odlaziti na konferencije kako bi ostali relevantni u vašoj branši. Recimo da na godišnjoj razini još na to potrošite 6000kn, odnosno, svedeno na mjesečni iznos, 500kn mjesečno.

U malo preglednijem tabularnom prikazu, to izgleda ovako:

Opis Iznos (kn/mj)
Primanja (prihodi) 16.000
Mobitel 200
Internet, režije 200
Prijevoz 240
Topli obrok 500
Netbanking i slični troškovi 100
Računalo i oprema za rad 830
Literatura, konferencije, zakup servera, domene, itd 500
Troškovi (rashodi) 2.570
Ukupno dobit 13.430

Ovdje opisani mjesečni troškovi su vrlo općenite procjene, ali malo je vjerojatno da ćete u praksi imati niže troškove. Ovi iznosi predstavljaju dobru početnu brojku za freelancera koji skromno živi, ne ide na konferencije na druge kontinente, kupuje softver sa popustom ili koristi free software, i ne luduje za najnovijim gadgetima.

Nadopuna: par ljudi me pitalo o troškovima vezanima uz vođenje knjiga (koje sam namjeravao također uvrstiti ovdje, ali sam zaboravio – isprika na propustu). Mislim da se svakako isplati to outsourceati knjigovodstvu i prepustiti im brigu o tome koji je trenutno zakon i porez na snazi i u kom trenu kako treba što knjižiti. To zadovoljstvo će vas stajati 500 – 1000kn. Pretpostavimo da je 500kn + PDV mjesečno, što vam u konačnici smanji mjesečnu plaću “na ruke” za oko 200-300 kn.

Bruto, Neto & još jedan Bruto

U daljnoj računici stvari se malo kompliciraju. Spomenuta dobit je ono što vam ostane u tvrtki nakon plaćanja troškova, ali to nije vaša plaća. Ukoliko ste obrtnik, ili ukoliko imate d.o.o. i jednostavno si želite cijeli iznos isplatiti kroz plaću, navedena dobit vam je zapravo takozvani bruto2. To je onaj iznos kojeg radnici nikad ne gledaju a zapravo predstavlja trošak poslodavca.

Mala digresija: neto plaća je ono što dobijemo “na ruke” (ili na tekući). Bruto (ili bruto1) plaća je zapravo naša plaća koju nam isplaćuje poslodavac, a iz nje mi osobno plaćamo porez, prirez te izdvajamo za mirovinu (papirologiju poslodavac obavlja umjesto nas, ali novci kojima se plaća su još uvijek naši). Na bruto1 poslodavac još plaća zdravstveno osiguranje za nas i još neka davanja, a taj ukupni iznos zove se bruto2 i predstavlja ukupni trošak radnika za poslodavca. Detaljniji opis bruto1 i bruto2 sa točnim postocima možete naći na Moj Posao portalu.

(Ukoliko ste obrtnik stvari se malo drugačije računaju, jer su davanja fiksna za godinu dana, i nešto niža nego što bi bila davanja iz bruto1. Ali, pošto cijeli račun radimo sa otprilike procjenjenim brojevima, i ovo pojednostavljenje će poslužiti).

Kalkulatorom za izračun plaće sa Moj Posao iz cca 13400kn bruto2 dobijamo otprilike 7500 kn neto plaću.

Dakle početnih 16 tisuća srezali smo na 7500, nešto manje od 47% originalnog iznosa. Ostatak su porezi i davanja državi (nešto manje od 37%) te oko 16% za troškove poslovanja.

Ukoliko namjeravate osnovati d.o.o, jedna legalna opcija je isplatiti jedan dio preko normalne plaće, a drugi isplatiti kao dobit doo-a (na što se plaća porez na dobit od 20%). Naravno, problem sa ovim je da si smanjujete i davanja za mirovinsko osiguranje, što vam u dalekoj budućnosti znači manju mirovinu. Doduše, većina poduzetnika koja znam radije bira cash sada nego obećanje da će imati mirovinu za 40tak godina.

Recimo da vas nije briga za vašu mirovinu jednog dana i odlučite biti na minimalcu a ostatak dobiti preuzimati kao dobit. Neto plaća će vam biti oko 2500kn, bruto2 oko 3500kn, a preostali iznos si isplatite kao dobit, od čega oko 7500kn ide vama a oko 2500 državi. Na ovaj način ukupno mjesečno dobijete 10000 kn (oko 62% prihoda), državi ide oko 22%, a na troškove poslovanja opet 16%.

Vel’ke pare?

Dakle, kao skromni, marljivi i uspješni freelancer sa oko 16 tisuća kuna prihoda mjesečno, možete očekivati između 7.5 i 10 tisuća kuna “na ruke”. Nisu mali novci, pogotovo za zemlju u kojoj velik broj ljudi radi na (skoro) minimalcu ili uopće nema posao, ali nisu ni nekakvi ogromni neobjašnjivi iznosi koje ista osoba sa istim znanjem, sposobnostima i iskustvom ne bi mogla dobiti i u dobrim domaćim tvrtkama.

Preporuka: nekoliko filmskih mozgalica

Kao mali odmak od inače tehnoloških tema o kojima pišem, evo nekoliko filmskih preporuka od mene: filmovi koji se bave umom i zagonetkama koje on skriva. Neki od filmova su poznati blockbusteri koji su nedavno prikazivani u kinima (ili se još prikazuju), poput “Početka”, dok su mi drugi bili sasvim nepoznati i slučajno sam na njih naletio, obično u see also dijelu recenzije poznatijih filmova.

Listu sam poredao po subjektivnoj procjeni koliko mi je film “čudan”, tj. nekonvencionalnij ili traži veći angažman malih sivih stanica da bi se uživalo u njemu.

Shutter Island

US marshall dolazi na otok Shutter, istražiti slučaj osobe pobjegle iz bolnice/zatvora za mentalno bolesne kriminalce. (IMDB, YouTube).

Memento

Čovjek koji je izgubio mogućnost stvaranja novih pamćenja uz pomoć tetovaža i fotografija traga za ubojicom svoje supruge. (IMDB, YouTube).

The Machinist

Čovjek koji već godinu dana pati od nesanice počinje gubiti razum. (IMDB, YouTube).

Inception

High-tech kradljivac informacija koji provaljuje u tuđe snove treba odraditi svoj zadnji posao: usaditi ideju u nečiju podsvjest. (IMDB, YouTube).

Mr. Nobody

Tko je Nemo Nobody? (IMDB, YouTube).

Ako znate za još koji dobar film u sličnom stilu, svakako javite u komentarima.

PS. Ako vam filmovi s ovog popisa nisu dovoljno mind-bending, preporučam pogledati The Fountain (YouTube). Nisam ga stavio na popis jer mi nije dobar poput gorenavedenih, a i nije čisto mind-related).

O kriptografskim algoritmima

Pospremanjem nekih svojih starih programskih uradaka, došao sam i do svojeg seminarskog rada za FER, biblioteku kriptografskih funkcija CyFER i njenu prateću dokumentaciju.

Kako bi ovi materijali nekom mogli biti korisni ili zanimljivi, za sve one kojima nije običaj posjećivati stranice FERovog predmeta OS2 na kojima ima pregršt materijala o svim mogućim aspektima računalne sigurnosti (svakako preporuka posjetiti, i uzeti si dovoljno vremena), evo i ovdje par linkova o tome.

Namjena biblioteke nije korištenje u produkciji, tj. tamo gdje brinete o sigurnosti podataka. Prilikom odabire sigurnosnih proizvoda općenito trebate biti vrlo konzervativni, i odabirati samo one za koje ste sigurni (i imate objektivnu potvrdu) da su široko korišteni, kvalitetno implementirani, testirani, certificirani, itd. Kao primjer prilično pouzdane biblioteke kriptografskih funkcija možemo uzeti OpenSSL (kojemu se, unatoč tome što tisuće ljudi gleda u kod i traži rupe, ipak tuitamo dogodi neki propust.

Ono čemu CyFER je namjenjen je edukacija, odnosno praktični prikaz implementacije velikog broja algoritama. Osim implementacije, dokumentacija ima opis svakog pojedinačnog algoritma te prikaz algoritma u pseudokodu. Ako vas je ikad zanimalo kako rade SHA, AES ili RSA, prateća dokumentacija CyFERa bi vam mogla biti zanimljiva.

Cyfer
View more presentations from senkorasic.

Sama biblioteka kriptografskih funkcija pisana je u C-u pod Linuxom, no uspješno se kompajlira i pod Windowsima i nekim drugim operacijskim sustavima (bar je tako bilo zadnji put kad sam testirao, prilikom predaje seminara). Osim iz C-a, moguće ju je koristiti i iz nekoliko drugi programskih jezika uz korištenje odgovarajućih bindinga.

Da ne duljim, evo i linkova:

  • CyFER repozitorij na githubu – sadrži najnoviju verziju koda (nekoliko compiler warning fixova u originalnom kodu + integrirani python bindinzi)
  • dokumentacija – uključujući PDF seminarskog rada (PDF je također dostupan sa githuba) i bindinge za druge jezike