Itsepäileville kehittäjille: oletko tarpeeksi hyvä?

Kuulostaako jokin seuraavista tutuilta?

Mietit jatkuvasti, ettet ole tarpeeksi hyvä.

Katso kehittäjiä ympärilläsi. Heillä näyttää olevan kaikki yhdessä. Heidän koodinsa on puhtaampi kuin sinun. He testaavat paljon nopeammin kuin sinä. He vain vilkaisevat dokumentaatiota ennen kuin tietävät mitä tarvitsevat. He ovat luottavaisia. He nauttivat koodauksesta.

Mutta sinä olet huolissasi. Pelkäät, ettet tiedä tarpeeksi kehyksestä ja käyttämästäsi kielestä. Olet huolissasi virheiden käyttöönotosta. Olet huolissasi siitä, että sait kiinni kuumimmista tekniikoista. Pelkäät, ettet ole tarpeeksi lahjakas. Asiat eivät tule sinulle itsestään. Luulet itsellesi: "Ehkä minun ei ole tarkoitus olla kehittäjä."

Jos jokin näistä epäilevistä ajatuksista kuulostaa sinulle tutulta, et ole yksin. Googlen "itsevarmuuskehittäjät", ja löydät yli 2 miljoonaa tulosta alle sekunnissa.

Minä olin sinä.

Jonkin ajanjakson ajan kokenut myös voimakasta itsevarmuutta, mietin, pärjäisinkö sitä koskaan. Se tapahtui yliopistossa, kun harjoittelin ja valmistauduin työhaastatteluihin. Joka päivä nämä algoritmiongelmat saivat minut tuntemaan itseni täydelliseksi epäonnistumiseksi. Olin stressaantunut ja huolissani, niin paljon kuin saatat olla nyt.

Lopulta harjoittelu kannatti ja sain useita työpaikkatarjouksia arvostetuilta teknologiayrityksiltä. Matkan varrella sain kaksi tärkeää oppituntia, jotka muuttivat näkemystäni ohjelmoinnista ja poistivat epäilevät ajatukseni. Jaan ne nyt kanssasi. Toivottavasti he auttavat.

Oppitunti # 1: Ohjelmoinnin oppiminen on täsmälleen sama kuin lihasten rakentaminen

Jos haluat oppia pelaamaan jalkapalloa, sinun täytyy mennä kentälle ja pelata. Vahvempien lihasten rakentamiseksi sinun täytyy mennä kuntosalille ja nostaa näitä painoja. Oppia ohjelmointia, sinun täytyy istua alas ja koodata.

Painojen nostamisen jälkeen tunnet olosi kipeäksi ja väsyneeksi seuraavana päivänä. Kun olet juuttunut ohjelmointiongelmaan, aivosi sattuu (kirjaimellisesti) ja turhautuu.

Et luopu treenaamisesta pelkästään kivun tunteen takia. Tiedät, että se on osa prosessia. Mutta kun juutut ohjelmoinnin aikana, saatat alkaa epäillä itseäsi ja miettiä, oletko tarpeeksi lahjakas. Koska: (1) mielestäsi jumittuminen on sinun vikasi, (2) toisten mielestä se tuntui vaivattomalta.

1. Juuttuminen on osa prosessia.

Ehkä kukaan ei ole kertonut sinulle sitä, mutta on täysin normaalia juuttua ohjelmoinnin aikana. Se tapahtuu jopa vanhemmille kehittäjille. Suuri osa ohjelmoinnista on selvittää, miksi mitä odotit tapahtuvan, ei tapahtunut. Jos olet samaa mieltä siitä, että lapsen odottaminen pystyvän kävelemään ensimmäistä kertaa seisomaan noustessaan, on järjetöntä, miksi uskot koodisi ensimmäisen luonnoksen toimivan täydellisesti ilman virheitä?

Muistan aikoja, jolloin juutuin niin kauan, että halusin lyödä pääni seinää vasten. Tiedän, että se on vaikeaa ja turhauttavaa (varsinkin kun käsitellään kehitysympäristöihin liittyviä asioita). Mutta ripustakaa siellä. Kaivaa asiaa. Kysy Googlelta. Kysy ystävältä. Käy kävelyllä. Lopulta ratkaiset sen ja siirryt eteenpäin. Ja kun saat enemmän kokemusta, juutut vähitellen vähemmän.

Seuraavan kerran, kun juutut kiinni, älä anna itsellesi vaikeaa aikaa. Muistuta itsellesi, ettei se ole sinun vikasi. Se on normaalia. Se on osa prosessia.

PS - dev-ympäristön luominen voi olla vaikein osa ohjelmointia.

On hyvin tavallista jumittua ja viettää päiviä kehitysympäristön luomiseen. Nämä ovat hetkiä, jotka saattavat murskata sielusi. Yrität noudattaa ohjeita askel askeleelta. Mutta satunnaisia ​​virheitä esiintyy jatkuvasti jokaisessa vaiheessa. Ohjeiden avulla se tuntuu helpolta, mutta se ei ole. Ei ole sinun syytäsi juuttua. 99,99% opetusohjelmaa lukevista ihmisistä jumittuu. Loput 0,01% ovat onnekkaita, joilla sattuu olemaan täsmälleen sama käyttöjärjestelmän asennus kuin ohjaajalla.

On valitettavaa, että ohjelmoinnin oppimisen ensimmäinen vaihe on myös turhauttavin ja sielua musertava osa. Kun näet virheitä, joita et voi ymmärtää, kopioi tarkka virheilmoitus ja Google. (Lainausmerkkien sijoittaminen virhesanoman ympärille tai vain sanan alkupuolen haku voi auttaa.) Kokeile erilaisia ​​ratkaisuja, kunnes löydät toimivan. Ja siirry eteenpäin.

