Penki dalykai, kurie siutina programuotojus darbe

Programuotojų darbo diena kupina ne tik kodo rašymo, bet ir kitų dalykų – bendravimo, užduočių aiškinimosi, skaitymo, pokalbių su valdžia ir kt. Iš viso to galima išskirti tai, kas programuotojus labiausiai verčia nervuotis ar net siutina, ko pasekoje prastėja ir darbo rezultatai. Taigi, pažvelkime į šį sąrašą, ar sutiksite su manimi dėl tokių punktų.

1. Trukdymai ir pertraukimai

Mažai yra programuotojų, kurie gali tiesiog atsisėsti ir suprogramuoti kažką nuo nulio iki galutinio rezultato. Mes labiau panašūs į lokomotyvus, negu į sportinius automobilius. Įsivažiuojame pamažu, po to pagauname pagreitį, ir tada jau kodas liejasi kaip iš natų. O tada staiga ateina koks nors susirinkimas, arba pokalbis su klientu, ar tiesiog kolega nori pašnekėti apie vakar dienos krepšinio rungtynes. Taip, visa tai yra smagu, bet po to užtrunka tikrai nemažai laiko, kad ne tik prisimintum mintį, kurią programavai, bet ir vėl pagautum tą patį pagreitį. O darbo dienos gale dėl nerealizuoto sprendimo valdžia kaltins tave, o ne ką kitą.

2. Esminiai pakeitimai projekto vizijoje

Tokia liūdna situacija labai dažna, ypač Lietuvoje, kur žmonės dažnai mažesnius projektus daro iš idėjos, per daug nekreipdami dėmesio į formalumus, technines specifikacijas ir pan. Neretai ir man pasitaikydavo, kai užsakovas pasakydavo “sukurk man paprastą tinklalapį”, o po jo sukūrimo staiga prisimindavo, kad dar norėjo pridėti kažkokią funkciją, kuri, jo nuomone, yra lengvai realizuojama, o man tada tekdavo keisti projektą vos ne nuo nulio.

Konkretus pavyzdys būtų:
Užduotis 1: sukurk paprastą autoserviso HTML puslapį iš serijos “Apie mus”, “Paslaugos” ir “Kontaktai”, mes jame informacijos šimtą metų nekeisime
Užduotis 2: perkelk viską kas yra dabar “Paslaugos” į naują atskirą puslapį “Produktai”, tegul jis būna statinis HTML, mes jo nekeisime
Užduotis 3: padaryk hierarchinę katalogo struktūrą puslapiui “Produktai”, kurį galėtume patys redaguoti
Užduotis 4: o vat pažiūrėjau į konkurentų puslapius ir ten mačiau, kad… (ir čia jau toliau vaizduotės reikalas)

Pažįstama situacija, m?

3. Valdžia ar klientai, kurie nieko neraukia programavime

IT pasaulyje yra krūva žmonių, kuriuos galima pavadinti “dideli dėdės”. Jie nieko nežino apie programuotojų darbą, jie mato tik galutinį produktą, kuris jiems arba patinka, arba ne. Jie neįsivaizduoja, kiek reikėjo žmonių-valandų projekto įgyvendinimui, ir kiek taisymų reikia atlikti vardan jų “smulkių” pageidavimų. Jų mąstymas: “aš moku pinigus, aš ir užsakau muziką, o su kuo ją sugros – ne mano problemos”.

Čia yra du variantai. Klientai, iš esmės, nieko ir neturi numanyti programavime, jie tiesiog gauna sąskaitą už darbus arba juos galima pasiųsti velniop, jeigu labai šakojasi (nebent projektas įpūsėjo ir jau gaila pinigų bei įdėto darbo valandų).

Bet kitas variantas – o jeigu toks dėdė yra jūsų tiesioginis viršininkas? Ne ne, ne projekto vadovas, o IT kompanijos direktorius, nuo kurio priklauso jūsų alga ir darbo valandos? Vat tada jau nekas… Tada marios laiko susigaišta tam, kad programuotojas vien SUVOKTŲ, ko iš jo nori, tada suprastų, KODĖL iš jo to nori (dažniausiai nesėkmingai), tada stengiasi sumąstyti, KAIP tai padaryti, ir galiausiai bando SUSITAIKYTI su tuo, kad jam teko tokia užduotis. Ir tik tada pradeda programuoti…

4. Trečių šalių sistemos be dokumentacijos

