Typer utviklere

Hvor mange typer utviklere kjenner du? Og, hvis du er en utvikler, til hvilken type refererer du deg selv? I den virkelige verden er grensene mellom ulike typer utviklere uskarpe. Jo mer profesjonell du blir, jo flere typer vil du passe. Så la oss se, hvor mange typer utviklere er tilgjengelig i programvareutvikling industrien.

før vi begynner, vil vi gjerne si Takk Til Lorenzo Pasqualis, hvis artikkel inspirerte oss til å lage dette materialet.

for å være ærlig, gjenkjenner de fleste av oss bare tre typer programvareutviklere: frontend, backend og fullstack. Det er åpenbart, men dette er bare halvparten av sannheten. I dag kan forskjellige utviklere med samme tech stabler usannsynlig bruke sine ferdigheter og kunnskaper til det forskjellige området. Det er som å spørre mobilutvikleren din om å jobbe med å lage et spill. Han kunne kjenne verktøyene, men han er ikke en spillutvikler. Og det gjør en stor differensiering i utviklerens typer.

vi starter med hovedtyper:

Frontend

I Går skrev vi den største artikkelen med cheatsheet for frontenders. Så hvem er de? Dette er en type utviklere som spesialiserer seg på visuelle brukergrensesnitt, estetikk og oppsett. Koden deres kjører på en nettleser, på datamaskinen til nettstedbrukeren. De jobber med å lage web apps og nettsteder. Maskinvare er ikke hva frontend-spesialister vanligvis tenker på.

deres arbeid krever en forståelse av menneske-maskin interaksjon og design prinsipper mer enn informatikk teori.

Frontend utvikling ferdigheter:

  • utforming av brukergrensesnitt (UI)
  • utforming av brukeropplevelse (UX)
  • CSS
  • JavaScript
  • HTML
  • UI-rammer.

Frontend devs må være kjent med rammer som Bootstrap, Foundation, Backbone, AngularJS og EmberJS, som sikrer flott innhold uansett enhet, og biblioteker som jQuery og LESS, hvilken pakkekode til en mer nyttig, tidsbesparende form. Mange front-end utvikler stillingsannonser krever også erfaring med Ajax, en mye brukt teknikk for Bruk Av Javascript som lar sider dynamisk lastes inn ved å laste ned serverdata i bakgrunnen.

Backend

den nest mest populære typen utviklere. Backend-utvikleren spesialiserer seg på design, implementering, funksjonell kjernelogikk, ytelse og skalerbarhet av et stykke programvare eller system som kjører på maskiner som er fjernt fra sluttbrukeren. De integrerer et stort utvalg av tjenester som databaser, caching, logging, e-postsystemer etc.

Hva gjør frontenden av et nettsted mulig? Hvor er alle disse dataene lagret? Dette er spørsmålene for backend-utviklingen. Backend av et nettsted består av en server, et program, og en database. En backend-utvikler bygger og vedlikeholder teknologien som driver de komponentene som sammen gjør at den brukervendte siden av nettstedet til og med eksisterer i utgangspunktet.

Backend utvikling ferdigheter:

  • Java
  • C, C++
  • Ruby
  • Python
  • Scala
  • Gå, etc.

De bruker også verktøy som MySQL, Oracle og SQL Server for å finne, lagre eller endre data og betjene den tilbake til brukeren i front-end-kode. Jobbåpninger for backend-utviklere krever ofte også erfaring med PHP-rammer som Zend, Symfony og CakePHP; erfaring med versjonskontrollprogramvare som SVN, CVS eller Git; og erfaring Med Linux som utviklings-og distribusjonssystem.

Fullstack

Ring denne utvikleren en veiviser, men han (eller hun) gjør både frontend og backend arbeid. Fullstack-utvikleren har ferdighetene som kreves for å skape et fullt funksjonelt webprogram. Det vurderes at arbeid på både serversiden og klientsiden profesjonelt åpner flere muligheter. De er jacks-of-all-trades.

kompleksiteten i full stack utvikling kan illustreres med dette bildet (selvfølgelig, det flere teknologier):

Bilde Via TechCrunch

fullstack-utvikleren skal kunne:

  • for å sette Opp Og konfigurere Linux-servere
  • for å skrive server-Side Apier
  • for å dykke inn I Klientsiden JavaScript slår et program
  • for å slå en «design øye» TIL CSS

Mobil utvikler

dette er en utvikler who skriver kode for applikasjoner som kjører innfødt på forbruker mobile enheter som smarttelefoner og nettbrett. Denne typen dukket opp etter bommen av mobile enheter tidlig på 2000 – tallet og eksplosjonen av smarttelefonmarkedet. Før da ble mobilutvikling ansett som en delmengde av innebygd utvikling (vi vil skrive om innebygde utviklere i denne artikkelen også).

