Cel mai bun răspuns
Cred că titlul de arhitect de software este puțin suprautilizat și adesea confundat cu designerul de software ( care este încă un alt termen confuz, deoarece nu are nimic de-a face cu designul ca efort artistic.)
Definițiile mele ar fi:
Arhitect de software – această persoană se ocupă de blocurile de nivel înalt. Conectivitate între sisteme, alegerea celor mai bune tehnologii pentru sistemele în sine și maparea cerințelor de afaceri în cerințele de inginerie. El are suficientă experiență pentru a înțelege când ar trebui să fie folosit push / pull vs pub / sub, de exemplu, sau când un db NoSQL este acceptabil în locul unei baze de date SQL. Înțelege și costurile tehnologiei rezultate (în termeni de performanță și cheltuieli operaționale efective). În cele din urmă, un arhitect trebuie să înțeleagă afacerea, nu doar tehnologia.
Proiectant de software – odată ce arhitectura este stabilită, un proiectant este responsabil pentru crearea designului real al software-ului. El poate crea un design pentru fiecare bloc arhitectural modelând clasele corespunzătoare sau relațiile de bază de date. De asemenea, el poate defini protocoale de sârmă, formate de fișiere etc.
Programator de software – odată stabilit un design, dezvoltatorul de software implementează proiectarea .
În ordinea importanței, deciziile luate la nivel arhitectural sunt critice și sunt adesea foarte greu și costisitoare de modificat dacă se face o greșeală. O eroare de arhitectură poate costa ani în sisteme complexe. O eroare de proiectare poate costa câteva sprinturi. O eroare de programare poate fi remediată imediat ce este identificată.
De asemenea, rețineți că nu există nicio cerință ca o persoană să nu poată îndeplini mai mult de un rol. În organizațiile formale, este posibil să aveți arhitectul software ca o persoană senioră (sau chiar ca un executiv), proiectantul fiind un conducător de echipă de un fel, iar programatorul un colaborator individual în acea echipă. Cu toate acestea, în practică, arhitectul software nu abandonează de obicei un proiect odată ce lucrarea de arhitectură este finalizată și, odată ce activitatea de arhitectură încetinește, se implică de obicei în proiectare și în programare.
Avertismentul este totuși, arhitectul este responsabil de alegerea blocurilor tehnologice pe baza meritelor lor, și nu a familiarității sale, caz în care poate ajunge la alegerea în care poate contribui puțin la nivel de cod. În aceste cazuri, el ar trebui să știe cel mai bine și să plece implementarea către experții din domeniu.
Aceasta este doar părerea mea, totuși, sunt sigur că există multe alte interpretări. De asemenea, cu cât aplicația este mai simplă, cu atât unele roluri devin mai inutile. Pentru o aplicație simplă, nu aveți nevoie de un arhitect. Dacă aplicația este suficient de simplă, este posibil să nu aveți nici măcar un proiectant. Dar aveți întotdeauna nevoie de cineva care să o implementeze.
Răspuns
Știu că este nepoliticos și îmi pare rău, dar nu pot să cred că oamenii (în afară de Edward Guy Capriolo) au scris răspunsuri îndelungate explicând diferența dintre două titluri. „Arhitecții software” există doar în filmele SF ca Matrix.
Titlul a fost inventat de birocrații corporativi pentru a stabili noua categorie de salarii non-management, în cazul în care cineva fără MBA ar putea câștiga șase cifre. A venit la îndemână în timpul „externalizării”, din moment ce puținele rămase non-offshore Dezvoltatorii H1B / L1 ar putea fi promovați la „arhitecți” pentru a-și păstra salariul, deoarece toți inginerii „obișnuiți” au fost obligați să fie „resurse de reducere”.
Un alt lucru de reținut: poziții de consilier inutile sunt umplute de rude și prieteni, deci nu există un set de abilități oficiale de învățat. Valoarea „arhitectului” este vagă și subiectivă spune cel puțin. TOGAF este probabil descrierea finală a responsabilităților „arhitectului”. Am studiat bine acea porcărie pentru a o arăta la interviurile „arhitecturale”. Cu toate acestea, în viața normală, specialitatea mea este demararea de milioane de proiecte. Și reînvierea eșecurilor de mai multe milioane. Mă face „arhitect”? Știți, implică o mulțime de codare. Și zero „arhitectură de întreprindere” „cadre”.
Editați doar CV-ul dvs. înlocuind toate titlurile de locuri de muncă anterioare pentru a arăta „anii de experiență”. Apoi, presărați cu generozitate „arhitectura întreprinderii” în întregul CV. Permiteți-mi să văd versiunea arhitectului a CV-ului meu (altfel al dezvoltatorului). Aici. Copiați-l textual:
„Dezvoltarea viziunii tehnologice avansate și a capacităților robuste de arhitectură a întreprinderii în cadrul IT. Conținut de foaie de parcurs comun definit. Dezvoltarea și implementarea strategiei pentru arhitectura întreprinderii constând din principii, arhitecturi de referință, glosare și taxonomii. Menținerea analizei permanente a industriei, tehnologiei și tendințelor pieței pentru a determina impactul potențial asupra întreprinderii. ”
Felicitări! Ați fost promovat oficial la „Enterprise Architect”.Singurul lucru care rămâne de făcut este să trimiteți CV-ul dvs. recent demn angajatorilor care formează Marele Lanț Alimentar de Consultanță IT – să „post-vândă” orice vând: Oracle, IBM, Microsoft etc. prin „diagrame arhitecturale”: blocuri colorate de pachetele furnizorului conectate prin „integrare” imaginară. Nu vă faceți griji cu privire la „mumbo-jumbo tehnic”. Sunteți un arhitect de nivel înalt care prezentați viziunea strategică „părților interesate de nivel C” la fel de demne și extrem de non-tehnice.