Programowanie na wysokim poziomie a na niskim poziomie. Czy naprawdę muszę wybrać? [Zamknięte]


13

Co jakiś czas pytają mnie w wywiadach, które lubię najlepszy - niski lub wysoki poziom. Wydaje mi się, że domyślna wiadomość jest taka, że ​​są one specjalnością i chcą wiedzieć, w którą stronę zmierzam. Problem w tym, że wydaje mi się, że lubię jedno i drugie. Niski poziom jest niezwykle trudny i często wymaga dużej wiedzy ezoterycznej. Na wysokim poziomie mają miejsce wszystkie seksowne rzeczy: aplikacje, z których ludzie korzystają bezpośrednio, wyniki, które można łatwo wykazać (pokazać) w sposób dostępny dla wszystkich, a ty możesz pracować z naprawdę zaawansowanymi narzędziami i wchodzić w interakcje z nowymi technologiami.

Naprawdę chciałbym robić oba, nawet jeśli oznacza to naprzemienne ich zmienianie (wątpię, że są prace, które pozwolą mi wykonywać oba jednocześnie), ale zgaduję, że przemysł nagradza specjalistów bardziej niż specjalistów ogólnych. Czy to naprawdę będzie problematyczne pod względem kariery, jeśli nigdy nie wybiorę jednego? Czy praktyczne jest przełączanie się między nimi w tym sensie, że gdybym miał odejść z pracy, wykonując jedną z nich, nie powinienem doświadczać „tarcia” przy próbie znalezienia innej pracy (zakładając, że jestem w dobrej formie)? Czy są możliwości kariery, w których możesz robić obie rzeczy?

Czy naprawdę muszę wybierać między innymi?


Możesz spojrzeć na to pytanie na stronie SO: stackoverflow.com/questions/919568/…
user281377

Odpowiedzi:


5

Po pierwsze, którąkolwiek ścieżkę wybierzesz, pamiętaj, że twoje otoczenie może się zmienić. :)

Ponadto nie sądzę, że musisz wybierać między jednym a drugim. Twoje opcje zależą raczej od projektu i grupy, z którą pracujesz.

  • Prawdopodobnie ubiegając się o pracę specjalistyczną w dużej korporacji, ciężko byłoby wykonywać inne zadania.
  • Jest również prawdopodobne, że rola ogólna nie da ci czasu na głębsze zagłębienie się w małą część.
  • Równie prawdopodobne jest, że posiadanie pewnych ogólnych umiejętności sprawi, że będziesz bardziej wydajny w wykonywaniu specjalistycznej pracy, ponieważ nie będziesz musiał polegać na innych, aby posuwać się naprzód.
  • Możliwe jest również, że rola ogólna będzie wymagać specjalistycznej wiedzy, a jeśli szukasz małej firmy lub startupu, który działa w obszarze, w którym się specjalizujesz, możesz mieć dużo okazji, aby zabłysnąć w swojej dziedzinie.

W tej chwili mam do czynienia z tymi problemami.

Specjalizuję się w C ++, OpenGL, symulacjach 3D, architekturze silnika gry i tym podobnych, ale w ubiegłym roku dość często korzystałem z lutownicy (łącząc płyty USB, prototypy, serwomechanizmy i silniki, a także strojenie i programowanie tych kontrolerów serwo). Być może będę musiał wykonać prototypy stron internetowych dla kilku potrzebnych nam usług.

To dobra zabawa, ale nie chciałbym robić tego wiecznie, ponieważ moja specjalizacja trochę zanika, i prawdopodobnie są i inni, którzy są w tym lepsi. Mamy nadzieję, że firma się rozwija i możemy zatrudnić więcej inżynierów. W tej chwili jesteśmy tylko dwoma facetami C ++ / Python (ze mną spędzam 60-75% mojego czasu na sprzęcie).

Tak więc starannie wybieraj projekty i nie musisz porzucać niczego, ale musisz od czasu do czasu sprawdzać, gdzie zmierza Twoja kariera (jak wszyscy).


12

Z mojego doświadczenia wynika, że ​​większe firmy potrzebują specjalistów, a mniejsze - lekarzy ogólnych. Jeśli chcesz być generalistą, szukaj i aplikuj w mniejszych firmach.


3
Wystarczy powiedzieć, że większe firmy mogą sobie pozwolić na wyższe stawki, jakich wymagają specjaliści.
Oded

3
To nie wynagrodzenie determinuje rozróżnienie między specjalistą a generalistą, tak samo jak liczba programistów w twojej firmie. W przypadku wielu programistów efektywniejsze jest przypisywanie konkretnych osób do określonych produktów. Z garstką programistów muszą oni pokryć wszystkie potrzeby rozwojowe firmy.
dan04,

2

W naszej dziedzinie myślę, że na pewnym poziomie musimy być generalistami, jednocześnie rozwijając specjalizację, a nawet kilka specjalności. Rozwijanie naszych umiejętności w wielu obszarach nigdy nie boli, ponieważ niektóre projekty mogą wymagać od ciebie wszechstronności. Jak już wspomniano, im większa firma, tym większe prawdopodobieństwo, że będziesz musiał skupić się na jednym obszarze. W takich sytuacjach myślę, że pytanie, które wolisz, jest bardziej niż prawdopodobne, próbując ustalić, gdzie by cię postawili, gdyby cię zatrudnili.


2

Myślę, że dobrze jest zadać to pytanie, aby wiedzieli, do czego dążysz, ale zamieszczone tutaj wyjaśnienie jest również bardzo dobrą odpowiedzią: „Lubię to robić”. Języki wysokiego i niskiego poziomu przyciągają różnego rodzaju osoby, podczas gdy języki niskiego poziomu przyciągają ludzi, którzy naprawdę lubią znać drobne szczegóły systemu, jego działanie itp., Języki wysokiego poziomu przyciągają ludzi bardziej zainteresowanych procesem biznesowym i organizacją samo. Tak wielu ludzi naprawdę lubi języki wysokiego poziomu, ale nie może znieść niskiego poziomu (lub odwrotnie).

Pytanie więc jest bardzo ważne, aby uzyskać swój profil i intencje, ale twoja odpowiedź po opublikowaniu jest całkowicie do przyjęcia.


1

Nie musisz wybierać, chociaż twoje życie byłoby łatwiejsze (jeśli nie szczęśliwsze). Większość firm będzie szukać jednego lub drugiego, ale jeśli znajdziesz miejsce, w którym chcą kogoś, kto zna oba światy, trafisz w dziesiątkę.

To, czego absolutnie nie możesz zrobić, to zastosować niewłaściwe podejście do problemu.

I oczywiście czasami rzeczy nie idą zgodnie z planem, zacząłem od zamiłowania do montażu i C oraz nieufności do wszystkiego, co się dzieje i zostałem programistą Java. Teraz trudno mi było wrócić, ponieważ straciłem dziesięć lat nauki i nowych technologii. Lekcja jest taka, że ​​jeśli chcesz się przełączyć, upewnij się, że jesteś w kontakcie.

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.