Dotychczas zdarzało ignorować mi się najważniejszy element współpracy między klientem a freelancerem – podpisanie umowy, pobranie zaliczki. Nie zawsze, ale czasami – nie potrafię sobie dziś tego wybaczyć.
Klient jest „zaufany”, klient to osoba powszechnie szanowana i „poważna” (doktor na uczelni, nauczyciel lub ktoś o podobnym stanowisku) czy setki innych wyjaśnień – ignoruj to od samego początku do końca współpracy.
Choć chciałem na blogu tym publikować wyłącznie techniczne posty to ciężko tego się trzymać, kiedy co drugi klient chce Ciebie oszukać (Polska mentalność, Polak to złodziej).
Klient: Doktor na uczelni CM UMK w Bydgoszczy
Wzorowy klient, z którego byłem wręcz dumny – doktor na bardzo dobrej uczelni. Przed rozpoczęciem współpracy spotkaliśmy się w eleganckiej restauracji. Tam wszystko zostało ładnie omówione, opracowane na kartce i laptopie.
Po tygodniu oddałem część pracy, dostałem zaliczkę i robiłem dalej. Później oddałem resztę projektu, wszystko zostało ładnie ukończone. Nie dostałem reszty pieniędzy, kontakt się urwał.
Stały klient
Wykonałem kilka projektów dla tego klienta. Później dostałem kolejny, zacząłem nad nim pracę, wszystko raportowałem w Redmine oraz na SVN.
Po koło dwóch tygodniach pracy zauważyłem, że to co ja robię, zaczął robić też ktoś inny. Kompletne zaskoczenie z mej strony, o co chodzi? Napisałem do mojego klienta i poprosiłem o wytłumaczenie. Po kilku tygodniach dostałem odpowiedź, że coś nie wyszło, nie poszło po myśli, bla bla. Koniec współpracy, zero pieniędzy za jakieś 2-3 tygodnie pracy.
Morał?
Mógłbym podać jeszcze kilka przykładów takich klientów, którzy bardziej lub mniej próbowali czy zdołali mnie oszukać. Mógłbym nawet opublikować ich nazwiska, by ustrzec innych przed tymi gnidami (tylko czy to legalne?).
Niemniej morał jest jeden: nieważne czy pracujesz dla kolegi, dla profesora, księdza, stałego klienta czy prezydenta. Każdy kradnie co popadnie, także bez umowy (i najlepiej także zaliczki) się nie obejdzie.
W następnych wpisach opublikuję swój wzór umowy, zarazem prosząc o pomoc w doszlifowaniu wszelkich szczegółów i kruczków.
Więcej bez umowy nie otworzę choćby notatnika, by poprawić literówkę w kodzie. Radzę to także każdemu innemu freelancerowi.
Nie szalej już tak „bez umowy nawet notatnika”.
Ja na pierwsze spotkanie z klientem idę z kartką i długopisem, robię sobie notatki i dopiero później, z dala od klienta robię przybliżoną wycenę i czas realizacji.
Dopiero jak klient przełknie koszta – jest faktyczne ustalanie funkcjonalności.
Po ustaleniu jest spisanie umowy zawierającej ustalone rzeczy.
Bez umowy robię tylko dla ludzi, których znam od dawien dawna albo są moimi testerami :)
No tak, trochę źle to napisałem. Najpierw jakieś spotkanie klienta, obgadanie wszystkich szczegółów, sporządzenie dokumentacji. Następnie podpisanie umowy z załączoną dokumentacją, dla nowych klientów zaliczka i robimy (wtedy też otwieram edytor po raz pierwszy :D).
Jak klient uczciwy to bez problemu pójdzie na taki układ. Jak nieuczciwy to choćby nie wiem jakie ceny oferował, odpadam :-) Na brak pracy i tak nie narzekam, bo prowadzę kilka własnych biznesów. Po prostu zbyt wiele razy przejechałem się na naiwności, myśląc że to „porządny klient”.
Btw. później poszukam wtyczki do edytowania komentarzy, bo ciężko znaleźć coś do tego :-)
Ja też miałem dwóch klientów, którzy niestety „nie dali rady” zapłacić po skończeniu projektu. Nie straciłem jednak niczego, poza czasem. Dlaczego? Bo mam jedną prostą zasadę – klient nie dostaje nawet literki kodu [bezpośrednio, wgrane na serwer, jakkolwiek] przed podpisaniem rachunków i pojawieniem się pieniędzy na moim koncie. W ten sposób może sobie krzyczeć do woli, jaki to ze mnie oszust – patrzę na stan konta, wszystko się zgadza, deploy na serwer. Ostatnio miałem jednak jednego klienta, który razem ze mną pracował nad projektem i tutaj musiałem zaufać, bo miał faktyczny dostęp do wszystkiego – całość projektu w repozytorium SVN. Zobaczymy, jak to się wyjaśni, mam nadzieję, że się nie zawiodę.
Tomasz, jeden z klientów (ten stały) poprosił, abym tym razem stronę wrzucał bezpośrednio na jego serwer, by zmiany były widoczne od razu pod daną domeną (bo coś tam, jakieś wytłumaczenie). Uwierzyłem w to, klient mi nie zapłacił, wyrzuciłem całą swoją stronę i na razie jest spokój (miałem swojego backdoora).
Doktor z uczelni natomiast zapłacił zaliczkę, widzieliśmy się, często dzwonił – niby wszystko w jak najlepszym porządku. Nie zapłacił jednak i dupa, pliki też usunąłem z jego serwera (choć pliki pewnie ma na dysku i jeszcze nie raz będę usuwał lub inaczej się mścił).
Po prostu byłem zbyt naiwny wierząc, że trafiam na porządnych klientów. Teraz wiem, że bez umowy każdy będzie chciał oszukać.
Jasne, każdy powinien stosować metody, jakie się u niego sprawdzają – po prostu napisałem swoje. ;]
BTW. Jakiego backdoora używasz? Jakieś własne rozwiązanie (unlink(), podobne), czy może całościowe – c99, itp.?
Heh, klient może prosić, błagać – nie pracuję na jego serwerze – produkt otrzymuje po uiszczeniu zapłaty.
Jedyny wyjątek – to podwykonawstwo – wtedy nie ja się rozliczam z klientem i nie jest to mój problem.
@Tomasz: napisałem własne, stosunkowo proste, lecz skuteczne rozwiązanie – niedługo pewnie wrzucę tutaj na bloga.
@Michał: zazwyczaj też tego się trzymam, tutaj zrobiłem wyjątki i oczywiście się przejechałem. Przynajmniej mam nauczkę na przyszłość.
Backdoory są fajne – w którymś poście na blogu w komentarzach wspomniano kilka fajnych pomysłów.
Przy okazji – podczas przepisywania na nowo backdorów, znalazłem sposób symulacji obciążenia skryptu określoną ilością odwiedzin :D
Do backdoorów wrócę na dniach, bo temat jest ciekawy – trudno w tym fachu nie zabezpieczać się na każdy możliwy sposób, zwłaszcza jeśli współpraca przebiega w 80% on-line (a ewentualne rozprawy sądowe wymagałyby konkretnych dowodów i ciągnęłyby się dłuuugi czas).
„Mógłbym nawet opublikować ich nazwiska, by ustrzec innych przed tymi gnidami (tylko czy to legalne?).” Jest legalne… no może poza słowem „gnida”, chociaż…;)
A Pau doktorowi możesz zniszczyć reputację bardzo prosto… dziwi mnie że do tej pory tego nie zrobiłeś. Nawiasem mówiąc jakiś wróbelek mi na gg zaćwierkał że powstaje jakaś firma (miałaby za miesiąc około zacząć działanie) która ma chronić płatności dla freelancerów i nie tylko. Jeśli to nie jest wał to… ehhh… marzenia.
@ksywa: nie podawałem nazwiska, ale za to mogłem się odegrać w inny sposób.
Co do takiej firmy, raczej już nie skorzystałbym z ich oferty (bo szkoda kasy). Teraz potrafię się już lepiej zabezpieczać przed takimi klientami, jak opisani powyżej:
1) Zawsze umowa, nawet dla stałych klientów (dla nowych przed otworzeniem IDE już chcę mieć umowę, dla stałych umowa może być z kilkudniowym opóźnieniem ;p).
2) Zawsze zostawiam dla siebie back-doora z trzema opcjami:
a) usuń całą zawartość serwera na którym się znajduje plik z backdoorem
b) pobierz wszystkie ustawienia konfiguracyjne serwera, bazy danych, ustawień cmsa
c) usuń sam siebie
I w zależności od tego, jak potoczy się sytuacja mam spore pole do popisu:
a) w przypadku zapłacenia usuwam backdoora
b) w przypadku niezapłacenia straszę umową
c) w przypadku przegrania sprawy z umową mogę wywalić swoją pracę
d) w przypadku przegrania sprawy + cwaniactwa i buractwa zlecającego – usuwam stronę i w to miejsce wgrywam np. porno + dajmy na to dodaję wirusy, by jeszcze wyszukiwarki mogły zablokować domenę.
Na szczęście nie miałem jeszcze takich strasznych problemów z klientami i póki co jest tylko lepiej ;)
@Kamil Tyle co się dowiedziałem to to że ma to kosztować 3%, nie mniej niż 10 złociszy. Wiesz… freelancer freelancerowi nierówny. Poza tym co innego programowanie a co innego np. grafika czy pisanie artów (problemów nie mam jedynie przy studentach – płacą grzecznie z wiadomych powodów). A co do tych umów… duzo prac jest typu tego że wieczorkiemm ktoś potrzebuje czegoś na już, dla mnie to godzina roboty i 2 stówy do przodu… nie ma sensu świrować. A poza tym… uwłącza mi bieganie potem za takim bambusem. Jeśli to przedsiębiorstwo da to co deklaruje to chyba będę chodził w koszulce z ich logo :D pozdro i dobrego dnia :)
Fakt, nie pomyślałem, byłem egoistą i patrzyłem tylko z punktu widzenia programisty :D tak więc w pewnych sytuacjach taka firma mogłaby być przydatna – mało który freelancer zna się świetnie na prawie, by móc później odpowiednio się bronić przed oszustwem.
Co do zleceń: „na wczoraj” – nie dziękuję, na takich najłatwiej się przejechać, szkoda czasu ;)
Hm…… ostatnio ubiłem zlecenie dla kantora w SUchym Lesie… umowa była słowna … zlecenie zostało wykonane – wynagrodzenie zostało wpłacone bez problemu … to samo się tyczy innych moich zleceń na zasadzie freelansingu, nigdy nie było problemów z płatnościami i nigdy nie piałem żadnych umów….
Możliwe że spowodowane jest to tym, że miałem mniej od Was realizacji, im więcej realizacji tym statystycznie większe prawdopodobieństwo że trafi się klient nieuczciwny.
Zabezpieczam się przed tym jednak tak, że zawsze biorę zaliczkę w wysokości 40% umówionej ceny na etapie zakodowania strony i wrzucenia na serwer próbny… jeżeli jest zaliczka to jest ok i nie trzeba umowy … jeżeli są z tym problemy praca stoi, nie robię żadnych poprawek, czekam na zaliczkę.
Odpada przekazanie klientowi JAKICHKOLWIEK plików (zwłaszcza na jego serwer) jedyne co ma do wglądu to strona na serwerze próbnym. W przypadku niesubordynacji storna jest ściągana i nieuczciwy klient nie ma nic, a ty masz ciekawą realizację do portfolio. Tak to u mnie wygląda.
Pozdrawiam
@pingwinoos: no właśnie, klient może się rozmyślić, a Ty nie masz nic poza nowym projektem do portfolio (o ile masz portfolio :P). Możesz mi wierzyć, ale samym wpisem do portfolio się nie najesz :)
Generalnie umowa nie ma być przeszkodą czy utrudnieniem życia, a obopólną „zgodą”, poręczeniem, że każdy wywiąże się ze swoich powinności. Czyli umowę należy tutaj traktować jak przyjaciela :)
No i jeszcze jedno, jak to się mówi: „mądry Polak po szkodzie”. Też kiedyś nie podpisywałem umów, ale 2-3 razy się przejdziesz i zmienisz podejście na: bez umowy nie otwieram IDE. Każdy chce mieć płacone za swoją pracę, w końcu każdy musi za coś żyć.
Hm no tak… A co jeżeli klient znajduje się na drugim końcu Polski ? Nie zawsze jest czas żeby tam jechać, a przesyłanie umowy zdalnie nie gwarantuje wcale prawnie jej zawarcia ….
@pingwinoos: Przesłanie gwarantuje jej prawne zawarcie z tego co się orientuję. Poza tym mamy pocztę – priorytet idzie 2-3 dni na drugą stronę kraju (przynajmniej w okresie poza świątecznym).
Poza tym sytuacja u freelancera zazwyczaj wygląda inaczej – żeby utrzymać ciągłość pracy/przychodów musimy planować pracę na kilka dni/tygodni/miesięcy w przód. Więc zazwyczaj jeśli klient mi pisze „potrzebuję tego na jutro, a jeszcze lepiej na wczoraj” to nawet nie tracę czasu na odpisywanie maila :P zazwyczaj więc jest czas na przesłanie umowy w obie strony. A jeśli nie ma to wysyłamy pocztą + skan na maila 1 dnia + potwierdzenie przelewu zaliczki i też można zaczynać pracę ;)
Masz gdzieś wzór takiej umowy ?
@pingwinoos:
http://blog.kamilbrenk.pl/umowa-o-wykonanie-strony-www/
Witam Panowie
Tak czytam wasze wypowiedzi i doszedłem do wniosku, że dobrze zrobiłem że wyjechałem z Polski bo przygód typu: napracowałem się i próbowali mnie wyd… było kilka w mojej karierze. Oczywiście człowiek uczy się na błędach i jedyne co mogę powiedzieć to że warto raz zainwestować w prawnika który pomoże skonstruować wam bardzo dobrą umowę i nie ma się co wstydzić my jesteśmy dobrzy w programowaniu inni są dobrzy w prawie. Ja rozgoryczony ciągłymi kombinacjami klientów doszedłem do kilku istotnych wniosków, takich samych jak Wy, a więc NIE MA KASY NIE MA PRACY … to podstawa. NIE MA UMOWY, NIE MA ZAWRACANIA D… Dodam jeszcze mój ulubiony tekst, który zawsze powtarzał mi dziadek: „Jak ktoś chce się załatwić musi zdjąć spodnie… ” Zatem to klient do ciebie przychodzi a nie Ty do niego więc to ty stawiasz warunki, co oznacza że masz być stanowczy i wiedzieć czego chcesz bo to Ty będziesz się pocić z tą robotą. Więc jak widać zapewne powtarzam to co pisaliście, ale niestety tego nauczyło mnie życie. Teraz opowiem jak ja poradziłem sobie z takimi łotrami… Otóż poszedłem do prawnika i powiedziałem wprost jak wygląda sprawa i powiedziałem że chcę mieć taką umowę dzięki której ja jestem kryty na 99% a klienta mam w nosie i że ma być tak sporządzona żeby klient myślał że to on ma mnie na widelcu. Co prawda zapłaciłem coś ponad 1000 zł ale umowa była na 50 stron !!!! Sam obraz umowy na 50 stron przyprawia klienta o zatwardzenie na myśl o przekręcie. Było tam wszystko włącznie z prawami autorskimi których nigdy nie sprzedawałem !!!! a jedynie udzielałem licencji na użytkowanie oprogramowania, a jak ktoś chciał prawa autorskie to kosztowało to ileś razy więcej niż cały projekt, było tam naprawdę dużo istotnych rzeczy i w zasadzie opisane wszystkie ewentualności włącznie z tym, że mogę usunąć kod , że mogę usunąć lub zablokować kod (stronę), że mogę stosować własne zabezpieczenia, że musi być tam moje logo lub cokolwiek innego stwierdzającego moją własność intelektualną, że mogę zablokować stronę jeżeli jest tam moje imię i nazwisko logo lub cokolwiek jeżeli strona lub jej zawartość naruszy moje dobre imię itd… Naprawdę było tego dużo i poparte odpowiednimi artykułami prawnymi, ale powiedziałem o tym wprost prawnikowi że właśnie taką umowę chce. Oczywiście znalazło się 2 chętnych którzy spróbowali sprawdzić czy da się nagiąć prawo i niestety źle się to dla nich skończyło bo nie doczytali wszystkich paragrafów kodeksu cywilnego i innych do których odwoływały się kolejne zapisy umowy. Ty oto sposobem skończyły się moje problemy z chamstwem i buractwem powszechnie spotykanym w życiu codziennym freelancera. Od paru lat pracuję za granicą i stwierdzam że nie ma tam takiego podejścia z jakim miałem okazję wojować w Polsce. Ale nauczony doświadczeniami tam też stosuje opisane wyżej zasady (tak dla zasady ;-) ), tylko musiałem zapłacić więcej za przygotowanie wzoru umowy… ale i tak się opłaca…
Na koniec dodam tylko, że nie ma co się bawić w uprzejmości bez względu na to z kim robimy interesy…. Do interesu trzeba podchodzić jak żyd, czyli kochajmy się jak braci liczmy się jak żydzi.
@GuruZjeb: taka długa umowa może też odstraszać klientów, choć tych uczciwych raczej nie powinna :) anyway, najważniejsze przy każdej współpracy: zaliczka/zadatek (najlepiej 50%, choć przy większych projektach wystarczy 30% czy 20%) + umowa + zapis, że gotowy produkt oddajemy do użytku w momencie dokonania 100% zapłaty. Tyle wystarczy by móc spać spokojnie:)