Corey: Huh? Deci nu este neaparat negativ?

Joe: Nu, cu siguranta nu. Cu totii am scris cod de mostenire si cu totii vom continua sa scriem cod care va deveni mostenire.

Corey: E bine sa stii. Ce este un exemplu de sistem mostenitor? Pare destul de larg. Care este unul pe care l-ai vazut care ti-a prezentat mostenirea?

Joe: Ei bine, este adevarat. Este o definitie larga. Deoarece lucram in industria serviciilor de software, avem tendinta de a privi software-ul vechi ca software pe care nu l-am scris. Un sistem de mostenire este pur si simplu unul pe care altcineva l-a construit si pe care l-a mentinut sau il intretine, iar acum ne ofera posibilitatea de a sari si sa il privim, sa adaugam, sa imbunatatim, etc.

Corey: In lucrarea dvs. cu software-ul vechi, gasiti ca este frecvent in cadrul companiilor mari non-tehnice sau a companiilor de produse sau a ambelor?

Joe: Cu siguranta sunt ambele. Software-ul vechi este peste tot. In masura in care oamenii ataseaza anumite sentimente software-ului mostenitor, uneori, desi poate conecta un sistem sau un sistem mare, care a fost de aproximativ 10 ani. Nu ma abonez neaparat la acest lucru, deoarece faptul ca software-ul se schimba atat de repede incat instrumentele si chiar abordarea pe care o utilizati pentru a construi software-ul ar putea fi invechite in cateva luni, caz in care este important sa il privim ca ceva ce evolueaza si ceva de care trebuie sa aveti grija si sa va mentineti in mod constant.

Corey: In rolul tau, esti adus adesea sa spui sa imbunatatesti un sistem mostenit sau sa abordezi unele probleme cu acesta. Sa ne jucam si sa spunem ca lucrez la o companie si esti chemat sa ne ajute. De unde stim cand ar trebui sa va sunam cand sistemul are nevoie de ajutor?

Joe: Exista cateva lucruri. Unul este, este foarte greu sa ceri ajutor in aceasta industrie. In unele moduri, aceasta este doar o problema de afaceri. Un lucru care este adevarat in ceea ce priveste Def Metoda este ca suntem adesea, desi nu intotdeauna, chemati sa oferim ceva care suna inofensiv de genul: „Hei, avem nevoie de niste ingineri suplimentari care sa ne ajute sa construim o caracteristica noua sau sa ne ofere un inginer suplimentar pentru ca noi ne scalam foarte repede. “

Joe: Desi toate acestea pot fi adevarate, cred ca este cu adevarat greu din perspectiva unui CTO sau din perspectiva unei parti interesate cheie sa te duci la afaceri si sa pledezi pentru dolari atunci cand dolarii sunt necesari strict pentru reabilitarea unui sistem care poate fi nesanatos. . Deoarece exista o stigma acolo, dintr-o data, trebuie sa le explici oamenilor care nu sunt tehnici unele lucruri foarte tehnice si este foarte usor pentru conversatia respectiva sa fie transformata in „De ce nu este sanatos? Nu? A fost treaba ta pentru a mentine acest lucru in functiune si a avea succes pentru totdeauna, si de ce ar fi nevoie sa aducem pe cineva? “

Joe: Ceea ce este intr-adevar nefericit, deoarece fiecare sistem are nevoie de ajutor. Niciun program software nu a fost lansat fara bug-uri. Uneori, aceste bug-uri se rezolva intr-adevar rapid si murdar, si trebuie sa existe o dragoste care sa se intoarca si sa reconstruiasca ceva. Noile caracteristici ale afacerii sunt de fapt cel mai mare motor al codului mostenitor, care poate fi greu de intretinut, deoarece uneori poate fi mai usor sa accesezi o solutie intr-un mod rapid, decat sa te intorci si sa planifici si sa vezi intreaga arhitectura si sa cauti cel mai bun mod de a adaugati o caracteristica noua.

Joe: Exista o multime de motive pentru care oamenii intra in situatie, dar este suficient sa spunem ca, atunci cand este apelata Metoda Def, de obicei suntem chemati nu in mod special pentru ajutor cu baza de cod, si deci trebuie sa aratam putin mai adanc pentru vezi: „Ei bine, este nevoie de ajutorul nostru pe baza codului sau chiar au nevoie de marirea personalului?”

