
Frame frÄn filmen "Harry Potter och fÄngen frÄn Azkaban"
Problemet med den hÀr vÀrlden Àr att uppfostrade mÀnniskor Àr fulla av tvivel, medan idioter Àr fulla av sjÀlvförtroende
Charles Bukowski
Nyligen höll jag en individuell programmeringslektion. Till skillnad frÄn vanliga lektioner handlade temat inte om sprÄkets struktur eller problem med att lösa uppgifter. Studenten delade sina bekymmer om framtida anstÀllningsmöjligheter. SjÀlv var eleven ganska skarp. En av dem som gÄr pÄ kurserna, slutför hela programmet snabbast och med originella lösningar, men underskattar sig sjÀlv hela tiden. Enligt min Äsikt uppstÄr sÄdana tvivel endast pÄ grund av brist pÄ information. Jag försökte fylla detta gap spontant under lektionen.
FrÄgorna var ungefÀr sÄdana hÀr:
- Varje Är examineras mÄnga studenter frÄn universitet och de gÄr alla ut för att söka jobb. Det Àr mycket mÀnniskor. Det Àr sÀkert att de kommer att ta de bÀsta, och jag kommer inte att fÄ nÄgot jobb.
- Vad hÀnder om jag gör ett misstag och blir avskedad direkt?
- Vad hÀnder om de under arbetets gÄng inser att jag Àr dum och sparkar mig?
Den hÀr studenten var inte den första personen jag svarade pÄ liknande frÄgor. De kommer upp hos mÄnga, och vanligtvis mÄste jag berÀtta utan förberedelse. Den hÀr gÄngen beslöt jag mig för att skriva ner mitt monolog i en anteckningsbok. Jag trodde att det skulle bli nÄgra stycken, men det blev en hel artikel.
Artikeln beskriver synpunkten frÄn mitt perspektiv och utifrÄn min erfarenhet. Men vÄr vÀrld Àr mycket mÄngfaldig och det hÀnder fantastiska saker. Om du inte hÄller med eller om din erfarenhet skiljer sig pÄ nÄgot sÀtt, vÀnligen skriv en kommentar.
Artikeln skrevs av en utvecklare för utvecklare. Men om du planerar att arbeta med testning, administration eller nÄgot annat inom IT, sÄ kommer en del av rÄden ocksÄ att vara anvÀndbara för dig.
De kommer överhuvudtaget inte att anstÀlla
NÀr man förestÀller sig att hundratals studenter examineras varje Är frÄn mÄnga universitet, blir det obekvÀmt. Hur ska man konkurrera med en sÄ stor mÀngd?
TyvÀrr har inte alla studenter tillrÀcklig teknisk kunskap. Försök att frÄga en studiekamrat frÄn universitetet: hur fÄr folk i deras grupp tillgÄng till examinationer i Àmnen som "databaser" eller "grundlÀggande algoritmer och programmering"? I en grupp med 30 personer finns det i bÀsta fall 3-5 "avancerade" killar som faktiskt har gjort allt sjÀlva. De andra kopierar bara frÄn dem, memorerar svar pÄ frÄgor och klarar sig.
SÄ var det nÀr jag studerade sjÀlv. Men min erfarenhet kan ha varit icke-representativ. DÀrför stÀllde jag denna frÄga till flera olika studenter. Svaret var ungefÀr detsamma. De som svarade kom frÄn olika universitet och högskolor. Anledningar till detta lÀmnar jag utanför denna artikel. Jag har inte tid eller resurser för en fullstÀndig studie, sÄ jag kommer att dra slutsatser frÄn de nuvarande fakta.
Bland hundratals utexaminerade Àr det bara ett par dussin som intresserar arbetsgivare.
FÄ utexaminerade kan verkligen konkurrera med en duktig student med god förberedelse. Men Àven om du har studerat flitigt kommer du troligtvis inte att anstÀllas efter den första intervjun. Kanske inte heller efter den andra. Allt kan gÄ bra, men det Àr bÀttre att förbereda sig för en belÀgring snarare Àn för ett stormande anfall. Ett misslyckande Àr bara en anledning att reflektera över sina misstag och försöka igen. Jag kommer inte att tala om förberedelser inför intervjuer, det finns redan mycket skrivet om det pÄ internet. Jag kan bara sÀga att det finns detaljer i intervjuprocessen som troligen inte fÄr tillrÀckligt med tid i ditt utbildningsprogram. Sök denna information sjÀlv, den kan minska antalet försök.
Galenskap Àr att upprepa samma handling gÄng pÄ gÄng, i hopp om att fÄ en förÀndring.
Albert Einstein
För att intervjuer inte ska bli en galenskap, mÄste du efter varje nytt försök bli bÀttre. Kom ihÄg eller skriv ner frÄgorna som stÀlldes under intervjun. NÀr du kommer hem, gÄ igenom denna lista och kontrollera dig sjÀlv med hjÀlp av internet. DÄ kommer du att förstÄ var du gjorde fel och var intervjuaren kan ha haft fel. Det hÀnder ocksÄ. Upprepa eller studera Àmnen dÀr du svarade dÄligt och försök igen.
Dessutom finns en tydlig sÀsongsvariation pÄ arbetsmarknaden. Kloka företag planerar rekrytering med hÀnsyn till examensdatum frÄn utbildningsinstitutioner. PÄ vÄren finns det fler lediga tjÀnster för nykomlingar Àn under resten av Äret. Men konkurrensen Àr ocksÄ högre under denna tid.
Trubbig - kommer att bli avskedad
NÀr man anstÀller nÄgon utan erfarenhet finns det Ätaganden kopplade till detta.
FrÄn en nyanstÀlld förvÀntas:
- Kunskaper om den allmÀnna tekniska basen
- Studera företagets ÀmnesomrÄde
- BehÀrska de verktyg och metoder som anvÀnds
I vissa organisationer anordnas utbildningskurser för nykomlingar om de teknologier, verktyg och lokala normer som anvÀnds. Till exempel god ton vid anvÀndning av företags-e-post, rutiner för Àndring av dokument i wikin, lokala sÀrdrag i arbetet med VCS och bug tracking.
Det finns ocksÄ tekniska introduktionskurser, men deras anvÀndbarhet Àr tveksam. Om det har kommit till en anstÀllning har arbetsgivarna övertygat sig om att du har en tillrÀcklig nivÄ av kunskap. Det Àr bÀst att helt enkelt genomgÄ dessa kurser som en liten formalitet. Det kan faktiskt finnas nÄgot anvÀndbart i dem.
NÀr du börjar arbeta, kom ihÄg att en nykomling absolut inte kommer att fÄ i uppdrag att lösa en brÄdskande, komplex och samtidigt viktig uppgift. Det kommer sannolikt bara att finnas en av dessa egenskaper. Antingen nÄgot enkelt men brÄdskande: justera layouten, vidarebefordra en fil till nÄgon, Äterskapa ett problem. Eller komplext men utan hopp om att slutföras - bara sÄ att nykomlingen kan samla pÄ sig sÄ mÄnga misstag som möjligt. Eller viktigt men experimentellt. Till exempel ett projekt som alla lÀnge har velat ha men inte har kunnat avsÀtta tid för att genomföra.
Uppgifterna för att bemÀstra verktygen kommer att vara "komplexa" och konstgjorda. Det kommer sannolikt att vara en förenklad version av det huvudsakliga systemet. I sÄdana uppgifter anvÀnds samma teknikstack och samma termer frÄn ÀmnesomrÄdet som i hela projektet. Samtidigt kommer resultaten av arbetet inte att levereras till slutanvÀndaren. Detta kan demotiviera, men det Àr bÀttre att motstÄ den hÀr kÀnslan. Den konstgjorda uppgiften bör göras noggrant, som om projektets öde berodde pÄ den.
Resultatet av att lösa din första uppgift kommer att ge ett första intryck av dig hos kollegor som inte var med pÄ intervjun.
Ett annat alternativ för att lÀra sig verktygen Àr att "starta ett projekt pÄ den lokala maskinen/testmiljön". Ibland beskrivs denna process i instruktionerna. Men de Àr oftast gamla och delvis förÄldrade. Man kan tillföra verklig nytta till projektet genom att skriva en ny instruktion med klargöranden om uppkomna problem. Du har sÀkert behövt skriva en laborationsrapport för nÄgot Àmne pÄ universitetsnivÄ. Det Àr nÀstan detsamma. Dokumentet bör Äterspegla de ÄtgÀrder som behövs för att starta.
Vanligtvis Àr stegen för att starta en produkt i testmiljön ungefÀr följande:
- klona repositoriet, byta till en viss gren eller tagg
- stÀlla in nÄgon konfigurationsfil
- förbereda databasstrukturen
- fylla den med testdata
- genomföra byggandet eller kompileringen av projektet,
- köra en uppsÀttning konsolskript i en viss ordning
Under processen att starta systemet lokalt kommer det ofrÄnkomligen att uppstÄ ovÀntade problem.
Lösningar pÄ de problem som upptÀcks bör skrivas in i instruktionen för distribution. DÄ kommer dessa problem inte att uppstÄ nÀsta gÄng instruktionen följs. NÀr du fyller i konfigurationsfiler och anropar skript bör du vara uppmÀrksam pÄ vilket vÀrde som anvÀnds var, och vad det ska matcha. Till exempel, om projektet byggs med ett CI-system och sedan startas med ett skript, Àr det viktigt att förstÄ var man ska ange namnet pÄ grenen eller commitnumret. Det kan hÀnda att skriptet förutsÀtter att du anger IP-adresser eller DNS-namn pÄ databasen, dess inloggning och lösenord. I det hÀr fallet mÄste du veta vilken adress som ska anvÀndas för testmiljön, vilka inloggningar som finns dÀr och vilka lösenord som ska anges för dem.
Vissa uppgifter kan verka enkla för erfarna utvecklare och orsaka svÄrigheter för praktikanter. Det Àr en normal förekomst.
Utvecklare stÄr dagligen inför tekniska problem. Erfarn personal har redan löst mÄnga problem tidigare, medan nykomlingar fortfarande har mycket kvar att hantera. Den bÀsta taktiken Àr att dokumentera alla mötande fel i dokumentet "problemhantering för ${nazvanie zadachi}". För varje problem bör en hypotes om orsaken formuleras, alternativ för lösning bör sökas pÄ internet och testas i tur och ordning. Resultatet av varje försök bör ocksÄ dokumenteras.
Att dokumentera dina insikter i ett dokument kommer att:
- frigöra huvudet frÄn smÄ detaljer. Till exempel konfigurationsparametrar, DNS/IP-adresser, kommandoradsikoner och SQL-frÄgor.
- hjÀlpa dig att komma ihÄg "vad gjorde jag igÄr" nÀr uppgiften strÀcker sig över flera dagar.
- hindra dig frÄn att gÄ i cirklar. Du kommer alltid att kunna lÀsa vad du gjorde tidigare och förstÄ om du har ÄtergÄtt till det ursprungliga problemet.
- ge ett tydligt svar pÄ frÄgan: "vad har du gjort idag?" Àven om det fÀrdiga svaret Ànnu inte finns.
Du behöver kunna rapportera status pÄ dina uppgifter till dina kollegor.
Periodiskt kommer kollegor att frÄga om dina framsteg och dela sina egna. Detta avsÀtter lite tid dagligen eller veckovis.
Om du inte spÄrar de problem som uppstÄr och löses, kommer din beskrivning av framstegen att lÄta som: "Jag försökte göra uppgiften, men jag kan inte. Jag letar fortfarande efter en lösning." UtifrÄn denna berÀttelse Àr det oklart om praktikanten faktiskt arbetade pÄ nÄgot eller bara satt och lÀste. Behöver de hjÀlp? Har situationen förÀndrats sedan igÄr?
Om du hÄller ett dokument om lösningar kan du sÀga "Jag försöker göra den hÀr uppgiften. Jag har stött pÄ sÄdana fel. Jag löste dessa pÄ detta sÀtt. Jag har Ànnu inte lyckats med denna. HÀr Àr nÄgra hypoteser och lösningsalternativ. Jag kontrollerar dem just nu."
Om en uppgift pÄ nÄgot sÀtt kan mÀtas bör status innehÄlla siffror. Till exempel för uppgiften "skriva enhetstester för modulen" kan man sÀga "jag planerar att göra 20 tester, jag har skrivit 10 hittills."
Ju fler detaljer du ger, desto bÀttre kommer dina kollegor att förstÄ vad du har gjort. Detta kommer att skapa en positiv instÀllning hos kollegorna och hjÀlpa dem att förstÄ om du behöver hjÀlp eller inte.
Tveka inte att be om hjÀlp.
Tidigare skrev jag att nÀr ett problem uppstÄr behöver du formulera en hypotes om dess orsaker och möjliga lösningar. Men det hÀnder att hypoteserna inte stÀmmer och att de sjÀlvstÀndigt hittade lösningarna inte fungerar. I sÄ fall Àr det bÀttre att be om hjÀlp. För att inte missbruka kollegornas uppmÀrksamhet bör du först försöka lösa varje problem sjÀlv. Om du inte lyckas hitta en lösning inom ett par timmar Àr det dags att söka rÄd hos mer erfarna kollegor.
BÀst Àr att börja med frÄgan: "Har nÄgon stött pÄ problemet tidigare?" med en kort beskrivning av problemet. Det Àr lÀmpligt att bifoga en del av felmeddelandet eller en skÀrmdump. Det Àr bÀst att skicka detta meddelande första gÄngen i en allmÀn arbetschatt. PÄ sÄ sÀtt stör du inte dem som verkligen Àr upptagna. Fria kollegor ser ditt meddelande och kan hjÀlpa till.
Om ingen hjÀlper efter meddelandet i den allmÀnna chatten, försök fÄ tag pÄ en erfaren kollega under en paus: lunch, nÀr man gÄr för att hÀmta te/kaffe, en tennismatch eller under en rökpaus. Om det inte gÄr, informera om dina svÄrigheter under ett möte eller stand-up.
NÀr det gÀller kÀnda problem kan allt stanna hÀr. Om problemet Àr nytt börjar en utredning dÀr du mÄste agera utifrÄn omstÀndigheterna.
De "viktiga" uppgifterna för nybörjare som behövs av slutanvÀndaren kommer att vara trÄkiga och smÄ. Till exempel "lÀgga till en extra kolumn i rapporten" eller "rÀtta ett stavfel i utskriftsformatet" eller "implementera en metod i modellen för att ladda kundattributen frÄn databasen". MÄlet med sÄdana uppgifter Àr att nybörjaren ska bli bekant med ÀmnesomrÄdet och integreras i det dagliga arbetet.
Det Àr viktigt att inte bara lösa uppgiften tekniskt utan ocksÄ att utöka kunskapen inom ÀmnesomrÄdet.
I beskrivningen av uppgiften, i chattarna och samtalen kommer termer att dyka upp. De kan se ut som vÀlbekanta substantiv. Men inom ramen för informationssystemet fÄr de en sÀrskild, mer exakt betydelse. Betyderna av de upptÀckta termerna bör bÀst skrivas ner i ett sÀrskilt dokument - en ordlista. NÀr du lÀgger till i ordlistan Àr det tillrÀckligt att skriva din förstÄelse av ordet, men för den verkliga tolkningen Àr det bÀst att vÀnda sig till analytikern. Om han inte finns, sÄ till veteranerna i projektet. Att upprÀtthÄlla en ordlista Àr ett av de enklaste sÀtten att knyta an till ÀmnesomrÄdet för projektet.
SÄ snart du hittar ett gemensamt sprÄk med kollegorna kommer de att börja se dig som en likvÀrdig specialist snarare Àn en nybörjare.
Det finns sÀrskilda uppgifter, som "att skriva enhetstester för modulen". Det Àr osannolikt att du kan fastna lÀnge med att söka efter lösningar pÄ den. Den Àr dessutom tillrÀckligt seriös och ges inte bara för att utbilda praktikanter. De skrivna testen ökar stabiliteten i projektet genom att minska buggar i applikationen och minska den tid som mÀnniskor lÀgger pÄ testning. I en ideal vÀrld skrivs enhetstesterna direkt under utvecklingen, men verkligheten Àr ofta annorlunda. Ibland hÄller modulent utvecklaren fullstÀndigt i sinnet och ser ingen anledning att skriva dem. "Det Àr uppenbart vad som ska testas hÀr?" Ibland skrivs moduler pÄ ett brÄttom sÀtt och det finns inte tid för enhetstester. SÄ i verkligheten kanske det inte finns nÄgra enhetstester. DÀrför överlÀmnas uppgiften att skriva enhetstester till nybörjaren. PÄ sÄ sÀtt kan praktikanten snabbt bekanta sig med projektet, och projektet kan spara tid frÄn mera vÀlbetalda specialister.
Ibland fÄr praktikanter och nybörjare rollen som fullvÀrdiga testare. Vanligtvis behöver man först sÀtta upp produkten lokalt och lÀsa igenom kraven. Som resultat förvÀntas av den nya anstÀllda:
- FrÄgor som "om jag gör sÄ hÀr, sÄ fÄr jag sÄ hÀr. Det stÄr inte i kraven. Hur ska det vara?"
- Uppgifter i bugtracking-systemet "kraven sÀger sÄ hÀr, men i verkligheten Àr det annorlunda."
Testning Àr ett alltför omfattande omrÄde för denna artikel. Om du har fÄtt en sÄdan uppgift, leta pÄ internet efter hur du bÀst utför den.
Om du gör fel fÄr du sparken.
I en vÀlordnad organisation, om en oerfaren anstÀlld plötsligt fÄr tillgÄng till nÄgot kritiskt och förstör nÄgot, sÄ Àr det den som möjliggjort detta som bÀr ansvaret. Eftersom en nybörjare normalt sett inte har tillgÄng till kritisk infrastruktur. Med adekvat ledarskap kommer man inte att skylla allt pÄ den oerfarna praktikanten.
Om nÄgot skulle hÀnda, kommer man inte att avskeda för enstaka incidenter. MÀnniskor lÀr sig av sina misstag. Den som gjort fel har fÄtt en vÀrdefull lÀxa och skiljer sig dÀrmed frÄn andra praktikanter. Om man avskedar den som gjort fel, kommer en annan att komma pÄ samma plats och göra samma misstag.
Det viktigaste Àr att lÀra sig av sina misstag och inte upprepa dem.
Om en person inte drar lÀrdom av sina misstag, kommer man försöka sÀga hejdÄ till dem. Men vÀrlden Àr mÄngfacetterad. I en gangsterorganisation kan man bli kastad ut genom fönstret för första misstaget. Men det Àr bÀttre att undvika sÄdana företag, vilket man kan göra genom att först ta reda pÄ mer information innan en anstÀllningsintervju.
Incidenter bör undvikas.
Ăven om du personligen inte blir avskedad för ett misstag, kommer en sĂ„dan hĂ€ndelse att orsaka oönskade problem för ditt team och projektet i stort. SĂ„ var sĂ€rskilt försiktig med operationer som rör borttagning eller skapande av tabeller i databasen, filer, instanser av tjĂ€nster och dokument i projektets kunskapsdatabas. Om du stöter pĂ„ en ny anslutningsadress, be minst tvĂ„ olika personer klargöra vad som Ă€r möjligt dĂ€r. Kontrollera dina rĂ€ttigheter pĂ„ miljöer, inte genom trial and error, utan med lĂ€mpliga kommandon. Till exempel rĂ€ttigheter för att ta bort filer med kommandot `ls`, rĂ€ttigheter för att arbeta med tabeller i mysql med kommandot `SHOW GRANTS FOR âuserâ@âhostâ;` och sĂ„ vidare. NĂ€stan varje verktyg har denna möjlighet.
NĂ€r du redigerar filer, spara alltid en kopia av originalet.
Det byggs upp flera barriÀrer mellan praktikanten och slutanvÀndaren.
Om du kunde leverera din produkt direkt till kunden skulle du kunna hoppa över att söka jobb och ge dig ut pÄ "friblandning". Men eftersom du för nÀrvarande inte har den möjligheten (och ansvarigheten), behöver du gÄ igenom flera kontrollsteg i projektet.
Den första Àr handledarens granskning. Hen bedömer nykomlingens lösning ur ett tekniskt perspektiv. Om ingen handledare har utsetts, behöver man hitta en. För att göra detta, vÀlj nÄgon av veteranerna i projektet och be hen att titta pÄ lösningen under pausen: Har uppgiften lösts korrekt? Om hen börjar titta och svara, har du hittat en handledare. Om hen ignorerar dig, frÄga nÄgon annan.
NĂ€sta steg Ă€r kvalitetssĂ€kring. PĂ„ ryska â testare. PĂ„ sovjetisk â normalkontroll och OTK. De mĂ„ste se till att praktikanternas arbetsresultat överensstĂ€mmer med den tilldelade uppgiften. De kommer sĂ€llan att lĂ€sa koden noggrant. Oftast kommer testarna att kontrollera det samlade projektet som utvecklaren sparar i versionshanteringssystemet.
Det tredje steget Àr release manager. Det kan hÀnda att det inte finns en sÀrskild person för denna uppgift, men nÄgon kommer ÀndÄ att utföra rollen. Hen kontrollerar att testarna har bekrÀftat att projektet kan slÀppas. Efter det vidtar hen ÄtgÀrder för att leverera produkten till slutanvÀndarna.
I smÄ organisationer kan dessa hinder av olika skÀl saknas. Men nykomlingen kommer inte att fÄ en uppgift för att Àndra nÄgot viktigt. För risken Àr inte vÀrd för nÄgon.
Man mÄste först ge sig in i striden, sen fÄr man se.
Napoleon Bonaparte
Jag hoppas att artikeln hjÀlper dig att övervinna din osÀkerhet och skicka ditt första CV. SjÀlvklart mÄste du förbereda dig först. Men dra inte ut pÄ det för lÀnge. Du har förmodligen redan studerat i flera Är pÄ universitetet eller i college. Vad mer finns det att dra ut pÄ? I slutÀndan Àr det bÀttre att höra "nej" frÄn en specialist en gÄng och arbeta pÄ dina misstag, Àn att varje dag sÀga "nej" till dig sjÀlv och stanna upp i din yrkesmÀssiga utveckling.
Efter anstÀllningen Àr det viktigt att fokusera pÄ att vÀxa frÄn praktikant till en fullvÀrdig medlem av teamet. En sÄdan tillvÀxt Ätföljs oftast av en ökning av din lön.
Jag önskar dig tÄlamod och ihÀrdighet.
Endast registrerade anvÀndare kan delta i omröstningen. , tack.
Vilka var dina första uppgifter pÄ ditt första jobb inom IT?
SvÄra
Viktiga
BrÄdskande
Inget av ovanstÄende
75 anvÀndare röstade. 20 anvÀndare avstod.
Vad var det ungefÀr ni fick göra i början pÄ ert första jobb?
Installera produkten lokalt
Testa den befintliga produkten
Utföra en utbildningsuppgift som inte Àr verklig
Arbeta med ett experimentellt, verkligt projekt för en kund
Röstat av 63 anvÀndare. Avstod 25 anvÀndare.
Hur mÄnga studenter i din grupp under utbildningen kunde sjÀlvstÀndigt utföra uppgifter inom tekniska Àmnen?
1 av 10
1 av 5
Varannan
Alla, med undantag för nÄgra fÄ
Röstat av 70 anvÀndare. Avstod 19 anvÀndare.
KĂ€lla: habr.com
