De säger att människor utan teknisk utbildning inte har någon plats i programmering. De försöker skrämma dig från att tänka på ett karriärbyte efter att du fyllt 30 år. Men tänk om det först vid 30 års ålder blir klart att all din tidigare kunskap och erfarenhet ledde dig till fel destination?

I verkligheten är det inte så läskigt. Vem som helst kan bli programmerare i alla åldrar. Här är historien om PielsLie, en av våra studenter från St. Petersburg vars utbildningsbakgrund är inom humaniora och som arbetat i 10 år inom ledning och försäljning.

När han skrev sin framgångssaga var han 32. På cirka 5 månader nådde han nivå 35 på CodeGym. Han ägnade 2-3 månader åt självutbildning och skrivprojekt, och några månader till på att söka jobb. Vid det laget fick han ett bra erbjudande och fick jobb som mjukvaruutvecklare.

STEG 1. Lärande

Kraven på huvudkällan för lärande var tydliga: en strukturerad presentation av Java Core-materialet, mycket övning och en stor community:

  • under intervjuer kan du bli tillfrågad vad som helst om "kärnkunskap" — från bitvis skiftning och gjutning av generika till IO och serialisering;
  • övning är obligatorisk; du kan komma ihåg saker i programmering om du djupt förstår materialet och förstärker det genom övning;
  • Och när det gäller gemenskapen: om du löser en uppgift, fortsätt och visa upp dig i kommentarerna; om du inte kan lösa det får du gärna ställa frågor, men ingen kommer sannolikt att ge dig en färdig lösning.

I alla avseenden passade CodeGym räkningen för den huvudsakliga lärplattformen. Examinanden rekommenderar att tjuvläsa genom att läsa böcker: "Denna Schildt täcker bäst det aktuella ämnet och avslöjar ofta vissa punkter."

Tips för dig som närmar sig sitt Java-lärande med ett rent blad

  1. Alla som börjar om från början tycker att resan är svår. Det är inte en jättestor andel av de som börjar som kommer till slutet av kursen. Ditt mål är att bli en av dem som gör det.
  2. Störst entusiasm kommer du att uppleva efter en månad eller två, när arbetsuppgifterna blir svårare och mer intressanta. Härda ut.
  3. Det viktigaste är att göra framsteg varje vecka. Efter att ha tagit en paus i två veckor är det utmanande att komma tillbaka på sadeln, men alla kan inte skriva kod varje dag flera månader i rad.

Sätt ett mål för dig själv, mätt i timmar per vecka: till exempel 15. Du kan koda för 1,5 timmar varje vardag och ytterligare 3-4 timmar varje dag under helgen, eller så kan du vila ett par kvällar, men sedan "helgkvoten" kommer att öka. Om du gör det på det här sättet kommer ditt schema att vara flexibelt men konsekvent. Självklart kommer du senare att kunna mäta ditt arbete i termer av genomförda uppgifter och projekt, men när vi pratar om syntax och kärnkunskap är det vettigt att hantera timmar.

Totalt tog det cirka 5 månader att genomföra kursen (innan man fick tillträde till praktiken), inklusive semester och korta uppehåll, och det uppnåddes med en vanlig femdagars arbetsvecka som endast lämnade ledig tid på helger och vardagar från kl. PM till midnatt.

Så om du har ett mer öppet schema eller antar ett mer rigoröst träningsschema kan du klara dig mycket snabbare.

STEG 2. Självutbildning

När han nådde nivå 35 under flera månader utforskade han självständigt Spring MVC, Spring Boot + Data, Spring Security, Hibernate, jUnit, Maven, Git och RDBMS, och behärskade SQL och förde samman all denna kunskap till en enhetlig helhet. Ett halvår senare hade studenten projekt som gav honom praktisk erfarenhet av att använda "vuxna" ramverk samt en Github-profil, som han kunde visa om en potentiell arbetsgivare efterfrågade det.

