Typer av utvecklare

hur många typer av utvecklare vet du? Och om du är en utvecklare, till vilken typ hänvisar du dig själv? I den verkliga världen är gränserna mellan olika typer av utvecklare suddiga. Ju mer professionell du blir, desto fler typer passar du. Så låt oss se, hur många typer av utvecklare finns i mjukvaruutveckling industrin.

innan vi börjar vill vi tacka Lorenzo Pasqualis vars artikel inspirerade oss att skapa detta material.

för att vara ärlig känner de flesta av oss bara tre typer av mjukvaruutvecklare: frontend, backend och fullstack. Det är uppenbart, men det här är bara hälften av sanningen. Numera kan olika utvecklare med samma tekniska stackar osannolikt tillämpa sina färdigheter och kunskaper på det olika området. Det är som att be din mobilutvecklare att arbeta med att skapa ett spel. Han kunde känna till verktygen, men han är inte en spelutvecklare. Och det gör en enorm differentiering i utvecklarens typer.

vi börjar med huvudtyperna:

Frontend

igår skrev vi den största artikeln med cheatsheet för frontenders. Så vilka är de? Detta är en typ av utvecklare som är specialiserade på visuella användargränssnitt, estetik och layouter. Deras kod körs på en webbläsare, på webbplatsens användares dator. De arbetar med att skapa webbappar och webbplatser. Hårdvara är inte vad frontend-specialister brukar tänka på.

deras arbete kräver en förståelse för människa-maskin interaktion och designprinciper mer än datavetenskapsteori.

frontend utveckling färdigheter:

  • design av användargränssnitt (UI)
  • design av användarupplevelse (UX)
  • CSS
  • JavaScript
  • HTML
  • UI-ramar.

Frontend devs måste vara bekanta med ramar som Bootstrap, Foundation, Backbone, AngularJS och EmberJS, vilket säkerställer snyggt innehåll oavsett enhet och bibliotek som jQuery och LESS, vilket paketkod till en mer användbar, tidsbesparande form. Många front-end-utvecklare jobbannonser kräver också erfarenhet av Ajax, en allmänt använd teknik för att använda Javascript som låter sidor laddas dynamiskt genom att ladda ner serverdata i bakgrunden.

Backend

den näst mest populära typen av utvecklare. Backend-utvecklaren är specialiserad på design, implementering, funktionell kärnlogik, prestanda och skalbarhet för en mjukvara eller ett system som körs på maskiner som är avlägsna från slutanvändaren. De integrerar ett brett utbud av tjänster som databaser, caching, loggning, e-postsystem etc.

Vad gör framsidan av en webbplats möjligt? Var lagras all data? Det här är frågorna för backend-utvecklingen. Backend på en webbplats består av en server, ETT program och en databas. En backend-utvecklare bygger och underhåller tekniken som driver de komponenter som tillsammans gör det möjligt för den användarvända sidan av Webbplatsen att ens existera i första hand.

Backend utveckling färdigheter:

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

de använder också verktyg som MySQL, Oracle och SQL Server för att hitta, spara eller ändra data och servera den tillbaka till användaren i front-end-kod. Jobböppningar för backend-utvecklare kräver ofta också erfarenhet av PHP-ramverk som Zend, Symfony och CakePHP; erfarenhet av versionshanteringsprogramvara som SVN, CVS eller Git; och erfarenhet av Linux som utvecklings-och distributionssystem.

Fullstack

Ring denna Utvecklare en guide, men han (eller hon) gör både frontend och backend arbete. Fullstack-utvecklaren har de färdigheter som krävs för att skapa en fullt fungerande webbapplikation. Det anses att arbetet på både serversidan och klientsidan professionellt öppnar fler möjligheter. De är jacks-of-all-trades.

komplexiteten i full stack utveckling kan illustreras med den här bilden (naturligtvis, det mer teknik):

bild via TechCrunch

fullstack-utvecklaren ska kunna:

  • för att ställa in och konfigurera Linux-servrar
  • för att skriva server-side API: er
  • för att dyka in i klientsidan JavaScript driver ett program
  • för att vända en ”design öga” till CSS

Mobile developer

Detta är en utvecklare som skriver kod för applikationer som körs på mobila mobila enheter som smartphones och surfplattor. Denna typ uppträdde efter bommen av mobila enheter i början av 2000-talet och explosionen av smarttelefonmarknaden. Innan dess betraktades mobilutveckling som en delmängd av inbäddad utveckling (vi kommer också att skriva om inbäddade utvecklare i den här artikeln).

