S otročinou končím, chci být za práci placený
Poslední dobou se zamýšlím nad tím, jestli jsem placená pracující síla nebo člen dobročinné organizace tvořící weby. Klienti se chovají stále více rozmazleně a nemorálně ždímají ze studentů každou volnou minutu jejich života. Začíná to nevinně - chtěl bych udělat malý e-shop, nic náročného, bez registrace, pár produktů. Okamžitě chce znát termín a cenu a často nepodá přesnější specifikace. Vytáhnu z něj informace, dohodneme se na skromném řešení se skromnou cenou. Dotyčný si však během realizace začne doslova cucat z prstu drobné úpravy, o prodloužení termínu a ceně se ale nezmiňuje. Zmíníte-li se alespoň o ceně vy, hned je oheň na střeše, klient na vás vytahuje původně smluvený termín a leckdy se z něj vyklube lepší programátor než vy a raději si to udělá sám.
Když jsem s weby začínal, nechal jsem si to líbit - byl jsem cucák a byl jsem rád, že mám co dělat. Teď už ale chápu, jak se mnou dotyční lidé vymetali, a proto hodlám přikročit k některým změnám ve svém jednání s klienty. Ještě než se o těchto změnách zmíním, dovolím si vyslovit svůj názor na to, jak jsme se do této situace v naší zemi dostali. Weby se dnes staví na dvou platformách - PHP a ASP.NET. Té druhé se tato situace netýká, lidé požadující projekty v .NET jsou profesionálové a nebojí se ocenit dobře odvedenou práci. S PHP je to ale jinak. Proč? PHP se může naučit každý - já, Franta od vedle z ulice, šesťák ze základky. A všichni tři ten web nějak zpatláme, každý máme svou cenu, někdo nižší, někdo vyšší. A klient se chce vrhnout na šesťáka, protože ten to spíchne za tisícovku. A proto Franta sníží svou cenu a je ochoten to udělat za dva tisíce a já třeba za tři.
Čím déle ale dělám weby, tím větší zkušenosti mám a tím lepší je výsledné technické provedení webu. Ošetření základních bezpečnostních děr, optimalizace databázových dotazů, cachování a další spousta věcí, které klient primárně nepožaduje, protože často neví o tom, že něco takového vůbec existuje, ale ve výsledku je rád, že to na jeho webu je. Nic proti šesťákům, ale začínající PHPkař neví, co je to SQL injection, neví, jak udělat cache, neumí JOIN v databázových dotazech, neumí spoustu dalších věcí. A proto je jeho nízké finanční ohodnocení adekvátní. Až se na jím vytvořený web dostaví více lidí nebo bude třeba něco předělat, vyskytne se problém.
Proto si chci nechat zaplatit své zkušenosti, každý chce zúročit své dovednosti. Ale to většina lidí nechápe a dochází tak k podhodnocení mé nebo i Frantovi práce. Vždyť sedět za počítačem není práce, ten člověk prostě jen sedí a hýbe rukama. Co na tom, že jeho internetový obchod po spuštění celkem jednoduše přinese zisk 100 000 měsíčně - vy ho naprogramujete za 10 000, je to přeci snadné. Obzvlášť nerad mám slovní obraty jako "ještě taková drobnost", "to je easy", "jedna malá prkotina". Dotyčný vůbec nemá ponětí, co se za tím ukrývá, většinou takové zásahy ve výsledku reprezentují zásah do celého systému, případně přepracování databáze.
Co mi ještě vadí? Dříve či později si klient vzpomene, že chce něco vlastně úplně jinak, než jak to bylo původně v plánu. Nikdy to ale nepodá přímo, aby to nebylo moc okaté. Vždy vám to servíruje po dávkách jako drobné úpravy, abyste se ostýchali měnit cenu. Vůbec nejlepší pak je, když jeden den žádá úpravu jedním směrem a druhý den zase jiným (ideálně zpět do původního stavu). Často také odpovídám na věty typu "Chtěl bych ještě, aby se nehledalo jen v názvech, ale i v popisech, jen taková drobnost, je to easy, nebude to problém?" Všichni dobře víme, že nic není problém. Ale musí se to zaplatit. V samoobsluze taky nedostanu na rohlík vysočinu jen tak zadarmo, protože to není problém.
Na jednom z projektů se mi nedávno stalo, že klient jen tak mimochodem přihodil import dvou databází (které mimochodem nejsou jeho) o zhruba 80 000 položkách. Jednalo se přitom o databáze v pravém slova smyslu - MySQL, SQLite, Postgre, ve kterých bylo třeba vyhledat závislosti, vymyslet strukturu a data pak ukrást. I ona krádež byla jedním z důvodů, proč jsme se s kolegou naštvali a zvýšili cenu projektu zhruba dvojnásobně. Klient se okamžitě nechal slyšet, že si to udělá raději sám a připomenul nám původní termín, shodou okolností dobu, po kterou nám on sám nebyl schopen dodat kompletní zadání.
Na základě tohoto si stanovuji jistá pravidla:
- S klientem strávím několik hodin tím, že si do detailů dohodneme podobu celého webu, případné importy dat a podobně. Tato konzultace bude samozřejmě placená (250 korun za hodinu).
- Do týdne stanovím cenu své práce a termín, který bude značně nadsazený, nicméně oficiální.
- Výše uvedené dám klientovi písemně k podpisu.
- Vyfakturuji zálohu ve výši 25% celkové ceny projektu.
- Jakoukoliv změnu ochotně zapracuji za 500 korun na hodinu.
- Komunikace bude probíhat výhradně prostřednictvím e-mailu, telefon klientovi nevezmu a přes ICQ, MSN nebo Skype s ním rovněž nebudu komunikovat. Šetří to čas a vše je snadno dohledatelné.
- Web odevzdám na datovém nosiči nebo si naúčtuji 1000 korun za jeho uvedení do provozu na klientem zvoleném a zaplaceném webhostingu.
- Registraci webhostingu a domény provedu na požádání za 500 korun (poplatky za webhosting a doménu samozřejmě hradí jejich majitel, tedy klient).
- Případnou technickou podporu budu podávat výhradně za hodinovou sazbu 500 korun.
- Klient nebude majitelem zdrojového kódu, ale jedné jeho kopie. Kód bude výhradně mým majetkem.
- Pod pojmem web je myšleno rozhraní výstupu a vstupu, nikoliv užitečný obsah. Klient má k dispozici rozhraní vstupu, které může použít. Pokud bude i přesto požadovat naplnění webu, bude mu fakturováno 500 korun za hodinu takové práce.
Pokud jste můj klient a já jsem vás odkázal na tento spot, věřte, že s vámi mám problém, který se mi nepodařilo vyřešit racionální cestou. Pravděpodobně jste se v tomto textu poznali.
Jste-li programátor a já vás sem odkázal, snažím se vám naznačit, že jste stejný trouba jako já ještě loni.
Volně inspirováno http://www.misantrop.info/675711-dve-desatera-pro-webare.php (díky, Martine) a komunikací s Martinem a Vojtou (Unipromotion) a Vojtou.
Tak to je stará známá věc, že největším nepřítelem je tvůj vlastní klient. :). Aspoň v advokátní branži to platí určitě :).
souhlas. úpravy během procesu tvorby webu jsou největší zlo. proto jsem mimochodem přestal dělat php weby, i když jsem na to kdysi měl našlápnuto. když už, tak jedině čisté html+css, nic víc. a radši ani to ne