laupäev, 8. mai 2010

Tarkvaraarenduses võiks loobuda populismist

There is nothing more frightful than ignorance in action - Johann von Goethe
Klassikaliselt on tarkvaraarenduses olnud kasutajate jaotus, kus ühele küljele jääb dumbuser, teisele poweruser. Noh, tegelikult tuleb poweruserist edasi veel programmeerija, sealt edasi tarkvarainsener/-arhitekt ja lõpuks veel need mõned parimad programmeerijad, kellest paljusid kõik teavad ...aga hetkel huvitab see dumbuser/poweruser jaotus.

Dumbuserit ja poweruserit eristavad mõned väga kindlad asjad - poweruseril on koht, kuhu oma uued teadmised kirja panna; tal on küllaltki hea mälu ja ta on piisavalt taiplik, et asjadest aru saada. Ma olen elu jooksul näinud powerusereid, kes on arvutit kasutanud paar päeva või kuu aega - lihtsalt istuvad arvuti taha maha ja ongi poweruserid - ja dumbusereid, kes on kasutanud juba viis või kümme aastat. Esimest siit sai näha muidugi siis, kui arvutid alles tulid, Eestisse siis. Dumbuseri võiks tõlkida lollkasutajaks ja poweruseri tarkkasutajaks.

Kõige suurem erinevus, mille järgi neil kahel tavaliselt vahet teeb, on suhtumises. Tarkkasutajale piisab tavaliselt õigest manuaalist, mille ta siis läbi loeb ja selgeks teeb. Lollkasutaja ei taha mingit manuaali, isegi mitte 10lk pikka. Lollkasutaja tahab, et keegi töö ära teeks. Kui teha asi ära ja püüda talle seletada, kuidas see käib, et ta teinekord ise teeks, siis ta hakkab karjuma - vähemalt, kui teha tuleb kaks klikki rohkem, kui lihtsalt vajutada nupule "paranda" või "ok". Siit on võimalik aru saada, et peale kümneaastast kogemust on kahe vahel lõhe ainult suurem - lollkasutaja tuleb ikka küsima, et kust seda reavahet tehti või kuidas kiri ära saata, kuna ta unustas selle vahepeal maal ära, tarkkasutaja uurib järjest keerukamaid asju ja oskab selle aja peale vabalt kasutada juba igat programmi lollkasutaja arvutis - mida see pole käimagi panna proovinud - pluss veel teist sada korda sama palju oluliselt keerulisemaid programme, millest umbes pooli ei oskaks lollkasutaja ei installida ega käivitada.

Keegi ühes Eesti foorumis kirjutati hiljuti, et 30 aastat tagasi oli tehtud kuskil siinkandis uuring, et kuhu arendada telefone. Küsiti kasutajatelt, et kas neile meeldiks kaasaskantav telefon - kasutajad ühel meelel, et pole tarvis (linn ju kubiseb telefoniputkadest, eks ole). Küsiti ka seda, et kuidas meeldiks videotelefon - jah, muidugi. Nüüd on mõlemad asjad juba ammu valmis tehtud - videotelefone ei viitsi keegi osta, skypet kasutades sisse lülitada ega oma mobiilis isegi vaadata, kuidas see käib. Mobiil on pea kõigil olemas.

Sellega seoses tahaksin rääkida populismist tarkvaraarenduses.

Populism tarkvaraarenduses
Better to ask a question than to remain ignorant. - Proverb

