Właśnie zostałem zatrudniony do mojej pierwszej pracy programistycznej! Mam 25 lat i używam Javy naukowo od 6 lat.
Teraz, kiedy zostałem zatrudniony, denerwuję się, że moje umiejętności nie będą zgodne z oczekiwaniami pracodawcy. Obawiam się, że zostanę przydzielony do projektu i muszę zadać wiele pytań, które moi współpracownicy uznają za amatorów.
Czy to racjonalny strach? Jakie były twoje pierwsze doświadczenia związane z programowaniem? Czego powinienem się spodziewać? Jakiej rady mógłbyś mi udzielić?
Dzięki.
junior-programmer
Ben B.
źródło
źródło
Odpowiedzi:
Jest zbyt wiele rzeczy, których nie można się nauczyć na studiach . Istnieje również wiele rzeczy specyficznych dla firmy . W obu przypadkach masz wybór:
Jeśli zatrudnię kogoś, kto nie ma doświadczenia zawodowego, nie miałbym nic przeciwko, gdyby zadawała mnóstwo pytań przez pierwsze tygodnie lub miesiące. Z drugiej strony, jeśli boi się prosić o pomoc i marnuje godziny na rozwiązywanie problemu, który inny programista może rozwiązać w ciągu kilku sekund, lub popełnia głupie błędy, których łatwo mógłby uniknąć ktoś bardziej otwarty na komunikację z rówieśnikami, znacznie bardziej mnie to niepokoi.
Nie unikaj pytań. Jest to dobry sposób zarówno na naukę rzeczy, jak i kontakty towarzyskie z ludźmi, z którymi będziesz pracować. Ale:
Przykład złych pytań:
„Hej, chcę utworzyć tablicę taką jak {1, 2, 3, ... n-1, n} w PHP. Czy możesz mi pomóc?” Tutaj po prostu pokazujesz, że nie tylko nie wiesz, jak korzystać z dokumentacji PHP, ale nawet nie zastanawiasz się przez chwilę nad wyszukiwaniem w Google lub myśleniem. Jest ok, jeśli nie wiesz o
range
metodzie w PHP. Nie jest ok, jeśli nie możesz sam go znaleźć.„Próbuję wdrożyć wtyczki, ale nie wiem, jaki jest CAS w .NET Framework. Czy możesz mi wyjaśnić, co to jest?” Tak, łatwiej jest poprosić o wyjaśnienie, ale co najpierw szukać w Google „CAS .NET Framework 4.0”?
„Dlaczego zmuszasz mnie do korzystania z kontroli wersji? Zawsze pracowałem bez niej i nie rozumiem, dlaczego miałbym jej teraz potrzebować”. Cóż, twoi koledzy nie muszą wyjaśniać, dlaczego musisz go używać. Po pierwsze, jest to wytyczne Twojej firmy. Nie jesteś tu, aby dyktować, jak pracować. Po drugie, na stronach internetowych SE jest mnóstwo książek, artykułów na blogu i odpowiedzi wyjaśniających, dlaczego wszyscy muszą korzystać z kontroli wersji. Musisz tylko wyszukać.
Przykłady pytań, które są mile widziane:
„Chcę zatwierdzić zmiany w kontroli wersji, ale pojawia się dziwny komunikat o błędzie. Mówi: [...]. Może wiesz, co to jest?” Możliwe, że Twój kolega widział tę wiadomość już kilkadziesiąt razy, więc możesz o to zapytać.
„Czytam stronę 9 wymagań dla tego projektu, część 4.2.1, ale nie jestem pewien: czy to dla mnie, czy dla administratora bazy danych to zrobić?” Lepiej zapytać, niż spędzić trzy dni na pracy, którą już wykonał dba.
„Muszę wdrożyć wtyczki, ale po przeczytaniu tego i tego nadal nie rozumiem, co to jest piaskownica i jak to jest związane z bezpieczeństwem. Czy możesz mi to wyjaśnić później, kiedy będziesz wolny?” Szukałeś Podjąłeś wysiłek. Nie zrozumiałeś Można nie rozumieć wszystkiego i lepiej poprosić o wyjaśnienie, niż spędzić weekend na jego poszukiwaniu.
źródło
^ Poważnie. Zapamietaj to.
Jeśli jesteś naukowcem od 6 lat, zakładam (i mam nadzieję ), że dobrze znasz podstawowe koncepcje inżynieryjne. O ile nie znajdziesz się w złej sytuacji ze strasznym pracodawcą, powinni oni być świadomi, że będąc świeżo po szkole w swojej pierwszej pracy, będziesz mieć przed sobą krzywą uczenia się i oczekujesz, że popełnisz błędy po drodze .
Gdyby twoje umiejętności nie pasowały do tego, czego szukał pracodawca, nie zatrudniłby cię. Jeśli cię zatrudnili, mimo że twoje umiejętności nie pasują do tego, czego szukają, najprawdopodobniej i tak nie chcesz tam pracować.
Im więcej pytań zadajesz, tym szybciej przyzwyczaisz się do nowego środowiska pracy. To powiedziawszy, ogólnie rzecz biorąc, inżynierowie nie lubią ciągłego podsłuchiwania, ponieważ zajmuje im to około 15 minut, zanim powrócą. Więc może pomyślałbym o tym, aby umieścić wszystkie istotne pytania w wiadomości e-mail i wysłać je komuś „znającemu” na koniec dnia.
Niektóre firmy łączą cię z mentorem, niektóre nie.
źródło
Przestań się tak martwić. Pierwszego dnia nikt nie jest światowej klasy.
źródło
Pierwszą pracą programistyczną było przejęcie strony internetowej napisanej w językach, których nawet nie znałem. Byłem jedynym programistą i nie miałem nikogo, kogo mógłbym poprosić o pomoc. Byłem bardzo przestraszony, że nie wytrzymam długo (gdyby nie fora, prawdopodobnie bym tego nie zrobił). Co więc zrobiłem? Zadałem mnóstwo pytań na forach. Mnóstwo. Czułem się, jakbym zadawał tak wiele „amatorskich” pytań, że uczyniłem z mojego awatara „Jestem głupi” (wciąż tam jest… gdzieś).
Chodzi mi o to, że strach jest naturalny, ale przejdziecie go i zadacie wiele amatorskich pytań. To najlepszy sposób na naukę. Przynajmniej w moim przypadku tak było i nadal jest.
Również, gdy uczestniczyłem w szkoleniu z zakresu IT w wojsku, krótko omawiali każdą koncepcję i stwierdzili, że „nauczysz się swojej pracy na pierwszym stanowisku dyżurnym… to po prostu dlatego, że znasz się na tym, co się dzieje”.
źródło
Jeśli zadajesz głupie pytania, ale zadajesz tylko raz, rówieśnicy cię nie nienawidzą. Ale jeśli nigdy się nie nauczysz, każą szefowi cię zwolnić.
Twoja sich jest poza twoją kontrolą. Albo będziecie z dobrymi ludźmi, którzy będą chcieli, abyście odnieśli sukces, albo będziecie ze złem, którzy będą chcieli, abyście upadli.
Staraj się nie denerwować i po prostu rób, co możesz. I włóż dużo dodatkowej pracy w naukę języka i aplikacji firmowych.
źródło
Kiedy zadajesz pytanie, upewnij się, że:
http://www.artificialworlds.net/blog/2011/02/12/how-to-ask-technical-questions-in-person/
źródło
Moje pierwsze zadanie programistyczne dotyczyło języka i frameworka / platformy, których nigdy wcześniej nie dotykałem (Visual C ++ / MFC, a ja uczyłem się języka C na Uniksie z odrobiną Java).
Morał anegdoty: gdy nie masz doświadczenia handlowego, pierwszy pracodawca, który cię zatrudnia, zwykle postrzega cię jako czystą kartę. Patrząc wstecz teraz, nawet gdybym został zatrudniony do roli C na Unixie, 95% + krzywej uczenia się na początku tej pierwszej pracy byłoby o wiele więcej o miękkich umiejętnościach, kontroli źródła, polityce biurowej / zarządzaniu i innych tego typu rzeczy, do których doświadczenie akademickie nie jest w stanie naprawdę cię przygotować. Jeśli chodzi o stronę techniczną, zwykle oczekują, że będziesz bardzo chwiejny na nogach przez pierwszy miesiąc lub dwa - szok systemu od samych nietechnicznych rzeczy wystarczy odciągnąć uwagę. Wiedzą o tym, więc prawdopodobnie nie oczekują wiele.
MainMa ma dobrą radę : po prostu staraj się nie zawracać głowy pytaniami, które są łatwe dla Google, i które powinny pochodzić z terytorium dla kogoś z 6-letnim doświadczeniem akademickim. Dobrą zasadą jest, że ogólna wiedza na temat programowania powinna być najpierw zbadana przed zapytaniem, podczas gdy wewnętrzna wiedza dotycząca konkretnej firmy / domeny jest o wiele bezpieczniejsza po minimalnym kopaniu.
źródło
Jestem również absolwentem college'u i od około roku profesjonalnie rozwijam oprogramowanie. Boisz się dokładnie tych samych rzeczy, których się obawiałem, więc nie jesteś sam. Czuję, że zapoznałem się z tym, co tu opisujesz. Najlepsza rada, jaką mogę ci dać, to:
To cienka linia, ale dowiesz się, gdzie ją przekroczyć, a gdzie nie. Najlepszą rzeczą, jaką możesz zrobić, to entuzjastycznie uczyć się i otaczać się ludźmi, którzy wiedzą więcej niż Ty o tworzeniu oprogramowania.
źródło