Corey: Spune ca o companie te suna si spune: „Avem nevoie de mai multe corpuri”, asa cum spuneai ca este adesea intrebarea initiala. Cum ii puteti face de la asta pentru a recunoaste problemele reale pe care le poate avea software-ul cu care au nevoie de ajutor?

Joe: De multe ori ne facem sarguinta, asa ca incepe de acolo, nu? Recunoastem ca orice sistem care a functionat timp de o perioada substantiala de timp a avut succes, nu? Asadar, au venit dezvoltatori, ingineri, arhitecti, manageri de produse, oameni de afaceri s-au reunit pentru a construi un produs care are succes si a obtinut o anumita masura de succes, altfel nu am fi acolo. Nu ar fi bani, nu vom putea intra si sa facem nimic.

Joe: Deci daca il abordam cu respectul acesta, atunci putem sa-l privim si sa spunem: „Bine, cum putem oferi valoare?” Uneori, asta incepe cu un simplu audit de cod, daca este un proiect mic. Daca este un proiect mai mare, s-ar putea sa inceapa cu … Ar putea fi unul dintre dezvoltatorii nostri care se aseaza doar, lucreaza cu un inginer din echipa pentru a incerca sa faca ceva simplu, sa construiasca o caracteristica noua, sa rezolve o eroare.

Joe: De multe ori, facem acest lucru in fata si incepem sa apelam la unele dintre lucrurile care sunt cu adevarat probleme cu sistemul. Sincer, avem doar un feedback sincer si sincer pentru persoanele care ne solicita prezenta, sa spunem: „Da, vrem sa venim si sa va ajutam. Da, credem ca putem face progrese pozitive. Iata ce credem ca avem nevoie sa facem pentru a face acel progres pozitiv. “

Corey: Ai spus ca uneori din primii pasi este sa stai alaturi de un inginer care este deja in echipa, cautand prin software, etc. Poate sa aveti niste conversatii sincere despre asta. Spuneti ca sunt inginer in acea echipa, cum va intalnesc mai intai si cum sunt conversatiile noastre initiale?

Joe: Cred ca in aceste zile nu m-ai intalni, din pacate.

Corey: Corect. Desigur, esti CEO. Ar trebui sa spun una din echipa ta.

Joe: Corect. Deci, cineva din echipa mea. Dar acest lucru este important din cateva motive. Primul lucru este ca nu scriu cod in fiecare zi asa cum ma obisnuisem si chiar trebuie sa cream incredere cu echipa. Modul de a face acest lucru este prin faptul ca unul dintre inginerii nostri se demonstreaza ca este capabil sa adauge in mod semnificativ sistemul pe care l-ati construit si intretinut.

Joe: Tipul de interactiuni care se intampla, incepem cu intrebari usoare despre proces, deoarece procesele sunt despre oameni, iar oamenii ne vor conduce mereu la problemele tehnice. Deci, de obicei, o conversatie poate incepe cu: “Cum adunati cerintele? Cine accepta? Unde este mediul de inscenare?” Dreapta? Aceste lucruri. Sau chiar, „Care este cadenta ta? Cat de des eliberati? “

Joe: O astfel de intrebare este orientata spre proces la nivelul suprafetei, dar dedesubt are o multime de suporturi tehnice. Daca se lanseaza la productie o data pe luna, va puteti intreba de ce. Sau daca intrebi: „Bine, bine, cum e sa eliberezi? Ar trebui sa incepi …” Atunci ai putea spune: „Pai, ce trebuie sa eliberezi?” Raspunsul ar trebui sa fie: „Ei bine, rulam aceasta comanda, nu? Ar trebui sa existe un singur buton sau o singura comanda care sa se desfasoare”.

Joe: Daca nu este cazul, ne putem intreba de ce, nu? Putem incepe doar sa sapam putin in ea. Din nou, acesta nu este un interogatoriu. Compania noastra nu functioneaza perfect si nu asteptam ca alte companii sa functioneze perfect. Ne asteptam sa apara probleme. Dar am vazut o multime de probleme diferite si am ajutat la remedierea acestora. O scurta conversatie sincera la inceput si, mai ales, cu un inginer sau un PM care face parte din echipa, asta este nivel scazut, adica … la nivel scazut, ma refer la construirea software-ului in fiecare zi, nu doar sa vorbesc despre asta.

Joe: Acesti oameni sunt de obicei sinceri cu noi, nu? Ne vor spune unde sunt problemele pentru ca vor sa se imbunatateasca la fel de mult sau mai mult decat noi.

Corey: Deci lucrati cu echipa existenta, ati stabilit un nivel de incredere, ei stiu ca intentiile dvs. sunt de a ajuta la imbunatatirea software-ului. Cum evaluati in final ce trebuie sa schimbati si cum comunicati asta?

Joe: Puteti imbunatati intotdeauna o baza de cod, indiferent de situatie. Asta nu inseamna ca aceste schimbari sunt necesare chiar acum. O mare parte din aceasta este intelegerea locului in care este acum sistemul si cat de sigur ne simtim impingand ceva in productie, nu? Cat de sigur ne simtim impingand o noua caracteristica in productie. Modul in care evaluam cat de sigur ne simtim ca vedem, exista teste automate? Daca da, unde sunt? Exista o conducta CI / CD? Unde este? Cum il rulam? Cum evaluam feedback-ul? Atunci exista un mediu de scenare care sa reflecte exact productia? Dreapta?

Joe: Deci, daca avem acele lucruri in loc, atunci putem incepe sa spunem: „Bine, acest sistem, care este mostenit si, prin definitie, este imperfect, putem face unele presupuneri rezonabile ca putem scoate codul pe usa intr-un fel si sa te simti in siguranta in acest sens. ” Daca lipsesc vreunul din aceste lucruri, de aici incepem sa sapam. Apropo, nu este treaba noastra de a spune: „Ei bine, nu putem face nimic decat daca remediati acest lucru”. Aceasta este cu adevarat treaba managerului de angajare. Poate fi treaba mea. In cadrul proiectului mare, poate fi o sarcina de manager de produs. In acest fel, nu indreptam degetele catre nimeni, spunem doar „Pentru a putea fi eficienti in munca noastra, trebuie sa putem avea aceste lucruri la loc”.

Corey: Spuneti ca gasiti o multime de schimbari importante si necesare pe care le recomandati, dar bugetul nu este acolo sau timpul pe care l-ati acordat nu exista. Cum te descurci cu asta?

Joe: Cred ca ne ocupam de un subiect cu adevarat important, iar personalul meu a oferit o modalitate de a delimita sau separa aceste tipuri diferite de proiecte. Exista un software vechi care poate cuprinde aproape orice si noi il numim software brownfield. Exista un software greenfield, cu care majoritatea oamenilor sunt familiarizati, acesta este codul nou pentru un proiect nou sau un proiect existent, dar scrie ceva de la zero.

Joe: Brownfield este orice este mostenirea. Apoi, desemnam si o categorie numita minefield, care este proiecte care se confrunta intr-un mod critic intr-un mod critic si nu simtim ca putem face o schimbare a mediului de productie fara un risc considerabil ca vom declansa o mina, nu? Asadar, aduceti un server jos, provoca perturbari grave serioase utilizatorilor, etc. Cand intalnim aceste lucruri, trebuie sa le semnalizam si trebuie sa le spunem: „Uite, aceasta nu este o baza de cod pe care inca o consideram software de transport sigur”. Si-

Corey: Imi pare rau. Sunt foarte curios despre campul meu. Suna putin infricosator. Care este un exemplu de ceva care ar face in mare masura campurile de software?

Joe: Deci, ceea ce face ca oferta sa fie un camp de mina este, de obicei, o poti descoperi in conversatie de multe ori. Va intrebati: “Exista o integrare continua?” Ei spun: „Nu”. Va intrebati: „Cum furnizati software pentru productie?” Acestia spun: „Noi ne aducem pe serverul de productie”. Spui: “Exista teste?” Ei spun: “Ce sunt testele?” Dreapta. Dar aceste tipuri de intrebari apar. Vestea buna este ca, de cele mai multe ori, clientii campului minier se pot diagnostica.

