Typer af udviklere

hvor mange typer udviklere kender du? Og hvis du er udvikler, hvilken type henviser du dig selv til? I den virkelige verden er grænserne mellem forskellige typer udviklere sløret. Jo mere professionel du bliver, jo flere typer passer du. Så lad os se, hvor mange typer af udviklere er tilgængelige i programmel udvikling industrien.

før vi starter, vil vi gerne sige tak til Lorenso PASKALIS, hvis artikel inspirerede os til at skabe dette materiale.

for at være ærlig genkender de fleste af os kun tre typer programmeludviklere: frontend, backend og fullstack. Det er indlysende, men det er kun halvdelen af sandheden. I dag forskellige udviklere med de samme tech stakke usandsynligt kan anvende deres færdigheder og viden til det andet område. Det er som at bede din mobiludvikler om at arbejde på at skabe et spil. Han kunne kende værktøjerne, men han er ikke en spiludvikler. Og det gør en enorm differentiering i udviklerens typer.

vi starter med hovedtyperne:

Frontend

i går skrev vi den største artikel med cheatsheet til frontenders. Så hvem er de? Dette er en type udviklere, der specialiserer sig i visuelle brugergrænseflader, æstetik og layout. Deres kode kører på en internetsøgemaskine, på brugerens computer. De arbejder på at skabe internet apps og hjemmesider. Udstyr er ikke, hvad frontend-specialister normalt tænker på.

deres arbejde kræver en forståelse af menneske-maskine interaktion og design principper mere end datalogi teori.

Frontend udvikling færdigheder:

  • design af brugergrænseflade (UI)
  • design af brugeroplevelse
  • CSS
  • JavaScript
  • HTML
  • UI-rammer.

Frontend devs skal være bekendt med rammer som Bootstrap, Foundation, Backbone, AngularJS og EmberJS, som sikrer flot indhold uanset enheden, og biblioteker som jforespørg og mindre, hvilken pakkekode til en mere nyttig, tidsbesparende form. En masse front-end-udviklerjobfortegnelser kræver også erfaring med Javascript, en meget brugt teknik til brug af Javascript, der lader sider dynamisk indlæses ved at hente serverdata i baggrunden.

Backend

den næstmest populære type udviklere. Backend-udvikleren har specialiseret sig i design, implementering, funktionel kernelogik, ydeevne og skalerbarhed af et stykke program eller system, der kører på maskiner, der er fjernt fra slutbrugeren. De integrerer en bred vifte af tjenester såsom databaser, caching, logning, e-mail-systemer osv.

Hvad gør forsiden af en hjemmeside mulig? Hvor er alle disse data gemt? Dette er spørgsmålene til backend-udviklingen. Backend af en hjemmeside består af en server, ET program og en database. En backend udvikler bygger og vedligeholder den teknologi, der driver de komponenter, som sammen gør det muligt for den brugervendte side af hjemmesiden at eksistere i første omgang.

Backend udvikling færdigheder:

  • Java
  • C, C++
  • Rubin
  • Python
  • Scala
  • gå osv.

de bruger også værktøjer som f.eks. Jobåbninger for backend-udviklere kræver ofte også erfaring med PHP-rammer som f.eks.

Fullstack

kald denne udvikler en guide, men han (eller hun) gør både frontend og backend arbejde. Fullstack-udvikleren har de færdigheder, der kræves for at oprette en fuldt funktionel internetapplikation. Det vurderes, at arbejde på både serversiden og klientsiden professionelt åbner flere muligheder. De er jacks-of-all-trades.

kompleksiteten af fuld stakudvikling kan illustreres med dette billede (selvfølgelig er der flere teknologier):

billede via TechCrunch

fullstack-udvikleren skal kunne:

  • for at oprette og konfigurere servere
  • for at skrive API ‘ er på serversiden
  • for at dykke ned i JavaScript på klientsiden, der driver en applikation
  • for at vende et “designøje” til CSS

mobiludvikler

dette er en udvikler, der skriver kode til applikationer, der kører indbygget på forbrugernes mobile enheder som smartphones og tablets. Denne type dukkede op efter boom af mobile enheder i begyndelsen af 2000 ‘ erne og eksplosionen af smartphone-markedet. Før da blev mobiludvikling betragtet som en delmængde af indlejret udvikling (vi vil også skrive om indlejrede udviklere i denne artikel).

en mobil udvikler forstår snørklede af mobile operativsystemer som iOS og Android, og udviklingsmiljøet og rammer bruges til at skrive programmer på disse operativsystemer.

