Tipuri de dezvoltatori

câte tipuri de dezvoltatori cunoașteți? Și, dacă sunteți dezvoltator, la ce tip vă referiți? În lumea reală, granițele dintre diferite tipuri de dezvoltatori sunt neclare. Cu cât devii mai profesionist, cu atât mai multe tipuri te vei potrivi. Deci, să vedem, cât de multe tipuri de dezvoltatori sunt disponibile în industria de dezvoltare de software.

înainte de a începe, am dori să-i mulțumim lui Lorenzo Pasqualis al cărui articol ne-a inspirat să creăm acest material.

pentru a fi sincer, majoritatea dintre noi recunosc doar trei tipuri de dezvoltatori de software: frontend, backend și fullstack. Acest lucru este evident, dar aceasta este doar o jumătate din adevăr. În zilele noastre, diferiți dezvoltatori cu aceleași stive de tehnologie puțin probabil își pot aplica abilitățile și cunoștințele în diferite zone. Este ca și cum ai cere dezvoltatorului tău mobil să lucreze la crearea unui joc. Ar putea cunoaște instrumentele, dar nu este dezvoltator de jocuri. Și asta face o diferențiere uriașă în tipurile de dezvoltatori.

vom începe cu principalele tipuri:

Frontend

ieri am scris cel mai mare articol cu cheatsheet pentru frontenders. Deci cine sunt ei? Acesta este un tip de dezvoltatori care se specializează în interfețe vizuale de utilizator, estetică și machete. Codul lor rulează pe un browser web, pe computerul utilizatorului site-ului. Ei lucrează la crearea de aplicații web și site-uri web. Hardware-ul nu este ceea ce se gândesc de obicei specialiștii frontend.

munca lor necesită o înțelegere a interacțiunii om-mașină și a principiilor de proiectare mai mult decât teoria informaticii.

abilități de dezvoltare a interfeței:

  • proiectarea interfeței cu utilizatorul (UI)
  • proiectarea experienței utilizatorului (UX)
  • CSS
  • JavaScript
  • HTML
  • cadre UI.

Dev-urile Frontend trebuie să fie familiarizate cu cadre precum Bootstrap, Foundation, Backbone, AngularJS și EmberJS, care asigură un conținut cu aspect deosebit, indiferent de dispozitiv, și biblioteci precum jQuery și LESS, care Cod de pachet într-o formă mai utilă, care economisește timp. O mulțime de listări de locuri de muncă pentru dezvoltatori front-end necesită, de asemenea, experiență cu Ajax, o tehnică utilizată pe scară largă pentru utilizarea Javascript care permite paginilor să se încarce dinamic descărcând datele serverului în fundal.

Backend

al doilea cel mai popular tip de dezvoltatori. Dezvoltatorul backend este specializat în proiectarea, implementarea, logica funcțională a nucleului, performanța și scalabilitatea unui software sau a unui sistem care rulează pe mașini care sunt la distanță de utilizatorul final. Acestea integrează o gamă largă de servicii, cum ar fi baze de date, cache, logare, sisteme de e-mail etc.

ce face posibilă partea frontală a unui site web? Unde sunt stocate toate aceste date? Acestea sunt întrebările pentru dezvoltarea backend-ului. Backend-ul unui site web constă dintr-un server, o aplicație și o bază de date. Un dezvoltator de backend construiește și menține tehnologia care alimentează acele componente care, împreună, permit părții orientate către utilizator a site-ului să existe chiar în primul rând.

abilități de dezvoltare Backend:

  • Java
  • C, C++
  • Ruby
  • Python
  • Scala
  • merge, etc.

de asemenea, folosesc instrumente precum MySQL, Oracle și SQL Server pentru a găsi, salva sau modifica date și a le servi înapoi utilizatorului în codul front-end. Deschiderile de locuri de muncă pentru dezvoltatorii backend necesită adesea experiență cu cadre PHP precum Zend, Symfony și cakephp; experiență cu software de control al versiunii precum SVN, CVS sau Git; și experiență cu Linux ca sistem de dezvoltare și implementare.

Fullstack

numesc acest dezvoltator un expert, dar el (sau ea) nu atât frontend și backend de lucru. Dezvoltatorul fullstack are abilitățile necesare pentru a crea o aplicație web complet funcțională. Se consideră că lucrul atât pe partea de server, cât și pe partea de client deschide profesional mai multe oportunități. Sunt valeți-de-toate-meserii.

complexitatea dezvoltării stivei complete poate fi ilustrată cu această imagine (desigur, există mai multe tehnologii):

imagine prin TechCrunch

dezvoltatorul fullstack ar trebui să poată:

  • pentru a configura și configura Servere Linux
  • pentru a scrie API-uri server-side
  • pentru a se arunca cu capul în partea de client JavaScript alimentarea unei aplicații
  • pentru a transforma un „ochi de design” la CSS

Mobile developer

acesta este un dezvoltator care scrie cod pentru aplicații care rulează nativ pe dispozitive mobile de consum, cum ar fi smartphone-uri și tablete. Acest tip a apărut după boom-ul dispozitivelor mobile la începutul anilor 2000 și explozia pieței smartphone-urilor. Înainte de dezvoltarea mobilă a fost considerată un subset de dezvoltare încorporată(vom scrie și despre dezvoltatorii încorporați în acest articol).

un dezvoltator mobil înțelege complexitatea sistemelor de operare mobile, cum ar fi iOS și Android, precum și mediul de dezvoltare și cadrele utilizate pentru a scrie software pe acele sisteme de operare.

abilități de dezvoltator mobil:

  • Java
  • Swift
  • Objective-C
  • C, C++ și Java
  • interfețe de programare a aplicațiilor (API) precum Apple iOS, Android, Windows Mobile și Symbian
  • limbaje de dezvoltare Web precum HTML 5 și CSS
  • apartamente mobile cross-platform, cum ar fi antena și amp ( contabilitate-management-promovare)

dezvoltator de jocuri

fiecare copil dependent de joc vrea să devină dezvoltator de jocuri în viitor. Dar această ocupație la fel de mult romantic și distractiv ca complicat și exigent.

Game developer este specializat în scrierea de jocuri și poate intra într-una din celelalte categorii de dezvoltatori, dar au adesea cunoștințe și abilități specifice în proiectarea și implementarea experiențelor de joc captivante și interactive.

abilități pentru dezvoltatorii de jocuri:

  • DirectX, OpenGL, Unity 3D, cadre WebGL
  • limbi precum C, C++ și Java
  • JavaScript și HTML5
  • Swift și Java pentru Dispozitive mobile.

Data Scientist

acest tip de dezvoltator scrie programe software pentru a analiza seturi de date. Aceștia sunt adesea responsabili de analiza statistică, învățarea automată, vizualizarea datelor și modelarea predictivă. Destul de romantic, nu? Dar lista abilităților pe care un om de știință de date ar trebui să le aibă acoperă o mulțime de lucruri legate de știință:

  • limbaje de programare statistică, cum ar fi R sau Python, și o bază de date interogând limbaje precum SQL
  • înțelegerea statisticilor și a diferitelor tehnici care sunt (sau nu) o abordare validă
  • familiarizarea cu metodele de învățare automată
  • cunoașterea calculului multivariabil și a principiilor algebrei liniare
  • cunoașterea inclusiv valorile lipsă, formatarea șirului inconsistentă etc.)
  • vizualizarea și comunicarea datelor este incredibil de importantă
  • având un fundal puternic de inginerie software
  • capacitatea de a rezolva probleme la nivel înalt

DevOps developer

acesta este un tip de dezvoltator familiarizat cu tehnologiile pentru a construi, implementa și integra sistemul și a administra software-ul back-end și sistemele distribuite.

pentru a explica calea:

  1. un dezvoltator (programator) creează aplicații
  2. Ops implementează, gestionează, monitorizează aplicațiile
  3. DevOps creează aplicații și le implementează/gestionează/monitorizează.

DevOps a fost posibil datorită cloud-ului și instrumentelor/platformelor pentru a facilita implementarea și gestionarea. Abilitățile necesare de devops:

  • Kubernetes
  • Docker
  • Apache Mesos
  • stiva HashiCorp (Terraform, vagabond, Ambalator, seif, Consul, Nomad)
  • Jenkins, etc.

inginer de dezvoltare Software în Test

acest tip de dezvoltator este responsabil pentru scrierea software-ului pentru a valida calitatea sistemelor software. Acestea creează teste, instrumente și sisteme automate pentru a se asigura că produsele și procesele funcționează conform așteptărilor. Abilități necesare inginerilor în test:

  • Piton
  • Rubin
  • seleniu.

Dezvoltator încorporat

dezvoltatorul încorporat funcționează cu hardware care nu este clasificat în mod obișnuit ca computere. De exemplu, microcontrolerele, sistemele în timp real, interfețele electronice, set-top box-urile, dispozitivele de consum, dispozitivele IoT, driverele hardware și transmisia de date seriale se încadrează în această categorie.

dezvoltatorii încorporați lucrează adesea cu limbi precum:

  • C, C++
  • asamblare
  • Java sau tehnologii proprietare, cadre și seturi de instrumente

cu definiția dezvoltatorului încorporat, am dori să terminăm lista tipurilor dezvoltatorului. Am numit pentru dvs. principalele tipuri de dezvoltatori care sunt fundamental diferite. Dar ai putea auzi, de asemenea, despre:

– dezvoltator web (scopul dezvoltării web este evident)

– dezvoltator de aplicații (care este priceput în crearea diferitelor tipuri de aplicații)

– dezvoltator de securitate (care creează sisteme, metode și proceduri pentru a testa securitatea unui sistem software)

– Dezvoltator CRM (ei Stau cu SAP, Salesforce, Sharepoint și planificarea resurselor întreprinderii)

– Big Data developer (rar întâlnit, acest tip de dezvoltatori folosesc sisteme pentru stocarea distribuită și prelucrarea unor cantități mari de date, cum ar fi MapReduce, Hadoop și Spark)

– dezvoltatori de grafică (se specializează în scrierea de software pentru redare, iluminare, umbrire, umbrire, sacrificare și gestionarea scenelor)

Abonați-vă la newsletter-ul nostru săptămânal pentru a găsi mai multe lucruri interesante despre dezvoltarea de software!