Faktas, kad programuotojai nemėgsta arba dažniausiai neturi laiko dokumentuoti savo kodo. Komentarai tai dar pakankamai normaliai parašomi, nors ir tai ne visada, o kad prie projekto būtų išleidžiama pilnavertė dokumentacija tam atvejui, kad jį panaudotų kas nors kitas – čia jau retas reiškinys. Bet paradoksalumas tame, kad lazda turi du galus. Savo ruožtu programuotojas, paėmęs kieno nors sukurtą klasę, kurią jam reikia panaudoti savo projekte, pirmiausiai ieško tos klasės dokumentacijos. Ir jei neranda, tada jau kaltina tuos PROGRAMUOTOJUS, kurie tą klasę sukūrė. Panašus principas, kaip dabar Vilniuje išklijuotuose plakatuose: “Nemesk šiukšlių, jos grįžta atgal”.

5. Ir pabaigai: savo paties kodas po šešių mėnesių

Ar dažnai jums tenka atidaryti kodo gabalą, parašytą jūsų pačių prieš pusmetį ar dar seniau, ir jį reikia STAIGIAI paredaguoti arba pridėti naują funkciją? Tada ir prasideda replikos iš serijos:
“WTF, čia aš rašiau???”
“Kas šitą rašė? Pakarčiau vietoj! Oj, čia gi aš rašiau…”
“Blyn, galėjau gi pakomentuoti, dabar nieko neprisimenu.”
“Hm, o ką šita funkcija daro?”
“Įdomu, ar ši funkcija iš viso iškviečiama?”

Ir taip toliau, ir panašiai. Kita vertus, tobulumui nėra ribų, tad pamatęs tokią situaciją, programuotojas supranta savo klaidas ir kitą kartą organizuos darbą bei rašys kodą šiek tiek kitaip, kad tokių situacijų nepasikartotų.

Na šiam kartui tiek. O ar jus kas nors dar išveda iš kantrybės darbe, gerbiamieji kolegos programuotojai?

* * *
Norite gauti Skaitykit.lt naujienas operatyviau? Prenumeruokite RSS įrašus
Jei nežinote, kas yra RSS ir kaip juo naudotis, apie tai galima pasiskaityti šiame puslapyje.

Komentarų: 6

    osam:
    April 8, 2010 11:44 am

    Paskutinis, tai gerai pastebėta, nes dažnai būna :D

    pow:
    April 8, 2010 1:05 pm

    tu sukūrei – tu ir suvedinėk informaciją. nerealu :)

    1. reikia įprasti arba keisti darbą… :)
    2. tam ir yra kitokie modeliai nei waterfall’as :)
    3. valdžia ir klientai ir tikrai neprivalo suprasti kaip programuojama. Juk taip yra visose srityse. O tokie klientai su smulkmenėlėmis… na tiesiog leiskite jiems sužinoti kokia tos smulkmenėlės kaina ir atlikimo laikas. Ne vieną kartą teko gauti užduotį, kur sako, aij per 10 min padarysi, o ten įtempto darbo, netikrinus reikia minimum dviejų valandų… tai aš taip ir sakau, po 10min nebus – bus po 2val. Nemanau, jog norite dirbti 2h ir gauti tik už 10min :)
    4-5. manau abu galima sujungti į vieną grupę. Teko kartą gauti užduotį, kuri buvo užrašyta prieš pusę metų, bet taip, kad net tas, kuris ją užrašė nieko nebeprisimena ir nebesupranta ką reikėjo padaryti… :D apie kodą jau nekalbu :)

    Giedrius:
    April 8, 2010 4:23 pm

    Man asmeniškai dažniausiai pasitaikantis variantas, kai projekto pradžioje esi užsivedęs ir kimbi į darbą atsakingai ir kruopščiai, kol galu gale, pačioje pabaigoje, vis tik pradedu kažkiek simuliuoti ir jau nebe padarau visko idealiai nes tiesiog aptingstu.
    Aišku su tuo galima kovoti padarius pertrauka projekte, bet jei spaudžia terminai, tai nėra kada to pertraukos padaryti.

    Mantas:
    April 8, 2010 10:30 pm

    Gerai pastebėta :)

    Su klientais, kurių pageidavimų vis gausėja – per daugelį metų išsivystė įprotis tapti šiokiu tokiu aiškiaregiu :) ) ir pamėginti nuspėti, ko gali užsiprašyti klientas laikui bėgant. Tuomet kode bei architektūroje palieki galimybę įstatyti vieną ar kitą funkcionalumą, kurio numanai gali prireikti, kad, jei taip iš tiesų nutiks, netektų visko griauti ir kurti iš naujo.

    Neišsprendžia problemos iki galo, bet vis mažiau streso :)

    KVNP # 23 | Karolis Vyčius:
    April 11, 2010 5:04 pm

    [...] Kas siutina programuojus [...]

    chaos:
    May 13, 2011 12:38 pm

    Dazna situacija – kazkas pridare “krepo”, o paskui arba pats isejo, arba ji ismete. O tau belieka “perimti” viska ir pasikarti… Ir nebera net kaltu.

Parašykite komentarą


Powered by WordPress | Designed by: BlueHost Coupon | Compare CD Rates, Online Brokers and Press Release