reede, 24. november 2017

Ära ole cowboy! teema (11)


Tänane ülesanne oli: “Analüüsi ajaveebiartiklis üht tarkvara arendus- ja üht ärimudelit mõne konkreetse projekti näitel.”  Kuna mul on täiesti 0 kogemust programmerimis, tuleb internetis midagi väljaotsida. Kuna olen laisk, aga samas tahan “huvitav” olla ja võtta midagi mida kedagi teine ei taha kirjutada mõtlesin et googeldan ”cowboy coding”. Tuleb välja et “surprise, surprise” eriti märkus väärilised projektid selle meetodiga ei ole!
Leidsin aga selline, kindlasti negatiivne,  „cowboy codder way“ kirjeldus. Kolleegide poolt on kindlasti  (toon välja vaid mõned):
  • Kiirus millega ma saan midagi kokkupanna määrab kui hea ma olen.
  • Inimesed, kellel on vaja kommentaarid et minu koodi aru saada, on liiga rumalad et minuga töötada.
  • Inimesed, kes küsivad minu koodi kohta küsimused, on liiga rumalad et seda aru saada ja seega liiga rumalad et minuga töötada.
  • Teiste inimeste kood on halb, aga minu oma on ilmselge ja ilus.
  • Compaileri-sõltuv keele funktsiooni ekspluateerima et säästa üks koodi rida on elegantne.
  • Minu kood ei ole kunagi süüdi, see on alati ideaalne, ma ei tee vigasid.
  • Kuna minu kood ei ole kunagi süüdi, mu ei ole seda vaja palju testida, kui üldse.
  • Kuna minu kood on ideaalne, kui programm ei tööta, see on kasutaja viga et ta sisestas vale data.
  • Kuna minu kood on ideaalne, kui programm töötab liiga aeglaselt, see on ülemuste süü et nad ei võimaldanud piisavalt võimsamat arvutid.
Hirmuga leidsin et endal palju neid „sümptomid“ meie programmeerimise ülesannete tegemisel. Küll tahan need nii kiiresti kui võimalik ära teha, ei mõelda eriti nende loetuvuse ja struktuuri peale, kohustuslik kommentaarid lisandan „lihtsalt et midagi oleks“ printsiibis. Vihastan kui midagi ei tule välja ja süüdistan halb ülesanne sõnastus või arvan et ette antud loogika on rumal: „võiks palju lihtsam lahendada!“. Ja ärge alustage „rumalate“ testidega, mis õppejõud tegid „ei ole seda vaja palju testida, kui üldse“. On ju jube! Hea mõnikord enda peale kõrvalt vaadata. Proovin siis end parimaks muuta!
Kuidas Teil sellega on? Leiate endal „cowboy coder“ märke?
 
PS: Noh ei tulnud artikkel antud teemal (teema on halb, kõik teised on süüdi ;) ) aga arvan et ikka kasulik on! Seega postitan seda.

reede, 17. november 2017

Hakker (teema 10)

Just lugesin Eric S. Raymondi Hacker-HOWTO. Väga huvitav artikel kõigele kes tahab koodi kirjutama, ja selle osas tippule (see ei tähenda et kõik tipp koodiad on hakkerid, aga hakker kes läheb selle kirjelduse all on kindlasti tipp) jõudma.

Esimine mis see artikel teeb, on hakker ja krakker vahe panemine, ja neid kaks mõisted eraldamine: “he basic difference is this: hackers build things, crackers break them.” See on üks asi mis on uustulejale ei ole kohe arusaadav. Tavaelus enamus inimesi kasutab neid terminit valesti. Hakker on aga “probleemi lahendaja” mitte “koodide murdja”.