Anteeksi, että toistan: jumittuminen tässä vaiheessa ei ole sinun syytäsi. Me kaikki teemme. Ja lupaan, että ohjelmoinnista tulee paljon hauskempaa, kun ohitat tämän vaiheen.

2. Sekoitamme " geneettisesti älykkään" ja "näennäisesti älykkäänä, koska henkilö on viettänyt paljon aikaa läheisiin aiheisiin"

Viimeisen lukukauden aikana yliopistossa ystäväni olivat hämmästyneitä siitä, kuinka hyvin pärjäsin Advanced Data Structures & Algorithms -luokassa. Tein sen vaikeaksi, kun he kamppailivat.

He eivät tienneet, että kuukausia ennen luokkaa valmistautuessani haastatteluihin olin viettänyt lukemattomia tunteja koodauksen haasteisiin, jotka käsittivät täsmälleen samat aiheet kuin luokka: dynaaminen ohjelmointi, syvyyshaku, leveyshaku jne. Se näytti vaivattomalta vain siksi, että olin jo käynyt läpi nämä kamppailut.

Kun opetin ensin nämä käsitteet itse, vietin tuntikausia tuijottaen ongelmaa, enkä voinut selvittää sitä. Kun luovuin ja etsin ratkaisuja verkosta, yritin ymmärtää niitä. Kun vihdoin näin, tunsin olevani vieläkin turhautuneempi, koska epäilin, olisinko koskaan tarpeeksi älykäs keksimään sellaisen ratkaisun itse.

Joskus, vaikka kohdasin saman ongelman uudelleen, minulla ei ehkä ole edes ollut aavistustakaan siitä, miten lähestyä sitä. Minusta tulisi niin stressaantunut, että minun täytyi käydä pitkiä kuumia suihkuja rauhoittaakseni itseäni.

Joten uskokaa minua, kun sanon, että tiedän miltä tuntuu epäillä itseäsi ja huolehtia siitä, ettet pääse siihen. Olen ollut siellä aiemmin. Ja voin vakuuttaa teille, ettet ole yksin. Monet suuret kehittäjät ovat kokeneet saman asian. (Tässä on podcast tästä aiheesta.)

Seuraavan kerran, kun kamppailet, kun ympärilläsi olevat ihmiset menestyvät, älä usko, että se johtuu siitä, että et ole tarpeeksi lahjakas. Todennäköisesti heillä on vain enemmän altistusta kohteelle tai vastaaville aiheille kuin sinä. Heidän aivonsa ovat rakentaneet ”lihakset” käsittelemään tämän tyyppisiä aiheita. Kun olet käynyt läpi nykyiset kamppailusi, näytät myös älykkäältä ja vaivattomalta.

Kyse on toistoista ja sarjoista.

Rakennat lihaksia harjoittelemalla niitä. Mitä enemmän panostat, sitä kauemmin harjoittelet, sitä vahvemmaksi sinusta tulee. Ohjelmoinnin oppimisessa on täsmälleen sama prosessi. Mitä enemmän aikaa vietät koodaamiseen, sitä taitavampi olet. Sitä niittää mitä kylvää.

Oppitunti # 2: Keskity käsityöllesi, älä sinuun

Älä enää ajattele kuinka hyvä tai kuinka huono ohjelmoija olet. Jos olet joukkueen alimmassa 5%: ssa, haluat tulla paremmaksi. Jos olet viiden parhaan prosentin joukossa, haluat silti parantua. Ei ole väliä kuinka hyvä tai huono olet, edessäsi on aina ihmisiä ja ihmisiä takanasi. Joten miksi tuhlata aikaa ajatella sitä?

Keskity sen sijaan veneesi. Älä kysy kuinka hyvä olet. Kysy kuinka hyvä koodisi on. Kuinka voit tehdä siitä paremman, nopeamman, luettavamman? Ympäröi itseäsi insinööreillä, joita ihailet. Lue heidän koodinsa. Kuinka se on erilainen kuin sinun? Mitä kompromisseja he tekevät?

Jos työskentelet jo ohjelmistoinsinöörinä, joku maksaa sinulle koodin kirjoittamisesta. Sinun tulisi keskeyttää se ja pohtia sitä, koska se tarkoittaa paljon: joku joko uskoo koodaustaitoosi tai näkee potentiaalisi. Ainoa tapa elää tämän potentiaalin hyväksi on keskittyä veneeseesi ja parantaa sitä hellittämättä.

Toimintakohde: Aloita pienten voittojen seuranta

Milloin viimeksi jäit jumiin etkä ole varma, pystytkö ratkaisemaan ongelman? Kuinka lopulta ratkaistit sen?

Avaa uusi Google-asiakirja ja kirjoita se muistiin.

Seuraavan kerran epäilet itseäsi, katsokaa asiakirjaa ja muistuta itseäsi: jos voisit ratkaista viimeisen ongelman, ratkaiset myös tämän.

Käytä asiakirjaa seuraamaan voittamiasi haastavia ongelmia ja niistä oppimiasi asioita. Juhli aina näitä pieniä voittoja!

Jätä kommentti ja jaa viimeinen kerta, kun jäit jumiin muistuttaaksesi tällä hetkellä kamppailevia, että he eivät ole yksin. ?

Haluatko lukea tekniikan urastani? Tutustu muihin artikkeleihini.

Onko sinulla muita ohjelmointiin liittyviä kysymyksiä?

Ammu minulle sähköpostia: [email protected]