Această întrebare are deja răspunsuri aici :
Comentarii
Răspuns
Vă puteți numi Senior când:
- Puteți gestiona întregul ciclu de viață al dezvoltării software-ului, de la un capăt la altul.
- Îi conduceți pe alții sau alții vă caută îndrumare.
- Vă puteți gestiona singuri proiectele
Dezvoltarea software-ului este o creatură curioasă spre deosebire de alte domenii.
Uneori, un punk proaspăt ieșit din facultate poate conduce cercuri în jurul veteranilor care au peste 20 de ani de „experiență”. Programarea este o lume bizară în care codul este rege .
Unii realizează cele de mai sus în 2 ani sau mai puțin, alții durează 10 ani.
Comentarii
- Aș adăuga că ați avut cel puțin un proiect eșuat sub conducerea dvs. …
- Nu aș fi de acord cu al doilea punct glonț. Abilitatea de a conduce alții nu definește " senior ". Acesta definește " lead " porțiunea unui titlu. Cunosc dezvoltatori superiori care ' prefer să împing o stâncă decât să-i urmez. Îmi plac celelalte 2 definiții. +1
- @tocul proaspăt al punk – Totuși, poți fi un programator talentat, un inventator strălucit de algoritmi și totuși te confrunți cu probleme pur și simplu pentru că ' probleme pe care ' nu le-ai mai întâmpinat. ' sunt încă mai cocoșat decât ar trebui să fiu, dar chiar și eu mi-am dat seama că asta.
- Aș adăuga, de asemenea, după 10.000 de ore de programare reală (nu doar stând în fața unui computer).
- unii iau mai puțin de 2, alții iau 10 – mulți au câștigat ' t vreodată ( Am întâlnit destul de mulți dintre ei …)
Răspunde
Când aud „Senior Developer” gândiți-vă la cineva care a stăpânit programarea. Mă gândesc la o persoană care poate proiecta, codifica și testa un sistem. Pot vorbi cu arhitectura de sistem sau cu designul componentelor. Înțeleg și folosesc modele de design. Această persoană poate anticipa blocajele de performanță, dar știe să nu pre-optimizeze. Această persoană va valorifica programarea asincronă, așteptarea, stocarea în cache, înregistrarea, securitatea și persistența, atunci când este cazul. Când li se cere, pot oferi o explicație detaliată a alegerii lor și a argumentelor pro și contra. În majoritatea cazurilor, ei au stăpânit programarea și proiectarea orientată pe obiecte, nu un limbaj absolut, cum ar fi Javascript, F #, Scheme, sunt puternice și nu sunt orientate pe obiecte. Sunt abili în gestionarea riscurilor și, cel mai important, pot comunica colegilor lor cele menționate anterior.
Ce este stăpânirea? Există o idee general acceptată, că pentru a stăpâni ORICE abilitate este nevoie de 10.000 de ore de repetare pentru ca corpul și mintea umană să înțeleagă și să interiorizeze o abilitate. Aceasta este scrisă pe larg în cartea lui Malcolm GladWell Outliers . Când autorul original a vorbit despre stăpânirea unui domeniu, el se referea la atingerea vârfului unui domeniu extrem de competitiv, ar dura 10.000 de ore.
Câteva exemple din Malcolm GladWells Outliers sunt:
Mozart primul său concert la vârsta tânără de 21 de ani. Ceea ce la început pare tânăr, dar scrie muzică de la vârsta de 11 ani.
The Beatles au fost inițial evitați. Li s-a spus că nu au muștarul și că ar trebui să ia în considerare o altă linie de lucru. Ei petrec 3 ani în Germania jucând de aproximativ 1200 de ori în diferite locuri, fiecare având o durată de 5 până la 8 ore. Au reapărut ca Beatles pe care îi cunoaștem și îi iubim astăzi.
Și în sfârșit, Bill Gates la 20 de ani au abandonat Harvard pentru a fonda Microsoft. Pentru unii acest lucru ar putea părea o prostie, dar considerat la 20 de ani a petrecut aproape jumătate din viața sa tânără programând. În 1975, doar 50 de oameni din lume au avut experiența pe care a făcut-o. Experiența lui i-a oferit previziunea de a vedea viitorul în Microsoft.
Peter Norvig discută, de asemenea, regula de 10.000 de ore în eseul său „ Teach Yourself Programming in Ten Years ”.
În cartea Mastery de George Leonard, sunt oferite detalii deosebite despre cum să stăpânești o abilitate. Trebuie să exersezi abilitatea iar și iar și iar. Cu cât repetarea este mai mare, cu atât devii mai conștient de diferențele din fiecare repetare. Numai cu această perspectivă puteți deveni mai bun.
Titlurile industriei software (Junior, Mid-Level și Seniors) sunt înșelătoare și inconsistente de la organizație la organizație. Am lucrat cu companii, care au definit un dezvoltator senior ca fiind cineva cu 5 ani sau mai mult de experiență. Nu se menționează calitatea experienței, ci doar că au stat 5 ani în fața unui computer. Lucrând cu acești oameni, mulți dintre ei nu înțeleguseră încă programarea orientată pe obiecte – totuși erau considerați dezvoltatori seniori.
Trebuie să existe un mod mai obiectiv și mai bun de a măsura setul de competențe al unui inginer software. John Haugeland a postat matricea de competențe a unui programator de calculator. Este un mod obiectiv de a măsura un nivel de abilități al programatorului , care altfel este lăsat să se simtă.
Când mă uit la inginerii de software, văd 4 niveluri de competențe: Luminar, Senior, Nivel mediu și Junior.
Luminar (peste 10 ani) este cel care a stăpânit o abilitate și a început să își îmbunătățească disciplina respectivă. Câteva exemple includ: Ted Neward , Unchiul Bob Martin , Donald Knuth, Oren Eini , Peter Norvig , Linus Torvalds. Lumina se schimbă în funcție de setul de abilități.
Senior (7-10 ani, nivel 3) este cel care a petrecut ultimele 10.000 de ore programând într-un anumit gen. Există o înțelegere puternică a modelelor de proiectare. Acestea valorifică programarea asincronă, așteptarea, stocarea în cache, înregistrarea, securitatea și persistența atunci când este cazul.
Este foarte posibil ca un Senior să nu ajungă niciodată la Luminary. Luminarele se găsesc adesea vorbind și scriind. Încearcă în mod activ să își influențeze disciplina.
Nivel mediu (4-6 ani, nivel 2) este unul care înțelege programarea de zi cu zi. Lucrează independent și creează soluții robuste. Cu toate acestea, ei încă nu au experimentat crearea sau menținerea sistemelor mari sau complexe. În general, dezvoltatorii de nivel mediu sunt minunați cu dezvoltarea la nivel de componentă.
Junior (1 până la 3 ani, nivel 1) este cel care înțelege elementele de bază ale programării. Ori au o diplomă în inginerie software sau informatică sau sunt autodidacti. Codul lor este revizuit continuu. Se oferă îndrumări cu privire la algoritmi, mentenabilitate și structură.
Comentarii
Răspunde
„Când ar trebui să te numești dezvoltator senior?” – Când am început să mentor dezvoltatorii junior.
Comentarii
Răspuns
tu „re lipsesc ideea.
Senior nu înseamnă nimic. Junior nu înseamnă nimic. Titlurile nu înseamnă nimic. Titlul meu – Director de sistem de afaceri asociat. Responsabilitățile mele – gestionarea tuturor lucrurilor IT de la dezvoltarea de software intern până la infrastructură, prin securitate, prin intermediul site-urilor web ale clienților. Experiența mea de dezvoltare software – autodidactă. Experiența mea în rețea – autodidactă. Capacitățile mele generale în domeniul IT – mai rău decât al dvs.
Abilitatea mea de a gestiona și direcționa – discutabilă, dar caracterul și personalitatea mea mi-au adus slujba și mă fac să reușesc.
Titlurile nu înseamnă nimic abilitate și efort înseamnă totul. Nu sunt cel mai bun – și a crede așa ar fi arogant.
Uită-ți hang-urile despre titluri și dovedește-ți valoarea!
Comentarii
Răspuns
Am „observat aceeași tendință. Una dintre întrebările zilele trecute a fost despre un dezvoltator senior cu 2-3 ani” de experiență în trecerea la arhitect.
Puteți numi o ghindă un copac, dar asta nu schimbă ceea ce este.
singura concluzie logică este că „senior” înseamnă altceva:
- rang relativ, ca în „senior pentru tipul care tocmai ieșea din facultate”
- ortografi spanioli săraci, adică ei menit să pună señor
- ortografie sudică, ca în „senior butt-crack, pull up them pants”
În zilele noastre, este doar o treabă title și poate spune sau nu ceva despre experiența relativă a industriei.
Comentarii
Răspuns
Cred că cel mai bun răspuns a fost dat de Darknight .
Simt nevoia să subliniez următoarele.
2-3 ani de experiență în programare (lucrul + personal împreună) nu este suficient doar pentru o t o Am văzut un număr suficient de proiecte și am abordat o cantitate suficientă de probleme. Tocmai nu am funcționat. Ai nevoie de timp pentru a lăsa lucrurile să-ți treacă prin cap, pentru a reflecta asupra experienței tale și pentru a trece mental la un nivel mai înalt de gândire. Nu se întâmplă peste noapte.
Aș spune că la 5-7 ani de practică (din nou lucrând + personal împreună) nu trebuie să ne așteptăm la o minune. S-ar putea să obțineți o mulțime de experiență cu anumite limbaje și cadre, dar să nu treceți încă la un nou nivel de gândire.
Celălalt lucru este maturitatea generală a unui individ. În opinia mea, acesta se apropie mai întâi de 30 de ani. Înainte de aceasta, creierul nostru ar putea lucra la o rată de ceas mai mare, dar ar fi procesarea deșeurilor, deoarece îi lipsesc suficiente date în memorie pentru a vedea o imagine mai largă. Experiența noastră generală de viață adaugă ceva subtil dar real modului nostru de gândire și de lucru, deci programării ca și un alt tip de muncă.
Acceptarea mea personală a unui senior: cineva de cel puțin 27 de ani cu cel puțin 7 ani de practică Înainte de asta, aș fi personal sceptic (dar totuși deschis la minte, îmi va lua mai multe dovezi).
Comentarii
Răspuns
Recent, a apărut o postare pe blog de Martin Fowler. Lucrurile pe care le-am luat de la el sunt:
-
Nu are nimic de-a face cu cât timp lucrezi pentru cineva. Lucrezi de trei ani și devii un dezvoltator senior. Ce se întâmplă după șase ani? Devii un dezvoltator senior senior?
-
Dezvoltatorii seniori nu te uită în jos sau cred că sunt mai buni decât tine. Acest lucru este foarte important. Odată ce îți lași ego-ul să-ți iasă în cale, ai probleme.
-
Dezvoltatorii seniori nu au vina. Ei anticipează problemele și le abordează într-un mod pozitiv.
-
Oamenii vor să lucreze cu dezvoltatori superiori. Aceasta este o cheie pentru mine. Vreau ca oamenii să lucreze cu mine și vreau să se bucure să lucreze cu mine.
-
Dezvoltatorii seniori nu sunt cei mai inteligenți ingineri. Ei nu lucrează la cele mai complexe probleme. Setul lor de abilități nu este totul despre programare. Abilitățile lor de comunicare joacă un rol la fel de important.
-
Dezvoltatorii seniori sunt buni la estimare.
-
Dezvoltatorilor seniori le pasă întotdeauna de ceea ce fac. Înțeleg că sarcinile plictisitoare trebuie îndeplinite la aceeași calitate ca orice alte sarcini potențial mai interesante.
Doar pentru clarificați
Abilitățile pe care le-am enumerat mai sus sunt ceea ce cred că ar trebui să aibă un bun inginer software superior, pe lângă abilitățile și practicile fundamentale de inginerie software.
Comentarii
Răspuns
Când ai îndrumat pe mulți și cei mai mulți ți-au mulțumit pentru asta ani mai târziu, după ce nu ai fost de acord cu tine la început, nu ezita să adaugi „Senior” la orice titlu pe care ți-l poți comanda.
Până atunci, „plumb” este probabil un termen mai descriptiv.
Pentru mine, termenul „senior” denotă un punct culminant al experienței practice ȘI al înțelepciunii atunci când se ocupă de oameni și așteptările lor arbitrare . Luați în considerare acest scenariu:
16 programatori dintr-o echipă, fiecare cu exact 1 an mai multă experiență decât restul. Aceasta înseamnă că al 16-lea programator are peste 16 ani de experiență. Opt dintre cei mai experimentați membri sunt uciți în mod tragic când un autobuz trece într-un magazin. Tipul cu jumătate din experiență ar fi acum considerat un dezvoltator senior? Sper nu, aș spera că compania înlocuiește rapid golurile cu oameni de calibru egal sau mai mare decât tocmai au pierdut.
Urăsc să aduc termenul „ journeyman „în programare, dar unele dintre ele se aplică. Termenul de” senior „nu este ceva pe care l-aș înmâna oricui cu mai puțin de 15 ani de experiență, deoarece depășește cu mult cunoștințele tehnice.
Comentarii
Răspuns
Găsesc acest titlu „Junior / Senior Developer” greșit și înșelător pentru că nu există o unitate de măsură reală pentru acest lucru. Suntem toți dezvoltatorii de software cu mai puțină sau mai multă experiență practică. Nu încercați să creați o ierarhie pentru dezvoltatorii de software, nu are rost și poate afecta punctul principal de interes: o echipă excelentă de dezvoltare software.
Comentarii
- +1 Sunt de acord cu comentariul dvs. Cred că nu există un astfel de glonț de argint aici, cred că abilitățile tehnice, precum și cele ale oamenilor sunt importante
- Cred că în multe cazuri titlul a devenit mai mult o definiție a gradului de remunerare decât nivelul de calificare și experiență. Care destul de des este determinat de abilitățile de negociere. Dacă un dezvoltator de nivel mediu intervievează pentru o funcție de nivel superior și primește slujba, nu definește de fapt că sunt mai calificați sau mai experimentați. Pur și simplu au putut să se negocieze într-o poziție mai bine plătită. Prin urmare, sunt de acord cu dvs. titlurile pot fi greșite și înșelătoare.
- Cred că răspunsul dvs. este cel mai bun aici, dar în realitate companiile din întreaga lume folosesc această terminologie în toate titlurile posturilor, deci nu o putem evita.
Răspuns
Când te uiți înapoi la munca ta anterioară și îți dai seama ce prostie era. Și înțelegeți că „v-ați îmbunătățit, dar mai sunt kilometri de parcurs și că învățarea este pentru totdeauna.
Comentarii
Răspuns
Uneori mă uit la alte profesii și mă întreb de ce programarea software nu se standardizează singură. Nu ar fi utilă această întrebare deoarece ar exista un standard acceptat pentru obținerea anumitor niveluri. Apoi ajung la realizarea „Cine a murit și i-a lăsat rege?”
Știm cu toții că experiența, educația, certificările și titlurile sunt pentru toți ceilalți să aibă o privire foarte simplă asupra abilității programatorilor. Fie știți ce faceți, fie că nu faceți acest lucru. amabil sau poți „t.
Răspunde
” WHAAAT …. UNIT TEST !!!! I „ma senior programator … Nu mai trebuie să-mi testez codul „
Am auzit asta înainte … Astfel îi lasă pe” Juniors „să-și repare erorile și să-l testeze.
„Vom angaja un arhitect … nu, nu domnul X, vrem pe cineva mult mai în vârstă, pe cineva care nu mai codifică”
mai târziu în interviu :
-
deci cu ce limbaje de programare sunteți familiarizați?
-
ahem … Am folosit COBOL și FORTRAN, dar acum sunt mai ales Ms Word, Excel și Powerpoint.
-
Excelent … când poți începe?
Într-adevăr senior este doar o chestiune de perspectivă, un titlu așa cum s-ar spune Steven. Totuși, aș dori să pot spune că până la urmă este codul pe care îl scrieți că contează, dar, din păcate, în multe cazuri, costumul și cravata au un impact mai mare, mai ales atunci când nu mai ești măsurat de realizări concrete (cod), dar cât de bine convingi ierarhiile de esențialitatea ta.
Comentarii
Răspuns
Ar putea avea legătură cu banii.
Unele companii respectă un plan de salarizare stabilit. Nu vă pot pune în mijlocul listei „Dezvoltator”, din cauza unor reguli date. Dar vă pot pune în partea de jos a listei „Dezvoltator principal”.
Personal, eu mi se pare ciudat dacă unei persoane i se acordă un titlu senior chiar în afara facultății, dar pe de altă parte – cui îi pasă? Sunt „dezvoltator” de vreo zece ani și chiar dacă obțin un titlu „senior” când schimbați locul de muncă acum, nu înseamnă nimic. Voi fi încă un boboc în noul domeniu – cel puțin pentru o vreme …
Răspunde
Când te sună altcineva dezvoltator senior. Nu există o definiție. Schimbările sale de la companie la companie. Într-o companie bine stabilită, proaspătilor li se oferă mai puțină muncă, iar curba lor de învățare este lentă. În compania de start-up, un proaspăt poate lua multe responsabilități și învață multe lucruri în mai puțin timp. Am experimentat această primă mână. Din păcate, sunt doar ceilalți oameni cu experiență care vă pot calcula profunzimea cunoștințelor, analizând calitatea codului sau a muncii dvs. Și sunt sigur că toată lumea își primește titlul când timpul lor a trecut.
Și dacă tu nu schimbați compania. 🙂
Răspuns
Este „un titlu ca multe alte titluri. Acești” adolescenți „de aici ar putea avea chiar și un doctorat , asta nu înseamnă neapărat nimic. Dar le va obține în mod clar un salariu mai mare. Același lucru este valabil și pentru Senior Developer sau Senior Architect. Sau managerul de proiect principal etc.
Având în vedere acest fapt, este mai bine să fiți numit „Dezvoltatorul nostru principal” de către colegii dvs. de lucru, decât să adăugați acel titlu pe propriul card după oricare ani de experiență – ceea ce am făcut când am avut ocazia. 🙂
În afară de asta, aș spune că 10 ani sunt minimi (inclusiv facultate sau alte studii).
Comentarii
Răspuns
Am Am văzut recent câteva posturi în căutarea unui absolvent de CS cu mai puțin de un an de experiență. Acest lucru mi se pare o nebunie, chiar dacă este doar un titlu. Pentru prima dată, sugerează o reducere a titlului. Sunt sigur că Companiile de cuplu pe care le-am văzut cu aceste postări au un alt titlu „super-senior” pentru a desemna adevărații seniori. Presupun că nu este o strategie proastă de angajare. Titlul nu este totul, dar toate celelalte fiind egale între două locuri de muncă, aș lua cel cu titlul „Master Chief Developer”.
Punctul în care „Master Chief Developer” (sau oricare ar fi poziția înaltă, „senior” sau altfel) este de fapt justificat, deși este dificil de identificat . Nu cred că putem deveni prea obiective cuantificându-l. Ca o formulă brută, aș spune că ar trebui să fie numiți senior dacă sunt de obicei cei mai buni din cameră și camera conține cel puțin 8 dezvoltatori profesioniști. Asta ar sugera că un senior se află cel puțin în percentila 87.Deși aș spune că aceste dezvoltatoare vor fi probabil cele cu cea mai mare experiență, cu siguranță nu aș spune că experiența == „senior”, sau chiar apropiată. În același timp, deși sunt sceptic cu privire la faptul că numărul persoanelor în vârstă adevărate cu mai puțin de 7 sau 8 ani trebuie să fie extrem de mic, nu este imposibil ca cineva cu mai puțin de atât să fie maestru.
Având 22 de ani, cu siguranță intru în „puțin probabil să fiu o categorie master”. Deși am în jur unele dintre acele tipuri de „10 (sau 30) ani de 1 an de experiență” și sunt sincer tentat să cred că sunt mai bun, încerc să-mi amintesc că acei oameni, chiar dacă au depus eforturi Zeci de ani până la învățare, probabil că am câștigat mai multe cunoștințe decât mine despre o mare varietate de subiecte prin osmoza pură. Pur și simplu nu aș putea ști la fel de mult ca ei despre întregul ciclu de viață al proiectului. Lucrez cu o persoană care are un proiect mai în vârstă decât mine! Ar fi destul de presumptuos din partea mea să cred cu adevărat că știam mai multe despre menținerea unui proiect de acest domeniu decât el.
Celălalt lucru de care trebuie să ții cont este că, dacă începi să te numești senior la 22 de ani, ce vei fi la 32 de ani? Este un pic de nefericire pentru viitorul tău să presupui că ești deja la vârf. O mulțime de oameni se uită la regula de 10.000 de ore pentru a stabili când cineva este expert. În cartea lui Malcom Gladwell în care se propune ideea, este destul de clar că experții nu sunt pur și simplu cei mai buni, ci îndeplinesc un anumit rol. Novicii nu sunt în niciun fel cei mai răi, dar este o descriere a metodei chiar mai mult decât abilitatea. Începătorii pot învăța repede lucrurile nebunești, dar de multe ori au probleme să facă unele dintre cele mai frecvente lucruri la fel de repede ca cineva care este expert. Experții pot face lucrurile de rutină cu o precizie și o viteză extremă și știu ce lucruri să caute care ar putea denota probleme, dar de multe ori au probleme de reacție la schimbare sau pot învăța lucruri care se află în afara zonei lor de confort. Având în vedere acest lucru, nici măcar nu vreau să fiu expert încă. Aș dori să absorb cât mai multe informații noi, cât mai mult timp înainte de a mă stabili într-un domeniu stabil.
Comentarii
Răspuns
10 ani ?? Glumiţi. Ok, cum definiți 10 ani? Să spunem că cineva a început să programeze la vârsta de 15 ani, dar a devenit profesionist la 25 de ani?
Industria nu funcționează așa. Cred că diferite companii le permit oamenilor să le numească Senior Dev X sau Y oricând între 5-8 ani. O mulțime de vechime în organizație nu vine doar cu abilități. , are mult de-a face cu inițiativa pe care o ia un individ și cu tipul de responsabilități pe care este dispus să le împărtășească. De cele mai multe ori oamenii cu abilități rezonabile și o motivație puternică devin profesioniști în vârstă.
BTW 22 de ani nu sunt adolescenți 😉
Comentarii
Răspuns
Prima dată când obțineți un loc de muncă pe baza a cel puțin unei sesiuni de interviu care nu este „interviul tehnic clasic” în natură (adică, vorbiți despre arhitectură, concepte, design, vizualizarea companiei, experiență , etc.)
Experiența mea (limitată) este că dezvoltatorii juniori sunt angajați de obicei pe baza performanței în bateria standard de întrebări de interviu și a celor mai mari pe baza unei varietăți de alte interacțiuni.
Răspuns
Vârsta este doar un număr; un copil tânăr devine mai inteligent și _insert number programatorul cu experiență în ani tocmai îmbătrânește … În zilele noastre, un copil poate scrie coduri mai curate, mai bune, mai rapide într-un mod inteligent. Un prieten vechi poate deveni gelos.
Comentarii