Fejlesztők típusai
hány típusú fejlesztőt ismersz? És ha fejlesztő vagy, milyen típusra hivatkozol? A Való Világban a különböző típusú fejlesztők közötti határok elmosódnak. Minél professzionálisabb lesz, annál több Típus fog illeszkedni. Tehát lássuk, hány típusú fejlesztők állnak rendelkezésre szoftverfejlesztés ipar.
mielőtt elkezdenénk, szeretnénk köszönetet mondani Lorenzo Pasqualisnak, akinek a cikke inspirált minket az anyag létrehozására.
hogy őszinte legyek, a legtöbbünk csak három típusú szoftverfejlesztőt ismer fel: frontend, backend és fullstack. Ez nyilvánvaló, de ez csak az igazság fele. Manapság a különböző fejlesztők az azonos tech stack valószínű alkalmazni tudásukat és tudásukat a különböző területen. Ez olyan, mintha megkérné a mobil fejlesztőjét, hogy dolgozzon egy játék létrehozásán. Lehet, hogy ismeri az eszközöket, de nem játékfejlesztő. Ez pedig hatalmas különbséget tesz a fejlesztők típusaiban.
kezdjük a fő típusok:
Frontend
tegnap írtunk a legnagyobb cikket cheatsheet frontenders. Szóval kik ők? Ez egy olyan típusú fejlesztő, aki a vizuális felhasználói felületekre, az esztétikára és az elrendezésekre szakosodott. Kódjuk egy webböngészőn fut, a webhely felhasználójának számítógépén. Webes alkalmazások és weboldalak létrehozásán dolgoznak. A hardver nem az, amire a frontend szakemberei általában gondolnak.
munkájuk megköveteli az ember-gép interakció és a tervezési elvek megértését, mint a számítástechnika elméletét.
Frontend fejlesztési készségek:
- felhasználói felület (UI) tervezése
- felhasználói élmény (UX) tervezése
- CSS
- JavaScript
- HTML
- felhasználói felület keretrendszerek.
a Frontend fejlesztőknek ismerniük kell az olyan keretrendszereket, mint a Bootstrap, a Foundation, a Backbone, az AngularJS és az EmberJS, amelyek nagyszerű tartalmat biztosítanak az eszköztől függetlenül, és az olyan könyvtárakat, mint a jQuery és a LESS, amelyek egy hasznosabb, időtakarékos formába csomagolják a kódot. Sok front-end fejlesztő állásajánlatok is hívja tapasztalat Ajax, széles körben használt technika segítségével Javascript, amely lehetővé teszi az oldalak dinamikusan betölteni letöltésével szerver adatokat a háttérben.
Backend
a második legnépszerűbb típusú Fejlesztők. A backend fejlesztő a végfelhasználótól távoli gépeken futó szoftver vagy rendszer tervezésére, megvalósítására, funkcionális logikájára, teljesítményére és skálázhatóságára specializálódott. Integrálják a szolgáltatások széles skáláját, például adatbázisokat, gyorsítótárazást, naplózást, e-mail rendszereket stb.
mi teszi lehetővé a weboldal elejét? Hol tárolják ezeket az adatokat? Ezek a backend fejlesztés kérdései. A webhely háttere egy szerverből, egy alkalmazásból és egy adatbázisból áll. A backend fejlesztő épít és tart fenn a technológia, amely táplálja azokat az összetevőket, amelyek együttesen lehetővé teszik a felhasználó felé néző oldalon a honlap még létezik az első helyen.
Backend fejlesztési készségek:
- Java
- C, C++
- Ruby
- Python
- Scala
- Go stb.
olyan eszközöket is használnak, mint a MySQL, az Oracle és az SQL Server, hogy megtalálják, mentsék vagy módosítsák az adatokat, és visszaadják a Felhasználónak a front-end kódban. A backend Fejlesztők állásajánlatai gyakran megkövetelik a PHP keretrendszerek, például a Zend, a Symfony és a CakePHP tapasztalatait is; tapasztalat az olyan verziókezelő szoftverekkel, mint az SVN, a CVS vagy a Git; és tapasztalat a Linuxról, mint fejlesztési és telepítési rendszerről.
Fullstack
hívja ezt a fejlesztőt varázslónak, de ő (vagy ő) mind a frontend, mind a backend munkát végzi. A fullstack Fejlesztő rendelkezik a teljesen működőképes webes alkalmazás létrehozásához szükséges készségekkel. Úgy véljük, hogy mind a szerver, mind a kliens oldalon végzett munka professzionálisan több lehetőséget nyit meg. Ők a Bubi-of-all-szakmák.
a full stack fejlesztés összetettsége ezzel a képpel illusztrálható (természetesen több technológia létezik):
kép a TechCrunch-on keresztül
a fullstack fejlesztőnek képesnek kell lennie:
- Linux szerverek beállítása és konfigurálása
- szerveroldali API-k írása
- hogy belemerüljünk a kliens oldali Javascriptbe, amely egy alkalmazást működtet
- hogy a CSS felé fordítsuk a “tervező szemet”
mobilfejlesztő
ez egy olyan fejlesztő, aki olyan alkalmazások kódját írja, amelyek natív módon futnak a fogyasztói mobil eszközökön, például okostelefonokon és táblagépeken. Ez a típus a 2000-es évek elején a mobil eszközök fellendülése és az okostelefon-piac robbanása után jelent meg. Ezt megelőzően a mobil fejlesztést a beágyazott fejlesztés részhalmazának tekintették (a beágyazott fejlesztőkről ebben a cikkben is írunk).
a mobilfejlesztő megérti az olyan mobil operációs rendszerek bonyolultságát, mint az iOS és az Android, valamint a fejlesztői környezetet és a keretrendszereket, amelyekkel szoftvereket írnak az operációs rendszerekre.
mobil fejlesztői készségek:
- Java
- Swift
- Objective-C
- C, C++ és Java
- alkalmazásprogramozási interfészek (API), mint az Apple iOS, Android, Windows Mobile és Symbian
- webfejlesztési nyelvek, mint a HTML 5 és a CSS
- cross-platform mobil lakosztályok, mint antenna és amp ( számviteli-menedzsment-promóció)
játékfejlesztő
minden játékfüggő gyermek játékfejlesztővé akar válni a jövőben. De ez a foglalkozás annyira romantikus és szórakoztató, mint bonyolult és igényes.
A Game developer a játékok írására specializálódott, és a fejlesztők másik kategóriájába tartozhat, de gyakran rendelkeznek speciális ismeretekkel és készségekkel a vonzó és interaktív játékélmények tervezésében és megvalósításában.
készségek játékfejlesztők számára:
- DirectX, OpenGL, Unity 3D, WebGL keretrendszerek
- olyan nyelvek, mint a C, C++ és Java
- JavaScript és HTML5
- Swift és Java mobileszközökhöz.
Data Scientist
ez a fajta Fejlesztő szoftvereket ír az adatkészletek elemzésére. Gyakran felelősek a statisztikai elemzésért, a gépi tanulásért, az adatmegjelenítésért és a prediktív modellezésért. Elég romantikus, igaz? De a készségek listája, amellyel az adattudósnak rendelkeznie kell, sok tudományhoz kapcsolódó dolgot lefed:
- statisztikai programozási nyelvek, mint például az R vagy a Python, és egy adatbázis lekérdező nyelvek, mint az SQL
- a statisztikák és a különböző technikák megértése, amelyek (vagy nem) érvényes megközelítés
- a gépi tanulási módszerek ismerete
- a többváltozós kalkulus és a lineáris Algebra alapelveinek ismerete
- az adatok tökéletlenségeinek kezelése (például a beleértve a hiányzó értékeket, az inkonzisztens karakterlánc-formázást stb.)
- az adatok vizualizálása és közlése hihetetlenül fontos
- erős szoftverfejlesztési háttérrel rendelkezik
- magas szintű problémák megoldására való képesség
DevOps developer
ez egy olyan típusú fejlesztő, aki ismeri a rendszer felépítésének, telepítésének és integrálásának technológiáit, valamint a háttér-szoftverek és elosztott rendszerek adminisztrálását.
megmagyarázni az utat:
- a fejlesztő (programozó) alkalmazásokat hoz létre
- az Ops alkalmazásokat telepít, kezel, felügyel
- a DevOps alkalmazásokat hoz létre és telepít/kezel/felügyel.
a DevOps-ot a felhő és az eszközök/platformok tették lehetővé, amelyek megkönnyítik a telepítést és a kezelést. A devops által igényelt készségek:
- Kubernetes
- Dokkoló
- Apache Mesos
- a HashiCorp verem (Terraform, Vagrant, Packer, Vault, Consul, Nomad)
- Jenkins stb.
szoftverfejlesztő mérnök a tesztben
ez a fajta fejlesztő felelős a szoftverrendszerek minőségének ellenőrzéséért. Automatizált teszteket, eszközöket és rendszereket hoznak létre annak biztosítására, hogy a termékek és folyamatok a várt módon működjenek. A mérnökök számára szükséges készségek a tesztben:
- Python
- Ruby
- szelén.
beágyazott Fejlesztő
a beágyazott Fejlesztő olyan hardverekkel dolgozik, amelyek általában nem minősülnek számítógépnek. Ebbe a kategóriába tartoznak például a mikrovezérlők, a valós idejű rendszerek, az elektronikus interfészek, a set-top boxok, a fogyasztói eszközök, az IoT eszközök, a hardver illesztőprogramok és a soros adatátvitel.
a beágyazott fejlesztők gyakran dolgoznak olyan nyelvekkel, mint:
- C, C++
- Assembly
- Java vagy szabadalmaztatott technológiák, keretrendszerek és eszközkészletek
a beágyazott fejlesztői definícióval szeretnénk befejezni a fejlesztői típusok listáját. Megneveztük az Ön számára a fő fejlesztői típusokat, amelyek alapvetően különböznek egymástól. De arról is hallani lehetett, hogy:
– webfejlesztő (a webfejlesztés célja nyilvánvaló)
– alkalmazásfejlesztő (aki jártas a különböző típusú alkalmazások létrehozásában)
– biztonsági fejlesztő (aki rendszereket, módszereket és eljárásokat hoz létre egy szoftverrendszer biztonságának tesztelésére)
– CRM Fejlesztő (SAP, Salesforce, Sharepoint és vállalati erőforrás– tervezés)
– Big Data developer (ritkán teljesül, az ilyen típusú Fejlesztők rendszereket használnak hatalmas mennyiségű adat elosztott tárolására és feldolgozására, mint például a MapReduce, a Hadoop és a Spark)
– grafikus fejlesztők (szakterületük a rendereléshez, világításhoz, árnyékoláshoz, árnyékoláshoz, selejtezéshez és jelenetek kezeléséhez szükséges szoftverek írása)
iratkozzon fel heti hírlevelünkre, hogy további érdekes dolgokat találjon a szoftverfejlesztésről!