Želiš biti PHP developer, a ne znaš od kuda krenuti učiti? Pripremili smo vodič za početnike i one naprednije!

Inchoo pruža potpunu uslugu stvaranja eCommerce rješenja, od dizajna, izrade i optimizacije postojeće web trgovine do migracije na drugu platformu ili stvaranja nove trgovine od samog početka. U tom poslu smo već 9 godina te iza sebe imamo 450 projekata s više od 150 klijenata iz 45 zemalja.

Trenutno brojimo 50-ak zaposlenika, od kojih su gotovo polovina PHP developeri.

Put do PHP developera

S obzirom na velik broj projekata na kojima radimo, u Inchoou smo u stalnoj potrazi za kvalitetnim programerima, bilo da su oni iskusni senior developeri ili perspektivni početnici. Često dobivamo upite o tome kako postati programer. Odmah ćemo vam reći – nije lako. Fakultet i razne vanjske edukacije nisu dovoljne da postanete dovoljno vješti u tom području, nego ćete morati i samostalno učiti. Zato smo na stranici Osijek Software City udruge sastavili ovaj Starter Kit kako bismo vam pokazali odakle početi, ali i pomogli razlučiti bitno od nebitnoga na putu učenja kako biste postali PHP developer. To će vas možda jednog dana dovesti i do toga da postanete naš radni kolega.

Razvojno okruženje

U Inchoou svaki zaposlenik prolazi internu edukaciju u trajanju od 5 tjedana. U njoj se upoznaje s funkcioniranjem tvrtke, raspodjelom projekata, komunikacijom s klijentom i Magentom. No očekuje se da zna osnove PHP-a. Bilo da se do sada niste susreli s PHP-om ili ste radili u njemu na početničkoj razini, krenimo od početka.

Svakom developeru treba razvojno okruženje, što je skup alata za razvoj, testiranje i debugiranje vašeg softwarea. Za razvoj PHP aplikacija prije svega nam je potreban web server (Apache) koji može izvršavati PHP kod te server baza podataka (MySQL). Ako ste početnik u PHP programiranju, od pomoći će vam biti aplikativna rješenja poput AMPPS – Apache, Mysql, PHP, Perl, Python, koji u jednom instalacijskom paketu podešavaju kompletan server za vas.

U nastavku su nabrojani neki od preporučenih alata za početnike i alati za naprednije.

Početno Napredno
ampps xdebug
IDE (Netbeans, Sublime, Atom) MySQL console
GIT & GitHub
phpMyAdmin

Osnovna edukacija za PHP developera

Idući korak su samostalne sistematske edukacije s materijalima dostupnim putem interneta. Portali poput codecademy.com, w3schools.com, tizag.com i freecodecamp.com poznati su u programerskoj zajednici kao dobar primjer početne edukacije i usmjeravanja u određenu tehnologiju (PHP, MySQL, XML).

Svaki PHP programer početnik trebao bi proći kroz njihove edukacijske materijale kako bi usvojio kvalitetne osnove, a onim naprednijima služe za proširivanje znanja.

Jednom kada usvojite osnove PHP-a i tehnologije s kojom se isprepliće, slijedi detaljnije upoznavanje sa samim PHP programskim jezikom. Language References je dio službenog PHP priručnika koji je obavezno štivo za sve koji misle ozbiljno. Strings, Arrays, Sessions, Cookies skupa s par ostalih nabrojanih tematskih cjelina čine neizostavan dio vašeg budućeg koda. Kada ste svladali sam programski jezik, vrijeme je da podignete vaše znanje na novu razinu i pređete među naprednije programere upoznavajući se s Design Patternima kao što su Factory, Singleton, Observer, Adapter i Dependency Injection.

U nastavku su nabrojana neka od obaveznih područja PHP-a koja biste samostalno trebali proći. Stranice koje smo izdvojili u nastavku u praksi su nam se do sada pokazale kao najkvalitetnije i sveobuhvatne. Prema vašim preferencijama odaberite koja vam najviše odgovara, kombinirajte ih ili nađite neke nove. Svatko ima svoj način učenja.

codecademy

  1. PHP
  2. Git
  3. JavaScript
  4. HTML & CSS
  5. SQL

w3schools

  1. PHP
  2. HTML
  3. JavaScript
  4. HTTP Status Codes
  5. CSS
  6. XML
  7. SQL

tizag

  1. PHP
  2. JavaScript
  3. XML
  4. MySQL

Free Code Camp

Za one koji radije uče na konkretnim projektima, tu je Free Code Camp koji vas vodi kroz Git & GitHub, JavaScript, Node.js, React.js, HTML5 i CSS3. Bonus činjenica je to što projekte na kojima ste radili možete iskoristiti i kao referencu u CV-u prilikom prijave za posao.

