CodeGym /Blog Java /Aleatoriu /Cum este să fii un dezvoltator senior. Un scurt ghid al r...
John Squirrels
Nivel
San Francisco

Cum este să fii un dezvoltator senior. Un scurt ghid al rolului

Publicat în grup
În mod tradițional, în industria tehnologică, dezvoltatorii sunt împărțiți în patru gradări în funcție de nivelurile lor de calificare: Junior, Middle, Senior și Team Lead. În două articole anterioare, am acoperit deja toate elementele de bază despre cum este să fii un dezvoltator junior și de nivel mediu . Acum este timpul să trecem la următoarea gradație. Dezvoltator senior, cum este să fii unul și cum este diferit de Senior de un programator de nivel mediu? Să aflăm. Cum este să fii un dezvoltator senior.  Un scurt ghid al rolului - 1

Cine este un dezvoltator senior?

În astfel de articole despre profesii și specializări în dezvoltarea de software, trebuie întotdeauna să facem un fel de declinare a răspunderii, explicând că percepția și înțelegerea unei anumite poziții pot varia foarte mult, în funcție de companie, de industria în care operează și de alți factori. . Unii oameni, mai ales cei care tind să fie oarecum conservatori, cred că aveți voie să vă numiți Senior doar dacă aveți peste 10 ani de experiență în codificare, ceea ce este responsabil. Adică doar anii în care codificai ca angajați cu normă întreagă nu poți începe să numeri de când ai încercat prima dată să programezi pe Basic la vârsta de 12 ani (cum o fac mulți programatori tineri, enervându-i pe programatorii seniori adevărați). ). Fiind mai puțin conservator, Mulți oameni cred că mai mult de cinci ani de muncă cu normă întreagă ca dezvoltator de software vă permit să vă numiți Senior. Pe de altă parte, anii de experiență sunt doar un număr, ceea ce contează cu adevărat sunt cunoștințele, abilitățile și experiența aplicabilă. Aici trebuie să livrați cu adevărat pentru a merita titlul Senior, deoarece Senior Developer este adesea văzut ca un vrăjitor de codare atotștiutor și atotputernic. În percepția conducerii, Senior este în mod normal cel care știe să rezolve orice sarcină legată de proiect sau să scrie codul necesar. Dar una dintre cele mai importante funcții ale unui dezvoltator senior pe un anumit proiect de dezvoltare software este cunoașterea proiectului în sine cu toate problemele, nevoile, nuanțele sale și așa mai departe. A putea lucra autonom este o calitate importantă a unui Senior. Aceasta înseamnă că seniorul știe ce și când să facă, și nu are nevoie de supraveghere pentru a livra munca pe care se așteaptă să o facă. Și aceasta este o calitate destul de valoroasă în ochii oricărui angajator, deoarece înseamnă că îi puteți da acestui dezvoltator o sarcină legată de proiect și îi puteți lăsa totul în seama lui/ei. Cu „tot restul” fiind: identificarea nevoilor, cerințelor și limitărilor pentru sarcina care trebuie îndeplinită, găsirea abordării potrivite, găsirea instrumentelor adecvate, împărțirea sarcinilor mari în sarcini mai mici și oferirea acestora la nivel mediu și junior. Dezvoltatori, etc. Există un alt aspect major care diferențiază Seniorii de programatorii de nivel mediu și juniori. Este în codul pe care îl scriu și în modul în care o fac. În mod normal, Senior este și ar trebui să fie cel care scrie cel mai clar, simplu și concis cod. Uneori, în măsura în care acest cod pare prea simplu și primitiv de bază. Acest lucru se datorează faptului că Senior trebuie să ia în considerare nu doar finalizarea sarcinii ca rezultat final, ci și efectul general al noului cod asupra bazei de cod a proiectului. Dezvoltatorii seniori își scriu codul având în vedere mentenabilitatea și scalabilitatea, iar acesta este puterea lor majoră, care poate veni doar cu experiență și nimic altceva.

Care sunt responsabilitățile unui dezvoltator senior?

Acum să vorbim mai detaliat despre unele dintre cele mai standard și comune responsabilități ale unui dezvoltator senior, concentrându-ne în mod firesc pe responsabilitățile tipice pentru programatorii Java.
  • Identificarea si analiza cerintelor utilizatorilor;
  • Prioritizarea, atribuirea și executarea sarcinilor de codare;
  • Dezvoltarea aplicațiilor Java;
  • Revizuirea codului pentru precizie și funcționalitate;
  • Analizarea segmentelor de cod în mod regulat;
  • Rămâneți la curent cu noile tehnologii și învățați dezvoltatorii Junior cum să o folosească;
  • Generarea de idei și soluții legate de ciclul de dezvoltare cu alți membri ai echipei;
  • Asumarea responsabilitatii generale pentru toate lucrările de dezvoltare și codul proiectului.

Cerințe pentru un dezvoltator senior

Iată o listă cu cele mai comune și tipice cerințe pentru un dezvoltator senior pe care ar trebui să le îndepliniți pentru a obține acest loc de muncă. Desigur, cerințele ar varia în funcție de politicile de angajare ale companiei, tehnologiile utilizate în proiect și limbajul dumneavoastră de programare.
  • Cunoștințe generale extinse despre dezvoltarea software și tehnologiile acestuia;
  • Cunoștințe solide de Java;
  • Experiență în proiectarea, construirea și testarea aplicațiilor pentru întreprinderi;
  • Cunoaștere aprofundată a cadrelor Java populare, cum ar fi Spring, Spring Boot sau Java EE, JSF și altele;
  • Experiență în proiectarea orientată pe obiecte (OOD).
Acestea sunt doar cerințe de bază legate de programare, dar a avea cunoștințe tehnice adesea nu este suficient pentru a obține un loc de muncă de Dezvoltator Senior, deoarece există atât de multe alte abilități importante care alcătuiesc un Senior puternic. Iată câteva cerințe non-tehnologice menționate în mod obișnuit pentru Sr. Developer.
  • Bune abilități de delegare și de gestionare a timpului;
  • Abilitati de rezolvare a problemelor;
  • Bune abilități de comunicare;
  • Abilități puternice de comunicare scrisă și verbală;
  • Abilitatea de a respecta termenele limită și de a gândi strategic.

Cât câștigă dezvoltatorii seniori?

După cum probabil știți, când vine vorba de salarii pentru joburi de codare în SUA, pentru un dezvoltator senior cu experiență, cerul este o limită, deoarece giganți precum Google, Facebook, Amazon, Apple și Microsoft plătesc MULT ingineri de software . De exemplu, la Google, un inginer de software de la Nivelul 7, care este considerat cel mai mare pe care îl puteți obține ca dezvoltator, poate câștiga 608.000 USD în total pe an. Dar să trecem prin cifre medii. Potrivit Glassdoor , un programator senior mediu din SUA câștigă în jur de 121.000 USD pe an, ceea ce este considerabil mai mare în comparație cu salariul unui programator de nivel mediu de 71.000 USD pe an și cu salariul mediu de 63.502 USD pe an pe care dezvoltatorii Junior îl câștigă în SUA. un raportde PayScale, un dezvoltator senior cu 10-19 ani de experiență câștigă o compensație totală medie de 109.122 USD pe baza a 5.523 de salarii. În cariera lor târzie (20 de ani și mai mult), angajații câștigă o compensație totală medie de 111.432 USD. În Germania , conform PayScale, un dezvoltator de software senior cu peste 10 ani de experiență câștigă o compensație medie totală de 63.638 EUR. În Franța, salariul mediu al unui Senior este de 54.982 €. Ca de obicei, când vine vorba doar de cifre, programatorii americani sunt înaintea colegilor lor din Europa și din alte părți. Un alt punct interesant de remarcat este că programatorii seniori din America câștigă mult mai mult decât programatorii de nivel mediu. Poate că acest lucru s-ar explica cel mai bine presupunând că majoritatea codificatorilor seniori cu adevărat profesioniști și experimentați din SUA lucrează pentru giganții tehnologici americani, care sunt liderii mondiali în cheltuirea forței de muncă în software.