Joe: De multe ori, nu aud doar de aceste probleme. Au o echipa sau aveau o echipa care incerca sa construiasca si sa implementeze software, iar lucrurile mergeau prea mult, nu? Ca o caracteristica de utilizator care a durat o zi, acum dureaza doua saptamani si nu au incredere in lansarile lor. Dupa ce s-au eliberat, sunt doar toate mainile de pe punte pentru ca orice ar putea merge prost. Si, apropo, aceasta a fost o parte centrala a carierei mele de dezvoltator de software, a fost salvarea proiectelor care aveau nevoie de el.

Joe: Deci imi place. Am un punct moale in inima mea pentru proiecte de genul acesta. Deci vestile bune sunt ca stiu ca au nevoie. Ai mai intrebat, ce se intampla daca nu au bugetul pentru asta? Asta este foarte greu si se intampla uneori, mai ales cand lucram in spatiul de pornire, care este relativ obisnuit pentru noi in New York, unde ei spun: „Hei, uite, am avut 200 de bani pe care i-am petrecut in aceasta echipa care a spus ca va dura sase luni. A trecut un an si jumatate. Am cheltuit toti banii si nu avem nimic de aratat pentru asta. “

Joe: Simpatizez aici. In aceste cazuri, vestile bune sunt ca putem face niste pasi cu adevarat pozitivi pentru ei intr-un buget cat mai scump, daca vor … nu vor sa asculte recomandarile noastre, dar daca sunt dispusi sa faca unele schimbari si angajam un buget pentru imbunatatirea lucrurilor, putem face un caz cu adevarat puternic. De exemplu, cum ar fi ceea ce v-am spus inainte, bine, daca le intrebati „Cum va desfasurati?” Ei spun: „Ei bine, intrebam ssh pe server”.

Joe: Este usor sa spui, “Uite, te putem scoate din asta. Va putem scoate din asta. Putem pune CI / CD in loc. Folosim Platform ca serviciu, folosim Heroku toate timp si putem sa ajungem intr-un punct in care cel putin poti elibera cu incredere, nu? Cel putin poti ajunge intr-un punct in care echipa ta existenta iti poate arata ceva intr-un mediu de scena inainte de a iesi in lume si il poti privi si ai putea da da sau nu, iar ei accepta sau resping.

Joe: Aceste lucruri sunt, din fericire, uneori dureaza cateva saptamani. Pentru a te intoarce si a reabilita intreaga baza de cod, ar putea dura mult timp si trebuie sa iei o decizie cu privire la acele proiecte pe campul de mina, fie sa continui cu ceea ce ai sau daca sa rescriei o parte din asta si sa o rescrii. Acestea sunt intrebari mai grele, iar acestea pot fi mai scumpe. Insa puteti face progrese cu adevarat semnificative rapid chiar si in cazul unui proiect de camp minier.

Corey: Vreau sa vorbesc despre unele dintre domeniile unei aplicatii mostenite pe care le intrati si le remediati si vreau sa incep cu codul. Ce cauti cand citesti cod intr-o aplicatie?

Joe: Daca i-ai intrebat pe inginerii mei, probabil vei primi cateva raspunsuri diferite. Cred ca unii oameni incep cu testele pentru ca suntem o organizatie bazata pe teste. Unii oameni incep cu tabelele bazei de date, deoarece doresc sa inteleaga arhitectura de date si poate modelarea. Lucram la o multime de sisteme diferite, astfel incat fiecare, pentru a lucra in Django ar putea avea un anumit set de antipaterne cu adevarat comune.

Joe: Daca lucrezi la Rails, s-ar putea ca acesta sa fie intr-adevar antipatternuri comune. Veti vedea o multime de lucruri. AntiPatterns sunt ceva pe care il puteti cauta. Puteti cauta o clasa a lui Dumnezeu, asa cum este mentionata, nu? In cazul in care exista o clasa care controleaza 80% din aplicatie si lucrurile raman doar incurcate pe asta. De asemenea, folosim instrumente atat open source, cat si platite pentru lucruri, precum Code Climate, lucruri precum Flog si Flay pentru proiecte Ruby.

