Właśnie będąc zatrudnionym jako starszy programista, nigdy nawet nie będąc młodszym programistą, czego mogę się spodziewać? [Zamknięte]

12

Przez pewien czas byłem wolnym strzelcem i programistą, a ostatnio zostałem zatrudniony po kilku poziomach wywiadów w miłej nowojorskiej firmie, chociaż mam pewne braki w konkretnych dziedzinach. Czy firmy często zatrudniają seniorów z mniejszym doświadczeniem? Czy poczekają kilka tygodni na przestrzeganie określonej krzywej uczenia się?

Nie wiem nic o pracy w firmie, dlatego się martwię. Po tygodniu wciąż sprawdzam i eksploruję źródła, ale po tygodniu pracy wydaje się, że niektórzy współpracownicy uważają, że jestem powolny. Jestem dobry z matematyki, fizyki, algorytmów, ale wciąż muszę się dowiedzieć o wszystkich szablonach używanych w tej firmie.

Czy ktoś tutaj otrzymał już mniej doświadczonego starszego członka w swoim zespole? Czy to jest dopuszczalne?

Planuję spotkanie z szefem, żeby przestać się tym martwić. Brzmi jak dobry pomysł?

[EDYTOWAĆ]

Dziękuję za te odpowiedzi. Jestem zdecydowanie nowym - starszym programistą. W poniedziałek wróciłem do biura z większą pewnością siebie. Sądzę, że to normalne, że czuję się trochę niekompetentny wobec nieznanych szablonów / źródeł w pierwszych tygodniach, kiedy otrzymujesz dobrą zapłatę.

Mark James
źródło

Odpowiedzi:

28

Nie ma powszechnie przyjętej definicji „starszego programisty”. Definicje mogą istnieć w organizacjach, ale starszy programista zwykle reprezentuje kogoś:

  1. Z doświadczeniem w tworzeniu oprogramowania (minimum 3-5 lat),
  2. Może pracować bez stałego nadzoru (często bez nadzoru),
  3. Zna środowisko programistyczne i narzędzia,
  4. Może nadzorować lub uczyć młodszych programistów,
  5. Potrafi projektować i realizować małe i średnie projekty.

Trudno jest mówić o konkretnej sytuacji, ale zazwyczaj dołącza się do nowej krzywej uczenia się.

Bez względu na to, jak standardowe są używane przez nich narzędzia i procesy, każdy zespół ma historię decyzji, które doprowadzą ich do obecnego stanu. Jeśli organizacja korzysta z niestandardowych bibliotek lub środowisk, moim pierwszym pytaniem byłoby zapytać o dokumentację i szkolenie . Duże firmy mogą mieć formalne szkolenie dla nowych pracowników, nawet starszych. Przeczytaj wszystkie istniejące projekty, dokumentację środowiska kompilacji, procesy i tak dalej. Jeśli nie istnieją, zaoferuj ich udokumentowanie .

Następnie poprosiłbym o sparowanie z istniejącym starszym programistą . Jest to zazwyczaj najszybszy sposób, aby dowiedzieć się, czego się oczekuje i jak działa. Jak rozwiązali ten problem? Ile wysiłku poświęcili na testy jednostkowe i recenzje? Dlaczego zrobili to w ten sposób, a nie w ten sposób? Upewnij się, że drugi programista pomaga w skonfigurowaniu środowiska programistycznego i przeprowadzi Cię przez proces wydania .

Wyjaśnij im, że znasz język i narzędzia, a nie tylko ich techniki. Na przykład, jeśli wcześniej robiłeś coś inaczej i uważasz, że jest to lepsze niż ich sposób, sugeruj to ostrożnie iz szacunkiem.

Mamy nadzieję, że sparowanie ich nie spowolni ich. Mogą nawet docenić inny zestaw oczu, aby uchwycić literówki i problemy, zanim zaangażują się w kontrolę źródła.

Wreszcie, zdaj sobie sprawę, że nie będziesz w pełni rozumieć dużego projektu w ciągu tygodnia, więc zacznij naprawiać małe błędy lub funkcje . Upewnij się, że twój kolega je przejrzy, a otrzymasz wszelkie opinie. Będziesz tęsknić. Popełnisz błędy. W porządku. Ucz się od nich, nie powtarzaj ich i ciężko pracuj. Jeśli jesteś dobry w tym, co robisz, dotrzesz tam.

akton
źródło
4

Po tygodniu wciąż sprawdzam i eksploruję źródła, ale po tygodniu pracy wydaje się, że niektórzy współpracownicy uważają, że jestem powolny.

Tydzień to krótki okres. Nawet po miesiącu nadal będziesz sprawdzać źródła. Ta firma nie angażuje się w znajomość swojego kodu na pamięć. Twoje narzędzia programistyczne lub IDE są tutaj, aby ci w tym pomóc. Jeśli po tygodniu pojawią się problemy z niektórymi współpracownikami, po prostu zapytaj ich, jak działają i jakich narzędzi używają. Jeśli uważają, że jesteś powolny po tygodniu, jest to całkowicie obelżywe. Minimalny czas potrzebny do zrozumienia istniejącej aplikacji wynosi około miesiąca. Zwłaszcza w przypadku materiałów firmowych, które czasami lub przez większość czasu nie są w ogóle udokumentowane. Jesteś człowiekiem, a nie komputerem.

Powinieneś poprosić swoich współpracowników, aby przestali pokazywać ci, że jesteś powolny lub są lepsi od ciebie, to nie ma sensu! Na pewno są szybsi od ciebie, bo to napisali ... Ktoś daje ci pracę, zostałeś zatrudniony za to, co możesz zrobić i co zrobiłeś wcześniej, więc ci faceci powinni cię tylko powitać, pomóż z wyjaśnieniem kickstartera, codziennymi wstawkami i cotygodniowymi podsumowaniami. Jeśli nadal będą się tak zachowywać, jest to bardzo niepokojące i powinieneś rozważyć rozwiązanie tego problemu z menedżerem lub odejść.

Jestem dobry z matematyki, fizyki, algorytmów, ale wciąż muszę się dowiedzieć o wszystkich szablonach używanych w tej firmie.

Jest to całkiem normalne i może potrwać miesiące. Najpierw spróbuj pracować na bardzo małych fragmentach aplikacji, a następnie nauczysz się i będziesz w stanie uzyskać globalny obraz kodu, procesów (to może być równie ważne niż kod), metodologii (nawet jeśli nie jest formalny) itp.

smonff
źródło
1

Nawet dla osób doświadczonych w „pracy w firmach” bycie na palcach niekoniecznie jest czymś złym, pozwala zachować czujność i koncentrację. Tak długo, jak zachowujesz pewność siebie i nie jesteś sparaliżowany.

To staje się łatwiejsze. Pracując na dużej bazie kodu, należy oczekiwać, że będziesz potrzebował czasu na zapoznanie się z jego zawiłościami. Ponad dekadę pracowałem dla wielu firm, zanim przestawiłem się na programowanie (nieco ponad rok temu) i wciąż mam chwile zwątpienia w rozwiązywanie złożonych problemów lub zniechęcające ilości kodu (nasz kod liczba linii bazowych jest liczona w milionach), ale po prostu żołnierz dalej, utrzymuję Google, StackOverflow i tę stronę tutaj otwartą, pracuję nad tyłkiem i nie jestem zbyt dumny z proszenia o pomoc. Jesteś częścią zespołu, a nie samotnym programistą przy biurku w domu. Skorzystaj z doświadczenia i wiedzy swoich współpracowników.

Zostałeś zatrudniony po kilku poziomach wywiadów , co oznacza, że ​​dokonali świadomego wyboru, zatrudniając cię. Bądź spokojny, masz pracę. Oznacza to, że masz już zaufanie do swoich umiejętności i już od dłuższego czasu kodujesz. Nic ci nie będzie.

Wim Ombelets
źródło