Perspective de carieră

Când vine vorba de perspective de carieră, dezvoltatorii seniori le au cu siguranță. Dar lucrul amuzant este că majoritatea nu caută cu adevărat niciunul. Poziții precum Team Lead și Tech Lead ar fi printre principalele opțiuni de așteptat la atingerea nivelului Senior. Precum și diverse opțiuni în managementul tehnologiei. Cu probabil pozițiile de CTO și CEO al unei companii de tehnologie ca fiind cele mai înalte realizări posibile în cariera unui dezvoltator senior. CTO este, desigur, unul mai realist, deoarece chiar și în industria tehnologică, majoritatea directorilor executivi nu au, de fapt, un background tehnic foarte limitat.

Cum este să fii dezvoltator senior. Opinii

Desigur, când vine vorba de poziția de dezvoltator senior în general, majoritatea discuțiilor tind să se concentreze pe două subiecte cheie pe care dezvoltatorii sunt dornici să dezbată: ce te face cu adevărat un dezvoltator senior și cât de curând poți începe să te numești senior. „Asta poate surprinde pe unii oameni, dar locurile de muncă de nivel Senior au cerut în mod constant candidaților să aibă între 5 și 8 ani de experiență. Au fost câțiva care au cerut 10 ani sau mai mult, dar nu mulți. În calitate de dezvoltator senior, o companie se va aștepta să fiți capabil să luați o idee vagă, să o specificați, să planificați dezvoltarea, să implicați o echipă și să o urmăriți până la finalizare. Întrucât, un dezvoltator intermediar va fi, în general, de așteptat să îndeplinească, fără supraveghere, sarcinile individuale care îi sunt atribuite, să lucreze în cadrul unei echipe și să efectueze un mentorat.își împărtășește punctul de vedere. „Cu un dezvoltator senior, pot oferi un obiectiv de nivel înalt/mai vag și ei îl pot specifica, pot crea un plan de execuție, îl pot rula de mine, apoi îl pot implementa cu o cantitate minimă de mână. Așa că, atunci când te simți încrezător că poți lua o idee vagă și o poți duce la bun sfârșit, ești dezvoltator senior. Rețineți că asta nu înseamnă că nu cereți niciodată ajutor, pentru că toată lumea o face din când în când, dar puteți conduce procesul fără ca eu să fiu nevoit să vă îngrijesc”, spune Eric Wise, co-fondator și CEO al Wise Telemetry. Și să încheiem cu acest citat destul de bunde Pablo Oliva, un dezvoltator de software cu experiență din Germania: „Dezvoltatorii seniori cu care am lucrat păreau să aibă o centură de instrumente uriașă, ca să spunem așa. Ori de câte ori apăreau probleme, aveau o mulțime de resurse la care să apeleze. Ei cunoșteau instrumentele și limbile pe care le folosim zilnic destul de bine și știau unde să caute atunci când nu știau ceva (există o diferență între a căuta pe Google fără scop și a merge la pagina de manual corectă la prima încercare). Această cunoaștere a soluțiilor vechi și competența în căutarea de noi soluții i-a făcut să fie bine respectați de colegii lor, care deseori apelau la ei pentru sugestii. De asemenea, ei ar ști, la rândul lor, când să nu mai caute singuri și să ceară ajutor unui coleg. Unii aveau certificări, alții nu. Unii absolviseră, alții nu. Dar au fost întotdeauna un punct de referință pentru echipele lor (și chiar pentru oamenii din alte echipe, pentru niște dezvoltatori seniori deosebit de spectaculoși). Deci, câți oameni se gândesc să vă ceară ajutor atunci când rămân blocați?”
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION