Ettersom teknologiindustrien raser fremover og krever stadig større antall kvalifiserte programvareutviklere, blir dette yrket også mer tilgjengelig for alle som ønsker å lære programmering og nyte fordelene med høy etterspørsel etter talent og sjenerøse lønn. Programvareutviklingsveteraner med flere tiår med programmeringserfaring deler ofte historier om hvor annerledes dette yrket ikke var så langt tilbake, da informasjon om programmeringsspråk og utviklingsprosesser var begrenset og kun tilgjengelig i trykte lærebøker, noen ganger av tvilsom kvalitet. Selv seniorer som begynte å programmere for bare 10-15 år siden er enige om at det er mye lettere å være programvareutvikler i dag, og dette gjelder både når det kommer til det enkle å tilegne seg kodeferdigheter og å utføre selve jobben etterpå.
Men hva er det egentlig som gjør det å være (og bli) programmerer i dag, i 2021, så mye enklere enn det var i, la oss si, for tjue år siden, i 2001? Vi tenkte at dette kunne være et interessant tema å se nærmere på, og det er det vi skal gjøre nå.
Verktøy som gjør jobben til programvareutvikleren enklere enn noen gang før
Selvfølgelig, ettersom programvareutviklingsindustrien utvikler seg, utvikler alle verktøyene, tilnærmingene og teknologiene seg med den, og blir kraftigere og enklere å bruke, samtidig som informasjonen blir stadig mer tilgjengelig og mer omfattende. Men noen instrumenter som ble introdusert for ikke så lenge siden, og som nå er ofte brukt av de fleste kodere, utgjør virkelig forskjellen. Her er de mest bemerkelsesverdige etter vår mening.
1. Git og GitHub.
Git er et gratis og åpen kildekode distribuert versjonskontrollsystem designet for å håndtere alt fra små til veldig store prosjekter med hastighet og effektivitet. Git ble opprinnelig utgitt i 2005, og ble raskt en industristandard, som tillot utviklere å ha mye bedre kontroll over endringer i kode og versjoner av programvareprosjekter, i tillegg til å gjøre samarbeid mellom flere kodere mye, mye mer effektivt og organisert. GitHub er en vertsplattform for Git-kodelager for versjonskontroll og samarbeid. GitHub ble først lansert i 2008 og ble verdens ledende programvareutviklingsplattform like etter. GitHub gjør det mye enklere for utviklere å samarbeide og bidra til åpen kildekode-prosjekter, lage skikkelig dokumentasjon for koden, vise frem arbeidet sitt for andre, og så videre. "Jeg brukte Apache Subversion (SVN) før, som er sentralisert dvs. alle endringer lagres på en server. Det betyr at når du forplikter deg, blir endringene dine lastet opp direkte. Jeg husker at det til tider var ganske stressende, og øyeblikkene "Jeg er ikke sikker på om dette fungerer, men jeg bør lagre denne koden" var veldig vanskelig å håndtere. Mens med Git kan du bare forplikte deg og bekymre deg for å presse senere (og hvis du er i tvil, kan du alltid forgrene deg),» Guillaume Elias, en erfaren C++-utvikler,
minnes .
2. IntelliJ IDEA og andre IDEer.
IntelliJ IDEA er et integrert utviklingsmiljø skrevet i Java og i stand til å forstå og gi intelligent kodingshjelp for et stort utvalg av andre språk som SQL, JPQL, PQL, HTML, JavaScript, Kotlin osv. Det støtter også flere andre språk, bl.a. Scala, Rust, PHP, Ruby og andre, via plugin. Selv om den første IDE - Microsofts Visual Basic (VB) - ble lansert tilbake i 1991, ble ikke originale IDE-er godt mottatt av utviklere. Dette endret seg på 2000-tallet etter utgivelsen av IntelliJ IDEA i 2001, da det begynte å bli tatt i bruk på begynnelsen av 2000-tallet sammen med å legge til kraftige funksjoner og integrasjoner. Som et resultat ble IDE-er, og spesielt IntelliJ IDEA, på 2010-tallet en de-facto-standard for flertallet av programvareutviklere. "Jeg startet på 1980-tallet, tilbake da kommandolinjer og make-filer var standarden. En IDE med integrert debugger på kildenivå (min første var Lightspeed C) var en enorm forbedring. Hver forbedring siden den gang har vært inkrementell. Bedre IDE-er med mer integrerte funksjoner har forbedret utviklingsprosessen, men det er bare inkrementalisme. IDE med kildefeilsøking var et kvantesprang fremover, sammenlignbart med utviklingen av programmeringsspråk utover assembler,» William Hembree, en pensjonert programvareutvikler og informatikklærer,
sa .
3. Stabeloverløp.
Når det gjelder å få kodingsrelatert informasjon, har mye endret seg på slutten av 2000-tallet – begynnelsen av 2010-tallet med et økende antall nye oppslagstavler og fellesskapsplattformer for utviklere. Stack Overflow er det mest populære nettsamfunnet for utviklere, besøkt av mer enn 50 millioner kodere hver måned. Lansert i 2008 gjorde Stack Overflow det enklere for programmerere å utveksle kunnskap og kommunisere med hverandre, og forenklet læringsprosessene for nybegynnere. «Det første jeg tenker på er Stack Overflow. Nå, vil du si, det er ikke et verktøy, men det er det. Det er en uvurderlig kilde til informasjon som folk før 2008 ikke hadde. Vi har hatt manualer, bøker og mentorer (seniorutviklere), og det er omtrent slik folk lærte og delte ting før SO,» Antonio Nesic, en senior programvareingeniør fra Kroatia,
påpeker .
4. Administrerte skytjenester.
Den økende bruken av administrerte skytjenester spilte også en viktig rolle i å gjøre arbeidet til moderne programmerere enklere. Etter at skytjenester som Amazon Web Services og Microsoft Azure, lansert i henholdsvis 2006 og 2008, ble tilgjengelige og fikk masseadopsjon, trenger ikke lenger programmerere så mange folk for å sette opp og vedlikeholde servere og nettverk for at systemet skal fungere. Skytjenester har også gjort programvareutvikling mye mer effektiv, siden utviklingsteam i dag kan være mindre og mer produktive på individnivå. «Da jeg begynte med dynamisk webprogrammering, var det en ASP, og jeg snakker ikke om ASP.NET, et åpen kildekode-nettverk for .NET, men en god gammel klassisk ASP som brukte MS Access-databasen. Ja, du hørte meg godt. Den brukte ikke MySQL, eller MSSQL eller noe lignende. Du vil legge ved en MS Access-database til den. Og så vil du ha en server og klienten. Og det var det. Så enkelt som det. I disse dager har du DigitalOcean, Linode, Google Cloud, AWS, Azure, etc. Og alle disse har massevis av ting i arsenalet sitt for å hjelpe programvaren din med å skalere og jobbe med minimal nedetid, legger Antonio Nesic til.
5. Prosjektledelse og kommunikasjonsverktøy: Jira og Slack.
Til slutt bør vi definitivt nevne Jira og Slack, samt andre lignende verktøy som gjør prosjektledelse og kommunikasjon mellom utviklere og andre spesialister mye bedre organisert og planlagt. Jira er en proprietær problemsporingsløsning, først utgitt i 2002, som lar brukere planlegge, spore og administrere smidige og programvareutviklingsprosjekter. Den har også flere andre funksjoner, slik at programmerere kan samarbeide mer effektivt, tilpasse arbeidsflyten, spore feil og administrere etterslepet. Slack er en forretningskommunikasjonsplattform som har flere meldings- og samarbeidsfunksjoner som chatterom organisert etter emner, private grupper for samtaler med flere personer, videosamtaler og så videre. Først utgitt i 2009, ble det raskt det mest populære kommunikasjonsverktøyet for programvareutviklingsteam. Brett Watters, en annen erfaren programmerer, husket andre verktøy som er verdt å nevne. "Skype, Teams, IM, SharePoint og andre lignende verktøy tillater nå rask deling av informasjon, samarbeid osv. uten fysiske møter, diskusjoner, lange e-postutvekslinger og så videre," han
sa .
Hvorfor det er enklere å bli programvareutvikler i dag enn noen gang før
Selvfølgelig, ettersom programvareutvikleres arbeid blir enklere med nye verktøy og teknologiutvikling, blir læringsferdighetene som kreves for en profesjonell programmerer også mye mer tilgjengelig og nybegynnervennlig enn før. Så hva har endret seg innen programvareutviklingsutdanning i løpet av det siste tiåret eller to? Mange ting. Informasjonen økte i volum og ble tilgjengelig gjennom flere kilder og på flere måter har læringsteknologier også blitt forbedret.
- Gratis programmeringsopplæring.
Delvis takket være tilgjengeligheten av gode samarbeidsverktøy og plattformer og som et resultat av raskt voksende utviklerfellesskap, både online og offline, kan i dag nybegynnere som ønsker å lære et programmeringsspråk finne flere gratis veiledninger å lære av online. Dette gjelder spesielt når det kommer til svært populære programmeringsspråk som Java. Det er mange gratis Java-opplæringer tilgjengelig på nettet.
Offisielle Java Tutorials fra Oracle er absolutt verdt en anbefaling. Noen andre ganske flotte interaktive Java-veiledninger på nettet er
LearnJavaOnline.org ,
JavaBeginnersTutorial.com , og den du kan finne på
Tutorials Point .
- Avanserte nettbaserte læringskurs.
Eksistensen av avanserte programmeringslæringskurs med læringsplaner, gamification-elementer, sosiale funksjoner og vekt på å lære elevene anvendelige ferdigheter i stedet for ubrukelig teori er en annen ting som utgjør en forskjell i programvareutviklingsutdanningen i dag. Ikke for å være ubeskjeden, men CodeGym er sannsynligvis det beste eksemplet på et avansert nettbasert læringskurs som er bra for nybegynnere og i stand til å levere kandidater som er fullt funksjonelle Java-utviklere. CodeGym er perfekt for å lære å bli bedre til å kode på en mest mulig effektiv måte - gjennom øvelse, mye av det. Fra den aller første CodeGym-leksjonen vil du sakte lære det grunnleggende om Java, med mange forskjellige oppgaver (gåter) designet for å hjelpe deg med å støtte teoretisk kunnskap med praktiske ferdigheter.
- Programmering av forberedende plattformer.
Online forberedelsesplattformer hvor nybegynnere kan øve seg og forberede seg til jobbintervjuer er en annen betydelig nyhet som bare ikke var der før på 2000-10-tallet. Noen av de mest populære prep-plattformene er
LeetCode ,
Interview Cake og
HackerEarth . CodeGym, med sine mer enn 1200 oppgaver, kan forresten også klassifiseres som en prep-plattform. En gamifisert og morsom å bruke plattform, kan man legge til.
- YouTube-kanaler, blogger og podcaster om programmering.
Nye medier med mye brukergenerert innhold kan være en flott kilde for læringsforsterkning, som hjelper nybegynnere å få informasjon rett fra eksperter på sitt felt via
YouTube-kanaler , blogger og podcaster. Som et eksempel kan man i dag finne mange flotte
YouTube-kanaler for Java-nybegynnere , som
Derek Banas ,
Programmering med Mosh ,
Oracles Java-kanal ,
Adam Bien og
vJUG .
Endelig ble noen virkelig flotte
kodespill utgitt. Som vi vet, og CodGym er et
levende bevis , kan gamification være en ganske fin
måte å styrke læringen din og oppnå bedre fremgang samtidig som du har det gøy i prosessen. Når det brukes til å lære å kode, hjelper det nybegynnere å forstå essensen av vanskelige programmeringskonsepter og -teknikker raskere og med mindre innsats. Er du enig i at det å lære programmering og jobbe som programvareutvikler i dag er enklere enn noen gang før, eller savnet vi noe som beviser det motsatte synspunktet? Gi oss beskjed i kommentarfeltet nedenfor.
GO TO FULL VERSION