Mai 2019 · Riga, Letonia · comentarii

Toată lumea știe că calitatea software-ului este esențială, dar când întreb de ce, mulți dezvoltatori se luptă să explice. În acest articol, voi descrie trei motive principale pentru care ar trebui să ne preocupăm de calitate și să ne străduim pentru excelența tehnică.

Calitatea este măiestrie.

Nevoia crucială a oricărui dezvoltator este dorința de îmbunătățire, cunoscută și sub numele de Stăpânire. Dezvoltatorilor le place să facă lucrurile „în modul corect” și să respecte standardele lor de calitate.

Pentru a atrage dezvoltatori buni, ar trebui să aspirați la crearea unei culturi a excelenței tehnice, în care calitatea nu este negociabilă.

Potrivit HackerRank, atunci când dezvoltatorii decid ce ofertă de muncă acceptă, principalul criteriu este creșterea profesională și învățarea. Acest rezultat se aplică atât juniorilor, cât și dezvoltatorilor seniori:

este

Stăpânirea depășește domeniul afacerii, prestigiul companiei și chiar compensația. Întotdeauna am ales o companie unde să pot învăța de la maeștri și să mă bucur să lucrez la o bază de cod bine creată.

Permițând dezvoltatorilor să crească profesional, să învețe de la maeștri și să lucreze la cele mai înalte standarde de calitate, atrageți cei mai buni oameni. Rezultatele nu vă vor face să așteptați. Oamenii tăi vor răspândi un cuvânt și vor aduce mai mulți profesioniști care au aceeași idee.

Dimpotrivă, prin compromiterea calității software-ului, reduceți calitatea forței de muncă. Lucrul la baza de cod rahat este tortură. Taierea colțurilor sub presiune este o rușine. Degradarea continuă este sinuciderea profesională. Nicio persoană sănătoasă nu vrea să sufere, așa că, în cele din urmă, nu veți putea angaja niciun programator bun.

Plata unui salariu mare va înrăutăți lucrurile - veți atrage dezvoltatori care vor face tot ceea ce spuneți, nu ceea ce trebuie făcut. Jucătorii B angajează jucători C. Jucătorii C angajează D jucători. Nu durează mult pentru a obține jucători Z. Așa apare cultura mediocrității.

Pentru a atrage noi dezvoltatori și a vă păstra cei mai buni oameni, faceți din calitatea prioritatea maximă.

Calitatea înseamnă viteză.

Nu există niciun conflict între calitate și viteză. Calitatea permite viteza. Niciun dezvoltator nu a spus vreodată - „această bază de cod de rahat mă face foarte repede!”. Fiecare dezvoltator bun știe că lucrul la o bază de cod bună ne face mai rapid, deoarece petrecem cea mai mare parte a timpului citind codul altcuiva. Unii experți susțin că raportul dintre timpul petrecut citind versus scriere depășește cu mult 10-1. Deoarece codul curat facilitează citirea, scrierea codului curat este o investiție rezonabilă. Facerea ușor de citit a codului facilitează scrierea. Profit pur!

Dar există o nuanță aici.

Investim timp în calitate, deoarece vrem să prevenim situația în care se acumulează lucruri rele în timp, ceea ce face dezvoltarea lentă și imprevizibilă:

Dar dacă construim un prototip de unică folosință sau un Fake Door Experiment?

În acest caz, lucrurile rele nu se acumulează, deoarece vom arunca codul în coșul de gunoi. Respectarea standardelor rigide de inginerie s-ar putea să nu fie cea mai bună idee. Nu are rost să construiești ceea ce trebuie înainte să știi ce este corect. Hack-o, expediați-o, ștergeți-o.

După ce v-ați validat ideea și doriți să construiți o afacere durabilă, pe termen lung, este mai bine să o construiți corect. Acum alergi un maraton, nu un sprint. Nu uitați - singura modalitate de a merge repede, pe termen lung, este să mergeți bine.

Calitatea este grea.

Pentru a fi rapid pe termen lung, trebuie să fim atenți la calitate. Dar încetinirea, de dragul unui câștig pe termen lung, este costisitoare. Singura soluție este să învățăm abilități care ne permit să obținem rezultate de calitate rapid.

De exemplu, dezvoltarea bazată pe test (TDD) duce la o calitate mai bună. Dar pentru a lucra rapid în stil TDD, aveți nevoie de ani de practică. Nu puteți stăpâni TDD completând un set de katas cu cod Fibonacci. Codul de producție este diferit de codul katas - este non-banal, uneori dezordonat, parțial scris de tipul concediat căruia îi plac metodele statice. Când începeți să aplicați TDD pe baza de cod de producție, productivitatea dvs. scade. Sub presiune, devine tentant să restabiliți productivitatea prin abandonarea TDD, deoarece TDD învăţare te încetinește:

Uităm că nimic mare nu vine fără sacrificiu și ne oprim în mijlocul durului, fără a atinge niciodată nivelul următor de stăpânire. Dar nu există o cale rapidă spre stăpânire. Singura modalitate de stăpânire este sacrificiul, disciplina și anii de practică. Calitatea este grea.

Calitatea este reputație.

Calitatea muncii dvs. arată cât de mult vă pasă de colegii de echipă și de oamenii care vor lucra la baza de cod după ce părăsiți proiectul. Ești ceea ce faci, nu ceea ce spui că faci. Dacă doriți ca alții să vă trateze ca pe un profesionist, comportați-vă în consecință. Adică, faceți o muncă de calitate.

Dacă lucrați în echipă, ar trebui să vă pese de colegii dvs. de echipă. Dacă cineva petrece ore suplimentare la muncă departe de familie, încercând să-ți înțeleagă rahatul, în timp ce ești în vacanță, nu ești un bun coechipier. Dacă vă așteptați ca victimele crimelor dvs. să vă recomande în cercurile lor - uitați de asta.

Reputația ta te precedă. Dacă cineva te-a surprins tăind colțurile, devii imediat o persoană cu standarde scăzute. Așa te vor vedea oamenii. Munca neglijentă face parte din marca dvs. Pentru a vă construi o reputație fără pată, trebuie să produceți lucrări de calitate de ani de zile. Pentru a-ți distruge reputația, livrează o lucrare neglijentă o dată. Este o stradă cu sens unic.

Marca ta este ceea ce spun alții despre tine când nu ești în cameră.

Desenați linia pe care nimeni nu o poate trece. Totul este flexibil - domeniul de aplicare al proiectului, timpul, banii, dar nu calitatea. Indiferent de ceea ce fac ceilalți, faceți întotdeauna munca voastră cea mai bună. Tu ești ceea ce faci. Este mai bine să pierzi un loc de muncă decât reputația ta. Nu negociați calitatea. Fii persoana de calitate.

  • 🥇 Calitatea este măiestrie.
  • 🚀 Calitatea înseamnă viteză.
  • 🏋️‍♂️ Calitatea este grea.
  • 👍 Calitatea înseamnă reputație.