Joe: Exista tot felul de analizoare statice pentru proiecte .NET si Java care ne pot spune care este complexitatea diferitelor parti ale sistemului. Unde este cea mai mare palnie? Adica, clasele se schimba intr-adevar, intr-adevar frecvent. Puteti incepe sa va intelegeti intr-adevar doar … Facem acest lucru des, asa ca in mai putin de o saptamana, un inginer poate sa inteleaga foarte bine locul unde sunt ingropate cadavrele, ca sa zic asa si ce trebuie sa fie vizat mai intai .

Corey: Ce zici de infrastructura? Folosesti un exemplu extrem de ssh pentru a te implementa sau poate nu este chiar atat de extrem. Nu stiu. Poate se intampla multe. Dar mai pe larg, situatia de gazduire, situatia CD-ului, ce cauti in infrastructura care ar putea avea nevoie de imbunatatiri daca nu exista?

Joe: Este extrem, dar este de asemenea comun.

Corey: Uau.

Joe: Din nou, nu vreau sa o stigmatizez. Daca cineva vine la noi pentru servicii, nu? Oricare ar fi acestea, inseamna ca au facut ceva semnificativ, cu exceptia cazului in care este greenfield si poate sunt doar o noua pornire, atunci incearca sa faca ceva semnificativ. Dar 90% din cazurile pe care le vedem, au fost progrese semnificative si dorim doar sa le imbunatatim.

Joe: Dincolo de acest exemplu extrem, o intamplare cu adevarat frecventa este aceea ca punerea in scena nu reflecta productia. Deci lucrurile arata bine in faza de organizare, li se arata oamenilor de afaceri in faza de organizare. S-ar putea sa fie chiar demonstrati si apoi vom lansa la productie si este ca: „Oh, bine, ceva nu a mers”, pentru ca datele nu sunt aceleasi in privinta punerii in scena ca in productie, sau arhitectura nu este aceeasi, uneori bazele de date nu sunt la fel. Uneori bazele de date nu sunt chiar de acelasi tip, nu? Pot fi SQLite pe unul si Postgres pe altul, iar uneori sunt doar … nu de aceeasi dimensiune.

Joe: O multime de cazuri in care … Ei bine, cu productia, aruncam o instanta giganta EC2 la ea si nu punem in scena. Deci, puteti incepe sa vedeti diferite probleme. Banuiesc, poti continua dincolo de asta. Exista un CDN in spatele productiei? Puteti gasi cateva lucruri nastrusnice care se intampla. Dar pentru a fi sincer cu tine, de obicei problemele pe care le vezi sunt mai clare si sunt doar un produs al fiecaruia care nu stie sau nu crede ca este la fel de important si poate ca nu a fost chiar la inceput si este acum.

Corey: Vorbesti mult despre oameni in echipe si procesezi. Cand te descoperi ca faci recomandari despre modul in care oamenii lucreaza sau modul in care echipele executa zi de zi dezvoltarea software, cum arata acele recomandari?

Joe: Imi place dezvoltarea software agila, dar sunt de parere ca acesta a devenit un termen cu adevarat umflat in industria noastra. Multi oameni o definesc diferit, in sensul ca este putin udat. Asa ca ne-am indepartat de a spune „Ei bine, acest lucru este agil si acest lucru nu este agil” si am inceput sa punem intrebari si sa analizam procesele diferitelor persoane. Deoarece, este un proces care lucreaza la un client Fintech functioneaza total diferit in clientul nostru din sectorul guvernamental.

Joe: Oameni si procese, este imens. Un lucru pe care dorim sa-l intelegem este: este interesatul sau persoana care solicita prezenta noastra sau care solicita serviciile noastre, au mai lucrat vreodata cu o echipa de dezvoltare software inainte? Au mai lucrat cu o echipa externa de dezvoltare software? Incepeti acolo. In ceea ce priveste procesul, dorim doar sa existe o cadenta, si astfel, fara prea multe ceremonii, vrem sa stim ca exista un moment specific pentru care software-ul ar trebui lansat? Daca nu, hai sa incercam sa alegem unul si sa spunem asta, „Poate ca putem elibera oricand, dar cu siguranta vom elibera in fiecare marti la 14:00”, nu?

Joe: Exista un moment in care putem face o retrospectiva sau sa reflectam asupra muncii pe care am facut-o cu scopul de a ne imbunatati in urmatoarea perioada de timp, de obicei o saptamana sau doua saptamani? Exista o intalnire de planificare in care putem privi, scrie, edita povesti despre utilizatori, privi viteza noastra, ceea ce inseamna cat de repede livram povesti si vizam cate povesti credem ca putem livra in perioada urmatoare. Doar asezarea acestor lucruri ajuta intr-adevar sa-i pui pe toti.

Joe: Spuneti, oamenii de afaceri incep dintr-o data sa obtina lucrurile in mod regulat, vanzatorii care cer lucruri, nu primesc totul deodata, dar primesc putin cateodata si pot incepe sa conteze pe el. Echipa de inginerie poate conta pe o ocazie de a-si perfectiona si imbunatati practicile intr-un forum care nu are multa indreptare si invinovatire la o retrospectiva, iar managerii de produse, designerii se pot simti cu totii ca fiind o parte semnificativa a procesului. contribuind la planificare si la strategia generala.

Corey: Daca fac o echipa, Def Metoda face cateva recomandari despre modul in care lucram si le punem in aplicare. Ce, ca inginer intr-o echipa, as putea obtine din aceasta experienta pentru a ajuta in cariera mea sau ce vreau sa fac?

Joe: Depinde cu adevarat de cat de deschis esti sa faci lucrurile diferit. Unii oameni sunt intr-adevar stabiliti in calea lor si nu doresc schimbari. Daca doriti sa va cresteti cariera, atunci cel putin, daca intram si ne vedeti facand lucrurile putin diferit, in primul rand, nu o facem in vid, asa ca va includem si va cerem parerea dvs. si va respectam parerea pentru ca ati fost acolo mai mult timp decat noi, astfel incat sa cunoasteti software-ul vechi mai bun decat noi.

Joe: Deci poti vedea cum lucram intr-un mod transparent si colaborativ.

porno gey http://focusontheharvest.com/__media__/js/netsoltrademark.php?d=adult66.net/
filme porno gangbang http://8q.redkettle.org/__media__/js/netsoltrademark.php?d=adult66.net/
poze fete porno http://www.badattitube.com/__media__/js/netsoltrademark.php?d=adult66.net/
porno cu virgine http://www.air-freight-guide.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/amatori
filme porno cu flocoase http://exceptionalbecauseyouare.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/anal
porno tabu http://nomorevaricoseveins.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/asiatice
porno scat http://www.breastcancernews.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/beeg
porno brazilia http://wiemy.2-book.net/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/blonde
hermafrodit porno http://abonmanyok.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/brazzers
jocuri porno 3d http://tools.zeddhead.com/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/brunete
caut film porno http://pestmanagementreporter.net/__media__/js/netsoltrademark.php?d=adult66.net/filme-porno/chaturbate
filme porno cubabe http://fotomodo.net/__media__/js/netsoltrademark.php?d=adult66.net/tanara-minora-violata-in-propriul-dormitor-de-doi-necunoscuti
romania filme porno http://davidfincher.com/__media__/js/netsoltrademark.php?d=adult66.net/doua-tarfe-lesbiene-cu-tatuaje-fac-o-partida-de-sex-de-neuitat
jenna jameson porno http://shipping.baliborn.com/__media__/js/netsoltrademark.php?d=adult66.net/amatoare-de-sex-are-orgasm-in-timp-ce-se-masturbeaza
filme vechi porno http://www.goodell.biz/__media__/js/netsoltrademark.php?d=adult66.net/tanara-de-16-ani-prinsa-de-frate-in-timp-ce-se-masturbeaza-cu-vibratorul-in-pat
filme porno dure http://johnhcooper.com/__media__/js/netsoltrademark.php?d=adult66.net/o-bruneta-focoasa-e-fututa-animalic-pe-la-spate-chiar-in-patul-ei
castinguri porno http://www.seanrome.com/__media__/js/netsoltrademark.php?d=adult66.net/doi-amatori-draguti-fac-sex-pe-canapea-si-au-orgasm
porno italian clasic http://racedaysports.com/__media__/js/netsoltrademark.php?d=adult66.net/creola-de-18-ani-este-fututa-in-punctul-g-pana-are-orgasm
sex porno animal http://igiveabuck.org/__media__/js/netsoltrademark.php?d=adult66.net/negresa-originala-suge-pula-si-apoi-e-fututa-pe-la-spate
porno cam http://food2go.com/__media__/js/netsoltrademark.php?d=adult66.net/blonda-beata-face-sex-oral-unui-stripper-pe-scena

Putem oferi unele evaluari cu adevarat cinstite ale software-ului si unde suntem. Probabil ca veti si … Cunoasteti inginerii nostri, invatam in permanenta. Toti cei de la Def Method au in comun faptul ca sunt studenti in cariera. Chiar si uitand orice altceva, s-ar putea sa aflati doar unde sunt toate Meetup-urile bune in apropiere pentru ca mergem la ele, unde sunt conferintele sau unde exista discutii bune online sau carti de citit pentru ca avem un arsenal dintre ele si ne place sa vorbim despre ei.

Corey: E minunat. Asa ca facand ultima, sunt intr-o echipa, tu intri, poate am crescut un pic ca inginer in acest proces. Cum pot sa ma asigur ca modificarile pe care le-ati recomandat pe care le-am implementat impreuna raman?

Joe: Trebuie sa fii un avocat in propria organizatie. Daca iti place ceea ce avem de oferit si simti ca lucrurile au stat mai bine in timpul nostru impreuna, atunci ai ocazia sa le faci. Insa, inevitabil, veti face fata rezistentei, deoarece imediat ce vom pleca, vor exista cateva sume din echipa care doreste sa se intoarca la modul in care au stat lucrurile sau sa mearga intr-o directie diferita.

Joe: Sau un om de afaceri care spune: „Ei bine, acest lucru a functionat excelent pentru timp, dar acum trebuie sa ne miscam mai repede si nu putem face X sau Y, sau trebuie sa facem un compromis pentru Z.” Cel mai bun lucru pe care pot sa-l spun este ca unul dintre voi trebuie sa pledati pentru ca schimbarile sa ramana, si doi, trebuie sa construiti in cadrul propriei organizatii oameni care, de asemenea, cred in aceleasi lucruri si vor sa faca lucrurile in mod corect sau o cale mai buna. Aceasta este cea mai buna sansa pentru a face lucrurile sa se lipeasca si a face ca lucrurile sa dureze.

Corey: Respingand un pic, Spuneti ca sunt intr-o echipa care construieste software greenfield, facem un produs nou si nu vrem sa ajungem intr-un punct in care, fara a va jigni, va sunam pentru ajutor cu ceva serios probleme cu software-ul nostru. Ce putem face in avans pentru a incerca sa evitam unele dintre capcanele software mostenite pe care le-ati vazut?

Joe: Corect. Ei bine, nici nu vrem sa ne suni pentru vreo problema serioasa. In ceea ce priveste proiectele de teren verde, dorim sa ne sunati pentru ca sase luni mai tarziu spuneti: „Omule, avem atat de multi oameni care folosesc acest lucru incat avem nevoie de ajutor pentru cresterea mai multor capacitati”. Sau, “Avem o clasa cu totul noua de utilizatori pe care nu ne-am asteptat sa vrea sa o foloseasca.” Acestea sunt apelurile pe care le dorim.

Corey: Absolut.

Joe: Cum faci sa se intample asta? Exista o multime de carti pentru a va pastra software-ul curat, pentru a respecta tiparele software, modelele arhitecturale. Unele dintre ele sunt in jur de zeci de ani, altele sunt inca scrise. Sunt mari autori acolo. Dar cred ca cel mai bun lucru pe care il puteti face este sa continuati sa invatati singur. Ei spun ca marca unui programator bun este ca se uita inapoi la software-ul pe care l-au scris in urma cu sase luni si spun: „Doamne, nu pot sa cred cum am scris asta”. Dreapta? Ai face-o mult mai bine acum. Ai face-o atat de diferit. Dreapta?

