
Kader iz filma "Harry Potter in jetnik iz Azkabana"
Problem tega sveta je, da so izobraženi ljudje polni dvomov, idioti pa polni zaupanja.
Charles Bukowski
Pred kratkim sem učil še eno lekcijo programiranja ena na ena. Za razliko od rednega pouka, tema ni bila gradnja jezika ali reševanje problemov. Študent je delil svoje skrbi glede prihodnje zaposlitve. Študent sam je bil precej pameten. Eden tistih, ki pride na tečaj, opravi celoten program hitreje kot kdo drug in z izvirnimi rešitvami, a se ves čas iskreno podcenjuje. Po mojem mnenju takšni dvomi izhajajo le iz pomanjkanja informacij. To vrzel sem poskušal zapolniti improvizirano med lekcijo.
Vprašanja so bila nekako takole:
- Vsako leto veliko študentov diplomira na univerzah in vsi gredo iskati delo. To je veliko ljudi. Verjetno bodo zaposlili najboljše, jaz pa ne bom dobil mesta.
- Kaj če zamočim in me takoj odpustijo?
- Kaj če med delom ugotovijo, da sem neumen in me vržejo ven?
Ta študent ni bil prvi, ki sem mu odgovoril na taka vprašanja. Veliko ljudi jih ima in običajno jih je treba povedati brez priprave. Tokrat sem se odločila, da svoj monolog zapišem v zvezek. Mislil sem, da bo nekaj odstavkov, a je bilo na koncu dovolj za cel članek.
Članek opisuje pogled z mojega zornega kota in na podlagi mojih izkušenj. Vendar je naš svet zelo raznolik in v njem se dogajajo neverjetne stvari. Če se s čim ne strinjate ali je vaša izkušnja drugačna, napišite komentar.
Članek je napisal razvijalec za razvijalce. Če pa se nameravate ukvarjati s testiranjem, administracijo ali čim drugim v IT-ju, vam bodo nekateri nasveti prav tako koristili.
Sploh te ne bodo zaposlili
Ko si predstavljate, da številne univerze vsako leto diplomirajo na stotine študentov, postane neprijetno. Kako tekmovati s tako ogromno množico?
Na žalost nimajo vsi diplomanti zadostne tehnične izobrazbe. Poskusite vprašati kakšnega študenta, ki ga poznate: kako ljudje v njegovi skupini dobijo sprejem za izpite iz disciplin, kot so "baze podatkov" ali "temelji algoritmizacije in programiranja"? V skupini 30 ljudi bo v najboljšem primeru 3-5 "naprednih" fantov, ki so pravzaprav vse naredili sami. Ostali preprosto prepišejo od njih, natrpajo odgovore na vprašanja in oddajo.
Tako je bilo, ko sem študiral sam. Vendar moja izkušnja morda ni reprezentativna. Zato sem to vprašanje postavil več različnim študentom. Odgovor je bil približno enak. Anketiranci so bili z različnih univerz in visokih šol. Razprave o razlogih bom pustil zunaj obsega tega članka. Nimam dovolj časa za popolno študijo, zato bom sklepal iz razpoložljivih dejstev.
Med stotinami diplomantov je le nekaj deset zanimivih za delodajalce
Malo diplomantov lahko z dobro pripravljenostjo predstavlja pravo konkurenco sposobnemu študentu. A tudi če ste se vestno učili, vas po prvem razgovoru najverjetneje ne bodo zaposlili. Po drugem verjetno tudi. Lahko se vse dobro izteče, vendar je bolje, da se ne pripravite na napad, ampak na obleganje. Neuspešen poskus zaposlitve je le razlog, da delate na svojih napakah in poskusite znova. Ne bom govoril o pripravah na intervjuje. Na to temo je bilo na internetu že veliko napisanega. Rekel bom samo, da obstajajo nianse pri intervjuju, za katere vaš program usposabljanja verjetno ne bo vzel časa, da bi jih razložil. Poiščite te podatke sami, morda bo zmanjšalo število poskusov.
Norost je natančno ponavljanje istega dejanja. Vedno znova v upanju na spremembo
Albert Einstein
Da se razgovori ne bi spremenili v norost, se morate izboljšati po vsakem novem poskusu. Zapomnite si ali zapišite vprašanja, ki so vam bila postavljena med razgovorom. Ko se vrnete domov, preglejte ta seznam in se preverite na internetu. Tako boste razumeli, kje ste vi in anketar naredili napako. Tudi to se zgodi. Preglejte ali preučite teme, pri katerih ste bili slabi, in poskusite znova.
Poleg tega je na trgu dela izrazita sezonskost. Pametna podjetja načrtujejo zaposlovanje glede na datume diplomiranja. Za novince je spomladi več prostih mest kot sicer. Vendar je konkurenca v tem času večja.
Neumen - odpuščen
Ko se zaposli oseba brez izkušenj, so do nje tudi ustrezna pričakovanja.
Od novinca na delovnem mestu se pričakuje, da:
- Poznavanje splošne tehnične baze
- Preučevanje specifike predmetnega področja podjetja
- Obvladovanje uporabljenih orodij in praks
Nekatere organizacije nudijo tečaje usposabljanja za novince o uporabljenih tehnologijah, orodjih in lokalnih postopkih. Na primer, dobre manire pri uporabi službene e-pošte, postopek spreminjanja dokumentov v wikiju, lokalne značilnosti dela z VCS in sledilnik hroščev.
Obstajajo tudi tehnični uvodni tečaji, vendar je njihova uporabnost vprašljiva. Če gre za zaposlitev, potem so delodajalci prepričani, da imaš neko zadostno raven znanja. Najbolje je, da se takšnih tečajev preprosto udeležite v dobri veri, kot majhna formalnost. Morda bo v njih res kaj uporabnega.
Ko začnete z delom, ne pozabite, da začetniku zagotovo ne bo zaupano reševanje nujne, zapletene in hkrati pomembne naloge. Najverjetneje bo le ena od teh lastnosti. Ali preprosto, a nujno: popravite postavitev, pošljite nekomu datoteko, ponovite težavo. Ali težko, vendar brez upanja na dokončanje - tako da začetnik zbere več rake-a. Ali pomembno, a eksperimentalno. Na primer projekt, ki si ga vsi že dolgo želijo, a ne najdejo časa za izvedbo.
Naloge za obvladovanje orodij bodo »težke« in umetne. Najverjetneje bo to poenostavljena različica glavnega sistema. Takšne naloge uporabljajo isti tehnološki sklad in iste izraze domene kot celoten projekt. V tem primeru rezultat izvedbe ne bo dan končnemu uporabniku. To je lahko demotivirajoče, vendar se je bolje upreti temu občutku. Umetno nalogo je treba opraviti vestno, kot da je od nje odvisna usoda projekta.
Rezultat reševanja vašega prvega problema bo ustvaril prvi vtis o vas med sodelavci, ki niso bili prisotni na razgovoru.
Druga možnost za nalogo obvladovanja orodja je "zagon projekta v lokalnem strojnem/testnem okolju." Včasih je ta postopek opisan v navodilih. Vendar so običajno stari in ponekod zastareli. Projektu lahko prinesete resnične koristi, če napišete nova navodila s pojasnili o težavah, ki so se pojavile. Zagotovo ste morali na univerzi napisati RGR za poročilo o nekaterih disciplinah. Tukaj je skoraj enako. Dokument mora odražati dejanja, ki jih je treba izvesti za zagon.
Običajno so koraki za zagon izdelka v testnem okolju približno takšni:
- klonirati repozitorij, preklopiti na neko vejo ali oznako
- ustvarite konfiguracijsko datoteko
- pripravite strukturo baze podatkov
- napolnite s testnimi podatki
- zgraditi ali prevesti projekt,
- zaženite nabor skriptov konzole v določenem zaporedju
Med postopkom lokalnega izvajanja sistema se bodo neizogibno pojavile nepričakovane težave.
Iskanje rešitev za težave je treba dodati navodilom za uvajanje. Ko boste naslednjič sledili navodilom, se te težave ne bodo več pojavljale. Pri izpolnjevanju konfiguracijskih datotek in klicanju skriptov bodite pozorni na to, katera vrednost se kje uporablja in s čim se mora ujemati. Če je na primer projekt zgrajen s sistemom CI in ga nato zažene skript, je pomembno razumeti, kam vnesti ime veje ali številko potrditve. Včasih skript zahteva posredovanje IP naslovi ali DNS ime baze podatkov, njeno prijavo in geslo. V tem primeru morate poznati določen naslov, ki ga boste uporabili za testno okolje, katere prijave vsebuje in katera gesla morate zanje določiti.
Nekatere naloge se morda zdijo izkušenim razvijalcem preproste, pripravnikom pa predstavljajo izziv. To je normalno.
Razvijalci morajo vsak dan reševati tehnične težave. Izkušeni zaposleni so marsikatero težavo že rešili, novinci pa se z njimi še niso spopadli. Najboljša taktika je, da zabeležite vse napake v dokumentu »reševanje težav z ${task name}«. Za vsako težavo morate oblikovati hipotezo o vzroku, poiskati rešitve na internetu in jih preizkusiti eno za drugo. Zabeležiti je treba tudi rezultat vsakega poskusa.
Registracija vaše raziskave v obliki dokumenta vam bo omogočila:
- razbremenite majhne podrobnosti iz glave. Na primer konfiguracijski parametri, naslovi DNS/IP, ukazi konzole in poizvedbe SQL.
- spomnite se »kaj sem počel včeraj«, ko naloga traja več dni
- ne hodi v krogu. Vedno lahko preberete, kaj ste počeli prej, in razumete, da ste se vrnili k prvotni težavi
- jasno odgovorite na vprašanje: "kaj si počel danes?" tudi če še ni pripravljene rešitve.
Kolegom morate znati sporočiti status svojih nalog
Od časa do časa se bodo sodelavci zanimali za vaše uspehe in delili svoje. Vzemite si nekaj časa za to dnevno ali tedensko.
Če ne spremljate težav, na katere ste naleteli in jih rešili, bo opis vaših uspehov izgledal takole: »Poskušal sem opraviti nalogo, a je ne zmorem. Še vedno iščem rešitev.” Iz te zgodbe ni razvidno, ali je pripravnik kaj počel ali je le sedel in bral. Potrebuje pomoč? Se je situacija od včeraj spremenila?
Če dokument iščete rešitve, lahko rečete: »Poskušam opraviti to nalogo. Imel sem takšne napake. Tako sem se odločil. S tem se še nisem ukvarjal. Obstajajo te hipoteze in rešitve. Zdaj jih preverjam."
Če je nalogo mogoče na kakršen koli način izmeriti, mora status vsebovati številke. Na primer, za nalogo "napisati enotne teste za modul," lahko rečete "Načrtujem narediti 20 testov, zdaj sem jih napisal 10."
Več podrobnosti kot navedete, bolje bodo vaši sodelavci razumeli, kaj ste storili. To bo med sodelavci ustvarilo pozitiven odnos do vas in jim omogočilo, da bodo razumeli, ali potrebujete pomoč ali ne.
Prosite za pomoč
Zgoraj sem napisal, da je treba, ko se pojavi problem, oblikovati hipotezo o vzrokih in možnih rešitvah. Vendar se zgodi, da hipoteze niso upravičene in neodvisno najdene rešitve problema ne delujejo. V tem primeru je bolje prositi za pomoč. Da ne bi zlorabili pozornosti svojih sodelavcev, se morate sami posvetiti vsaki težavi. Če v nekaj urah niste našli rešitve, je čas, da poiščete nasvet pri bolj izkušenih tovariših.
Dober kraj za začetek je vprašanje: "Ali je že kdo naletel na to težavo?" s kratkim opisom problema. Priporočljivo je, da priložite delček sporočila o napaki ali posnetek zaslona. Bolje je, da to sporočilo prvič pošljete v kakšen splošni delovni klepet. Tako ne odvrnete od dela tistih, ki so res zaposleni. Brezplačni sodelavci bodo videli vaše sporočilo in vam bodo lahko pomagali.
Če po sporočilu v splošnem klepetu nihče ni pomagal, poskusite ujeti izkušenega kolega med odmorom: kosilo, odhod na čaj/kavo, igranje tenisa ali odmor za kajenje. Če to ne deluje, svoje težave prijavite na sestanku ali vstanku.
Če se znane težave rešijo, se lahko vse skupaj konča. Če je težava nova, se začne preiskava, kjer bo treba ukrepati glede na okoliščine.
»Pomembna« začetna opravila, ki jih potrebuje končni uporabnik, bodo dolgočasna in majhna. Na primer, "poročilu dodajte dodaten stolpec" ali "popravite tipkarsko napako v natisnjenem obrazcu" ali "implementirajte metodo modela za nalaganje atributov odjemalca iz DBMS." Namen tovrstnih nalog je, da se začetnik seznani s predmetom in se vključi v vsakodnevno delo.
Pomembno je ne samo tehnično rešiti problem, ampak tudi razširiti znanje predmetnega področja.
Pogoji bodo prikazani v opisu opravila, v klepetih in pogovorih. Morda so videti kot znani samostalniki. Vendar pa imajo v okviru informacijskega sistema poseben, bolj natančen pomen. Pomen odkritih pojmov je najbolje zapisati v posebnem dokumentu – slovarju izrazov. Pri dodajanju v slovar je dovolj, da napišete svoje razumevanje besede, za resnično dekodiranje pa je bolje, da se obrnete na analitika. Če manjka, pojdite k starodobnikom projekta. Vzdrževanje slovarja izrazov je eden najpreprostejših načinov, da se seznanite s predmetom projekta.
Ko boste s sodelavci našli skupni jezik, vas bodo začeli videti ne kot novega pripravnika, ampak kot enakovrednega specialista.
Obstajajo posebne naloge, na primer "napisati enotne teste za modul." Težko se mu boste dolgo ustavili in iskali rešitve. Hkrati je precej resno in ni namenjeno le usposabljanju pripravnikov. Pisni testi povečajo stabilnost projekta z zmanjšanjem hroščev v aplikaciji in skrajšajo čas za človeško testiranje. V idealnem svetu so enotni testi napisani takoj med razvojem, vendar je realnost vedno drugačna. Zgodi se, da razvijalec modula to popolnoma drži v glavi in ne vidi potrebe, da bi jih napisal. "Vse je očitno, kaj je treba testirati?" Včasih so moduli napisani v hitrem načinu in ni časa za teste enot. Torej v resničnem svetu morda ne bo testov enot. Zato je naloga pisanja enotnih testov zaupana začetniku. Tako se bo pripravnik hitreje privadil na projekt, projekt pa bo prihranil čas bolje plačanim specialistom.
Zgodi se, da pripravnikom in novincem dodelijo vlogo polnopravnih preizkuševalcev. Običajno morate pred tem izdelek namestiti lokalno in prebrati zahteve. Posledično se pričakuje, da bo novi zaposleni:
- vprašanja, kot so »če boš naredil tako, bo tako izpadlo. Tega ni v zahtevah. Mora biti?"
- naloge v sledilniku hroščev "zahteve pravijo tako, v resnici pa piše drugače."
Testiranje je preširoko področje za ta članek. Če vam je dana podobna naloga, poiščite na internetu najboljši način za njeno dokončanje.
Če zamočiš, te bodo odpustili
Če se v normalni organizaciji nenadoma zgodi, da neizkušeni zaposleni dobi dostop do nečesa kritičnega in nekaj pokvari, potem bo kriv tisti, ki je to dovolil. Ker začetnik privzeto nima dostopa do kritične infrastrukture. Ob ustreznem vodenju ne bodo pustili, da bodo vsi psi šli v nič neizkušenemu tečajniku.
Če se kaj zgodi, te ne bodo odpustili zaradi enega incidenta. Ljudje se učimo iz napak. Pripravnik, ki je zamočil, se je naučil dragocene lekcije in je zelo drugačen od drugih pripravnikov. Če nekoga, ki zamoti, odpustiš, bo namesto njega prišel nekdo drug in zamočil na enak način.
Glavna stvar je učiti se iz napak in jih ne ponavljati več.
Če oseba ne sklepa iz svojih napak, se bodo poskušali posloviti od njega. Vendar je svet raznolik. V kakšni gangsterski organizaciji te lahko za prvo napako takoj vržejo skozi okno. Toda takšnim podjetjem se je bolje izogniti tako, da se najprej pozanimate ali med razgovorom izveste več.
Incidentom se je bolje izogniti
Tudi če vas osebno ne odpustijo zaradi napake, bo tak incident povzročil neželene težave za vašo ekipo in projekt kot celoto. Zato bodite še posebej previdni pri operacijah brisanja ali ustvarjanja tabel v bazi podatkov, datotek, primerkov storitev in dokumentov v bazi znanja projekta. Če naletite na naslov novega priključka, preverite pri vsaj dveh različnih osebah, kaj se tam da narediti. Preverite svoje pravice v okoljih ne s poskusi in napakami, ampak z uporabo ustreznih ukazov. Na primer pravice za brisanje datotek z ukazom `ls`, pravice za delo s tabelami v mysql z uporabo ukaza `SHOW GRANTS FOR 'user'@'host';` in podobno. V skoraj vsakem orodju boste imeli podobno priložnost.
Ko urejate datoteke, za vsak slučaj obdržite kopijo izvirnika zase.
Med pripravnikom in končnim uporabnikom se zgradi več ovir.
Če bi lahko svoj izdelek takoj dali potrošniku, ne bi dobili službe, ampak bi se odpravili na »prosto plavanje«. Toda medtem ko nimate takšne priložnosti (in hkrati odgovornosti), morate iti skozi več stopenj nadzora nad projektom.
Prva od teh je verifikacija s strani mentorja. Odločitev novinca oceni s tehničnega vidika. Če mentor ni bil dodeljen, ga morate poiskati. Če želite to narediti, morate izbrati enega od starodobnikov projekta in ga med odmorom prositi, naj pogleda rešitev: ali je bila težava pravilno rešena? Če začne iskati in se odzivati, se je našel mentor. Če ga ignorira, potem je vredno vprašati koga drugega.
Naslednja stopnja je zagotavljanje kakovosti. V ruščini - testerji. V sovjetskem slogu - standardni nadzor in oddelek za nadzor kakovosti. Zagotoviti morajo, da je uspešnost pripravnika skladna z nalogo, ki mu je dodeljena. Redko bodo prebrali kodo. Najpogosteje bodo preizkuševalci preverili izdelan projekt, ki ga razvijalec shrani v sistem za nadzor različic.
Tretja stopnja je upravitelj izdaje. Morda ni posebne osebe za to nalogo, vendar nekdo še vedno igra vlogo. Preveri, ali so preizkuševalci potrdili, da je projekt mogoče objaviti. Po tem izvaja aktivnosti za dostavo izdelka končnim uporabnikom.
V majhnih organizacijah te ovire morda ne obstajajo iz različnih razlogov. Vendar pa novincu ne bodo dali naloge, da spremeni nekaj pomembnega. Ker tega tveganja nihče ne potrebuje.
Najprej se moraš vključiti v bitko, potem pa bomo videli.
Napoleon Bonaparte
Upam, da vam bo ta članek pomagal premagati negotovost in oddati svoj prvi življenjepis. Seveda se morate najprej pripraviti. Vendar ni potrebe po pretiravanju. Najverjetneje ste že nekaj let študirali na univerzi ali fakulteti. Kam naprej? Navsezadnje je bolje enkrat slišati "ne" od strokovnjaka in delati na napakah, kot pa si vsak dan reči "ne" in nehati poklicno rasti.
Ko vas zaposlijo, se morate osredotočiti na rast iz pripravnika v polnopravnega člana ekipe. Ta vrsta rasti običajno prihaja s povečanjem vaše plače.
Želim vam potrpežljivost in vztrajnost.
V anketi lahko sodelujejo samo registrirani uporabniki. , prosim.
Katere so bile vaše prve naloge v vaši prvi službi v informatiki?
Kompleksno
Pomembno
Nujno
Nič od naštetega
Glasovalo je 75 uporabnikov. 20 uporabnikov se je vzdržalo.
Kaj ste morali najprej narediti v prvi službi?
Izdelek namestite lokalno
Testirajte obstoječi izdelek
Izvedite usposabljanje, lažno nalogo
Naredite eksperimentalni, pravi projekt za stranko
Glasovalo je 63 uporabnikov. 25 uporabnikov se je vzdržalo.
Koliko učencev v vaši skupini je med usposabljanjem lahko samostojno opravljalo naloge pri tehničnih predmetih?
1 od 10
1 od 5
Vsako sekundo
Vse, z redkimi izjemami
Glasovalo je 70 uporabnikov. 19 uporabnikov se je vzdržalo.
Vir: www.habr.com
