11 tipuri de dezvoltatori (care vei fi?)
Publicat: 2022-10-05Spuneți cuvântul „dezvoltator” și noi cei de la Kinsta ne gândim la „software”. Nu, să spunem, „imobiliare”. Cu toate acestea, chiar și accentul pus pe computere și cod lasă multă libertate pentru a descrie tipurile de dezvoltatori.
Am putea clasifica dezvoltatorii după limbajul de programare pe care îl folosesc — cum ar fi „dezvoltator JavaScript” sau „dezvoltator Python” — dar asta nu ar dezvălui ce creează ei sau rolul lor în acest proces. În plus, este obișnuit ca dezvoltatorii să cunoască mai multe limbi.
Deci, vom folosi câteva etichete larg acceptate (și mai descriptive) pentru tipurile de dezvoltatori și vom analiza sarcinile și instrumentele din spatele lor.
Ce este un dezvoltator?
Am stabilit că software-ul este cheia poveștii dezvoltatorilor noștri. Asta poate lua multe forme.
Un membru al echipei de programare din spatele software-ului de baze de date SQL Server de la Microsoft este dezvoltator. Cineva care folosește Structured Query Language pentru a lucra cu informațiile stocate într-o astfel de bază de date poate fi și dezvoltator.
Un dezvoltator creează un sistem de operare pentru computer încorporat într-o placă de circuite. Un altul scrie scripturi Bash pentru a automatiza interacțiunile dintre mai multe alte programe software.
Toate aceste tipuri de dezvoltatori au construit ceva cu cod.
Câte tipuri de dezvoltatori există?
Nu există o listă „oficială” a descrierilor posturilor pentru dezvoltatori. Ne vom uita la ceea ce fac dezvoltatorii folosind o terminologie comună și chiar împărțim categoria largă „dezvoltator web” în trei roluri distincte. (Recunoaștem: avem un punct slab în inimile noastre pentru oamenii care construiesc site-uri web.)
În total, vom trece în revistă aici 11 tipuri de dezvoltatori.
1. Dezvoltator Web Frontend
Un dezvoltator frontend se concentrează pe interfața de utilizator a unui site web. Ei își folosesc abilitățile HTML și CSS pentru a controla aspectul și senzația unui site, adesea găzduind diferite dimensiuni de ecran în browserele mobile și desktop.
Dezvoltatorii front-end se bazează de obicei pe JavaScript pentru a crea o experiență receptivă pentru utilizatori. Acești dezvoltatori sunt adesea familiarizați cu bibliotecile și cadrele JavaScript care pot accelera crearea de aplicații dinamice, orientate spre client.
Dezvoltatorul frontend lucrează pentru a îmbunătăți performanța site-ului web, optimizând imaginile, JavaScript și marcarea pentru un timp de încărcare mai rapid în browsere. Majoritatea dezvoltatorilor de front-end se concentrează, de asemenea, pe optimizarea motoarelor de căutare și accesibilitatea site-urilor web.
Toate acestea necesită multe abilități, iar salariul unui dezvoltator frontend poate reflecta acest lucru.
Dezvoltatorii front-end sunt web designeri?
Mulți dezvoltatori de front-end sunt, de asemenea, designeri, dar aceasta nu este o cerință a titlului „frontend”. De asemenea, mulți designeri web sunt bine versați în HTML și CSS - și le pot folosi în machete - dar nu se consideră dezvoltatori.
Pentru multe organizații, designul face parte din brandingul care include media dincolo de web.
Indiferent cine creează un design, este datoria dezvoltatorului frontend să-l aducă la viață pe o pagină web și să transforme o viziune pentru o experiență de utilizator într-o aplicație funcțională.
2. Dezvoltator Web Backend
Un dezvoltator backend creează aplicații pe partea de server care necesită de obicei experiență în software-ul serverului web, bazele de date și sistemele de operare pe care rulează. Un exemplu cu sursă deschisă ar fi sistemul de operare Linux, un server web Nginx sau Apache și o bază de date MariaDB sau PostgreSQL.
Linia dintre dezvoltarea backend și frontend este încețoșată de tehnologia precum PHP, doar un limbaj de scripting pe partea de server care trimite HTML către browsere de pe front-end.
PHP - care alimentează WordPress și alte CMS-uri populare, precum și cadre de dezvoltare precum Laravel - este cel mai comun limbaj de scripting pe server de pe web. Totuși, dezvoltatorii backend pot folosi tehnologii precum C# și framework-ul .NET Microsoft, Python, Java, Ruby on Rails sau Node.js.
Dezvoltatorii backend se pot aștepta să lucreze în colaborare cu membrii echipei care se ocupă de partea cu client a unui site web. Dezvoltarea pe partea de server poate include, de asemenea, crearea de interfețe de programare a aplicațiilor (API) care acceptă serviciile frontend cu o nevoie mai mică de cuplare strânsă a celor două părți.
Dacă toate acestea sună ca genul tău de muncă, s-ar putea să fii interesat de salariile tipice pentru dezvoltatori backend.
3. Dezvoltator Web Full-Stack
S-ar putea să fi ghicit că un dezvoltator full-stack face munca dezvoltatorilor frontend și backend. (Din păcate, asta nu înseamnă că salariul tipic al unui dezvoltator full-stack este dublu față de cel al celorlalți.)
Cu toate acestea, stăpânirea tuturor nivelurilor de dezvoltare web pare să aibă recompensele sale. Un sondaj din 2022 al dezvoltatorilor realizat de StackOverflow a constatat că „dezvoltatorul full-stack” a fost cel mai bun răspuns (aproape 47%) atunci când respondenților li s-a cerut să-și descrie rolurile.
Dezvoltatorii WordPress sunt dezvoltatori full-stack?
Caracteristicile găzduirii WordPress gestionate aici la Kinsta permit oricărei persoane competente în PHP să facă o dezvoltare serioasă, fără să se aprofundeze în partea de server a lucrurilor.
WordPress instalat oriunde este prietenos pentru dezvoltatori și oferă o bibliotecă mare de funcții/metode PHP proprii, care reprezintă un strat de abstractizare asupra unor sarcini comune de pe partea serverului. De exemplu, dezvoltatorii WordPress pot stoca și prelua înregistrări în baze de date relaționale fără a scrie SQL. Ei pot salva încărcări media în sistemul de fișiere al unui server fără să cunoască funcționalitatea de bază în PHP care face ca totul să se întâmple.
„WordPress Developer” ar fi putut fi o categorie proprie aici, dar atunci ar fi trebuit să facem același lucru pentru dezvoltatorii care folosesc produse CMS precum Drupal, Joomla și DNN și cadre precum Laravel, .NET și Django.
Mulți dezvoltatori WordPress - în special unii care creează teme și plugin-uri WordPress - au coletări inspiratoare. Deci, răspunsul la întrebarea „Sunt dezvoltatorii WordPress dezvoltatori full-stack?” este: Depinde.
4. Dezvoltator de aplicații mobile
Termenul „aplicație” acoperă o mulțime de terenuri în dezvoltarea de software. De la desktop la web, aplicațiile sunt instrumentele care fac lucruri pentru utilizatorii finali.
Când este scurtat doar la „aplicație” - ca în „Există o aplicație pentru asta!” — avem tendința de a ne gândi mai întâi la aplicațiile care rulează pe smartphone-uri, tablete și alte dispozitive mobile. Și crearea de aplicații mobile necesită un tip de dezvoltator specializat.
Dezvoltatorii de aplicații mobile sunt familiarizați cu kiturile de dezvoltare software (SDK) și cu instrumentele conexe utilizate pentru a crea aplicații pentru sistemul de operare al unui dispozitiv, cum ar fi iOS de la Apple sau Android de la Google.
Swift este limbajul nativ de programare pentru iOS, în timp ce Java și Kotlin sunt cele mai utilizate pentru Android. În plus, un ecosistem mare de instrumente pentru crearea de aplicații, cum ar fi Apache Cordova și NativeScript, poate transforma codul bazat pe JavaScript, HTML și CSS prietenos pentru web în software mobil nativ.
Când ne-am uitat la salariile medii ale dezvoltatorilor de aplicații, am constatat că cei care construiesc platforme mobile au câștigat puțin mai mult decât cei care se concentrează pe desktop sau pe web.
5. Dezvoltator software desktop
Dezvoltatorii desktop creează aplicații software care rulează pe computere personale și stații de lucru.
Dezvoltatorii construiesc, în general, aplicații desktop pentru sisteme de operare specifice, așa că activitatea în acest domeniu reflectă cotele de piață relative ale platformelor precum Windows-ul Microsoft, macOS-ul Apple, sistemul de operare Chrome de la Google și sistemul de operare open-source Linux.
Folosind datele colectate din vizitele site-urilor web din întreaga lume, Statcounter a estimat în august 2022 că Windows deținea o cotă de piață de 74% în rândul sistemelor de operare desktop.
Este posibil ca dezvoltatorii să programeze folosind instrumente IDE (Integrated Development Environment) pentru editarea rapidă, depanarea și compilarea codului sursă.
Limbile populare pentru programarea aplicațiilor desktop includ C#, C++, Swift și Java.
Software-ul desktop rulează local, dar aplicațiile moderne pot folosi conexiunea la Internet pentru sarcini, de la actualizări de produse până la partajarea datelor prin stocare în cloud.
6. Data Scientist (dezvoltator de date mari)
Oamenii ajută la generarea unei mulțimi de date prin viața lor de zi cu zi: verificând la magazinul alimentar, navigând pe internet, trecând pe lângă camerele de trafic, folosind telefoanele mobile – chiar și votând. Am construit sisteme pentru a înregistra date de la fenomene naturale cum ar fi vremea, cutremure și semnale electromagnetice din spațiu.
Un cercetător de date este un vrăjitor de matematică cu un computer care poate descoperi modele în toate acele informații.
Există șanse mari ca acești dezvoltatori să folosească limbajul de programare Python sau ceva mai specializat, cum ar fi R, Scala sau Julia.
„Datele mari” se termină de obicei într-o bază de date relațională, așa că un cercetător de date va avea probabil SQL în cutia de instrumente de programare.
7. Dezvoltator de inteligență artificială/învățare automată
Dezvoltatorii de software de inteligență artificială (AI) încearcă să imite comportamentele umane, cum ar fi luarea deciziilor. Adăugați învățarea automată (ML) și o aplicație poate deveni mai inteligentă în timp.
Aplicațiile AI/ML procesează de obicei o mulțime de date folosind algoritmi complecși, astfel încât dezvoltatorii din domeniu sunt adesea oameni de știință ai datelor.
Firma de cercetare de piață IDC a constatat că veniturile la nivel mondial pentru aplicațiile, hardware-ul și serviciile legate de AI au depășit 383 de miliarde de dolari în 2021, o creștere de aproape 21% față de 2020.
Software-ul de management al relațiilor cu clienții și software-ul de gestionare a resurselor întreprinderii au reprezentat aproximativ 65% din veniturile din aplicațiile îmbunătățite cu inteligența artificială.
8. Dezvoltator de jocuri
Dezvoltatorii de jocuri pe computer reprezintă o gamă largă de abilități.
Software-ul lor poate rula pe desktop-uri, dispozitive mobile, console sau browsere web. Poveștile se potrivesc cu diferite genuri de jocuri, cum ar fi simularea militară sau sportivă, împușcături la persoana întâi, strategie sau jocuri de rol. Apoi, probabil există grafică 3D, muzică și efecte sonore.
Într-o lume a jocurilor conectate la internet, dezvoltatorii de jocuri multiplayer masiv se confruntă cu cerințe de server backend și baze de date la fel de exigente ca cele mai aglomerate site-uri de comerț electronic.
Dezvoltatorii de jocuri au de obicei experiență în instrumente de randare 3D și alte software-uri legate de animație.
Și, concentrându-se pe tehnologia de ultimă oră, sondaje recente ale dezvoltatorilor realizate de Developer Nation de la SlashData au arătat că puțin peste 37% din aplicațiile de realitate augmentată (AR) sau realitate virtuală (VR) au fost jocuri AR/VR. Încă 27,9% dintre proiecte au implicat construirea de lumi virtuale – unele pentru jocuri.
9. Dezvoltator de sisteme de operare
În timp ce mii de dezvoltatori lucrează pe cele mai populare sisteme de operare - contribuind la Linux sau angajați de Microsoft, Apple sau Google - este încă un grup exclusiv. La urma urmei, SlashData spune că sondajele sale sugerează că populația totală de dezvoltatori la nivel mondial este de peste 24 de milioane.
Există șanse mari ca frigiderul dvs. să aibă un sistem de operare, dar sistemele de operare populare pentru computere sunt eforturi care necesită echipe mari de dezvoltatori, dintre care majoritatea lucrează la componente mai mici ale proiectului general.
Nucleul majorității sistemelor de operare este nucleul, care gestionează accesul la CPU, memorie, sisteme de fișiere și dispozitive I/O. C este limbajul principal de codare pentru nucleele din spatele Microsoft Windows, macOS Apple și Linux. De asemenea, este folosit un cod de nivel scăzut scris în asamblare.
Și nucleul Android a evoluat din nucleul Linux.
Pe lângă nucleu, un sistem de operare are drivere pentru a gestiona diverse dispozitive hardware și aplicații pentru întreținerea sistemului. Și apoi există interfața grafică cu utilizatorul a sistemului. Dezvoltatorii pot folosi C, C++, Objective C (macOS) și chiar Python (Linux) pentru aceste componente.
10. Inginer DevOps
Un inginer DevOps gestionează instrumentele și fluxurile de lucru care duc software-ul de la etapa de dezvoltare la o lansare publică rapid și fiabil.
„DevOps” este o combinație a cuvintelor „dezvoltare” și „operații”, iar practicienii automatizează sarcinile repetitive de dezvoltare a software-ului - de la gestionarea codului la testare, implementare, monitorizare, întreținere și depanare.
Acești ingineri folosesc o suită de instrumente DevOps pentru a ajuta la accelerarea ciclurilor de lansare a software-ului, pentru a gestiona diferitele versiuni ale bazei de cod a proiectului și pentru a confirma că produsul final funcționează conform așteptărilor.
Atunci când este utilizat pentru dezvoltarea web, procesul DevOps poate asigura, de asemenea, că resursele necesare aplicației sunt disponibile și configurate corect pe serverul web.
DevOps necesită abilități avansate, iar salariul unui inginer DevOps reflectă de obicei acest lucru.
11. Dezvoltator de securitate (SecDevOps)
Un dezvoltator de securitate construiește instrumente și gestionează procese care testează software-ul și securitatea sistemului informatic.
În dezvoltarea de software, securitatea este adesea o componentă a procesului DevOps. Cineva care se concentrează pe securitate în acel mediu ar putea fi numit inginer SecDevOps.
Dezvoltatorii de securitate lucrează pentru a proteja software-ul și sistemele informatice de atacurile și amenințările de securitate cibernetică. Ei folosesc diverse instrumente, inclusiv limbaje de scripting precum Python, Bash și Ruby, pentru a automatiza sarcinile repetitive.
Un dezvoltator de securitate trebuie să aibă cunoștințe aprofundate despre software-ul și sistemele pe care încearcă să le protejeze.
Ce tip de dezvoltator vrei să fii?
Dacă te gândești să devii tu însuți dezvoltator, avem câteva informații care să te ajute să faci următorii pași. Puteți citi despre cele mai bune limbaje de programare pe care să le învățați sau să vă aflați direct în învățarea PHP și descoperirea tutorialelor JavaScript.
Poate că ați fi interesat să aflați ce este nevoie pentru a fi un dezvoltator Laravel sau să vă concentrați pe învățarea WordPress, cel mai popular CMS din lume.
Apoi, poate într-o zi, ne vei alătura cu o carieră la Kinsta.
rezumat
Aceasta este o privire asupra a 11 tipuri de dezvoltatori cu roluri suficient de distincte pentru a evidenția diferitele sarcini disponibile în domeniile lor.
Cu toate acestea, mulți dezvoltatori ocupă mai mult de un rol și majoritatea sunt familiarizați cu mai multe limbaje de programare sau scripting. Poate de aceea nu vom fi niciodată de acord cu toții asupra unei liste „oficiale” de tipuri de dezvoltatori.
Între timp, dacă aveți un proiect bazat pe web pe care doriți să-l lansați, poate doriți să explorați soluțiile Kinsta de găzduire a aplicațiilor și găzduire a bazelor de date.