Corey: Am fost cu totii acolo.

Joe: Da, avem. Cred ca smerenia care vine cu asta este importanta si daca poti continua sa faci asta, atunci asta inseamna ca te imbunatatesti continuu. V-as putea oferi multe sfaturi aici. Startup-urile sunt cu adevarat provocatoare. Exista o dorinta reala de a va deplasa intr-adevar rapid, precum expresia respectiva ridicola, de a va deplasa repede si de a sparge lucrurile. S-ar putea sa fie bine din punct de vedere al afacerii.

Joe: Din punct de vedere al software-ului, trebuie sa existe o atentie constanta si grija pentru software-ul dvs. Iti pot recomanda unele dintre aceleasi instrumente, Code Climate si altele pentru a urmari software-ul, pentru a controla dependentele, verificarea complexitatii software-ului. Cel mai mare lucru pe care trebuie sa-l faceti este sa faceti continuu timpul, sa pledati pentru timp, sa puneti in sistemul dvs. pentru a-l face sanatos si a-l mentine sanatos.

Corey: Asa ca ai scris o carte, The Well-Grounded Rubyist. Am avut o citire inainte de aceasta inregistrare si imi place foarte mult cum acoperiti filozofia limbajului Ruby, de ce este modul in care este, pe langa modul de utilizare. Ati vorbi putin despre ce ati scris o carte?

Joe: Sigur. Sunt magulit ca ai citit-o. Nu este o lectura rapida.

Corey: Amanuntit.

Joe: Dar este minutios. Imi place cuvantul filozofie. Este putin ca un manual cu o aplecare filosofica. Asa functioneaza limbajul Ruby si acesta este motivul pentru care functioneaza astfel. Cheia implicarii mele cu acest proiect este ca nu am scris prima editie a The Well-Grounded Rubyist si nu am scris a doua. Am co-scris a treia editie. Asadar, exista un domn si o stea Ruby, pe numele lui David A. Black. Este un prieten apropiat al meu. A scris prima editie a The Good-Grounded Rubyist.

Joe: Este inca, pana astazi, una dintre cele mai influente carti din Ruby. Toti cei pe care i-am cunoscut au citit-o, am citit-o si editorii au venit la el pentru a doua editie. A facut asta, a fost fantastic. Au venit la el sa scrie oa treia editie si mi-a spus: „Nu, multumesc. Am avut destule. Dar il cunosc pe tipul acesta, Joe, si s-ar putea sa fie interesat”. Am inceput sa colaboram. Lucrurile pe care le-am adus in proces si motivul pentru care am decis ca vrem sa facem altul nu a fost doar faptul ca limba se schimba, deoarece fiecare limba se schimba, dar limba Ruby se schimba intr-un asemenea mod si se indreapta catre un stil mai functional .

Joe: Incearca, dar nu inca, intr-un moment in care pot realiza o concurenta reala intre limba, ceea ce ar fi un beneficiu enorm pentru o limba interpretata dinamic. Exista adevarate schimbari tectonice ale limbajului, iar mentenantii Ruby abordeaza dezvoltarea limbajului. Asadar, am vrut sa surprindem asta, si, pe langa actualizarea intregii carti pentru a reflecta noile caracteristici de limbaj si a elimina treptat functiile care nu mai exista, am scris si un nou capitol dedicat doar programarii functionale in Ruby. Asta a fost foarte distractiv pentru a invata si a vorbi si a pune pe hartie.

Corey: Ascultatori, puteti obtine 40% din cartea lui Joe Leo, The Well-Grounded Rubyist, folosind codul Podish 19, adica PODISH 19, prin Manning Press la manning.com. MANNING.com. Am vorbit despre multe, Joe. Mi-a placut foarte mult acest lucru, am invatat multe despre software-ul vechi si cum sa fac schimbari pozitive. Va multumesc foarte mult pentru ca sunteti pe Cod [ish].

Joe: Multumesc, Corey. Este foarte distractiv sa vorbim despre aceste lucruri. De aceea o fac pentru viata si atat de fericit sa vorbesc oricand.