Kuna kõik teavad, et klient on kuningas, siis on püütud kliendile ka mõningast otsuseõigust liigutada. Kuna klient võib päid maha võtta, siis on leitud hea viis temaga toime tulekuks - ise otsustab, ise rikub ära, ise vastutab ja pea võtab endal maha. Selle asemel, et kliendiga kakelda, minnakse iga kliendipoolse lollusega kaasa tingimusel, et see tehakse kiiresti algelisel kujul ära (ja mainitakse ka paremaid viise asju teha) - kulutades aega lolluste ära tegemisele hoitakse korras inimsuhteid; klient ei lähe ära, kuna ta ei saa, mida tahab. Paljude lollustega läheb klient lõpuni välja ja siis polegi muud, kui ära teha - ise tellis, ise vastutab, peaasi et raha ära maksab. Ja see kõik on õige; kui hakata kliendiga piike murdma, siis on õhus küll ehk parem idee, aga klient ei saa ju rahule jääda isiklikult veendumata, et tema idee oli jama. Teatud turuniššides - seal, kus võimutsevad lollkasutajad, aga ka seal, kus kliendil on vastupidi liiga hea arusaam oma oskustest - tehakse asju populistlike loosungite ja kliendi arusaamade pinnalt. Probleem on selles, et need firmad on jäänud turul suures osas peale - kui 10a tagasi oli selline suhtumine harv nähtus, siis nüüd on see igapäevane. Probleem selles, et isegi Linux on võtnud suuna sellisele arendusele ja muutunud lollkasutaja töölauaks, ehkki õnneks on seal ka tarkkasutaja jaoks rohkelt võimalusi ja need ka arenevad; siiski asendus Windowsi lollkasutajapõhisuse üle irvitamine üks hetk mingi "turu hõivamisega" (kas pole tobe, kui vabavara meeleheitlikult turgu hõivab, et võita kasutajaid, kes ei oska seda isegi mitte edasi arendada ega maksa raha ja kes ei taha kulutada poolt tunnikest, et asjast aru saada?) Kellele ja miks?

Mina kogenud programmeerijana võin kujutleda vaimusilmas võimalusi, millest lollkasutaja ei oska undki näha; tunnetada ennast kasutamas asja, mille valmistamine võtaks aastaid ning saada aru kasutusmugavuse nüanssidest selle unistuse juures. Lollkasutaja jaoks on kolme kliki õiges järjekorras tegemine keeruline - ausalt, ikka veel, kuigi nad oskavad juba Wordi kasutada ja kirjutavad Exceli lausa CV'sse sisse. Me oleme kümne aastaga lollkasutajaid väga palju edasi arendanud, jõudnud juba kolmanda või neljanda versioonini, aga asja olemus ei ole muutunud vähimalgi määral - väga paljud lollkasutajad ei ole transformeerunud tarkkasutajateks, nad ei saa ikka veel aru, et eksisteerib Google, eksisteerivad manuaalid ja kui endale meelde ei jää, võib kasutada vihikut. Ja et see, kui miski on esmapilgul arusaamatu, näitab seda, et see võib peale mõningast harjutamist olla väga mugav, mitte seda, et see on halvasti tehtud; kui miski on kohe esmapilgul arusaadav, siis näitab see halvasti läbi mõeldud liidest.

Need võimalused ...kui programmeerija kujutleb vaimusilmas asja, mida veel ei eksisteeri, aga lollkasutaja ei saa asjast, mis eksisteerib, kümne minutiga aru; siis kui nüüd programmeerija räägib talle kümme minutit asjast, mis ei eksisteeri, siis ei saa ta sellest õigesti aru. Ilmselt, kui ta ei saa proovida, siis sellest, millest ta muidu kümne minutiga aru ei saa, ei saa ta selgelt aru ka tunni ajaga. Aga kui lollkasutaja saab aru, siis tihti ei jää talle meelde ja ta ei näe tervikut - nii et kui rääkida kiiresti sajast sellisest detailist, mis on plaanis uues programmis, siis ei saa ta enam üldse millestki aru.

Mida see põhjustab? Aga loomulikult seda, et kui lollkasutajale esitada küsimusi, rääkida temaga kõik läbi ja lasta prototüübis huvitavamaid asju paar tundi proovida, siis teha tema plaanide järgi, siis on tulemuseks täiesti masendav programm. Tulemuseks on programm, mis üldjoontes - kuigi mitte detailides - on lollkasutaja jaoks kujutletav. Tegelikult räägib lollkasutaja palju rohkem, kui ta ise aru saab - kui need asjad, millest ta räägib, kuna need tunduvad hea mõttena, lihtsalt ära teha, siis on ta väga vihane. Ja kui neid mitte teha, siis on ta ka väga vihane, sest kuni need ei ole valmis ja kuni ta ei pea neid reaalselt kasutama, tunduvad need endiselt väga hea mõttena.

