Pracuję w dużej firmie, w której pracownicy techniczni z grubsza należą do jednej z tych kategorii:
- Programista w zespole scrum, który rozwija się na jednym produkcie, a może współpracuje z innymi zespołami, które są ściśle związane z produktem.
- Architekt , który jest bardziej konsultant wielu zespołów (5-6) i stara się rozpoznawać podobieństwa między wysiłków zespołu, które mogą być wydobywane w bibliotekach (architekci nie pisać kod biblioteki, jednak). Ten architekt bierze również udział w wielu spotkaniach z kierownictwem i próbuje ustalić kierunek techniczny.
W mojej firmie rolą architekta jest miejsce, w którym wkracza większość osób technicznych jako kolejny krok w ich karierze.
Moje pytania brzmią: czy większość firm działa w taki sposób, że ich najlepiej opłacani pracownicy techniczni są dalecy od pisania kodu? Czy to naturalna tendencja w karierze programisty? Czy programista może mieć to wszystko (kod ORAZ ustawić kierunek?)
źródło
Zależy to w dużej mierze od kultury organizacji. Wiele firm nie ma prawdziwych wyższych stanowisk technicznych, chociaż mogą mieć fałszywe.
Niektóre firmy mają takie stanowiska. Jednym z powodów, dla których wspaniali inżynierowie mają tendencję do przyciągania kilku dużych firm (np. Google) lub startupów, jest to, że mogą nadal być programistami i pracować nad rzeczami, którymi są podekscytowani, z wysokim wynagrodzeniem i statusem organizacyjnym. W większości firm, jeśli chcieliby pozostać programistami, byliby na najniższych szczeblach.
źródło
Osobiste doświadczenie to im bardziej doświadczone pisanie kodu, tym mniej czasu mogę sobie pozwolić na napisanie kodu.
Spędzam czas, próbując naprawić problemy, zanim się pojawią. Pomagać innym, gdy utkną. Aby zaplanować, jak wszystko będzie się układać razem. Nawet po prostu próbuję nakłonić ludzi do pociągnięcia w tym samym kierunku.
Na moim stanowisku wydaje się to nieuniknione. Wolę pracować z kodem, ale są rzeczy, które mogę zrobić dla naszej firmy, które są o wiele cenniejsze.
Teraz jest to osobiste doświadczenie, ale tak, myślę, że odzwierciedlałoby większość małych firm. Dałem jednak do zrozumienia szefowi, że nie chcę być całkowicie usuwany z kodu.
Myślę, że najlepsi architekci oprogramowania są praktyczni. Widziałem dobry artykuł http://www.infoq.com/articles/brown-are-you-a-software-architect Spójrz na część 4 Projektowanie, rozwój i testowanie.
źródło
To zależy od twoich obowiązków. Jeśli jesteś odpowiedzialny za kwestie techniczne, powinieneś pozostać w pozycji kodowania. Rozdzielenie procesu „pomysłu” od procesu „wdrożenia” jest ścieżką złą drogą. Jeśli kiedykolwiek znajdziesz się w takiej sytuacji, musisz oprzeć się pragnieniu bycia geniuszem, który po prostu nie ma czasu na wdrożenie swoich genialnych pomysłów.
Z drugiej strony, jeśli twoja odpowiedzialność spoczywa na zarządzaniu, nie sądzę, że powinieneś kodować. Kierownik powinien zarządzać czasem napełniania. Taka pozycja obejmuje ułatwianie komunikacji między różnymi programistami oraz między zespołem a większym biurokratycznym ekosystemem. Najgorsi menadżerowie z mojego doświadczenia, w których ci, którzy trzymali się głowy kodowania podczas gdy zespół rozpadł się z powodu konfliktu i złej komunikacji.
źródło