TL:DR; Ce concepte şi abilităţi practice ar trebui să deţină un programator de nivel mediu. Cel mai bine ar fi să răspunzi la întrebările din secţiunea: “Aş avea nevoie de păreri/despre”:
Un pic de context înainte de a spune exact ce am de spus: anul trecut pe vremea aceasta eu încă mai făceam marketing (am terminat management, deci sunt economist de ‘meserie’), dar din cauza stresului asociat cu acest job şi pentru că niciodată nu am simţit că am avut mână liberă în acţiunile mele de marketing (marketingul e ca politica, toată lumea are o părere), am decis să migrez înspre IT şi să învăţ web development, un domeniu unde progresul mi se pare mai vizibil şi mai tangibil pentru o persoană interesată de învăţare continuă, cum sunt eu.
Obiectivul meu principal iniţial a fost să îmi găsesc un job în IT. Am reuşit în cam 2 luni şi sunt web developer din iunie anul trecut (2014).
Principala provocare peste care am dat pe tot parcursul experienţei mele, a fost să acopăr gap-ul de cunoştinţe pe care îl aveam faţă de cei care au luat decizia de a deveni developeri acum 2-3 ani. Făcusem destul HTML/CSS şi modificări în PHP (copy & pasting şi hacking the code) pe diverse instalări de Wordpress încât să nu fiu 100% intimidat de acest mediu.
Totuşi sunt multe lucruri care îmi lipsesc şi sincer am nevoie de ajutorul unor profesionişti, măcar să mă îndrume în direcţia potrivită.
Iniţial tutorialele au fost un bun educator, dar mi-am dat seama că în loc să învăţ să gândesc în cod, învăţam doar să recunosc instrucţiunile, un fel de învăţare superficială. Practic, ştiam să citesc codul, înţelegeam în mare ce se întâmplă, dar nu puteam reproduce gândirea, să înţeleg partea logică. În ultimele 3-4 luni am făcut mai multe progrese şi am început să gândesc mai programatic şi să rezolv diverse erori, fără ajutorul celor mai experimentaţi din birou.
Aş avea nevoie de păreri/sfaturi despre:
- care sunt cele mai bune cărţi şi resurse la zi despre programarea în PHP (eu în principal mă folosesc de documentaţia de la PHP şi phptherightway.com ca surse de învăţare şi apoi scriu cod încercând să extind exemple pe care le găsesc în documentaţia PHP)?
- ce fel de software-uri ar trebui să aibă în workflow un programator serios (version control, să ştie să folosească composer , maşini virtuale precum vagrant)
- ce concepte mai high-level ar trebui să înţeleagă, eventual şi resurse de unde să le înveţe (design patterns de ex)
- cum ar putea un programator începător să îşi accelereze progresul şi să mai taie din perioada de trial & error
Ca idee, nu caut neapărat scurtături, ci mai degrabă caut să tai din redundanţă şi să îmi stabilesc o traiectorie clară pentru procesul meu de învăţare.
Apreciez orice răspuns şi dacă credeţi că vă pot ajuta cu ceva înapoi, voi întoarce favoarea cu cea mai mare plăcere.
PS: sper că am încadrat bine postul.