Mobile udvikler færdigheder:

  • Java
  • hurtig
  • Mål-C
  • C, C++ og Java
  • applikationsprogrammeringsgrænseflader (API) som Apple iOS, Android, vinduer Mobilog Symbian
  • internetudviklingssprog som HTML 5 og CSS
  • cross-platform mobile suiter som antenne og amp ( regnskab-management-promotion)

spiludvikler

hvert spilafhængigt barn ønsker at blive en spiludvikler i fremtiden. Men denne besættelse så meget romantisk og sjov som kompliceret og krævende.

spiludvikler har specialiseret sig i at skrive spil og kan falde ind i en af de andre kategorier af udviklere, men de har ofte specifik viden og færdigheder i at designe og implementere engagerende og interaktive spiloplevelser.

færdigheder til spiludviklere:

  • sprog som C, C++ og Java
  • JavaScript og HTML5
  • hurtig og Java til mobile enheder.

Data Scientist

denne type udvikler skriver programmer til analyse af datasæt. De har ofte ansvaret for statistisk analyse, maskinindlæring, datavisualisering og forudsigelig modellering. Ganske romantisk, ikke? Men listen over færdigheder, som en dataforsker skal have, dækker en masse videnskabsrelaterede ting:

  • statistiske programmeringssprog, som f.eks R eller Python, og en database, der forespørger sprog som f. eks
  • forståelse af statistikker og forskellige teknikker, der er (eller ikke er) en gyldig tilgang
  • kendskab til maskinindlæringsmetoder
  • kendskab til multivariabel beregning og Lineær Algebra principper
  • at vide, hvordan man håndterer ufuldkommenheder i data herunder manglende værdier, inkonsekvent strengformatering osv.)
  • visualisering og kommunikation af data er utrolig vigtigt
  • at have en stærk teknisk baggrund
  • evne til at løse problemer på højt niveau

DevOps developer

dette er en type udvikler, der er fortrolig med teknologier til at opbygge, implementere og integrere systemet og administrere back-end-programmer og distribuerede systemer.

at forklare vejen:

  1. en udvikler (programmør) opretter applikationer
  2. Ops implementerer, administrerer, overvåger applikationer
  3. DevOps opretter applikationer og implementerer/administrerer/overvåger dem.

DevOps blev muliggjort på grund af skyen og værktøjerne/platformene for at gøre implementering og styring let. Færdigheder, der kræves af devops:

  • Kubernetes
  • Docker
  • Apache Mesos
  • HashiCorp-stakken (Terraform, Vagrant, Packer, Vault, konsul, Nomad)
  • Jenkins osv.

Programmeludviklingsingeniør i Test

denne type udvikler er ansvarlig for at skrive programmer for at validere kvaliteten af programmelsystemer. De skaber automatiserede tests, værktøjer og systemer for at sikre, at produkter og processer kører som forventet. Færdigheder, der er nødvendige for ingeniører i test:

  • Python
  • Rubin
  • selen.

integreret Udvikler

den integrerede udvikler arbejder med udstyr, der ikke almindeligvis klassificeres som computere. For eksempel falder mikrocontrollere, realtidssystemer, elektroniske grænseflader, set-top-bokse, forbrugerenheder, IoT-enheder, udstyrsdrivere og seriel datatransmission i denne kategori.

indlejrede udviklere arbejder ofte med sprog som:

  • C, C++
  • samling
  • Java eller proprietære teknologier, rammer og værktøjssæt

med den integrerede udviklerdefinition vil vi gerne afslutte listen over udviklertyper. Vi opkaldt efter dig de vigtigste udvikler typer, som er fundamentalt forskellige. Men man kunne også høre om:

– internetudvikler (formålet med internetudvikling er indlysende)

– applikationsudvikler (der er dygtig til at oprette forskellige typer apps)

– sikkerhedsudvikler (der opretter systemer, metoder og procedurer til at teste sikkerheden i et programsystem)

– CRM– udvikler (de hænger sammen med SAP, Salesforce, Sharepoint og Enterprise Resource Planning)

– Big Data developer (sjældent opfyldt, denne type udviklere bruger systemer til distribueret lagring og behandling af store mængder data som MapReduce, Hadoop og spark)

– Grafikudviklere (de specialiserer sig i at skrive programmer til gengivelse, belysning, skygge, skygge, aflivning og styring af scener)

Abonner på vores ugentlige nyhedsbrev for at finde mere interessante ting om programudvikling!