Oletko hakkeri vai oletko akateeminen?

18-vuotisen ohjelmoijaurani aikana olen työskennellyt kymmenissä erilaisissa projekteissa robotiikasta rahoitukseen terveydenhuoltoon ja televiestintään. Ja minulla on ollut tilaisuus työskennellä satojen ohjelmoijien kanssa kaikenlaiselta taustalta - jokaisella on omat tottumuksensa ja asenteensa.

Olen oppinut, että riippumatta siitä, mistä he tulevat tai mitä he tekevät, kaikki ohjelmoijat kuuluvat jonnekin tälle spektrille:

Akateeminen

Spektrin lopussa ovat ohjelmoijat, jotka ovat hienoja teoriassa. He rakastavat oppimista, lukemista, tutkimista ja innovaatioita. Heille jokainen koodirivi tuntuu panokselta maailmalle, jopa tulevaisuuden perintölle. Jos koodissa on virhe, se johtuu siitä, että he eivät tiedä vielä parempaa.

Heidän maailmassa koodin tulisi olla täydellinen, virheetön ja parhaiden käytäntöjen mukainen. He arvostavat älykkäitä tapoja tehdä asioita ja rakastavat olla ajan tasalla viimeisimmästä tekniikasta.

Valitettavasti akateeminen kyllästyy, kun oppiminen loppuu, ja etsii muita projekteja - tai jopa muuttaa työpaikkaa:

Tämän toimintatavan haittapuoli on, että projektit etenevät hitaasti. Kun opit jotain, taipumus kompastua myös johonkin muuhun, jonka haluat oppia. Ja tämä kanin reikien alas menemisykli voi jatkua jo jonkin aikaa, ennen kuin merkittäviä ominaisuuksia toimitetaan:

Mutta tämä ei ole kaikki huonoa. Kun tuotteen on noudatettava korkeita vaatimuksia, akateeminen on oikeasti oikean tyyppinen ohjelmoija.

Esimerkiksi terveydenhuollon ohjelmistoissa potilasturvallisuus on erittäin tärkeä. Haluat, että ohjelmoijat käyttävät aikaa ja oppivat tavaroitaan ennen työnnetään koodia "tuotantoympäristöön", joka on ihmisten elämää.

Jopa pieni vika voi olla tappava.

Toinen esimerkki on finanssisektori, jossa yksinkertainen virhe voi maksaa paljon. Tämä pätee myös useimpiin tietoturvaa tai turvallisuutta vaativiin ohjelmistoihin - joissa yrityksen maine on usein vaakalaudalla.

Hakkeri

Spektrin toisessa ääripäässä on hakkeri, joka on ihanteellinen ”tietotyöntekijä” Cal Newportin syvän työn mukaan. Hakkerit oppivat nopeasti ja (ihannetapauksessa) tuottavat tuloksia vakiona. He sanovat harvoin "ei" ominaisuuspyynnölle ja kirjoittavat sen koodiin jotenkin.

Mutta hetken kuluttua koodista tulee hajanainen. Prosessi tukkeutuu siinä määrin, että uusien ominaisuuksien lisääminen voi rikkoa muun koodin, jonka muuten pitäisi toimia:

Tekninen velka kasaantuu, ja se vahingoittaa yritystä pitkällä tähtäimellä.

Nämä ohjelmoijat tekevät täydelliset ehdokkaat konsulttityöhön, missä projekti saavutetaan. Heille saattaa jopa maksaa korjata virheitä, jotka he ovat laittaneet koodiin ensinnäkin! Hyvä konsulttiyritykselle, huono yrityksellesi. Ellei tietysti ole prototyyppissä tai tuotekehityksen konseptivaiheessa, ja suuri osa koodista kirjoitetaan todennäköisesti uudelleen.

Hakkeri on ihanteellinen aloittelijoille, jotka ovat vähimmäisvaltaisen tuotekehityksen alkuvaiheessa. Hakkeri voi tuottaa tuloksia nopeasti. Ne tuovat parhaan mahdollisen vastineen (sekä rahaa että aikaa ajatellen). Näissä tilanteissa akateeminen halvaisi kehityksen.