Hur man skapar en personlig utvecklingsplan

  1. Gå igenom jobbannonser för junior/mellan Java utvecklare positioner (eller något annat intresseområde) och se vilka teknologier och ramverk som nämns oftast.
  2. Dröm upp och skriv ner några testuppgifter för dem. Sätt deadlines för dig själv att implementera dem.

STEG 3. Söker arbete

Denna etapp var den längsta och inte lika jämn som de två föregående.

Skicka in ett ärligt nybörjar-CV

Efter att ha slutfört personliga projekt skickade studenten ut ungefär 30 ansökningar om lediga juniorer/praktikanter (genom HH, LinkedIn och bemanningsföretag), med angivande av den välbekanta teknikstacken i hans CV, tillsammans med några mjuka färdigheter och ett blygsamt omnämnande av hans erfarenhet.

Detta gav två samtal, varav ett avslutades omedelbart på grund av hans engelska färdigheter på mellannivå (så lär dig engelska också). Ytterligare två företag skickade sina testuppgifter. Han hade en "intervju" som resulterade i ett "vi ringer dig".

Försöker få en praktikplats

Kanske kan du få erfarenhet genom obetalda eller villkorligt betalda praktikplatser och på något sätt få fotfäste i ett stort IT-företag? Detta är ett bra tillvägagångssätt, men som det visar sig inte för alla. Berättelsens författare utförde testuppgiften, men hann inte förbi den sista intervjun.

Efter denna upplevelse skriver vår tidigare student att han "blev något deprimerad och satte hela jobbsökandet på paus i nästan ett halvår." Han arbetade i sitt tidigare yrke och skrev några ansökningar för sig själv.

Detta fortsatte tills han stötte på en bekant med vilken han delade sina misslyckanden med att hitta ett juniordev-jobb. På den tiden arbetade hans bekanta som utvecklare på mellannivå, men han började på samma sätt - med självstudier.

Hans vän gav ett par rekommendationer (några "fusk", enligt författaren):

  1. På ett eller annat sätt, skaffa dig 6+ månaders yrkeserfarenhet på ditt CV: praktikplatser, examensarbeten, frilansande, distansarbete - vad som helst. Detta kommer till stor hjälp i det skede när HR-folk gör sin första screening av CV-högen;
  2. Ta bort ordet "junior" och din förväntade lön från ditt CV; lämna bara "Java-utvecklare" och diskutera din lön individuellt med varje företag;
  3. Försök få personen från HR att avslöja det eventuella löneintervallet innan du anger dina förväntningar. Om ett företag erbjuder 5 000-6 500 dollar och du är villig att börja för 2 000 dollar, kommer vissa anställande beslutsfattare att bilda sig en låg uppfattning om dig.
  4. Svara på alla lediga jobb som matchar din teknikstack, även om 1-3 års yrkeserfarenhet krävs.

Och allt löste sig.

Första erbjudandet

Efter att berättelsens författare följt rekommendationerna förbättrades jobbsökningssituationen avsevärt.

För det första, av cirka 12 nya svar, slutade hälften nästan omedelbart antingen med ett personligt möte, en Skype-intervju eller en testuppgift.

För det andra började HR-representanter nå ut på eget initiativ - via meddelandeappar, e-post och LinkedIn.

För det tredje visade sig kraven på yrkeserfarenhet vara något flexibla: många företag var redo att kommunicera med en kandidat som inte faller inom det specificerade intervallet på 1-3 års arbete i företagsvärlden.

Summan av kardemumman var ett erbjudande om en tjänst som junior utvecklare och en för en tjänst på mellannivå med en prövotid. Totalt tog jobbsökandet två månader.

Du kan inte skriva en massa Java-kod, sedan leta efter ett jobb under lång, lång tid, och sedan slutligen få allt att bli till ingenting.

Vatten sliter på sten och, som författaren skriver, "om en 30-årig humaniorastudent klarar av det, då kommer du också att lyckas. Det viktigaste är att inte vara rädd för de första telefonsamtalen, testuppgifterna och intervjuer. Varje "misslyckande" kan vara en chans att lära sig något nytt om dig själv och täppa till eventuella luckor i dina kunskaper. Och varje gång kommer du att känna dig mer självsäker."