ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 156
Numărul 155 Numărul 154 Numărul 153 Numărul 152 Numărul 151 Numărul 150 Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 156
Abonamente

Experts panel: Software Craftsmanship

Ovidiu Mățan
Fondator @ Today Software Magazine



INTERVIU

Software craftsmanship-ul continuă să existe și într-o nouă era în care codul poate fi generat și de AI. Ce s-a schimbat în programare, ce unelte au apărut și ce se întâmplă cu cei ce intră acum pe câmpul muncii sunt câteva din întrebările la care au răspuns invitații noștri:

Ovidiu Mățan: Vă invit să vă faceți o scurtă introducere

Alexandru Cioflică: Sunt Senior Staff Engineer la Betfair Romania Development. Lucrez la brandul FanDuel din SUA. Lucrez în IT din clasa a X-a. Cei mai mulți dintre noi, cei de aici, am intrat în IT din pasiune.

Andrei Marinoiu: Sunt Delivery Manager în CodeCrafters by BT. Lucrez în IT din 2011, momentan pe proiecte din FinTech-Banking. Am trecut prin E-commerce, produs, de toate.

Anamaria Androne: Sunt Head of UX la CodeCrafters. Lucrez în domeniu de 10 ani, iar în domeniul bancar din 2020.

Denis Salanța:Sunt Head of Communities la CodeCrafters. Lucrez în domeniu din 2007. În CodeCrafters, responsabilitatea mea se împarte între comunitățile de development, QA, UX. Ne asigurăm că oferim consistență în cadrul fiecărei comunități. Anul acesta, conduc și o inițiativă de AI.

Ce înseamnă Software Craftsmanship pentru voi?

Denis Salanța: Pentru mine înseamnă să mă pot uita peste 5-6 luni la codul scris azi și să fiu mândru de ceea ce am scris acolo. Este o investiție pentru viitor, un cod ușor de citit și ușor de corectat. Înseamnă a fi exigent cu codul tău, astfel încât dacă acesta ajunge pe o mașină, această mașină să poată pune frână când apeși o pedală. Implică o mare responsabilitate.

Anamaria Androne: Pentru mine înseamnă a crea un produs care realmente răspunde nevoilor utilizatorilor, nu doar constrângerilor tehnice sau tendințelor. Înseamnă a gândi corect un produs, a bifa bunele practici în manieră de usability, dar și a face produsul potrivit pentru contextul potrivit. Ne ghidăm după principii, dar trebuie să ținem cont de scenarii specifice.

Andrei Marinoiu: Eu doresc să dau un răspuns din trei perspective. Prima ar fi perspectiva de business care are ROI și costuri optimizate. A doua ar fi perspectiva de UX, de interacțiune cu utilizatorii. A treia ar fi perspectiva echipei care are timp să livreze cod de calitate și să refactorizeze. La nivelul ierbii, înseamnă că azi sunt mai bun decât ieri, dar sunt mai slab decât voi fi mâine. Are legătură cu abilitatea de a învăța continuu. E nevoie de conlucrarea celor trei factori: businessul, programatorul, utilizatorul final. Fiecare dintre aceștia trebuie să fie mulțumiți că scopurile lor au fost atinse.

Alexandru Cioflică: Colegii au sintetizat bine situația. Într-o firmă mare, nu vei putea schimba totul. Este important să vedem ce componente pot fi schimbate și evaluate corect. Este vorba de cod ce poate fi actualizat și de cod pentru care businessul nu vede valoarea în a fi refactorizat. Pe partea de tooling, trebuie să vedem dacă ce e la modă merită folosit. De exemplu, sunt tehnologii AI cu care am început să lucrăm anul trecut, cu care încă anul acesta încă nu ne-am îndeplinit obiectivul, dar există o mare diferență între ce știam la început și ce știm acum. Trebuie să fim la curent cu noile tehnologii, dar trebui să fii matur pentru a decide echilibrul corect.

Ce este important să știi?

Andrei Marinoiu: Cred că este foarte important să ai bazele. Trebuie să poți explora ce este pe piață, pentru a evalua apoi ce se potrivește mai bine în contextul dat.

Anamaria Androne: La nivel de tooluri, dacă vrei să îți faci meseria cât mai bine, evident că vei opta pentru acelea care îți rezolvă cel mai bine problemele.

Ai un exemplu de proiect de care ești mândră?

Anamaria Androne: A fost un proiect care nu a mers mai departe, dar am fost mândră de perioada premergătoare când am generat un POC la o problemă dificilă și când am aplicat niște pași din procesul de design care, în mod normal nu se aplică, din lipsă de timp și resurse. E o bună practică să iterezi procesele și să devii mai bun la ceea ce faci.

Denis Salanța: M-am gândit acum la un aspect de software craftsmanship care nu ține de calitatea codului, ci de bucuria cu care faci un anumit lucru. În facultate, am avut un curs unde trebuia să convertesc foarte mult în baza 2, în baza 10, în hexa. Am făcut un mic program care mă ajuta la asta, deși erau produse pe piață. Era contribuția mea.

Anamaria Androne: Este bine să ai chestiile tale, dar este bine să nu te atașezi de chestiile tale.

Ați avut juniori în echipă? Dacă da, cum ați reușit să îl creșteți?

Denis Salanța: Da. Am fost acolo pentru ei în întrebările pe care le pot avea. Am fost deschis și abordabil. Ajută exemplul personal, etica muncii.

Anamaria Androne: Este foarte important să poți să fii alături de oameni, dar este la fel de important să fii alături de ei într-un mod de care ei chiar au nevoie. Modul cum ne închipuim noi că vede lucrurile un junior nu este modul în care el chiar le vede. În comunitatea sau departamentul de UX, avem persoane care sunt din toate domeniile, de la nutriție la arhitectură sau psihologie. E nebunesc. Mulți s-au convertit, profesional vorbind. Contează foarte mult cum văd ei lucrurile.

Andrei Marinoiu: Văzusem un interviu cu Ilie Bolojan care zicea că este important să creăm contextul în care oamenii pot să crească. Fiecare trebuie să știe, în primul rând, unde dorește să ajungă, iar apoi să aibă un plan personalizat.

Ce sfat ai da unui junior pentru a deveni un programator mai bun?

Alexandru Cioflică: Să preia de la seniori sarcini de lucru care să îi provoace. Dacă toate taskurile ajung la senior, seniorul intră în burnout, mai ales dacă este pasionat. Este bine când seniorul transmite informația de sus în jos, încurajându-i astfel pe toți să se dezvolte. Seniorul trebuie să anticipe unde va avea juniorul nevoie de ajutor. Foarte mulți programatori sunt axați exclusiv pe taskurile lor și evită să facă ceva mai provocator pentru a crește, ieșind din zona de confort.

Andrei Marinoiu: Un junior ar trebui să aibă o foame de cunoaștere și de înțelegere. Ar trebui să se întrebe de ce face ceea ce face. Dacă înțelegi de unde vine un buton, ți-e mai ușor să dai variante și alternative.

Există Software Craftsmanship la nivel de Vibe Coding? Dacă da, ne puteți da un exemplu?

Denis Salanța: Vorbeam cu colegii de cum este să fii în flow, într-un flow de a scrie cod. Vibe Coding poate fi gândit și folosind asistenți AI sau Copilot cu scopul de a livra cod, dar fiind tot in the zone. Îmi ia timp să scriu un prompt, dar am primit ceea ce am cerut, dar, apoi, rafinând rezultatul, pot scrie următorul prompt. Uneori se strică imersiunea, deoarece pică testele sau ai atins limita de utilizare a Copilot.

Nu mă refer la vibe-ul de a fi creator, ci la calitatea procesului.

Denis Salanța: Toolurile cu AI ajută arhitecții sau programatorii seniori să scrie cod, aderând la standardele de calitate ale firmei sau ale procesului. Este un efort inițial, dar cred că se poate ajunge la un set de instrucțiuni în care să spunem promptului cum să genereze cod. Oricum, tot se vor găsi juniori care poate să nu respect niște instrucțiuni, iar pe aceștia îi putem prinde la partea de pull request.

Sunt două aspecte care ghidează Software Craftsmanship. Sunt aspect similare cu ceea ce face un tâmplar sau un bucătar sushi. Una este că folosesc aceleași unelte zeci de ani și alta este când se lucrează singur. Cum vedeți tensiunea aceasta în programare?

Alexandru Cioflică: Prin definiție, în IT nu lucrezi individual. Lucrăm în echipe, iar craftsmanshipul este creat la nivel de comunitate.

Denis Salanța: Craftsmanship vine de la ideea de bresle unde se foloseau aceleași unelte și unde se creșteau unii pe alții. La nivel de Vibe Coding, să luăm în considerare și scenariile în care vom avea echipe în care oamenii vor lucra cot la cot cu agenții AI.

Andrei Marinoiu: Depinde cum ne uităm. Realitatea este foarte nuanțată. Ce facem cu cei care lucrează remote sau de acasă? Fac parte dintr-o echipă virtuală, dar nu mai au acel contact. Unii, deși lucrează într-o echipă, lucrează, de fapt, singuri.

(întrebare din public): Aș dori să lărgesc perspectiva și să vă vorbesc despre problema ecosistemului. Doresc să vă dau două exemple. Primul exemplu este Murano, în Italia, care în 1500-1600 făceau mulți bani și aveau nevoie de meșteri sticlari pentru decorarea palatelor. Au adus meșteri sticlari din toată lumea. Murano a devenit o mare fabrică. Era o poluare gigantică. Au fost toți mutați pe o insulă. Aflați acolo, au început să fure unii de la alții tehnici, metode. Au dus foarte sus nivelul de realizare a sticlăriei prin colaborare. Un exemplu mai recent este cu oamenii de știință din Sillicon Valley care, până nu demult, publicau articole. Când a început pandemia au constatat că, dacă costul vieții este mai mic în Texas, se vor muta în Texas. Rezultatele lor academice, rankingul lor, după câțiva ani, a fost mult mai jos, deoarece teritoriul în care trăiau și respirau zilnic avea standarde mai mici. Mediul în care ești, ce vorbesc colegii tăi de facultate, ce se discută la cafenea, adică ecosistemul, totul influențează ceea ce producem și ce facem.

Trăim într-o lume în care toolurile care erau destinate specialiștilor sunt acum disponibile la scară largă, tuturor. Acest lucru poate crește oportunitățile, dar și riscurile. Citeam despre situația unui institut de cercetare din Zürich unde s-au creat niște boți care au creat conturi false de Reddit. Prin acele conturi false, au reușit să schimbe comportamentele și opiniile unor utilizatori umani. Ce putem face pentru a anticipa astfel de pericole? Aveți alte exemple de utilizare mai puțin etică a instrumentelor noastre?

Andrei Marinoiu: Pentru asta e nevoie de inteligență emoțională. Trebuie să înveți ce este binele și ce este răul.

Alexandru Cioflică: Tehnologia poate reprezenta un pericol. Am avut o întâlnire cu profesorii de la Politehnică săptămâna trecută pe această temă. Anthropic a mers pe ideea de etică la antrenarea modelelor. Grok avea probleme la nivel de etică. Trebuie să impunem reguli și să legiferăm. Este rolul nostru de a duce informația asta în comunitățile noastre, în firmele noastre.

Denis Salanța: Sunt domenii intens legiferate. Avea Uncle Bob un talk acum ceva timp despre conduita programatorilor. Medicii trebuie să dea un test pentru a profesa, iar testul trebuie recunoscut de o școală acreditată unde studiezi mult. Pentru noi e ușor. Ne reconvertim profesional și începem să scriem cod. Este important ca noi să transmitem etica de muncă mai departe.

Anamaria Androne: Tehnologia umană avansează destul de rapid, dar natura umană nu sau foarte încet. Cu un cuțit poți tăia pâinea sau poți omorî oamenii.

Va mai exista Software Craftsmanship având în vedere că AI-ul ne va oferi date din ce în ce mai ușor? Suntem noi ultima generație de programatori?

Denis Salanța: Un studiu realizat de ITM-ul american a subliniat că a scăzut foarte mult numărul de juniori angajați. Mă aștept să mai rămână puțin de lucru și pentru noi.

Anamaria Androne: Nu vom fi ultimii, dar vom fi ultimii de acest fel, deoarece meseria aceasta evoluează.

Andrei Marinoiu: Natura muncii va evolua. Va trebui să fim mai creativi. Era și o glumă care zicea că, până când vom putea da cerințele de lucru către un AI suficient de bine, suntem în siguranță.

Alexandru Cioflică: Deja avem un job nou, cel de Prompt Engineer. Nu știm cât va dura, dar acesta există.

NUMĂRUL 155 - Software Craftsmanship

Sponsori

  • BT Code Crafters
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • GlobalLogic