Cena programa

Cena softveraJedan od zadataka koji ide “uz posao programera / onog što zna kompjuKtOre” je servisiranje i održavanje računara prijatelja, rođaka, poznanika, rođaka od poznanika …

Iako je svaki od tih slučajeva nekako “poseban”, obično se akcija svodi na:

  • Sačuvaj korisničke podatke (pošta, Desktop, Documents & Settings direktorijum …)
  • Proveri da li si sačuvao SVE podatke – mašta korisnika gde se sve dokument može smestiti je neverovatna 🙂
  • Reinstaliraj Windows*
  • Reinstaliraj sve ostale neophodne programe
  • Vrati podatke

U principu, to je jednosmeran i jednostavan posao, pogotovo ako snimite/pripremite upravljačke programe (drajvere) za sve uređaje koji su u sistemu. No, to je i zamoran i dugotrajan posao – iako tu ima malo interakcije sa računarom, ima puno čekanja (instalacija, restart, zakrpe, restart, novi programi, restart, zakrpe za nove programe, restart …) i odvlači vam pažnju sa bilo čega bitnog što uz put radite.

No, nekim ljudima se to prosto ne može odbiti 🙂 – tako da i ne odbijam, no uradim. Bitna razlika (u poslednjih nekoliko godina – valjda se omatorelo, naučio da cenim slobodno vreme, priklonio se udobnostima, šta li) je da celu akciju počinjem sa:

* “Da li imate legalan Windows?” – ne zato što radim za Microsoft (ne radim) ili zato što isterujem pravdu (ne isterujem) no se ceo gornji proces daleko lakše odradi ako je Windows legalan, ako se sve potrebne zakrpe mogu skinuti sa Windows Update sajta, ako se svi novi programi (Internet Explorer 7, Windows Media Player 11, Windows Defender) mogu bez problema instalirati na mašinu.

Tu onda ide oko pola sata objašnjavanja “kako se to proverava, a šta će mi” itd. Kada se potvrdi da od legalnog Windowsa nema ni “L” onda ide teži deo – “srediću, a vi samo kupite za 7.400 dinara Windows Home” – i karambol počinje:

P1: “Pa zašto to da platim?”
O1: “Zato što ga koristite”

P2: “Pa zar to nije došlo sa računarom?”
O2: “Proverite sa Vašim prodavcem” (99% šanse da nije, jer “mali sa ćoška koji je imao konfiguraciju jevtiniju za 2,3€ nije ni čuo za OEM Windows”)

P3: “Pa zašto je to toliko skupo?”
O3: E ovde ne može da dođe odgovor-od-jedne-linije 🙂

Ne samo kod kupovine Windows-a, vrlo često i u poslu dobijam pitanja “a zašto su programi _tako_ skupi?”; niti se prave od metala, niti se bruse, to je samo gomila nula i jedinica narezanih na CD koji se prosto kopira.

Prvi razlog ili prvi razlozi su očigledni: programeri (oni ljudi iza kompjutera) moraju da plate stanarinu, bicikl, računar na kome razvijaju program, klopu za porodicu 🙂 No, to je i posao, komplikovan koliko i bilo koji drugi, koji zahteva mnogo truda, mnogo rada, sinhronizaciju gomile ljudi raznih specijalnosti i sposobnosti.

Izgleda da lakoća korišćenja programa (onih koji se zaista lako koriste – a to su najbolji programi) nameće osećaj korisnicima da je te programe lako i napisati (“to je samo igra sa kartama – koliko je to teško napisati?”).

Da vidimo šta je sve potrebno za pisanje programa:

Ako ste firma (a veliki programi obično jesu rezultat timova a ne pojedinaca), pogodiće vas svi uobičajeni troškovi:

  • Iznajmljivanje prostora
  • Stolice, stolovi, kuhinje, trpezarije, bele table, faksovi, flomasteri, papiri, spajalice, blokovi, olovke
  • Plate i bonusi zaposlenih
  • Porezi i sve dažbine državi
  • Struja, voda, komunalije …

Ako ste softverska firma, pogodiće vas i gomila ne-tako-poznatih problema i troškova:

  • Debeli internet linkovi
  • Gomile i gomile hardvera – serveri, štampači, UPS-ovi, radne stanice, ruteri, svičevi, veliki diskovi, generatori, trake…
  • Planiranje šta proizvod / program treba da radi
  • Kreiranje prototipa, diskusija sa potencijalnim korisnicima, kreiranje još prototipa, još diskusija, kreiranje proto…
  • Sama proizvodnja programa i sve frustracije koje uz to idu:
    • Nejasne i nedovršene specifikacije
    • Kratki rokovi
    • Nedostatak novca
    • Često menjanje ionako nejasnih specifikacija u hodu
    • Programeri hoće da ubiju menadžment zbog svega gornjeg
    • Menadžment mrzi programere jer su “plaćene primadone sa po dva 19" TFT monitora na stolu a opet sve kasni”
    • Testeri mrze programere jer ovi nisu napisali dobra uputstva za testiranje
    • Programeri mrze testere jer su ovi našli “baš specifičnu grešku u programu a na mom računaru sve lepo radi”
    • Prvi korisnici mrze sve jer su dobili nešto što liči na špageti papazjaniju a ne lep i šaren program koji su oni baš eto zamislili
    • Programeri mrze korisnike jer njihovo super-ekstra-izuzetno-delo moraju da pišu ponovo jer zaboga ne zadovoljava neke sitne poslovne zahteve
    • Testeri mrze … i tako sve u krug 🙂
  • Ako postoji i mala nada da će program ikada ugledati svetlo dana, treba spremiti reklamu, odabrati ciljnu grupu, naći nekog normalnog ko može da proda program (programeri tu ne dolaze u obzir – ako su dobri programeri onda su loši prodavci i obrnuto)
  • Ako program ikada i ugleda svetlo dana, treba spremiti dokumentaciju
  • Tu su i pakovanje, distribucija, sistemi za naručivanje i plaćanje
  • Ako program ikada ugleda i prvu mušteriju, treba spremiti i podršku da pruži podršku toj mušteriji

No, to nije sve – programe je teško pisati. Iako ni pravljenje/popravljanje kola nije lako, iako podizanje garaže nije lako, u svim tim zadacima teško da ima misterije – nađete plac, označite, kupite cigle i malter i krenete sa garažom. Kod programiranja, sednete za prazan ekran i od toga treba napraviti nešto što će korisniku zaustaviti dah (= nikada se ne dešava 🙂 ) ili mu barem olakšati dnevni posao. Kompjuter sa druge strane vam u tome uopšte ne pomaže – to je jedna krajnje glupa sprava, koja radi ama baš sve što mu kažete, bilo to dobro ili ne. Tu glupu spravu morate naučiti svemu – i šta znači tekući račun, i šta znači devizni račun i šta je kursna lista, jer (rekoh li već?) ta glupa sprava ne zna ništa. Apstrakcija (i živci potrebni) da ovo izvedete na prostom (iako jako brzom) kalkulatoru nula i jednica je zametnost kojoj većina ljudi nikada se ne prepusti. Što je zadatak teži, treba više vremena i više programera da glupu spravu nauči svim trikovima potrebnim da najnoviji program isped vas izgleda lepo, koristi se jednostavno i prosto se uklopi u vašu dnevnu rutinu.

Da nije sve tako crno, nije – programiranje je krajnji čin stvaranja – iz ničega stvarate delo koje će nekom služiti; prateći kruta pravila (jezika/mašine) kucajući gomile teksta, na kraju završite sa nečim što ima sopstveni život, što će koristit 1, 5, 10, 1.000 ljudi – a to je krajnji cilj programiranja – delo za druge.

U svakom slučaju, kada se požalite na 7,400 dinara za Windows ili kada kada pomislite da nekog čudaka sa naočarima (to je uvreženo mišljenje, iako gomila nas programera ne nosi naočare – evo ja 🙂 ) maltertirate sa: “zašto zaboga to šareno na CD-u toliko košta” setite se ovog teksta … i možda ga poštedite 🙂

8 thoughts on “Cena programa”

  1. E još samo da “poznanike poznanikovih poznanika u nevolji” možeš da uputiš na ovaj tekst odmah nakon pitanja “a zašta 7,400 dinara?!?”

    Mala napomena – ne stvaraju programeri “ni iz čega nešto” – ako se posao ozbiljno radi – programer već ima pripremljenu specifikaciju, rokove, pojedine algoritme … inače se vraćamo na pitanje “A zašto mi ovaj program ne radi kad mi je onaj mali s’ ćoška sve to programirao kako sam mu rekao, i to za sitne pare!” … a ovo već zahteva poseban članak 😉

  2. Potpuno se slazem sa tobom sto se tice korisnika i njihovih pitanja i izmisljanja. Svi bi oni hteli da imaju kompjuter koji ce da im radi bez greske i da to nista ne kosta. Posebno me nerviraju oni likovi koji mi stoje za vratom i za svaku sitnicu koju uradim pitaju me “a sta ti je to”, “a sta to radis”… I ja dosta puta pokusavam da objasnim ljudima zasto je softver skup i to im objasnim na njihovim primerima… I ja sam odavno raskrstio sa tim prijateljima, rodjacima, poznanicima i slicno jer sam im dovoljno puta ucinio neke stvari a oni to nisu umeli da cene i sad sam reko da ne dolazim bez 1k dinara… pozz

  3. Hehe…sve ovo može da se primeni i za web sajtove, blago izmenjeno.

    Dobar tekst, lepo i obilno sumirano, odličan pointer na sve kojima je svašta skupo.

  4. @ Veličković: tačno je da programer obično ima sve te stvari pripremljenje, ali je i tačno da projekat obično počne pred praznim ekranom omiljenog okruženja (IDE-a), zar ne? 🙂

  5. Ma sve mi se cini da ti (Dejan) nisi samo dobar programer vec ti ide i prefinjen ukus za lepo pisanje.
    Neko rece “bas si me slatko nasmejao”-i u pravu je covek.
    Gde se seti za “zidanje garaze” ahaahaaaa!!! i za NAOCARE!
    Samo nisi objasnio-“KOLIKO SU TESKI” u eurima/$.
    Samo je “ujka Bili” pretezak za sve …..

  6. Koliko je težak ko? Microsoft? Vrlo težak, ali i sa debelom zaslugom – verovatnoća je 92% da ste taj komentar upravo napisali u Windows-u – zato i jeste težak 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.