Jaka jest różnica między architektem oprogramowania, inżynierem oprogramowania i programistą (programistą)? [Zamknięte]

24

Czytam artykuł CNN o najlepiej płatnych pracach w Ameryce. Architekt oprogramowania jest wymieniona jako # 1 . Inżynier oprogramowania wymienione jako # 9 . A programista (programista) znajduje się na 35 miejscu . Myślę, że warto zastąpić informatyka programistą, prawda?

Wcześniej zawsze postrzegałem inżynierów oprogramowania jako tytuł doświadczonych programistów i kierowników zespołów. Ale gdzie zatem mieści się „architekt oprogramowania” i co dokładnie robią? Czytam opisy CNN, ale tak naprawdę mnie nie satysfakcjonują, więc zakładam, że mogę uzyskać bardziej szczegółowe i doświadczone opisy od wspaniałej bazy użytkowników tutaj.

Z góry dziękuję za wszelkie otrzymane odpowiedzi.

Rob S.
źródło
1
Istnieje już wiele powiązanych pytań na temat stanowisk pracy , które mogą być albo zbyt zlokalizowane, albo być duplikatem.
Josh K
1
Te wydają się istotne, ponieważ potencjalne duplikaty: programmers.stackexchange.com/questions/13439/... , programmers.stackexchange.com/questions/22124/... . Jednak nie widzę takiego, który to wszystko łączy.
Adam Lear
9
Architekt oprogramowania chce zarabiać więcej :-)
Stephen C
4
Hmm, fryzura?
Pawka
7
@Rob S, informatyk NIE jest programistą (programistą).
systemovich 24.01.11

Odpowiedzi:

24

Ostrzeżenie : pojawiają się niepotwierdzone dowody ....

Z mojego doświadczenia, przynajmniej tutaj na rynku australijskim - terminy programista, programista i inżynier oprogramowania są mniej więcej wymienne (utrzymywałem wszystkie trzy za wykonanie dokładnie tej samej rzeczywistej pracy).

„Dyrektor ds. Inżynierii oprogramowania” opisany w łączu CNN to nie to samo, co „inżynier oprogramowania”. To naprawdę przypomina rolę kierownika technicznego wysokiego szczebla. Tego rodzaju osoba nie programowałaby zbyt wiele, jeśli w ogóle. Ta rola nie ma wiele wspólnego z typowym „inżynierem oprogramowania” - co często jest tylko chwalebnym tytułem dla średnio zaawansowanego lub starszego programisty.

„Architekt oprogramowania” opisany w linku zasadniczo brzmi jak lider zespołu wysokiego szczebla, typ, który projektuje ogólną strukturę systemu oprogramowania, a następnie prawdopodobnie przekazuje część pomruków większej liczbie młodszych programistów. Jest to osoba, która kieruje projektem i prawdopodobnie podlega „Dyrektorowi ds. Inżynierii oprogramowania” - w dużej firmie, w której wiele zespołów pisze różne produkty, szczególnie tam, gdzie wymagana jest integracja między nimi.

Wersja TL; DR :

  1. Inżynier oprogramowania jest często tylko sławnym tytułem dla „programisty”, co może oznaczać, że jest nieco starszy.
  2. Software Architect prawdopodobnie w przybliżeniu pasuje do kierownika zespołu wysokiego szczebla, który jest odpowiedzialny za zaprojektowanie ogólnej architektury projektu.
  3. Dyrektor ds. Inżynierii Oprogramowania jest menedżerem projektów wysokiego poziomu, który prawdopodobnie podlega najwyższym poziomom i prawdopodobnie wcale nie dotyka kodu.

0,02 USD

Stoły Bobby'ego
źródło
22
Co za wspaniała nazwa użytkownika, „Bobby Tables”.
Josh K
2
co to jest 0,02 $ ???
Sarawut Positwinyu
10
@ Sarawut: „Moje dwa centy”. To po prostu znaczy „to moja opinia”. :)
Tabele Bobby
7

Nauczyłem się tego w ten sposób:

  • Inżynier oprogramowania to ten, który zna wszystkie aspekty procesu tworzenia oprogramowania (wymagania, specyfikację, projekt, architekturę, projekt, wdrożenie itp.), Dzięki czemu może wykonywać zadania związane z zarządzaniem lub pracować w dowolnym miejscu procesu, doskonalić go itp.
  • Software Architect to ten, który pracuje tylko w fazie architektury, która po etapie projektowania jest najwyższym technicznym zadaniem, do jakiego można dążyć. Nadal musisz programować, w przeciwieństwie do inżyniera oprogramowania, który może zostać zarządcą. Jest to także praca typu mistrz-uczeń.
  • Nie porównuj też z informatyką, informatyk może programować, ale może także robić wiele innych rzeczy, więc nie ograniczają się one do dziedziny programowania.
Osukaa
źródło
Co z „programistą”?
Adam Lear
Naprawdę nie wiem, jak zdefiniować tę rolę. Myślę, że to programista, ale nie jestem pewien. Chciałem powiedzieć, że nie powinieneś porównywać tego do informatyka. Przepraszam za to: s
Osukaa
„Informatyk” to tylko tytuł naukowy, nie mniej więcej. Większość programistów, w których pracuję, to „Informatycy”, ponieważ studiowali „Informatykę” - przedmiot, w którym dużo uczą, jak pracować z systemami cyfrowymi i automatami stanowymi, oraz z matematyki. „Inżynieria komputerowa” to zawód, który ma w sobie coś więcej niż „programowanie”, ponieważ wiele uczy na temat fizyki i elektryczności.
Yam Marcovic,
6

Tutaj w Wielkim Stanie Teksas wiele firm ma tendencję do unikania terminu „Inżynier oprogramowania”, ponieważ w Teksasie licencjonujemy inżynierów, a w rzeczywistości istnieje coś takiego jak „Sealed” Professional Engineer, Software ( http: // www .tbpe.state.tx.us / eng_req.htm ).

Nigdy go nie spotkałem, ani nie znam nikogo, kogo znam. Oczywiście gildia Inżyniera bardzo chciałaby ograniczyć konkurencję, wymagając licencji na pisanie „hello world”, ale tak się jeszcze nie stało.

„Software Developer” jest częściej używany dla osoby, której głównym zadaniem jest pisanie oprogramowania.

Firmy mają również trochę łatwiej poradzić sobie z kwestiami wizowymi dla „programistów” niż „inżynierów oprogramowania”.

Pracowałem w startupach tylko przez ostatnie 15 lat, więc nie jestem przyzwyczajony do szeregu bardzo zróżnicowanych tytułów pracy, ale ogólnie rzecz biorąc, oprogramowanie „Architekt” jest starszym programistą, który jest dobry w przedstawianiu „dużego obrazu” „projekt projektu oprogramowania. Każdy architekt, którego znam, spędza dużo czasu na pisaniu kodu, tak jak wszyscy inni, zwłaszcza po uzgodnieniu głównego projektu.

Jim In Texas
źródło