Mă tot gândesc la ce lucruri îți fac viața de programator mai bună – indiferent de mediul în care programezi – și am ajuns la o listă scurtă, scurtă de tot.
Skill-uri§
Culmea, nu e vorba de algoritmi, de matematică, de mai-știu-eu-ce.
- Învățarea editorului. Nu doar alegerea editorului perfect pentru tine, că doar treaba asta nu este suficientă. Nu, trebuie să știi shortcut-uri, să automatizezi dacă se poate, să pierzi cât mai puțin timp căutând o anumită funcționalitate. Ca regulă, dacă am nevoie de o comandă de mai multe ori, ori îi atribui ori îi învăț scurtătura. Sigur, sunt chestii obscure (gen integrarea cu Docker din PHPStorm); nu folosesc, nu știu.
- Regex la un nivel semi-decent. Chiar dacă folosești rar în cod regex, este util dacă vrei să cauți ceva (
grep
,awk
etc). Iar în cod… nu-ți imaginezi de câte ori am înlocuit zeci de linii de cod cu un regex bine meșteșugit! - Version control la un nivel acceptabil. Nu-ți imaginezi cât de util este, atât în dezvoltare cât și atunci când, de exemplu, moștenești vreun proiect dubios.
Hardware§
Hardware-ul trebuie să fie bun, suficient de bun să nu genereze frustrări razna. Asta înseamnă SSD, RAM suficient (în ziua de azi 16Gb consider că ar fi un minim absolut) și un CPU bun. Dar astea nu se văd! Pe lângă asta, avem accesoriile, alea care se văd tot timpul, ce le avem mereu în fața ochilor (sau a mâinilor) și care, de cele mai multe ori, sunt mai importante decât ce este „sub capotă”:
- Nu am întâlnit prea mulți oameni care să nu aprecieze tastaturile mecanice. Vin în diverse configurații, unele mai zgomotoase decât altele, dar feeling-ul general este că sunt must have.
- Monitorul este ultimul din listă, dar nu mai puțin important! Cât mai mare, cât mai bun. Ochii sunt printre cele mai importante assets de care avem parte, ar trebui să îi protejăm cât mai mult, nu?
Dacă ar fi să rezum într-o singură propoziție toată treaba asta, aceasta ar fi: „the best tool money can buy”.
Rândul tău§
Sigur, astea sunt prioritare pentru mine, dar sunt convins că oamenii au alte priorități. Mă întreb ce crezi tu că este important pentru un programator.
> Învățarea editorului. Nu doar alegerea editorului perfect pentru tine, că doar treaba asta nu este suficientă. Nu, trebuie să știi shortcut-uri, să automatizezi dacă se poate, să pierzi cât mai puțin timp căutând o anumită funcționalitate. Ca regulă, dacă am nevoie de o comandă de mai multe ori, ori îi atribui ori îi învăț scurtătura. Sigur, sunt chestii obscure (gen integrarea cu Docker din PHPStorm); nu folosesc, nu știu.
De asemena, trust your IDE. 
da, da si da
Am la birou un mostru de ide (IntelliJ) insa sunt handicapt cand il folosesc. Recent m-am prins de ctaeva chestii de baza. Uneori ma simt ca un bunic ce abia buchiseste calculatorul
>Regex la un nivel semi-decent. Chiar dacă folosești rar în cod regex, este util dacă vrei să cauți ceva (grep, awk etc). Iar în cod… nu-ți imaginezi de câte ori am înlocuit zeci de linii de cod cu un regex bine meșteșugit!
Interactionez cu Linux si tot felul de fisiere prin care verific chestii. Regex, scripting.
Iar legat de verison control, am invatat sa fac rebase des. De exemplu, maine ma mult pe un feature pe care l-am inceput acum 11 luni si va fi cam complicat la rebase din msterul de acum. Rebase are si avantajul ca te ajuta la merge.
Cat despre hardware, well, am 32 GB pe laptop insa se simte ca are chestii corporate pe el(deh corporatie) si mai obisnuia sa sughita. Dar nimic nu ete mai frustran atunci cand scrollezi prin cod si se blocheaza
@Cosmin: Ne plac si tastaturile mecanice, dar tre alta care sa fie mai tacuta la birou. Acum inca merge
@Cosmin: Cherry brown sau reds. Sunt silențioase. Sigur, nu la nivelul unei tastaturi de laptop, dar sunt suportabile.
Mentionez si eu doua: tastaura mecanica de acasa si Php Storm (licentiat).
Ce bine că nu sunt programator și nici gamer ca să am așteptări dinastea si să respect cerinșe absurde.