en mobil utvikler forstår vanskelighetene med mobile operativsystemer som iOS og Android, og utviklingsmiljø og rammeverk som brukes til å skrive programvare på disse operativsystemene.

Mobile utvikler ferdigheter:

  • Java
  • Swift
  • Objective-C
  • C, c++ Og Java
  • Programmeringsgrensesnitt (API) Som Apple iOS, Android, Windows Mobile Og Symbian
  • språk For Webutvikling som HTML 5 og CSS
  • cross-platform mobile suiter som antenne og amp ( regnskap-ledelse-promotion)

Spillutvikler

Alle spillavhengige barn ønsker å bli spillutvikler i fremtiden. Men denne okkupasjonen så mye romantisk og morsomt som komplisert og krevende.

Spillutvikler spesialiserer seg på å skrive spill og kan falle inn i en av de andre kategoriene av utviklere, men de har ofte spesifikk kunnskap og ferdigheter i å designe og implementere engasjerende og interaktive spillopplevelser.

Ferdigheter for spillutviklere:

  • DirectX, OpenGL, Unity 3D, WebGL frameworks
  • språk Som C, C++ Og Java
  • JavaScript Og HTML5
  • Swift og Java for mobile enheter.

Data Scientist

denne typen utvikler skriver programvare for å analysere datasett. De er ofte ansvarlig for statistisk analyse, maskinlæring, datavisualisering og prediktiv modellering. Ganske romantisk, ikke sant? Men listen over ferdigheter en datavitenskapsmann burde ha dekker mange vitenskapsrelaterte ting:

  • Statistiske programmeringsspråk, som R eller Python, og en database spørrende språk som SQL
  • Forstå statistikk og ulike teknikker som er (eller ikke er) en gyldig tilnærming
  • Kjennskap til maskinlæringsmetoder
  • Å Vite Multivariabel Kalkulus og Lineær Algebra prinsipper
  • Å vite hvordan man skal håndtere feil i data (inkludert manglende verdier, inkonsekvent strengformatering etc.)
  • Visualisering og kommunikasjon av data er utrolig viktig
  • Å Ha en sterk software engineering bakgrunn
  • Evne til å løse problemer på høyt nivå

DevOps developer

Dette er en type utvikler kjent med teknologier for å bygge, distribuere og integrere systemet og administrere back-end programvare og distribuerte systemer.

for å forklare veien:

  1. en utvikler (programmerer) lager programmer
  2. ops distribuerer, administrerer, overvåker programmer
  3. DevOps lager programmer og distribuerer/administrerer/overvåker dem.

DevOps ble gjort mulig på grunn av skyen og verktøyene/plattformene for å gjøre distribusjon og administrasjon enkelt. Ferdigheter som trengs av devops:

  • Kubernetes
  • Docker
  • Apache Mesos
  • HashiCorp-stakken (Terraform, Vagrant, Pakker, Hvelv, Konsul, Nomad)
  • Jenkins, etc.

Programvareutviklingsingeniør I Test

denne typen utvikler er ansvarlig for å skrive programvare for å validere kvaliteten på programvaresystemer. De lager automatiserte tester, verktøy og systemer for å sikre at produkter og prosesser kjører som forventet. Ferdigheter som trengs for ingeniører i test:

  • Python
  • Ruby
  • Selen.

Innebygd utvikler

den innebygde utvikleren fungerer med maskinvare som ikke vanligvis klassifiseres som datamaskiner. For eksempel faller mikrokontrollere, sanntidssystemer, elektroniske grensesnitt, set-top-bokser, forbrukerenheter, iot-enheter, maskinvaredrivere og seriell dataoverføring inn i denne kategorien.

Innebygde utviklere jobber ofte med språk som:

  • C, C++
  • Montering
  • Java eller proprietære teknologier, rammer og verktøy

med den innebygde utviklerdefinisjonen vil vi gjerne fullføre listen over utviklertyper. Vi oppkalt etter deg de viktigste utvikler typer som er fundamentalt forskjellige. Du kan også høre om:

– webutvikler (formålet med webutvikling er åpenbart)

– applikasjonsutvikler (som er dyktig i å lage forskjellige typer apper)

– sikkerhetsutvikler (som lager systemer, metoder og prosedyrer for å teste sikkerheten til et programvaresystem)

– CRM– utvikler (de henger MED SAP, Salesforce, Sharepoint Og Enterprise Resource Planning)

– big data developer (sjelden møtt, denne typen utviklere bruker systemer for distribuert lagring og behandling av store mengder data som mapreduce, hadoop og spark)

– Grafikkutviklere (de spesialiserer seg på å skrive programvare for gjengivelse, belysning, skygging, skygge, culling og styring av scener)

Abonner på vårt ukentlige nyhetsbrev for å finne flere interessante ting om programvareutvikling!