Path to craftsmanship

Mi-am permis sa reordonez lista de mai sus pentru a reflecta oarecum o prioritate pe care o vad eu.

Eu abia atunci am putut sa declar ca am inteles un concept, cand am reusit sa fac pe altcineva sa il inteleaga.

Total de acord. Sunt CTO care s-au refugiat in “arhitectura” si care nu mai reusesc sa transmita informatiile corecte catre echipa, pentru ca au pierdut contactul cu dezvoltarea.
Cred cu tarie ca cei seniori sau mai sus trebuie sa ramana hands-on toata viata, chiar daca dupa un anumit punct codul pe care il scriu se foloseste efectiv doar pentru proiecte interne / personale. Mai merge omul in concediu, la ski, pe plaja, deci mici intreruperi acceptate de la “zilnic”, dar nu de ordinul lunilor.

Nu e suficient sa fi programat procedural timp de 15 ani de zile. Clar asta nu e un semn de senioritate, dimpotriva. La fel putem zice si despre OOP, degeaba ai programat doar OOP si Java vreme de 20 ani, trebuie sa mai fi vazut si restul peisajului. Si zic asta nu pentru ca e oarecum la moda programarea functionala. Continuand, OOP poate fi vazut doar ca si “clase si obiecte si patternuri”, iar DDD sa fie scos separat tocmai pt ca e un alt nivel de intelegere/gandire.

Prima parte (cu acuratetea) e fuzzy, e posibil ca tehnologiile sa se schimbe atat de repede in viitor incat sa devina incorecta. Da, azi e aplicabila ideea, dar nu sim inca pt cat timp.
Pe partea de cautare suntem mai mult de acord, eficienta gasirii informatiei lipsa e si pentru mine o unealta in arsenalul programatorului care a depasit stadiul de junior.

Aici m-au pierdut pe mine toat esistemele traditionale de invatare. Ori era prea arida partea de explicare /modul de a face exercitii de acest gen / aratarea finalitatii, ori nu-s eu o persoana careia sa ii placa asa tare partea asta. Dar la mine a functionat vederea de sistem, cam pe acelasi principiu pe care nu mi-a placut niciodata geometria in plan (2D), nu o “vad”, dar am avut o incredibila usurinta la cea in spatiu (3D). Am mai intalnit astfel de oameni, e de dezbatut aici. @iamntz poate spargem un topic numai despre asta cu algoritmii, merita?

E nevoie de timp pentru a face diferenta intre concepte fundamentale si instrumentele care sunt doar “means to an end”. La inceput toate par din categoria conceptelor fundamentale, inclusiv librariile altora.

E bine sa nu fim toti oameni ai cavernelor, sa stam in beci si sa scoatem cod minunat. Dar trebuie avut grija sa nu exageram la cerinta de soft skills prea tare. Asta e una din frumusestile lumii noastre, aceea in care diverse tipuri de personalitati conlucreaza la crearea de soft functional. Pana la urma Linus nu e usa de biserica si e un foarte bun programator.

Da, dar mai “la coada” listei. E mai greu sa ajungi la dedicatia de a studia codul altora.

2 Likes