Kehittäjätyypit

kuinka monta kehittäjätyyppiä tunnet? Ja, jos olet kehittäjä, mihin tyyppiin viittaat itse? Reaalimaailmassa rajat erilaisten kehittäjien välillä hämärtyvät. Mitä ammattimaisemmaksi tulet,sitä useampiin tyyppeihin mahdut. Joten katsotaanpa, kuinka monta tyyppisiä kehittäjiä on saatavilla ohjelmistokehitysteollisuudessa.

ennen kuin aloitamme, haluamme kiittää Lorenzo Pasqualisia, jonka artikkeli inspiroi meitä luomaan tämän materiaalin.

ollakseni rehellinen, useimmat meistä tunnistavat vain kolmenlaisia ohjelmistokehittäjiä: frontend, backend ja fullstack. Se on selvää, mutta tämä on vain puolikas totuudesta. Nykyään eri kehittäjät samalla tech Pinot todennäköisesti voivat soveltaa taitojaan ja tietojaan eri alueella. Se on kuin pyytäisi mobiilikehittäjää työskentelemään pelin luomisessa. Hän voisi tuntea työkalut, mutta hän ei ole pelinkehittäjä. Ja se tekee valtava eriyttäminen Kehittäjä tyypit.

aloitamme päätyypeistä:

Frontend

eilen kirjoitimme cheatsheetin kanssa suurimman artikkelin frontendersille. Keitä he ovat? Tämä on eräänlainen kehittäjät, jotka ovat erikoistuneet visuaalisiin käyttöliittymiin, estetiikkaan ja ulkoasuihin. Heidän koodinsa toimii verkkoselaimella, sivuston käyttäjän tietokoneella. He työskentelevät luoda web-sovelluksia ja sivustoja. Laitteisto ei ole se, mitä frontend-asiantuntijat yleensä ajattelevat.

heidän työnsä vaatii ihmisen ja koneen vuorovaikutuksen ja suunnittelun periaatteiden ymmärtämistä enemmän kuin tietojenkäsittelytieteen teoria.

Frontend development skills:

  • käyttöliittymän suunnittelu (UI)
  • käyttäjäkokemuksen suunnittelu (UX)
  • CSS
  • JavaScript
  • HTML
  • UI frameworks.

Frontend devs: n on tunnettava sellaiset puitteet kuin Bootstrap, Foundation, Backbone, AngularJS ja EmberJS, jotka takaavat komean sisällön laitteesta riippumatta, ja kirjastot kuten jQuery ja LESS, jotka pakkaavat koodin hyödyllisempään, aikaa säästävään muotoon. Paljon front-end kehittäjä työ listauksia myös vaatia kokemusta Ajax, laajalti käytetty tekniikka käyttää Javascript, jonka avulla sivut dynaamisesti ladata lataamalla palvelimen tiedot taustalla.

Backend

toiseksi suosituin kehittäjätyyppi. Backend kehittäjä on erikoistunut suunnittelu, toteutus, toiminnallinen core logiikka, suorituskyky, ja skaalautuvuus pala ohjelmiston tai järjestelmän käynnissä koneita, jotka ovat kaukana loppukäyttäjästä. Ne integroivat laajan valikoiman palveluita, kuten tietokantoja, välimuistia, kirjautumista, sähköpostijärjestelmiä jne.

mikä tekee verkkosivujen etupään mahdolliseksi? Missä kaikki tiedot on tallennettu? Nämä ovat kysymyksiä backend development. Verkkosivuston taustaosa koostuu palvelimesta, sovelluksesta ja tietokannasta. Backend-kehittäjä rakentaa ja ylläpitää teknologiaa, joka antaa virtaa niille komponenteille, jotka yhdessä mahdollistavat sivuston käyttäjän puoleen kääntymisen ylipäätään.

taustajoukkojen kehittämistaidot:

  • Java
  • C, C++
  • Ruby
  • Python
  • Scala
  • Go jne.

he käyttävät myös työkaluja, kuten MySQL, Oracle ja SQL Server, löytääkseen, tallentaakseen tai muuttaakseen tietoja ja tarjotakseen ne takaisin käyttäjälle front-end-koodina. Backend-kehittäjien avoimet työpaikat vaativat usein myös kokemusta PHP-kehyksistä kuten Zend, Symfony ja CakePHP; kokemusta versionhallintaohjelmista kuten SVN, CVS tai Git; ja kokemusta Linuxista kehitys-ja käyttöönottojärjestelmänä.

Fullstack

kutsu tätä kehittäjää velhoksi, mutta hän (tai hän) tekee sekä etu-että taustatyötä. Fullstack-kehittäjällä on tarvittavat taidot luoda täysin toimiva verkkosovellus. Katsotaan, että työskentely sekä palvelinpuolella että asiakaspuolella ammattimaisesti avaa enemmän mahdollisuuksia. He ovat kaikkien alojen jätkiä.

full stack-kehityksen monimutkaisuutta voidaan havainnollistaa tällä kuvalla (tietenkin on olemassa useampia teknologioita):

Image via TechCrunch

The fullstack developer should be able:

  • perustaa ja määrittää Linux-palvelimia
  • kirjoittaa palvelinpuolen sovellusliittymiä
  • sukeltaa asiakaspuolen JavaScript-sovellukseen virtaa
  • kääntämään ”suunnittelusilmän” CSS: ään

Mobiilikehittäjä

tämä on kehittäjä who kirjoittaa koodia sovelluksille, jotka toimivat natiivisti kuluttajien mobiililaitteissa, kuten älypuhelimissa ja tableteissa. Tämä tyyppi ilmestyi mobiililaitteiden buumin jälkeen 2000-luvun alussa ja älypuhelinmarkkinoiden räjähdysmäisen räjähdyksen jälkeen. Sitä ennen mobiilikehitystä pidettiin sulautetun kehityksen osajoukkona (kirjoitamme sulautetuista kehittäjistä myös tässä artikkelissa).

mobiilikehittäjä ymmärtää iOS: n ja Androidin kaltaisten mobiilikäyttöjärjestelmien koukeroita sekä kehitysympäristöä ja kehyksiä, joita käytetään ohjelmistojen kirjoittamiseen kyseisille käyttöjärjestelmille.

Mobiilikehittäjän taidot:

  • Java
  • Swift
  • Objective-C
  • C, C++ ja Java
  • Application Programming Interfaces (API) like Apple iOS, Android, Windows Mobile ja Symbian
  • Web development languages like HTML 5 and css
  • cross-platform mobile Suites kuten antenni ja amp ( Kirjanpito-hallinta-edistäminen)

pelinkehittäjä

jokainen peliriippuvainen lapsi haluaa tulevaisuudessa pelinkehittäjäksi. Mutta tämä ammatti niin romanttinen ja hauska kuin monimutkainen ja vaativa.

pelinkehittäjä on erikoistunut pelien kirjoittamiseen ja voi kuulua johonkin muuhun kehittäjäkategoriaan, mutta heillä on usein erityisiä tietoja ja taitoja kiehtovien ja interaktiivisten pelikokemusten suunnittelussa ja toteuttamisessa.

pelinkehittäjien taidot:

  • DirectX, OpenGL, Unity 3D, WebGL frameworks
  • kielet kuten C, C++ ja Java
  • JavaScript ja HTML5
  • Swift ja Java mobiililaitteille.

Data Scientist

tämän tyyppinen kehittäjä kirjoittaa ohjelmistoja analysoidakseen tietokokonaisuuksia. He vastaavat usein tilastoanalyysistä, koneoppimisesta, datan visualisoinnista ja ennakoivasta mallinnuksesta. Aika romanttista, vai mitä? Mutta datatieteilijän taitolista kattaa paljon tieteeseen liittyviä asioita:

  • tilastolliset ohjelmointikielet, kuten R tai Python, ja tietokantakyselykielet, kuten SQL
  • tilastojen ja eri tekniikoiden ymmärtäminen, jotka ovat (tai eivät ole) kelvollinen lähestymistapa
  • Koneoppimismenetelmien tuntemus
  • Monimuuttujalaskennan ja lineaarialgebran periaatteiden tunteminen
  • tiedon puutteiden käsittely (mukaan lukien puuttuvat arvot, epäjohdonmukainen merkkijonomuotoilu jne.)
  • datan visualisointi ja välittäminen on uskomattoman tärkeää
  • jolla on vahva ohjelmistotekninen Tausta
  • kyky ratkaista korkean tason ongelmia

DevOps-Kehittäjä

tämä on kehittäjätyyppi, joka tuntee teknologiat järjestelmän rakentamiseksi, käyttöönottamiseksi ja integroimiseksi sekä taustaohjelmistojen ja hajautettujen järjestelmien hallinnoimiseksi.

selittämään tietä:

  1. Kehittäjä (ohjelmoija) luo sovelluksia
  2. Ops käyttää, hallinnoi, valvoo sovelluksia
  3. DevOps luo sovelluksia ja käyttää/hallinnoi/valvoo niitä.

DevOps oli mahdollistettu pilvipalvelun ja työkalujen/alustojen ansiosta, joiden avulla käyttöönotto ja hallinta oli helppoa. DevOpsin tarvitsemat taidot:

  • Kubernetes
  • Docker
  • Apache Mesos
  • HashiCorp pino (Terraform, Irtolainen, pakkaaja, Holvi, konsuli, nomadi)
  • Jenkins jne.

Software Development Engineer in Test

tämän tyyppinen kehittäjä vastaa ohjelmistojen kirjoittamisesta ohjelmistojärjestelmien laadun vahvistamiseksi. He luovat automatisoituja testejä, työkaluja ja järjestelmiä varmistaakseen, että tuotteet ja prosessit toimivat odotetusti. Insinöörien taidot testissä:

  • Python
  • Ruby
  • Selenium.

Embedded developer

the embedded developer works with hardware that is not common classified as computers. Esimerkiksi mikrokontrollerit, reaaliaikaiset järjestelmät, elektroniset liitännät, digisovittimet, kuluttajalaitteet, IoT-laitteet, laiteajurit ja sarjatiedonsiirto kuuluvat tähän luokkaan.

Sulautetut kehittäjät työskentelevät usein sellaisten kielten kanssa kuin:

  • C, C++
  • Assembly
  • Java or proprietary technologies, frameworks, and toolkits

the embedded developer definition, we would like to find the list of developer’ types. Nimesimme sinulle tärkeimmät kehittäjätyypit, jotka ovat pohjimmiltaan erilaisia. Mutta voit myös kuulla:

– web developer (web– kehityksen tarkoitus on ilmeinen)

– application developer (joka on taitava luomaan erityyppisiä sovelluksia)

– security developer (joka luo järjestelmiä, menetelmiä ja menettelyjä testatakseen ohjelmistojärjestelmän turvallisuutta)

– CRM developer (he hengailevat SAP: n, Salesforcen, Sharepoint: n ja toiminnanohjauksen kanssa)

– big data Developer (tämän tyyppiset kehittäjät käyttävät harvoin valtavien tietomäärien hajautettuun tallennukseen ja käsittelyyn tarkoitettuja järjestelmiä, kuten MapReduce, Hadoop ja Spark)

– grafiikan kehittäjät (he ovat erikoistuneet renderöintiin, valaistukseen, varjostukseen, varjostukseen, harvennukseen ja kohtausten hallintaan tarkoitettujen ohjelmistojen kirjoittamiseen)

tilaa viikkotiedotteemme löytääksesi kiinnostavampia asioita ohjelmistokehityksestä!