Hvordan entry level-utviklere blir presset ut av jobbfeltet, og hva de kan gjøre med det

Med alle tiltakene jeg har sett, går arbeidsmarkedet og etterspørselen etter utviklere godt. Og alle spådommer der ute, både formelle og "beste gjetninger" er at etterspørselen etter utviklere bare blir sterkere ettersom fremtiden mer og mer avhenger av programvare. Du skulle tro at dette ville være et flott tidspunkt å komme på arbeidsmarkedet, men dessverre er det ikke slik. Det blir stadig vanskeligere å få arbeid som en nyutvikler, og uten større endringer i hvordan mest programvare utvikles, vil det bare bli vanskeligere.

De skyldige her er først og fremst .NET og Java, selv om den stadig mer komplekse karakteren av webutvikling generelt ikke er skyldfri. Språkene i seg selv blir mer kompliserte etter hvert. Og ja, det er mulig å si: "Vel, ingen tvinger utviklerne på entry-level til å kjenne alle de mørke hjørnene av C # for å bli en suksess." Og hva skjer når seniorarkitekten stiller opp hele saken slik at LINQ er den viktigste driveren for arkitekturen?

Se, jeg synes LINQ er kjempebra, men faktum er at jeg måtte lese en ganske lang, grundig bok for å lære den. Og det gjelder XAML / Silverlight / WPF / WinRT / WinForms, Entity Framework (eller NHibernate), SQL, ASP.NET MVC, og en hel rekke andre elementer som er grunnfjellet i et moderne .NET-program. Det er en bunke kunnskap du trenger å vite og vite hvordan du bruker den kunnskapen i et prosjekt bare for å bli betraktet som en "kompetent" .NET-utvikler. I mellomtiden uteksamineres folk fra college med 36 studiepoeng totalt "informatikk" (og i økende grad "informasjonssystemer" eller lignende grader). Det er knapt nok til å lære dem de grunnleggende grunnleggende prinsippene for programmering, enn si verktøyene og informasjonen de trenger for å overleve i .NET-miljøet.

Jeg ser på basiskunnskapen som trengs for å lage den i en moderne. NET- eller Java-butikk, og jeg er klar over at hvis jeg ble møtt med den virkeligheten etter endt utdanning fra college, er det en god sjanse for at jeg ville ha vasket meg ut av programvareutvikling.

Og det er akkurat det jeg ser med de siste college klassene. Hvis de ble undervist i et klassisk informatikkmiljø og kjenner prinsipper, ser det ut til at de mangler sårt språk og systemer i virkeligheten. For de som gikk på en mer "moderne" skole som lærte det "siste og beste", har de rett og slett ikke vært bevæpnet med de rette grunnleggende forholdene. Eller for å si det på en annen måte, C # og Java (og. NET og Java-økosystemene) er virkelig dårlige miljøer for å lære programmeringsferdigheter, men systemene som er gode lærere kommer ikke til å være C # eller Java. Og hvilken bruk har de fleste butikker for folk som ikke bare mangler erfaring generelt, men også trenger å bli lært språket og rammene?

Dette er ikke en situasjon som gjør det til et godt tidspunkt å være en nyutvikler.

Så det er den dårlige nyheten. Er det noen gode nyheter? Jeg sliter med å se et sølvfor i denne skyen, men jeg føler at utviklere på entry-level kan gjøre ting for å gjøre det lettere å bli ansatt.

Det viktigste (og jeg hater å høres ut som en ødelagt plate her) er at de må få erfaring fra den virkelige verden . Slutt på historien. Med mindre skolene plutselig begynner å bruke hele 120 timer for eksamen til programmering og ignorere generell utdanning og mindreårige, eller studenter kombinerer studenterarbeid i et solid, teoriorientert program med et internship eller et masterprogram forankret i den virkelige utviklingen i verden, er det en garantere at en nyutdannet har hull i det grunnleggende verktøysettet som vil ta år å fylle for å være effektivt i et typisk programmeringsmiljø.

Nå er det steder hvor du kan bli effektiv med langt mindre læring. Et Ruby on Rails-prosjekt har for eksempel en betydelig redusert mengde overhead for å bli produktiv. Agile Platform-verktøyet som jeg har jobbet med er på samme måte. Som et resultat føler jeg meg mye mer komfortabel med å ansette noen med mindre erfaring fra den virkelige verden (eller mangel på kunnskap om full bunke) til disse systemene, ganske enkelt fordi "full stack" er kort nok til at noen kan lære i rimelig beløp av tiden.

Men for innbyggerne er åpninger for slike stillinger sjeldne. For den gjennomsnittlige personen vil de se på å bryte seg inn i Java- eller .NET-utvikling. Og egentlig vil disse jobbene trenge en arbeidsforståelse av en stor del av stablene deres. Jeg kan ikke snakke med detaljene i Java-stacken, men jeg vet at for .NET-stacken, ville jeg se at en utvikler på startnivå hadde satt sammen et prosjekt (som praktikant, på sin egen tid, for et prosjekt med åpen kildekode, eller som frivillig ved veldedighet eller non-profit) ved bruk av følgende teknologier:

  • C #
  • ASP.NET MVC eller et XAML-basert system (Silverlight, WP7, WinRT, WPF)
  • HTML5, JavaScript, CSS (for noen med ASP.NET MVC-erfaring)
  • Entity Framework eller NHibernate (eller lignende)
  • For bonuspoeng er SQL og LINQ også bra.

I virkeligheten ville det bare være å se ett eller to enkle prosjekter som utnytter disse teknologiene, og jeg tror at for en senior på college, burde de kunne gjøre et lite prosjekt på egenhånd, eller jobbe i noe som frivillig eller internship situasjon der de vil ha muligheten til å gjøre det.

Så utviklere på etableringsnivå kan overvinne de stadig mer bratte hindringene for innreise i feltet, men bare hvis de er villige til å investere den nødvendige tiden for å få litt praktisk erfaring med å bruke verktøyene som de fleste butikker bruker.

© Copyright 2021 | pepebotifarra.com