en mobilutvecklare förstår invecklingen av mobila operativsystem som iOS och Android, och utvecklingsmiljön och ramarna som används för att skriva programvara på dessa operativsystem.

mobila utvecklare färdigheter:

  • Java
  • Swift
  • Objective-C
  • C, C++ och Java
  • Application Programming Interfaces (API) som Apple iOS, Android, Windows Mobile och Symbian
  • Webbutvecklingsspråk som HTML 5 och CSS
  • plattformsoberoende mobila sviter som antenn och amp ( accounting-management-Promotion)

spelutvecklare

varje spelberoende barn vill bli en spelutvecklare i framtiden. Men detta yrke så mycket romantiskt och roligt som komplicerat och krävande.

spelutvecklare specialiserar sig på att skriva spel och kan falla i en av de andra kategorierna av utvecklare, men de har ofta specifika kunskaper och färdigheter i att designa och implementera engagerande och interaktiva spelupplevelser.

färdigheter för spelutvecklare:

  • DirectX, OpenGL, Unity 3D, WebGL ramverk
  • språk som C, C++ och Java
  • JavaScript och HTML5
  • Swift och Java för Mobila enheter.

Data Scientist

denna typ av utvecklare skriver program för att analysera datamängder. De ansvarar ofta för statistisk analys, maskininlärning, datavisualisering och prediktiv modellering. Ganska romantiskt, eller hur? Men listan över färdigheter som en datavetenskapare borde ha täcker många vetenskapsrelaterade saker:

  • statistiska programmeringsspråk, som R eller Python, och en databas som frågar språk som SQL
  • förstå statistiken och olika tekniker som är (eller inte) ett giltigt tillvägagångssätt
  • kännedom om maskininlärningsmetoder
  • att veta multivariabel kalkyl och linjära algebraprinciper
  • att veta hur man hanterar brister i data (inklusive saknade värden, inkonsekvent strängformatering etc.)
  • visualisera och kommunicera data är oerhört viktigt
  • att ha en stark software engineering bakgrund
  • förmåga att lösa problem på hög nivå

DevOps developer

detta är en typ av utvecklare bekant med teknik för att bygga, distribuera och integrera systemet och administrera back-end programvara och distribuerade system.

för att förklara vägen:

  1. en utvecklare (programmerare) skapar applikationer
  2. Ops distribuerar, hanterar, övervakar applikationer
  3. DevOps skapar applikationer och distribuerar/hanterar/övervakar dem.

DevOps möjliggjordes på grund av molnet och verktygen/plattformarna för att göra distribution och hantering enkel. Färdigheter som behövs av devops:

  • Kubernetes
  • Docker
  • Apache Mesos
  • hashicorp stacken (Terraform, Vagrant, Packer, valv, konsul, Nomad)
  • Jenkins, etc.

Programvaruutvecklingsingenjör i Test

denna typ av utvecklare ansvarar för att skriva programvara för att validera kvaliteten på mjukvarusystem. De skapar automatiserade tester, verktyg och system för att se till att produkter och processer körs som förväntat. Färdigheter som behövs för ingenjörer i test:

  • Python
  • Rubin
  • selen.

inbäddad Utvecklare

den inbäddade utvecklaren arbetar med hårdvara som inte vanligtvis klassificeras som datorer. Till exempel faller mikrokontroller, realtidssystem, elektroniska gränssnitt, set-top-boxar, konsumentenheter, IoT-enheter, hårdvarudrivrutiner och seriell dataöverföring i denna kategori.

inbäddade utvecklare arbetar ofta med språk som:

  • C, C++
  • montering
  • Java eller egenutvecklade teknologier, ramverk och verktygslådor

med den inbäddade utvecklardefinitionen vill vi avsluta listan över utvecklartyper. Vi namngav dig de viktigaste utvecklartyperna som är fundamentalt olika. Men du kan också höra om:

– webbutvecklare (syftet med webbutveckling är uppenbart)

– applikationsutvecklare (som är skicklig i att skapa olika typer av appar)

– säkerhetsutvecklare (som skapar system, metoder och procedurer för att testa säkerheten för ett mjukvarusystem)

– CRM– Utvecklare (de hänger med SAP, Salesforce, Sharepoint och Enterprise Resource Planning)

– Big Data developer (sällan träffat, denna typ av utvecklare använder system för distribuerad lagring och bearbetning av stora mängder data som MapReduce, Hadoop och spark)

prenumerera på vårt veckobrev för att hitta mer intressanta saker om mjukvaruutveckling!