Developer 2019

Postoji mnogo načina na koje možete postati developer. U današnje vrijeme ima dosta online tečajeva koji vas uče raznim tehnologijama (freeCodeCamp, Coursera, HackerRank, Codewars,…).

Kroz proces učenja postoji popis vještina koje bi programer trebao imati kako bi svladao različita područja razvoja. Jedan od najboljih popisa vještina je „Developer Roadmap“  od Kamran Ahmeda. Kamran je izdvojio sve vještine koje smatra da su neophodne za savladavanje različitih područja razvoja.

Vještine koje svi programeri trebaju bez obzira na njihovu specijalizaciju:

  • Git – Version Control – Git je moćan sustav kontrole verzije koji se od 2019. koristi gotovo univerzalno (GitHub, GitLab).
  • Basic Terminal Usage – treba poznavati osnovnu upotrebu terminala – naredbenog retka na platformama koje koristite (Mac, Windows,..). Bez obzira koji sustav koristili trebali bi znati Linux jer ćete ga sigurno koristiti za poslužitelje (servere).
  • Data Structures and Algorithms – Nastavni plan i program FreeCodeCamp pokriva sve to. Možete učiti rješavati algoritme u raznim programskim jezicima, a preporuka je da učite u JavaScriptu ili Pythonu.
  • HTTPS i API – razumijevanje načina na koji web funkcionira      
  • Design Patterns, SOLID, KISS, YAGI – Uzorci dizajna su u osnovi vremenski provjereni načini za implementaciju različitih tipova softverskih sustava i struktura kodiranja. Možete ih učiti postupno dok napredujete. Početnicima nije potrebno duboko razumijevanje ovoga, ali ne bi škodilo.

Kamranov Front-end plan razvoja weba prikazan je na sljedećoj slici:

Kamranova druga mapa odnosno Back-end plan razvoja weba prikazan je na sljedećoj slici:

Kao što je vidljivo na prethodnoj slici treba naučiti baze podataka. Baze podataka kao što su MongoDB i Neo4j mogu učiniti mnogo za vas i bolje su prilagođene određenim vrstama aplikacija nego relacijskim bazama podataka, ali ipak biste trebali učiti SQL i razumjeti kako funkcioniraju relacijske baze podataka.

DevOps je osoba koja je spona između čistog razvoja i operacija i olakšava posao svima u kompaniji. Kratki uvod u područje DevOps koji bi vam trebao dati bolju predodžbu o tome je li DevOps nešto što vas zanima. Na sljedećoj slici je prikazan plan DevOps-a.