Selleks kasutatakse iteratiivset programmeerimist - tehakse nädalaste juppide kaupa, arutatakse kliendiga reaalajas -, et asi nii ära teha, et klient oleks rahul. Aga - kuna käiakse kindlat rada ilma mingi suurema visioonita, tehakse väikeste tükkide kaupa katse-eksituse meetodil, siis on välistatud, et jõutaks nii hea lahenduseni, kui tasemel arhitekt tegelikult teha suudaks, kui talle vabad käed anda. Jõutakse pooletoobise lahenduseni, mis on ebamugav ja ei moodusta loogilist tervikut. Kui klient kasutab korralikku programmi, siis ta õpib seda järk-järgult, saab aina sügavamalt aru ja muutub aastatega proffiks, hakkab selle võimalusi üliproduktiivselt ära kasutama. Kasutasin seda "üli" eesliidet, sest ...kui teha kliendile programm, millest ta juba valmistamise ajal selgelt aru saab ja mille ta sisuliselt ise disainib, siis midagi sellist ei ole. Ta ei õpi aastate jooksul midagi juurde - kuidas ta saaks, kui juba tegemise ajal on esimene kriteerium, et kõik oleks kohe arusaadav ja arusaamatute asjade eest ei maksa keegi sentigi, vaid nuriseb hoopis, et mis jamale te oma aega kulutate. Millest aru ei saa - see on jama. Ja nii ongi tekkinud naljakas seis, et tööde juhtimises on kõige olulisem roll osapoolel, kes ei saa millestki aru. Selline klient soovitab ainult asju, mida ta on juba näinud ja kasutanud; asju, mis on talle mugavaks osutunud - mitte midagi uut, mitte midagi innovatiivset. Innovaatiliselt läheneda julgeb Steve Jobs, julgevad paljud start-upid, aga seda ei ole tavalistes kliendi jaoks programmeerimistes, kus liigub Eestis vähemalt 95% raha ja tööjõudu, kui jätta välja ekspordile keskendunud firmad.

See ongi küsimus - kas keskendutakse kliendi vajadustele (programmeerija esitab küsimused, mis on kliendi töökeskkonna kohta spetsiifilised, ning võtab juhtiva rolli, kuigi kogub mõistlikul määral tagasisidet ja teeb ikkagi iteratsioone, mitte waterfalli) või keskendutakse kliendi nõudmistele (kliendil on oma visioon, mis on tavaliselt katkine ja puudulik, ning programmeerija kirjutab talle ette, et ta jagaks selle nädala-paariga teostatavateks ülesanneteks, mida siis järjest ära tehakse, kuna klient kaugemale ei mõtle - vastutus liigutatakse kliendile). See on paratamatu strateegia, sest enamus kliente usaldab IT küsimustes ennekõike ennast ja palju vähem IT inimesi - kui tegu ei ole just asjade ära tegemisega. Raske on mõista, et idee ei ole mitte suvaline lause, vaid kandev ja korralik idee on terve mudel, kus on arvestatud erinevate aspektidega, lähtutud professionaalsest analüüsist ning nähtud ette terve rida võimalikke probleeme, millele on lahendused leitud juba idee täpses sõnastuses ja kujus. Kui sellist ideed hakkab teostama inimene, kes kõiki neid algseid kaalutlusi ei mõista, siis võib idee kaotada lausa kõik oma väärtuse - tundudes küll alguses hea ja huvitav. Kui idee ongi välja mõeldud inimese poolt, kes asja ei jaga, siis võib see kõlada sama innovatiivselt ja huvitavalt, kui mõni professionaalne idee, aga kui hakata tegema, siis selgub, et päris kõik ei klapi - ja kui kuu aega kasutada, selgub, et asi on suisa ebamugav. Terviklik idee sisaldab ka andmebaaside kuju, algoritmide valikut, tehnilisi detaile - idee läheb sujuvalt üle arhitektuuriks. Mida tarkvaraarhitekt nimetab "ideeks" on üldiselt juba tema peas moodustunud tervik; mida lollkasutaja nimetab ideeks, kõlab umbes nagu "teeks mingi ägeda programmi ehitajatele, millega saaks väga kiiresti materjalide sobivust hinnata" - iseenesest ju väga hea, kui teha ehitajatele tõsiselt äge programm, aga probleem on selles, et see lause ei sisalda endas mitte ühtegi ideed. Või näiteks: "teeks uue infosüsteemi maksuametile". Jällegi, mis puudu on, on idee. Kui võtta selline pseudoidee (rangelt keelelises-filosoofilises mõttes on tegu muidugi ideega, aga seljuhul oleks idee ka plaan hommikul üles tõusta; ärilises mõttes siin mingit ideed ei ole) ja hakata seda kliendi nõudmiste põhjal arendama - sest kliendiga koostöös arendatakse justnimelt ideed tagasiside põhjal programmeerijalt, mis väljendub reaalses arenduses -, siis võib sellest tulla suuremat sorti jama.

See on tore, kui mingi amet tellib tarkvaraarhitektilt analüüsi, et kuidas saaks kasutada infotehnoloogia vahendeid selle firma töefektiivsuse tõstmisel - tihti võib tõsta seda efektiivsust kordades küllaltki väikse vaevaga, kui mõni firma veel üldse tarkvaralisi vahendeid ei kasuta -, seejärel võib mõnda selles analüüsis soovitatud asja ka tegema hakata, kasulikkust arvutada jne... Ka seda tehakse piisavalt. Programmeerijad peavad põhjalikult uurima, kuidas klient töötab - ideaalis osaleks programmeerija mõnda aega kliendi firma töös, kasvõi iga nädal pool päeva; elaks mingil määral sisse. Seda juhul, kui see töö on jõukohane. Kommivabrik ei küsi lastelt, milline võiks olla vabriku tehnika ja sisustus; millisest toorainest komme teha. Ehitajad ei uuri klientidelt, kes maju tellivad, kas neile sobiks paremini plastmassist, terasest, kivist või asfaldist vundament.

Enamus asju, mis on esmapilgul lahedad, ei paku pinget aastateks ...asjad, mida tõesti kasutame ja mis on pidevalt praktilised, võisid esmapilgul olla igavad, keerulised või arusaamatud. Kogemusest teavad paljud, et ülistiliseeritud ja ägedad korterid on tihtipeale üsna tüütud, kui on vaja sellistes mõnda aega elada. Programmeerijad teavad pikkadest kogemustest väga erineva tarkvaraga, kasutajate ja kasutusmugavuse analüüsist ja paljust muust just seda, milline tarkvara on hea kasutada ka kuu, aasta või kümnendi pärast - põhimõtted arenevad välja, mille järgi hinnata; klient jääb siiski esmamulje juurde uusi asju hinnates ja arenguid suunates, aga ka enda endise kogemuse juurde, mis ei lähtu kujutlusvõimest ja tehniliste võimaluste täpsest tundmisest ega ka ulatuslikust teadmisest selle kohta, mis on mugav ja mis ei ole.

Populism tarkvara keerukuses
To be ignorant of one's ignorance is the malady of the ignorant - Amos Bronson Alcott

Parim programm on selline:
  • Alguses keeruline, aga üht-teist saab tehtud.
  • Kuu ajaga õpid palju huvitavaid võimalusi, kui natuke pingutad.
  • Järgmise kuuga teed ära kordades rohkem, kui kahe kuuga teeb teise programmi kasutaja, kelle programm ei nõua kuu aega õppimist.
  • Kõik temaatiline, mida võib olla vaja teha, on kuidagi võimalik.
  • Aastatega leiad pidevalt uusi tehnikaid, viise selle programmiga asju teha ja nippe, mida programmi tegijad on läbi mõelnud ja programmi üldise ideega sedavõrd hästi sidunud, et õppimine toimub sujuvalt.
Võtame näiteks: Photoshop, Flash, Google otsimootor, Python või PovRAY, OpenGL.