Inchoo-ured-2

Nezaobilazni dio PHP priručnika

Kada kandidat dolazi u Inchoo na razgovor, postavljamo mu razna pitanja kako bismo utvrdili tehničko predznanje. Smatrajte ovaj dio cheat-sheetom za interview, jer su ova područja nezaobilazan dio ispitivanja vašeg znanja.

Početno Napredno
Language Reference OOP
Data Objects Network Functions
Strings cURL Functions
Arrays XML Manipulation
Session Handling
Cookies
Filesystem Functions

 

Za one koji žele još više napredovati, tu su Design Patterns i osnovno poznavanje tematike sigurnosti na webu.

Design Patterns

(Factory, Singleton, Observer, Adapter, Dependency Injection)

  1. Five common PHP design patterns
  2. PHP Design Patterns Reference and Examples
  3. Dependency Injection in PHP

Security, osnovno poznavanje

  1. PHP Security
  2. PHP Security Cheat Sheet
  3. PHP Security Guide

Važna je i web prisutnost!

Osim samog znanja programiranja, svaki programer bi trebao poraditi i na svojoj vidljivosti na internetu. Više je razloga za to. Jedan od njih je community koji dijeli vaše interese prema tehnologiji s kojim biste kasnije stupili u kontakt ako naiđete na nekakve poteškoće u razvoju vašeg softwarea ili ako želite podijeliti znanje s drugima. Drugi razlog je vidljivost prema potencijalnim budućim poslodavcima. Primjerice, ukoliko imate par projekata dignutih na GitHub oni vam mogu poslužiti kao dio vašeg budućeg CV-a.

U nastavku su nabrojani samo neki od portala na kojima vam preporučujemo da otvorite profil ako sebe vidite kao budućeg PHP developera.

  1. Linkedin
  2. GitHub
  3. Stack Overflow
  4. Upwork

Za one koji žele zakoračiti u Magento svijet:

Za izradu eCommerce rješenja, u Inchoou smo primarno specijalizirani za Magento platformu. Magento je najpopularnija open-source platforma za izradu online trgovina u cijelome svijetu što znači da je skoro svaka treća online trgovina izgrađena upravo na njemu. Modularan je i skalabilan i nudi pregršt “out of the box” funkcionalnosti.

Za početnike u Magentu, kao prvi korak, preporučuje se da prođu osnovnu instalaciju Magenta sa “sample data“. Sljedeći preporučeni korak je da se prije samog programiranja detaljno upozna s Magento admin i frontend dijelom sustava, kroz upute u njihovom službenom “Magento User Guide“.

Nakon što se prođe “Magento User Guide“, kao prvi sljedeći korak koji je vezan uz development preporučujemo prolazak kroz “Magento Design Guide“. Iako naziv “Magento Design Guide” sugerira na Frontend Development, bitno je da Backend Developer ima uvid u strukturu Magento tema (*.xml, *.phtml) jer u konačnici Backend Developer će odrađivati određene programerske stvari vezane uz temu.

  1. Magento Community Edition
  2. Instaling Magento
  3. Magento User Guide
  4. Magento Design Guide

Također, u sklopu već spomenutog prijedloga kako je dobro biti vidljiv na internetu kao developer u svrhu razmjene informacija i savjeta, za Magento će vam biti korisno otvaranje profila na:

  1. http://magento.stackexchange.com/
  2. https://www.magentocommerce.com/products/customer/account/create/

Za više materijala o Magentu, posjetite naš blog gdje možete naći teme za početnike i napredne Magento developere.

Inchoo-ured

Kako se prijaviti za posao u Inchoou?

Kao što smo već spomenuli, u Inchoou gotovo polovinu zaposlenika čine PHP developeri. S obzirom na velik broj projekata na kojima radimo, u stalnoj smo potrazi za kvalitetnim programerima, bilo da su oni iskusni senior developeri ili perspektivni početnici. Kako to zanimanje izgleda u praksi, pročitajte u ovom interviewu s 3 PHP developera u Inchoou.

Neovisno o tome imamo li raspisan natječaj za posao backend developera ili ne, ukoliko ste prošli većinu onoga što je nabrojano u prijašnjim koracima, a željni ste novih izazova kroz timski rad, pošaljite nam na posao[at]inchoo.net primjere koda projekata na kojima ste radili i CV.

Na svaku prijavu odgovaramo bilo pozivom na razgovor, praksu ili praćenjem napretka i usmjeravanjem u daljnju edukaciju sa željom da nam se ponovno javite kada još malo poradite na svom znanju.

Ne zaboravite, i profesionalci su nekoć bili amateri u svom području. Zato je važno početi!


Odgovori

Vaša adresa e-pošte neće biti objavljena. Nužna polja su označena s *