Czy posiadanie lepiej płatnej pracy technicznej oznacza, że ​​nie musisz już kodować? [Zamknięte]


58

Pracuję w dużej firmie, w której pracownicy techniczni z grubsza należą do jednej z tych kategorii:

  1. 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.
  2. 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?)

Odpowiedzi:


75

Czy większość firm działa w taki sposób, że ich najlepiej opłacani pracownicy techniczni są dalecy od pisania kodu?

Najbardziej złe firmy. Istnieje naturalna tendencja, aby większa odpowiedzialność wiązała się z mniejszym pisaniem kodu i większą koncentracją na innych aspektach tworzenia oprogramowania. To powiedziawszy, bardzo często ludzie techniczni tracą kontakt z tym, co jest wspólne / najlepsze / możliwe, jeśli nie spędzają czasu na kodowaniu. Ma to katastrofalny wpływ na firmę.

Czy to naturalna tendencja w karierze programisty?

Tak. W końcu osoba może znacznie pomóc produktowi, mentorując, koordynując, projektując, znając domenę problemów i wykonując inne zadania związane z programowaniem niż pisząc kod. I szczerze mówiąc, posiadanie dobrych umiejętności przywódczych lub projektowych jest znacznie rzadsze (czytaj: cenne) niż umiejętność pisania kodu.

Czy programista może mieć to wszystko (kod ORAZ ustawić kierunek?)

Absolutnie. Choć trzeba zdać sobie sprawę, że ilość kodowania będzie spadać. Po prostu nie możesz zrobić dobrze tych innych cennych rzeczy, jeśli spędzasz 80% dnia na głowie w IDE.

Inną możliwą opcją jest „główny inżynier” z powodu braku lepszego terminu. Niektórzy programiści są bardzo wyspecjalizowani. Pracowałem na przykład z kimś, kto napisał gigabitowe sterowniki Ethernet dla Linuksa. Potrzebowaliśmy, żeby wykonał za nas taką pracę, a ponieważ tylko garstka ludzi mogła dobrze wykonać tę pracę, przez większość dnia robił stosy gotówki oprócz pisania kodu.

Większość firm nie potrzebuje jednak takiej specjalizacji. Po prostu łączą dane lub tworzą kolejną stronę / aplikację mobilną.


1
To. Jednak w większości hierarchii istnieje kilka pozycji pomiędzy przeciętną „małpą kodową” a architektem; Młodszy programista, programista, starszy programista, kierownik zespołu, a nawet kierownik projektu często znajdują się pod architektem oprogramowania. Do kierownika projektu większość tych stanowisk jest nadal głównymi programistami, z narastająco rosnącymi funkcjami nadzorczymi / doradczymi, z skokiem kwantowym po przejściu na stanowisko kierownicze w PM, co w znacznym stopniu odciąża wszystkie obowiązki związane z kodowaniem na rzecz zarządzania zasobami i ludźmi. Architekci zazwyczaj przeskakują PM, aby pozostać bliżej kodowania, ale zyskać autorytet nad wieloma projektami.
KeithS

1
Świetna odpowiedź. Twój komentarz dotyczący „posiadania wszystkiego” jest natychmiastowy. Niedawno podjąłem świadomą decyzję o zmianie ścieżki kariery, aby móc wrócić do pisania kodu. Miałem szczęście znaleźć firmę, która może wykorzystać zarówno moje umiejętności architektoniczne, jak i programistyczne. Zdecydowanie mogą być trudne do znalezienia.

3
„Najbardziej złe firmy”. Dokładne i zwięzłe. +1
orip

Google / Find na Twitterze John Carmack ( twitter.com/ID_AA_Carmack ) Jest założycielem / dyrektorem technicznym ID Software, a jednak pisze kod na co dzień. Świetny przykład.
kodisha

@kodisha counter counter Linus Torvalds . Nie wydaje się kodować tak często jak kiedyś.
Autodidact

8

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.


4

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.

To powiedziawszy, dlaczego codzienne prace programistyczne nie powinny być częścią roli architekta? Większość architektów jest doświadczonymi programistami, dlatego warto aktualizować te umiejętności. Ponadto architekt może odczuwać ten sam ból, co wszyscy inni w zespole, co z kolei pomaga im lepiej zrozumieć, jak postrzegana jest ich architektura z perspektywy rozwoju.


0

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.


1
+1 „
Najgorsi

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.