Hakkeri filasoofias on 5 nurgakivi:
Maailmas on lõpmatu huvitavat probleeme mis ootavad oma lahendust – ehk hakker on see inimine kes tunneb huvi ja saab hea tunne igasuguste probleemide lahendamises.
Mitte ükski probleem ei tasu kaks korda lahendada – ehk hakker hindab oma ja enda kolleegide aja. Ta jagab vabalt oma lahendused et ajdata säästa teiste hakkerite aega.
Igavus ja tööorjus on kuri – ehk tõeline hakker ei ole kunagi igavuses (vaata punkt 1, tal on alati olemas huvitav probleem lahendamiseks), selleks et tööorjus ja igav momentid vähemaks teha kasutab ta väga lajali automatiseerimist.
Vabadus on hea – ehk vastustundlike täiskasvanud ei ole vaja reguleerida, võimud võivad ainult piirata ja keelata huvitavate probleemide lahendamist. Kuigi siin hakkerit võivad valikuliselt osa oma vabadusest keelata kui see võimaldab neile mingi huvitava probleemi lahendama, kui teist viisi ei ole olemas.
Õige suhtumine ei aseta oskust – ehk keerukate probleemide lahendus on ainuke mille kohta hakkerit üks teist tunnistavad. Kui sa teed kõik muu aga seda ei oska + saa ei ole hakker.

Lugedes seda artiklit mul ei janud mulje et hakkerit on “IT komunistid” (heas mõttes), ja viivad elu “igast võimalikust, igale vastavalt vajadusele”  printsiipi. Nad kavatsevad muuta (ja muudavad!!!) maailm parimaks, jagavad oma saavutusi vabalt ja kõigele. Nagu kommunismi “Kõik inimesed on sugulased” neile ei ole tähtis rass-sugu või midagi muu ainult idiaalide jälitamine, ja probleemide lahendamise oskused on otsustavad.

Kas minust tuleb kunagi hakker? Tõenäoliselt mitte, kuigi nende kultuur minuga hästi istub, ja mulle meeldib probleemide lahendamine, saan sellist tõesti mõnu. Olla hakker oleks küll minu jaoks kindlasti vahva eesmärk, ja selleks saamine suur saavutus, aga kardan et minu sotsiaalselt lubadused ei jätta mulle piisavalt aega et seda ära teha. Nagu artikliss on ka mainitud “nerd” ja “hakker” rühmade vahel on suur katmine, just selle pärast et “Being something of a social outcast helps you stay concentrated on the really important thing”. Kahjuks (või parimaks) ei arva et hakkerite  ideaalid (milledega ma olen nõus, ja igatpidi poolt) saavad muuta minu elu ainsa, või tähtsama eesmärgiks.

neljapäev, 9. november 2017

IT-juht (teema 9)


Kirjelda ajaveebiartiklis kaht tuntud IT-juhti (võivad olla nii Eestist kui mujalt), kes esindavad kaht erinevat juhitüüpi ülaltoodud jaotuses (juht, suhtleja, treener...).

Hmm… Kirjutada väikses artiklis kaks juhi kes lähevad erineva tüüpide all, ei hakka seda tegema, esiteks see läheks liiga pikaks kui seda kvaliteetselt teha (aga ebakvaliteetsed pole mõtted). Ja teiseks ja tähtsamaks hea juht peab kõik neid omadused enda sees ühendama. Kui on kindla 1 tüüpi „tuntud“ juht siis see peab olema PR meister mitte IT juht, ja nendest ka ei tahaks rääkida.

Võtame, näiteks, „Kasperski Lab“ asutaja ja pea uurija Evgeni Kasperski:

Juht – Evgenil oli alguses peale huvi valdkonna vastu ja nägemine kuhu ta tahab oma ettevõttega jõuda. Tema juhtimisega Kasperski Lab jõudis kolme kõige tuntud ja enamkasutatud antiviiruste hulka.

Teavitaja/suhtleja – Evgeni kohta võiks mõelda et suhtlemine ei ole tema kõige tugevam külg. Kaks korda läksid Kasperski Lab ettevõttest võtmemängijad ära:  2011 – tema eks naine ja 2014 terve seeria äraminekut, mõlemad olid seotud ettevõtete sisestega erimeelsustega. Kuigi aga tuleb tunnistama et nagu PR, ja suhtleja välismaailmaga tal oli edu, saades CEOks aastas 2007 ta sõitis iga aasta 20-30 riiki et oma produkti edasi viima ja tulemus ei lasknud kaua oodata.