johtopäätös

Tässä on vitsi:

Mutta todellisuudessa on olemassa kahden tyyppisiä tekijöitä:

Hakkeri

Hakkeri voi tehdä työn nopeasti ja edullisesti, keskittymättä vain laatuun. Tämä ei ole pitkällä tähtäimellä halpaa ottaen huomioon kaikki ylläpitokustannukset.

Akateeminen keskittyy laatuun, mutta asiat etenevät hyvin hitaasti, ja se maksaa varmasti enemmän, kunnes saat konkreettisia tuloksia. Myös kyllästyessään he voivat aiheuttaa hankkeelle vielä enemmän kustannuksia lähtemällä - tai vielä pahempaa, kun pysytelet eivätkä tunne intohimoisesti työhönsä.

Akateeminen

Hakkeri ja akateeminen ovat spektrin kaksi äärimmäistä päätä, ja todellisuudessa suurin osa ohjelmoijista kuuluu jonnekin väliin. On tärkeää valita oikeat kehittäjät projektillesi ja tietyn tyyppinen ohjelmisto, jota olet rakentamassa.

Ihannetapauksessa voit aloittaa projektin hakkeroinnilla, kun taas akateemiset voivat ajaa takapenkillä terävöittämällä miekkaansa silloin, kun tuotteesta tulee osuma ja se vaatii voimakasta refaktorointia.

Myös ihmisiä ei valmisteta tehtaissa. Ne voivat muuttua. Jotkut taitavimmista kehittäjistä, joita olen tavannut, voivat siirtyä hakkeroinnin ja akateemisuuden välillä projektivaiheesta riippuen. Tämä on kultainen taito, jota monet kehittäjät kehittävät vuosien kokemuksen kautta.

Jos ❤ mitä luet, kerro se minulle ja seuraa minua pysyäksesi ajan tasalla viimeisimpien esseiden kanssa. Katso myös kaksi muuta suosittua esseitäni:

  • Mikä on kauhea koodin käsiala?
  • Ohjelmointi on kaikkien aikojen paras työ

Vastuuvapauslauseke: kaikki mielipiteet ovat minun mielipiteeni, en edusta ketään yritystä tai yritystä.

Päivitys: jaettuani tämän artikkelin sain pari hyvää kommenttia, jotka kannattaa jakaa:

"Akateeminen" oppii tavaraa kerran [mutta] soveltaa sitä monta kertaa. Hakkeri ei koskaan oppi. Joten ”toimitettujen ominaisuuksien” kuvaajaa voidaan soveltaa vain, kun ne kohtaavat alustaa / pinoa / kehystä. Toisen kerran "akateeminen" jättää "hakkerin" pölyyn.
Olen paljon samaa mieltä siitä, että erottelet tutkijoiden, jotka ovat keskittyneet enemmän "oikeellisuuteen", ja hakkereiden, jotka keskittyvät "asioiden tekemiseen". Kuulun lähempänä jälkimmäistä ryhmää ja olen tehnyt erittäin hyvää yhteistyötä kollegan kanssa, joka on enemmän kohti akateemista puolta. Pelkästään minä voin saada aikaan paljon paskaa, mutta se ei tarkoita, että se olisi mukava koodi. Toisaalta hän voi silti saada paljon aikaan, mutta käyttää myös aikaa myös sen tekemiseen. Näen myös eron ongelmiin suhtautumisessa. Hän lukee asiaan liittyviä ratkaisuja ennen ratkaisun suunnittelua, missä haluaisin lukemisen sijasta kokeilla erilaisia ​​ratkaisuja. Tapani antaa nopeampia tuloksia, kun taas hänen tulokset parempia ratkaisuja. Näiden asioiden yhdistelmä tekee erittäin tuottavasta ja mielenkiintoisesta työpäivästä

️Hoisitko lukemasi? Seuraa minua, kun minulle ilmoitetaan, kun kirjoitan jotain uutta.