Ce presupune pozitia de arhitect software ?


(cosmos) #1

Desi comentariul original a fost sters

Ca arhitect nu te angajeaza nimeni decat cu titlu. Am incercat si majoritatea ofereau 3500 net (eu ceream pe la 4000). Cred ca in Romania pozitia de arhitect nu e inteleasa prea bine.

Ce presupune pozitia de arhitect software ?

Panificarea unuei aplicatii complexe ?
Arhitectul scrie cod si este un specialist in limbaj ?

Din experienta voastra :slight_smile:

Am mai vazut anunturi cu acesta pozitie si nu am inteles cerintele prea bine.
Ma gandesc ca acesta ia decizii importante de design si vegheaza aplicatia pe toata durata de viata.


Python FTW !!!


Oarecum, pe subiect


(Gabriel Horatiu Petchesi) #2

Pentru mine ar fi urmatoarele responsabilitati:

  • studiul problemei - de lamurit daca cerintele sunt clar exprimate. In aceasta etapa daca ceva nu este clar sau sunt contradictii de business logic ar trebui sa intoarca inapoi proiectul pentru clarificari suplimentare.
    Ideal ar fi sa se asigure ca cerintele sa fie clare pentru toata lumea cand se incepe proiectul.
  • stabilirea unei solutii tehnice - aici pe baza experientei si a disponibilitatii echipei se vine cu o propunere de implementare
  • research - in cazul in care sunt implicate tehnologii care sunt necunoscute sau pentru a minimiza anumite riscuri ar trebui sa poata realiza un proof of concept cu tehnologiile implicate pentru a demonstra viabilitatea solutiei tehnice din punct de vedere al performantei etc…
  • face propuneri cu privire la modul de lucru - setup de tool-uri pentru code formatting, linting, testing si orice altceva e necesar pentru a se asigura ca dezvoltarea software are loc conform viziunii proprii

NU se implica deloc in project planning doar in masura in care trebuie sa ofere consultanta, responsabilitatea timeline-ului se face de catre echipa care va face dezvoltarea.
NU participa la dezvoltarea solutiei tehnice dar va raspunde la intrebarile care apar din partea echipei.

In principiu dupa stabilirea cadrului proiectului se poate apuca de proiectul urmator.


(cosmos) #4

Cam aiurea sa postezi ceva, sa astepti raspuns, iar apoi sa il stergi :slight_smile:

Revenind la intrebare, mi se pare interesant de dezbatut acest lucru


In curand Discourse va sterge acel raspuns de mai sus, iar eu voi vorbi singur :smiley:


(Adrian) #5

Depinde foarte mult de firma. Daca e o firma mica, cu putini angajati, iti dai seama ca o sa vrea mai mult de la tine decat sa dai ‘indicatii pretioase’.


(Adrian) #6

In principiu un arhitect nu scrie cod, dar stabileste solutii tehnice si de implementare. Pe urma sunt tot felul de arhitecti. Arhitecti mai generici, altii tehnici, e un domeniu vast. Multe documente de scris, multe sedinte.


#7

In primul rand, sint multe feluri de arhitecti, si in functie de specializare, fac lucruri diferite:

  • enterprise architect - defineste strategia arhitecturala si tehnologica a organizatiei, la nivel business si IT. Este membru in “architecture governance board” si poate fi advisor pentru board of directors.
  • integration architect - defineste integrarea system to system la nivel de interfata, protocol, workflow. El exista ca rol pentru cazul in care organizatia are un peisaj IT complex si eterogen.
  • process architect - responsabil pentru modelarea si implementarea proceselor de business.
  • security architect - se ocupa impreuna cu integration, data, application, network architects sa asigure siguranta infrastructurii, a datelor si a aplicatiilor.
  • network architect - planifica infrastructura IT a unei organizatii
  • data architect - se joaca cu modele de date pentru big data systems, data warehouses, data brokers, ETL, etc
  • application architect (cred ca intrebarea ta la acest tip de arhitect se referea) - da directie tehnica in proiect, defineste solutia arhitecturala, este owner pe deciziile arhitecturale, este accountable pentru riscurile arhitecturale, negociaza cu product owner / manager pe cerintele cu impact arhitectural, supervizeaza echipa de implementare pentru a se asigura ca ce a definit este si implementat, este mentor tehnic pentru echipa.
  • test automation architect - defineste arhitectura de testare dpdv capabilitati si infrastructura, lucreaza cu application architect pentru a se asigura ca aplicatia este testabila (testable architecture, testable code).
  • DevOps architect - owner pe devops pipeline si procesul de release al produselor software.

Cred ca asta este deocamdata. Daca imi mai aduc aminte ceva, mai scriu.


(Horia Coman) #8

De menționat că poziția asta de arhitect e specifica mediilor mai “Enterprise” și e văzută că o promoție sau o poziționare superioara in ierarhia companiei. In multe alte companii nu apare, singura metoda de avansare fiind în management. De evitat locurile astea.

Dar și mai interesant mi se pare sistemul din companiile tech “clasice” (cele din SV cu precădere, dar și în industria auto, energetica etc din convorbirile cu tovarăși), unde exista un track de management și unul de individual contributor, fiecare cu mai multe niveluri, dar pe niciunul nu apare un rol ca arhitectul de mai sus. Ca IC o să fi mereu într-o poziție de a contribui tehnic - doar că la nivelele superioare la partile mult mai critice, și sistemele importante etc. Pe langa munca de design sau de influență , sau managementul la scară mai mică. De exemplu, un nou standard video no să fie discutat de oameni cu “arhitect” în titlu, ci de “doar” ingineri foarte experimentați de pe la Sony, Netflix, laboratoare de cercetare etc.


#9

Asa este. De exemplu: