Sona Avetyan Despre JavaScript și cele mai utilizate cadre ale sale
Publicat: 2022-10-06În lumea tehnologiei, cu toții putem găsi răspunsuri la întrebările noastre cu un singur clic. Cu toate acestea, ați acordat vreodată o atenție deosebită formatului sursei? Îți place să vizionezi videoclipuri, să citești articole, să cauți prin voce sau să verifici de la prima persoană? De exemplu, în dezvoltarea de software și industria ITO, verificarea interviurilor și poveștilor personale direct de la profesioniști, cum ar fi dezvoltatorii de software, inginerii și CTO, este una dintre cele mai interactive și mai fiabile moduri de a te educa. Poveștile personale și experiențele reale fac educația mai aplicabilă și mai memorabilă.
La CodeRiders, avem o serie de interviuri cu dezvoltatorii noștri de software.
În lumea tehnologiei, cu toții putem găsi răspunsuri la întrebările noastre cu un singur clic. Cu toate acestea, ați acordat vreodată o atenție deosebită formatului sursei? Îți place să vizionezi videoclipuri, să citești articole, să cauți prin voce sau să verifici de la prima persoană? De exemplu, în dezvoltarea de software și industria ITO, verificarea interviurilor și poveștilor personale direct de la profesioniști, cum ar fi dezvoltatorii de software, inginerii și CTO, este una dintre cele mai interactive și mai fiabile moduri de a te educa. Poveștile personale și experiențele reale fac educația mai aplicabilă și mai memorabilă.
La CodeRiders, avem o serie de interviuri cu dezvoltatorii noștri de software.
JavaScript conduce, de asemenea, un alt raport Statista, fiind cel mai solicitat limbaj de programare de către recrutorii din întreaga lume.
Desigur, după aceste cifre, este evident că și cadrele JavaScript vor conduce lista celor mai utilizate cadre web din lume.
Potrivit Statista, începând cu 2022, Node.js, React.js și Vue.js sunt printre primele 10 cele mai populare cadre în rândul dezvoltatorilor de software din întreaga lume.
Având în vedere acest lucru, să începem conversația cu dezvoltatorul de software complet al CodeRiders, Sona Avetyan.
Buna Sona. Vă mulțumim pentru timpul acordat pentru a vă împărtăși cunoștințele și experiența ca dezvoltator de software. Pentru a începe, vă rugăm să vă prezentați.
Buna ziua. Mulțumesc pentru invitația la interviu. Sunt Sona, un dezvoltator de software full-stack cu peste 3 ani de experiență profesională în dezvoltarea de aplicații web și desktop folosind tehnologii inovatoare. De la acceptarea mea în compania de dezvoltare software CodeRiders, am luat parte la proiectele companiei noastre și am livrat cu succes aplicații folosind PHP, JavaScript și cadrele sale principale: Vue.js, Node.js, React.js și MySQL.
Cum ai ajuns la CodeRiders?
Cred că povestea mea de fundal de a ajunge în industria IT (în special în CodeRiders) este interesantă și poate motivantă pentru unii. De aceea vreau să vă împărtășesc mai detaliat.
Am un master în științe actuariale și matematică, iar la începutul carierei, m-am imaginat ca un profesionist de succes în acest domeniu. Cu toate acestea, odată cu trecerea timpului, am observat că interesele mele s-au oprit, mai ales după marea „explozie” a industriei informatice și a tehnologiei informației în economia armeană. În anii de facultate, domeniul IT a înflorit în Armenia. Din ce în ce mai mulți adulți tineri erau obsedați de IT și existau atât de multe oportunități de creștere și cariere excelente în ea. Deși îmi mergea destul de bine în domeniul meu, am decis să încep unul nou-nouț în industria tehnologiei informației. Prietenii mei m-au sfătuit să am încredere în școala de dezvoltare web CodeRiders pentru un început stabil și le-am urmat sfaturile.
După ce am absolvit cu succes școala de dezvoltare software CodeRiders, am început să lucrez pentru una dintre cele mai mari companii de asigurări din Armenia ca specialist în suport tehnic. În cele din urmă, am crescut pentru a fi liderul echipei. Deși mi-a plăcut meseria mea, am știut întotdeauna că vreau mult mai mult decât doar sprijinirea și menținerea codului scris de alți dezvoltatori de software și ingineri. Compania de asigurări a fost doar o „pregătire” pentru mine pentru o carieră mai mare și mai strălucitoare.
Am lucrat în compania de asigurări timp de 6 ani, iar între timp am ținut CodeRiders în minte. Știam că școala de dezvoltare de software s-a transformat în compania de outsourcing software CodeRiders și a devenit una dintre cele mai de succes companii locale de tehnologie din Armenia. I-am urmărit pe CodeRiders pe rețelele sociale și m-am imaginat mereu ca făcând parte din echipa lor prietenoasă. Mi-a plăcut compania și stilul ei de lucru. În 2019, am primit un telefon de la fondatorul CodeRiders și m-a invitat să mă alătur echipei lor minunate. A fost unul dintre telefoanele mele preferate vreodată. Am fost încântat și, bineînțeles, am acceptat oferta și așa a început totul. M-am adaptat rapid la atmosferă deoarece eram familiarizat cu compania și toată lumea a fost foarte susținătoare, prietenoasă și întotdeauna gata să ajute.
Puteți vorbi mai multe despre stiva dumneavoastră de tehnologie principală și despre ce ați luat în considerare atunci când ați ales aceste tehnologii?
Acesta este „pachetul complet” al abilităților mele tehnice de acum.
- Web: HTML, CSS3, LESS, SASS, Bootstrap, JavaScript, PHP
- Servere: Apache, WAMP
- Baze de date: MySQL, MSSQL
- Limbi: PHP (versiunea 5.6-8.x), JavaScript, SQL
- Tehnologii/Biblioteci: Vue.js, React.js, Node.js, Laravel, JQuery, Electron.js, API-uri sociale (Google)
- Concepte: OOP, MVC
- Medii: Linux (Ubuntu, CentOS 6/7), MS Windows 10, Git, SVN
Am lucrat cu limbajul de dezvoltare software PHP la începutul carierei mele de programator. Apoi am trecut la JavaScript. Le iubesc pe amândouă, dar JS este cu siguranță preferatul meu.
Primul meu „mini-proiect” cu JS a fost construirea unui sistem de cărți de vizită online pentru compania noastră. Toți angajații noștri își puteau introduce acreditările și își pot face cărți de vizită personalizate. Apoi, ar putea scana și imprima aceste cărți de vizită, să le transfere pe telefoanele lor mobile sau pe computere și să le folosească în diferite ocazii. Am folosit Vue.js pentru dezvoltarea front-end Node.js și MongoDB pentru dezvoltarea back-end. Acesta a fost primul meu proiect care s-a bazat complet pe tehnologii JS. La acel moment, aveam de ales să folosesc PHP pentru back-end, dar eram foarte interesat de JavaScript și cadrele sale. În plus, era propriul nostru proiect, așa că l-am încercat și a funcționat foarte bine.
JavaScript este foarte dinamic dacă nu utilizați TypeScript cu el, ceea ce îmi place exact la JS. Îmi place să mă joc cu codul. Este ca și cum te joci cu tencuiala și nu trebuie să urmezi anumiți pași fixați de multe ori. Spre deosebire de limbaje statice precum Java, în JavaScript, interpretul atribuie variabilelor un tip în timpul rulării pe baza valorii variabilelor la momentul respectiv. JavaScript dinamic este o metodă de a crea acțiuni pe o pagină web fără a fi nevoie să încărcați întreaga pagină în browser. Acest lucru, la rândul său, îmbunătățește viteza site-ului web și îl face mai receptiv la utilizator. Pe de altă parte, nu vă puteți imagina dezvoltarea web fără JS, deoarece întregul control al dezvoltării front-end este în mâinile tehnologiilor JS.
Deci, în JavaScript, puteți fi mult mai flexibil și vă poate ajuta în multe cazuri. Cu toate acestea, acest dinamism irită uneori mulți dezvoltatori de software, mai ales dacă sunt dezvoltatori de software de limbaje tipizate precum Java sau C#. Nu avem nimic reparat în JavaScript, dar, pe de altă parte, dacă vrei să fii puțin „creativ” cu codul, îți oferă o șansă. Între timp, JavaScript are și o soluție pentru acei dezvoltatori de software care sunt obișnuiți cu limbaje tastate. Datorită flexibilității sale, ei pot utiliza pur și simplu TypeScript cu el.
Diferența dintre limbajele de dezvoltare software tipizate și dinamice este în cele ce urmează. Dacă dați un tip unei anumite variabile, acesta este fix și nu o puteți schimba niciodată. De exemplu, dacă definiți o anumită variabilă ca șir, număr sau altceva, nu vă puteți întoarce niciodată și nu vă puteți schimba tipul. Pe de altă parte, în limbaje dinamice precum JS, puteți spune, OK, în prezent variabila mea este un număr, dar mai târziu o voi face un șir. În unele cazuri, „strictețea” limbilor dactilografiate este grozavă pentru că eviți multe erori, dar, pe de altă parte, dinamismul „flexibilității” ajută și în multe alte ocazii. Deci, este greu de spus care dintre ele este mai bună. Depinde în principal de un anumit dezvoltator de software și de trăsăturile caracteristice ale unui anumit proiect.
În concluzie, dacă am șansa de a alege stiva tehnologică a unui anumit proiect, acord o atenție deosebită „substanței” proiectului. Este foarte important să înțelegeți esența proiectului dvs., structura acestuia și posibilitatea oportunității acestuia, deoarece aceștia sunt principalii factori de luat în considerare înainte de a alege o stivă tehnologică specifică pentru proiectul dvs. De exemplu, ar trebui să utilizați SQL sau MongoDB pentru baza de date? De ce este mai bine să folosiți Vue.js pentru dezvoltarea front-end? Ce zici de Node.js sau PHP pentru dezvoltarea back-end și așa mai departe?
Vă rugăm să vorbiți despre lucrurile dvs. preferate despre JavaScript și cadrele sale (Node.js, Vue.js și React.js).
- Dinamismul JavaScript
- Lucrul cu JS și cadrele sale este ca și cum ai construi o casă
După cum am menționat mai devreme, dinamismul este lucrul meu preferat numărul unu. Cel mai mult îmi plac framework-urile front-end JS. Cu cadrele front-end JavaScript, sunteți liber să vă jucați cu imaginația.
Compar adesea lucrul cu JS și cadrele sale cu construirea unei case. Mai întâi construiești „scheletul” clădirii tale și stabilești deja locurile anumitor elemente pe fiecare etaj, de exemplu, ușa din față, camerele, ferestrele și așa mai departe. În loc să le reconstruiești pe toate la fiecare etaj, le remodelezi pe fiecare etaj. Fiecare piatră din casa ta este o componentă, iar fiecare scară sau lift este un traseu. În această clădire, de exemplu, fiecare etaj este paginile site-ului dvs., scările și lifturile sunt traseele (când transferați de la o pagină la alta), iar toate celelalte elemente, cum ar fi pereții, scaunele și ferestrele, sunt componente modificabile.
Oaspeții casei sunt utilizatorii, iar rezidenții sunt ceilalți dezvoltatori de software și ingineri care lucrează cu tine. Oaspeții rezidenților ar trebui să se simtă confortabil atunci când vă vizitează casa.
Care este cel mai bun cadru JavaScript?
Aceasta este o întrebare foarte interesantă și, desigur, nu are un răspuns specific. În loc să menționez doar un cadru JavaScript specific, voi compara cele mai populare cadre JS și voi lăsa pe voi să decideți.