Treener/juhendaja – Siin ma olen veids raskuseks, ei leidnud eriti artikli tema kohta treeneri rollis, aga alustades tema ettevõttes töötas vaid 13 inimest (!) kaasarvatud mitte IT spetsialistid. Ja isegi sellise väikse meeskonnaga ta tõi turule väidetavalt ainuke antiviirus mis oli suuteline tuvastada ja likvideerida CIH AKA „the Chernobyl“ virus. See küll näitab et tegemist on suurepärase „treeneriga“

Mentor/õpetaja – Kasperski on üle maailma tuntud nagu üks suremast IT turvalisuse ekspert. Olles nii nimetatud „isetehtud mees“ kes saavutas edu tehes seda mida ta armastab, ta küll inspireerib.

Arengumootor – Üks põhjus miks tema eks naine Kasperski Lab ära läks oli seda et Evgeni ei lubanud ettevõtte avalikuks teha sest see pidi tegema otsuste võtmine aeglaseks, ja kahjustama pikka ajalist R&D. Tema produktid olid esimesed kes, näiteks, võtsid kasutusele viiruste monitoorimine isoleeritud karantiinis.

Ülemus – Nagu ülevalpool oli juba mainitud, Evgeni keelas ettevõtet avalikuks tegema, sest ei tahtnud oma ülemus rolli vähendamist. Ta ei karda oma võim kasutama ja valida kuhu edasi oma ettevõttega liikuma.

Nagu me näeme hea liider tõepoolest peab kõik neid omadused endal ühendama, ja siis tuleb talle edu. Evgeni eeskuju näitab et isegi sünnitades väikses linnas perifeerias (Novorossijsk on Venemaa mõttes väike linnake) on võimalik läbimurda, üleelada 90-nda hävitamist ja jõuda üks kõige rikkamate Venemaa inimeste hulgas (ilma nafta/gaasi ärita!)

kolmapäev, 1. november 2017

Kes on „IT professionaal“? (Teema 8)






Et selle küsimust vastata, tuleb selgeks teade kes on „professionaal“. Avame EKSS ja näeme:


“elukutseliselt mingil alal tegutseja, elukutseline; oma ala meister. Jalgrattavõistlustel osalesid nii amatöörid kui professionaalid. Ise koolitüdruk, aga tantsib nagu professionaal. Näitleja kõneles professionaali vilumusega. Doktor Lee on oma ala tõeline professionaal.” 

Sõnal professionaal on kaks tähendus, esimesega on kõik lihtne kes töötab IT valdkonnas, ja saab selle eest palka – see ongi professionaal. Sama Lahenemine on inglise keeles kus mingi valdkonna „professional“ tähendab et inimene teenib raha selles valdkonnas.
 
Teise poolega on raskem. „Oma ala meister“, kus meister on: „väljapaistvate erialaste teadmiste ja oskustega isik. Seega et saada aru kes see “IT professionaal” on tuleb vaadata millega IT tegeleb. Infotehnoloogia ehk IT on palju erinevad definitsioonid, mulle näiteks meeldib Information Technology Association of America (ITAA) definitsioon:  "uuringuid, loomist, arendamist, rakendamist, juurutamist, toetamist või juhtimist arvutipõhistele infosüsteemidele, eriti tarkvararakendustele ja arvuti riistvarale".  IT valdkond on väga lai, kas keegi oskab ennast öelda et ta on proff kogu IT valdkonda teab peensusteni, et nimetada end meistriks? Enamus sellel alal tegutsejad on suhteliselt spetsialiseeritud, ja küll aimuvad kõrval teemad aga ei tea neid peensused. Sporti analoogia jätkamises kas võime me nimetada profiks, jalgpalluri kes  oskab palli ainult lüüa, aga ei oska sööte anda? Ilmselt mitte.

Seega minu vastus oleks: „kas kõik (sellel alal töötavad) või mitte keegi“!