Halb programm on selline:
  • Paned käima, kohe saad aru ja tundub äge.
  • Hakkad kasutama ja töötab, teed oma asju järjest ära.
  • Kuigi kõigest saad aru, uusi võimalusi ei leia.
  • Kuu aja pärast ei tundu enam eriti äge, aga uut ka ei viitsi tõmmata.
  • Kuskil on piir, millest keerukamaid/võimsamaid asju enam teha ei saa - kui jõuda teatud arengustaadiumisse, on ainus võimalus hakata teistsugust tarkvara kasutama.
Tihedas koostöös kliendiga, kui klient ei tunneta oma ignorantsust ja tahab kõike oma käe järgi paika panna, protsessi juhtida, siis tekivad kergesti sellised programmid. Tarkkasutaja seisukohalt on suur osa tänapäeva tarkvara selline - Windows, Java, Visual Basic ning pea kõik viimase aja tellimustöödena tellitud rakendused Eestis.

5 kommentaari:

  1. Enamike mõtetega saab nõus olla... aga!

    Maailmas ja eriti Eestis võib kohata masendavalt palju lahendusi, mille on ilmselgelt koostanud inimesed, kellel on tehnilised oskused. Kuid unustatud on, et kasutama hakkavad seda tavainimesed.

    Näiteks ester e-kataloog ning eriti selle liitotsing. Tavainimesele maksimaalselt ebaintuitiivne ning arusaamatu isegi nn pauerjuuserile Nüüd saab valmis muuseumite ühine infosüsteem jne.

    Kahjuks või õnneks on selliste lahenduste juures kõige tähtsam kasutajaliides, selle ergonoomika ja psühholoogia. Eestis on üldse puudus inimestest, kes tunnevad kasutajaliidesepsühholoogiat ja disaini, graafilist disaini üldiselt ning samaaegselt on tuttavad ja IT-lahenduste sisulise köögipoolega.

    Tellija diletantlikud soovitused on muidugi kurjast, kuid alati peaks lahenduse valmimise järel tegema järgmist. Võtma paar-kolm keskmist kasutajat, kes nimetatud lahendust hakkavad kasutama ning panema nad ühte ruumi süsteemi kasutama. Purunemis- ja helikindla klaasi taga peab olema kogu tiim, kes seda ehitas, kes jälgib, kuidas kasutajad hakkama saavad.

    Heli- ja purunemiskindel klaas hoiab IT-tüüpe kasutajate juurde murdmast, et nad ei annaks soovitusi stiilis: „lollakas, kas sa siis ei tea, et erinevate itemite selekteerimiseks pead sa ctrl-klahvi all hoidma“ või „totakas,loogiline ju, et tekstifondi muutmiseks pead minema edit>preferences>visual>advanced>gui>advanced…“.

    Näiteks MS oma viimase Office’ga tegi tohutu sammu edasi – miks ajada inimesi menüürägastikesse, mille loogikat tunneb vaid arendaja, kui saab lihtsamalt ja efektiivsemalt.

    Ka Apple edu (ka pauerjuuserite seas) saab panna suures osas selle arvele, et nad on hakanud süsteemi ehitama mitte lähtuvalt kasutajate diletantlikest soovidest või IT-personali omalaadsetest vajadustest, vaid lõppkasutaja mugavust silmas pidades.

    VastaKustuta
  2. Mina, jah,

    poweruseril on ka ju mugavam kasutada ikkagi ühte sisestuskasti, et kiiresti otsida. paljudel juhtudel arendajad ühel või teisel põhjusel mugavuse kallal eraldi tööd ei teegi - mina kohtan näiteks tihtipeale kliendisuhtumist, et põhjalikku eelanalüüsi teha ei ole vaja, so. et kui ma seda vabast ajast teen, on tore, aga raha see väärt ei ole. Sama moodi ei palka paljud firmad kasutajaliidese analüütikuid - tegelikult ma kandideeriks ise sellele kohale vahelduseks, sest ma olen selle asjaga kõvasti tööd teinud ja uurinud neid põhimõtteid ning katsetanud igasuguseid vidinaid.

    Teiseks on ka aja kokkuhoid - otsingukasti, kus on kõik eraldi, on märgatavalt lihtsam teha, kui ühte tekstiriba, mis kõik ära teeb. Korralik otsingukast on äärmiselt intelligentne nähtus ...näiteks Google otsikastid võtavad sisestatud sõnad; otsivad neid teatud eelistuse järjekorras eri kastidest, peavad samu sõnu samas järjekorras paremaks matchiks, kui eri järjekorras; sisaldavad keerukat loogikat tulemuste relevantsuse analüüsiks ning lisaks parserit, mis läheneb sisestatud päringule äärmiselt intelligentselt, tabades ära sünonüüme, sama sõna eri vorme ning mõistes seda, et sama asi, mis ühel juhul on keyword, võib teisel juhul olla mõne pikema nimetuse osa. Siin on jällegi küsimus hinnas - kui paljusid kliente õigupoolest saab ära veenda, et ühe sisestuskasti peale, mis annab tagasi tulemuste nimekirja, kulus näiteks kaks kuud inimaega? Samas saab triviaalse otsingu teha ära paari tunniga. Et siin on küsimus, kuhu raha panna ja mis on kulutatud aega väärt. Väga raske on müüa midagi, mida konkreetse funktsiooni või ekraanielemendina üldse ei eksisteeri - nagu mingi ühe vidina või nupu intelligentsust.

    > Eestis on üldse puudus inimestest, kes tunnevad kasutajaliidesepsühholoogiat ja disaini, graafilist disaini üldiselt ning samaaegselt on tuttavad ja IT-lahenduste sisulise köögipoolega.

    Sellega ma olen väga, väga nõus. Eesti tarkvaraarenduse kultuur - mis on ju ka aastakümneid muust maailmast maas oma arengu alguspunkti osas - omab veel täiesti tohutut arenguruumi enne, kui võime hakata konkureerima sellega, mis toimub näiteks Inglismaal. Üksikud tuntud erandid välja arvatud.

    VastaKustuta
  3. Olen sellel teemal nii mõneltki tööandjalt küsinud ning konsensus on, et meie haridussüsteem ei suuda pakkuda küllaldaselt piisaval tasemel käsitöölistest desktoppereidki. Ainus, kes seda arvutigraafika ja kutsehariduse tasemel teeb on Tartu kunstikool - ka neil võttis õppekava muutmine aega 5 aastat.

    Mida me räägime siis kesk- ja kõrgtaseme inimressursist. Siiani on kahjuks ka otsustaval tasandil ja sama "tasandi" nõunike juures arusaam IT-st kui mingist progejast, kes laiemat haridust ei vajagi.

    Proovi leida Eestis õppekava, mis sellelaadset kompetentsi arendaks? IT-kolledži õppekavades mina sellist ainetki ei leidnud, mis selgelt puudutaks eelnevalt arutluse all olevaid teemasid. Taavi Kotka mõni aeg tagasi ühel konverentsil ütles, et Eestis on väga raske leida vajaliku tasemega koolilõpetajaid. Eks see ole otsene viide meie jäigale, kitsale ja inertsele IT-haridusele.

    VastaKustuta
  4. Jah. Ülikoolidega on lood kummalised jah - näiteks IT kolledžis, mis peaks olema Eesti tugevamaid, on (lisaks tasemel õppejõududele, kellest mõnda tunnen) õpetanud üksjagu inimesi minu tutvusringkonnast, kellel ei ole tegelikult ei tõsist kogemust ega tõsist huvi, mõnel ka haridust mitte. Suvalisest foorumist või jutukast leiab kiiresti parema õppejõu, kui küsimusi tekib.

    IT sektori puhul mina ei usu, et ülikool kui selline puhtalt teadmiste jagamise asutusena vähimalgi määral veebi - foorumite, jutukate ja manuaalidega - võistelda suudaks. Faktilise teadmise Piibliks on siiski mingi keele spetsifikatsioon - ainus, mis peab eelnevalt olemas olema, on elementaarne oskus seda lugeda. Selles mõttes ma kahtlen sügavalt selles ülikooli vormis - et mis seal toimub, on see, et seal on küllaltki hea valik erinevate alade esindajaid, kes siis kõnesid peavad ja kontrollivad. Samas on see küllaltki tundetu ja nüri tegevus, loovalt lähenedes saab kiiremini aru, kes mis tasemel on - ja kui keegi tahab õppida, siis neid ettekandeid leiab YouTubest hulgi ning manuaalid ja spetsifikatsioonid on isegi parem infoallikas, kui on olemas lugemisharjumus.

    Mida minu meelest ülikool võiks pakkuda, olekski reaalne kogemus, asjade valmis tegemine ja tagasiside teostuse osas. Mulle meeldib Paul Grahami Y Combinator, kus suvelaagri korras panevad inimesed käima start-up'e; valitakse välja head tegijad, kes siis üksteisele kõvasti nõu annavad ja keda juhendavad omakorda need, kes varemalt asju käima on saanud. Need firmad jäävad ka hiljem üksteist toetama ja aitama, mis sealt Y Combinatorist tulevad. Reaalselt käib seal laagris see, et meeskonnad lähevad oma originaalsete ideedega, mida Y Combinatori poolt kohale korraldatud kogenud inimesed siis kritiseerivad ja arendavad; samuti arutavad erinevad meeskonnad ideid omavahel ja aitavad nõu ja jõuga, kus vaja. Selline asi ka toimib.

    Paul Grahami esseed on huvitavad, olen need kunagi järjest läbi lugenud ja hiljem ka, kui uusi on tulnud. Need rõhuvad asja praktilisele küljele - et kellele su tööd vaja on ja millist reaalelulist probleemi see lahendab. Joel Spolsky't teavad ka ilmselt kõik. Mõned parimatest esseistidest siis nendel teemadel :) Ma arvan, et seda enam, et meil Eestis neid õppejõudusid nii vähe võtta on, võib mõni selline essee vabalt rohkem lisaväärtust anda inimese tulemustele, kui nii mõnigi loeng, mida ülikoolis kuulata võib. On ka palju teisi.

    Peamine, mida minu meelest haridus võiks toetada, on loovus ja säde selle kõige juures, samuti huvi selle vastu, milline on reaalne olukord ja millega klient või kasutaja õieti tegeleb. Kuigi üldiselt on teada-tuntud tõsisasi, et haridus ei tee programmeerijat oluliselt paremaks, kui ta enne hariduse omandamist oli. Ja minul on korduvalt palutud, et ma teeks ära mõne täiesti triviaalse programmi, mis kellelgi teise või kolmanda kursuse lõpus on ...et programmeerima võiks kool samuti õpetada :)

    Aga ma arvan, et see on kõige rohkem omavahelise suhtlemise küsimus programmeerijate vahel - uued arengud eeldavad siiski nende konsensust, kes aktiivselt tegutsevad (ja on vägagi õppimisvõimelised), mitte ei pea me uusi asju alustuseks kuskil koolis kellelegi selgeks tegema ja siis 5 aastat ootama, kuni ta kooli lõpetab (koos mõne pausi ja muude vahesündmustega). Sektor siiski areneb ise ja uus info liigub kõige kiiremini tegevate ja kogenud programmeerijate vahel. Kuigi ka koolis võiks rohkemate asjade aluseid anda, jah, ning kogu seda ala natuke teises valguses näidata :)

    VastaKustuta
  5. Olen Mavis Calos, esindaja Aiicco kindlustus plc, anname välja laenu individuaalsed erinevused usalduse ja au. anname laenu intressimääraga 2%. kui olete huvitatud võtke meiega ühendust selle ettevõtte e-post: (maviscalos_laen_laenamine@outlook.com) nüüd jätkata oma laenu üleminekudokumendi ok. kui teil on vaja laenu, et luua ettevõtte või kooli te olete väga teretulnud Aiicco kindlustus plc. Võite meiega ühendust võtta ka selle e-post: (amaah.credit.offer@gmail.com). saame üle kanda summa, mida taotletakse enne nädalas.

    VastaKustuta