Vue.js și React.js sunt folosite în dezvoltarea front-end, în timp ce Node.js este folosit pentru dezvoltarea software back-end.
Vue.js și React.js sunt foarte asemănătoare și, în același timp, foarte diferite. Dacă cunoașteți React.js, este foarte ușor să învățați Vue.js și invers. Aceste două cadre se completează reciproc. De exemplu, când mă ocup de intrări și modificări, este mult mai ușor să lucrez cu Vue.js decât cu React.js.
În React.js, ar trebui să scrieți mai mult cod decât în Vue.js. Structura codului este, de asemenea, mai bine organizată în Vue.js, dar, din nou, depinde foarte mult și de modul în care scrieți codul.
În general, cadrele JS sunt cele mai bune, deoarece constau din componente și este foarte ușor să te joci cu ele. Luați în considerare modelul „nu te repeta”. Dacă ați scris deja o componentă, o puteți utiliza în mai multe locuri în loc să o rescrieți.
De exemplu, trebuie să scrieți un cod pentru un „buton”, iar structura acestui buton este aceeași în toate locurile, cu excepția modificărilor minore, cum ar fi culoarea butonului sau culoarea hoverului. Dezvoltatorul de software nu rescrie codul de la zero dacă dorește să facă aceste modificări minore. Aceștia preiau componenta specifică responsabilă de culoare și o schimbă pe diverse pagini în funcție de cerințele clientului. Deci, pe fiecare pagină, numiți această „componentă de culoare”.
Folosesc Node.js în dezvoltarea mea back-end împreună cu React.js și Vue.js pentru dezvoltarea front-end, iar combinația acestor trei tehnologii este ideală. Glumesc pe seama acestei combinații comparând-o cu o persoană ideală, care este superbă atât pe dinăuntru, cât și pe dinafară.
În cadrul Node.js, îmi place să lucrez cu Express.js sau Nest.js. Am început să lucrez cu Nest.js în timpul dezvoltării noului nostru site web, care va fi lansat în curând.
Cum ați evalua importanța JavaScript în industria IT actuală?
Nu îmi imaginez dezvoltarea web fără JavaScript. Desigur, în zilele noastre, industria IT crește masiv și rapid, dar JS are aceeași viteză de creștere. Își ajustează soluțiile în funcție de cele mai recente evoluții IT. Deci, sunt sigur că JS va rămâne în industria IT timp de zeci de ani.
Vă rugăm să vorbiți despre cele mai „memorabile” proiecte de dezvoltare software la CodeRiders.
Voi vorbi despre primul meu proiect „masiv, complex și enorm”, așa cum îmi place să-l numesc. Acest proiect m-a format ca un dezvoltator de software cu experiență.
Este greu de explicat pe scurt acest proiect de dezvoltare software personalizat. Clientul operează în mai multe industrii: soluții software media și divertisment cu soluții software de marketing și analiză. Clientul oferă o platformă uriașă pentru ca utilizatorii să se înregistreze, să ruleze și să urmărească eficiența reclamelor companiilor lor, să definească limitele de lucru pentru angajații lor și să verifice rezultatele.
Am lucrat la acest proiect cu colegii mei de la CodeRiders și cu alți ingineri de software la distanță din alte țări. Am lucrat la acest proiect la momentul blocării COVID, când toată lumea lucra de acasă. Au trecut doar câteva luni de la acceptarea mea în echipa CodeRiders. Pentru că acesta a fost primul meu proiect masiv, obișnuiam să stau până târziu, până la 2:00 dimineața, cu colegii mei dezvoltatori de software de la CodeRiders, care erau dornici să mă ajute, astfel încât să mă pot implica fără probleme în procesele de dezvoltare. Aceasta a fost „introducere” în spiritul de echipă al CodeRiders pentru mine.
Scopul nostru a fost să dezvoltăm cod fără erori și de înaltă calitate și nu a contat a cărui sarcină lucram. Toți colegii mei inițiau apeluri video pentru a revizui codul și a da sfaturi. Motto-ul nostru la CodeRiders este „Dorim, împreună realizăm” și da, acesta este adevărul și, datorită acestei abordări, m-am integrat în echipa noastră și am devenit experimentat în domeniul dezvoltării software.
Această abordare a funcționat și cu alți dezvoltatori de software la distanță. Îmi amintesc că ori de câte ori am avut o problemă, nu a contat cine a cauzat eroarea. Prima noastră prioritate a fost să rezolvăm problema cât mai curând posibil. Deci, unul dintre noi ar face-o cât mai curând posibil. Apoi, vom avea un apel de urgență și vom discuta problema și cauzele problemei pentru a ne asigura că nu vom avea o astfel de problemă în viitor.
Vă rugăm să enumerați câteva avantaje și dezavantaje ale JavaScript.
Avantaje
- JavaScript este ușor de înțeles și de învățat.
- JavaScript acceptă toate browserele moderne, ceea ce ajută la producerea unui rezultat echivalent.
- Dezvoltatorii de software au șansa de a realiza interfețe bogate.
- Îl poți implementa pur și simplu în fiecare proiect, deoarece funcționează perfect cu alte limbaje de programare.
- Companiile globale acordă prioritate dezvoltării comunității și investesc în proiecte importante. Exemple bune sunt Google, creat de framework-ul Angular și Facebook, creat de React.js.
- JS se joacă foarte bine cu alte limbaje tehnologice.
- Este posibil să se dezvolte o aplicație completă folosind numai JavaScript din față în spate, deoarece avem diferite moduri de a folosi JS prin serverele Node.js.
- Și nu în ultimul rând, este foarte popular și are o comunitate uriașă. Vă puteți extinde cu ușurință cunoștințele despre JS, deoarece există multe cursuri disponibile.
Dezavantaje
- Codul JavaScript este vizibil pentru toată lumea. Oricine poate inspecta codul.
- Diverse browsere interpretează codul JavaScript în mod diferit, ceea ce poate duce la dificultăți în citirea și scrierea codului între browsere.
- În JS, depanarea este acceptată de editorii HTML, care nu sunt la fel de eficiente ca alte editori precum C/C+. Acest lucru poate complica munca dezvoltatorului în detectarea problemei (nu este un dezavantaj critic).
Puteți descrie o zi obișnuită de lucru la CodeRiders?
Ziua mea tipică la CodeRiders începe cu o ceașcă de cafea bună și niște discuții calde de dimineață cu colegii mei. Apoi fiecare se duce la munca lui. Este posibil să avem mai multe întâlniri în timpul zilei. Dacă este luni, toată echipa se adună la o mare întâlnire la sfârșitul zilei. Fiecare reprezintă ceea ce a făcut, la ce lucrează în prezent și ce trebuie făcut. Dacă cineva are probleme, le împărtășește echipei și noi oferim sfaturi.
Ceea ce îmi place la CodeRiders este că, deși sunt la serviciu și sunt responsabil pentru calitatea muncii mele, tot nu mă simt presat de asta. Mai mult, atmosfera este atât de relaxantă încât operez mai bine și mai productiv.
Știm că CodeRiders oferă flexibilitatea de a alege între lucrul de acasă sau de la birou. Pe care o preferi și de ce?
Da, avem ocazia de a alege între lucrul de acasă sau de la birou, dar îmi place să lucrez de la birou. Oricum este productiv pentru mine, dar mi-e dor de colegii mei și de birou în general. Simt multe emoții pozitive când lucrez de la birou.
Să ne imaginăm că ai un interviu cu un client. Clientul dumneavoastră vă prezintă proiectul său și, în acest moment, nu are cerințe tehnice specifice. Sunt deschiși la sugestii. Poți, te rog, să descrii cum vei continua conversația?
Am avut multe interviuri cu clienții înainte de a intra oficial în muncă. Acest lucru este firesc, deoarece clientul dorește să se asigure că specialistul pe care urmează să îl angajeze se potrivește bine.
În aceste interviuri, majoritatea clienților doresc să înțeleagă determinarea dezvoltatorului de software, abordarea muncii și valorile personale. Am primit și câteva mici sarcini de testare, dar acest lucru nu se întâmplă foarte des, doar atunci când clientul este nou în compania noastră.
Au fost momente când clientul mi-a pus o întrebare tehnică și nu aveam un răspuns la acel moment. Cu toate acestea, majoritatea clienților nu se concentrează pe asta, este mai important pentru ei să înțeleagă reacția ta la provocări. Au fost momente când nu cunoșteam o tehnologie anume de care avea nevoie clientul, dar oricum am trecut de faza interviului. În astfel de cazuri, clienții probabil văd nerăbdarea mea de a învăța rapid tehnologia necesară.
Care este proiectul tău preferat din toate timpurile și de ce?
Proiectul meu preferat din toate timpurile este primul mare proiect pe care l-am descris mai sus. De ce? Pentru că atunci am câștigat toată experiența și profesionalismul pe care le am acum. Am lucrat la diverse funcții, mi-am testat cunoștințele despre mai multe lucruri și am exersat diverse tehnologii. În cele din urmă, am suferit foarte mult pe aceste proiecte: nopți nedormite și apeluri lungi. În cele din urmă, au devenit parte din viața mea.
Ce limbaj tehnologic crezi că este viitorul IT?
Aceasta este o întrebare la care nu va avea un răspuns cert. Fiecare tehnologie este importantă în felul ei și ar trebui folosită în locul ei pentru a funcționa corect. De exemplu, pentru știința datelor și AI, folosim Python și funcționează. Cu toate acestea, Python nu este cea mai bună soluție pentru dezvoltarea web back-end. Unele proiecte nu sunt atât de mari și complicate, dar sunt scrise în limbi greșite, ceea ce complică inutil munca.
Ce le-ați sfătui acelor dezvoltatori de software care abia își încep cariera în industria tehnologiei informației?
Dacă credeți că veți învăța o singură dată și vă veți folosi cunoștințele pe parcursul întregii cariere, nu este cazul în dezvoltarea de software. Ar trebui să fiți pregătit să învățați lucruri noi și să vă actualizați și să vă îmbunătățiți cunoștințele pe parcursul întregului ciclu de carieră. Deci, ar trebui să lucrezi și să înveți simultan în industria IT, altfel vei rămâne în urmă.
Mulțumim, Sona, că ți-ai acordat timpul de a vorbi cu noi și de a-ți împărtăși expertiza bogată.
În plus, să menționăm că dezvoltatorii de software JavaScript cu cadrele lor populare (React.js, Vue.js și Node.js) sunt foarte populari în zilele noastre. În lipsa globală de talent IT de astăzi, este mult mai ușor să găsești dezvoltatori de software JavaScript, Vue.js, React.js și Node.js la prețuri accesibile, mai ales dacă ești interesat de externalizarea de software și cauți dezvoltatori de software la distanță în hub-uri tehnologice de renume. .
Pentru a angaja dezvoltatori JavaScript, oferim o consultație gratuită cu echipa CodeRiders. Contactați-ne pentru a discuta despre nevoile dvs. de software și pentru a verifica tarifele noastre pentru dezvoltatori de software.
