Dziś piszę o tym, jakie często towarzyszą nam emocje na początku kariery, w pierwszej pracy jako programista, a także często później, przy jej zmianie. Dobrze być tego świadomym, niezależnie czy jesteś dopiero przed swoją pierwszą pracą i właśnie masz zacząć, czy też pracujesz w branży dłużej, ale niedługo zmienisz pracę. Zwłaszcza, jeśli zmiana pracy wiąże się z nowymi wyzwaniami, na przykład nowymi technologiami, frameworkami, językiem itp. Dla osoby zaczynającej dopiero swoją pierwszą przygodę z programowaniem, „wszystko” będzie nowe.
Dobrze też, mieć świadomość tego, nawet jeśli nie dotyczy to nas samych, żeby móc wejść w skórę nowego kolegi albo nowej koleżanki w zespole. Nie pracujemy sami (chyba, że jesteś freelancerem), ważne jest to, jak fajnie nam się pracuje razem a także jak wydajni jesteśmy jako zespół.
Dlaczego ta świadomość jest ważna? Żeby wiedzieć co można z tym zrobić. Będzie Ci łatwiej 🙂
Co to za emocje?
Ja sam stosunkowo niedawno to przechodziłem, więc mam jeszcze te odczucia świeże. Pojawiają się one też często w rozmowach z początkującymi osobami lub w tematach na forum.
Nie zawsze występują razem, czasem tylko jedna.
O jakich dwóch emocjach dziś piszę? Mniej więcej, wyglądają one tak (w bardzo negatywnej wersji, szczęśliwie, w większości przypadków nie jest tak źle z nami 😉 )
1. „Wydaje mi się, że umiem za mało i strasznie mnie to irytuje. Kiedy dostaję nowego taska, to za każdym razem są dla mnie nowe rzeczy, załamka”
2. „Umiem za mało i boję się zadawać pytania, bo to zobaczą i mnie wyrzucą.”
Nie zawsze są w tak przerysowanej formie, w tej występują raczej przy okazji pierwszej pracy, gdy mamy niską zawodową pewność siebie, gdyż nie zdążyliśmy często jej jeszcze zbudować. Czasem są to tylko stany zwątpienia i niechęć do zadawania pytań.
Czy to źle, że ja też tak mam?
Czy to, że takie emocje (niekoniecznie tak drastycznie negatywne) się u nas pojawiają to źle? Nie. Moim zdaniem, aczkolwiek nie jestem psychologiem, to nie jest źle, to normalne. To od nas zależy, co z nimi zrobimy. I wtedy, może się okazać że to źle – albo wręcz bardzo dobrze!
Gdy w naszej głowie (bądź jeśli wolisz, w duszy bądź sercu 😉 ) pojawia się jakieś uczucie, nie możemy od ręki nic zrobić z samym faktem jego pojawienia się. Co możemy zrobić, to świadomie, choć często to ciężkie, zdecydować w jaki sposób ono na nas wpłynie.
Co nam mogą dać?
Pierwsza może dodać nam motywacji – tak jest ze mną – i pomoże się rozwinąć. Wtedy często przyjmie motywującą formę „Mało jeszcze umiem. Dostałem nowego taska, dla mnie nowa rzecz. Fajnie, mogę się tego nauczyć!”. Jeśli tak jest z Tobą – to bardzo dobrze!
Drugiej nigdy nie odczuwałem za bardzo, a na pewno nie w tak negatywnej postaci, ale gdy pomyślę co mi dało pokonywanie jej, gdy już się pojawiła: większą pewność siebie i umiejętność pokazania, że są rzeczy o których nie wiem. Dla dobrego programisty, to bardzo cenna rzecz.
O obu tych rzeczach niedługo napiszę więcej w osobnych wpisach, gdyż na to zasługują.
Waga
Moim zdaniem, warto sobie uświadomić, jeśli jesteś początkujący/początkująca że to normalne. Dzięki temu, możesz zareagować i obrócić je w coś dobrego.
Jeśli już pracujesz dłużej i masz w zespole osobę, dla której to pierwsza praca lub nowe wyzwanie, warto mieć świadomość że może coś takiego odczuwać.
Tak naprawdę wiele zależy nie tylko od charakteru osoby która to czuje, ale także od samego środowiska i atmosfery – im lepsze im zapewniamy, tym mniejsze prawdopodobieństwo że negatywne emocje się pojawią. Mogą od razu pojawić się w pozytywnej wersji.
Najlepsze miejsca żeby w nich pracować, to te w których atmosfera sprzyja produktywności, a negatywne emocje ją zabijają. Dlatego ważne jest, żebyśmy tworzyli taką dla innych.
A jak z tym jest/było u Ciebie?
Osobiście od niedawna (zacząłem 5 miesiąc) uczę sie programowania w c#. Przygodę z programowaniem zacząłem 3 lata temu (VBA). Z zawodu jestem chemikiem i w tej branży pracuje. Docelowo jednak chciałbym, aby zarabiać na życie poprzez hobby co w moim przypadku jest nim zamiłowanie do IT, programowania. W chwili obecnej stoję przed dylematem czy aplikować na ofert pracy jako programista czy jednak jeszcze wstrzymać sie (żeby na rozmowie nie spalić sie). Brakuje pewności siebie, przekonania że to „juz czas” spróbować. Im więcej sie uczę (okolo 1,5h dziennie) tym mam wrażenie, ze nic nie wiem (ze względu na ilość możliwości c# w porównaniu z VBA).
Jak od strony praktycznej wygląda pierwsza praca programisty ? Czy w czasie projektów programista szuka rozwiązań w książkach, na stronach www, forach ? Czy dziennie roZliczany jest z pracy ? Jak to wygląda ?
Nie boj sie.
Idz pracowac. Programista w rzeczywistosci X czasu spedza na szukaniu rozwiazan w internecie (stackoverflow, blogi, …), Y czasu na komunikacji z kolegami z zespolu a Z czasu na programowanie.
Junior: X=50% Y=25% Z=25%
Senior: X=20% Y=60% Z=20%
MK ma rację.
Aplikuj. Zaproszą Cię na rozmowy i w najgorszym wypadku nie przyjmą Cię i spróbujesz ponownie za parę miesięcy. Dowiesz się czego nie wiesz i musisz douczyć. Do tego będziesz mieć doświadczenie z rozmów, to też istotne. A jak się uda i Cię przyjmą na juniora albo staż (nie wiem ile rzeczywiście umiesz) to super.
Rynek jest bardzo chłonny, są firmy które wymagają nawet od juniora czegoś więcej (czyli juniora chcą, ale nie takiego który nie umie za wiele), a są takie, które przyjmą prawie każdego i douczą.
Nie zastanawiaj się, rób CV i wysyłaj już dziś. Załóż też konto na linked in i golden line.
Dzięki wielkie za odzew. Konta na Linkedinie czy Goldenie mam aczkolwiek nie ma się jeszcze czym chwalić w zakresie C#. Pierwsze CV wysłane. Macie rację, nie mam nic do stracenia 🙂
A może znajdziecie chwilę i podzielicie się ‚historyjką’ jak wygląda dzień programisty….nawet luźny wpis z humorem ?
Pozdrawiam,
Dzień pracy? To zależy ;-). Będzie inny w zależności nie tylko od firmy i zespołu, ale także od tego co się dzieje w projekcie. Generalizując i pisząc ogólnikami, wygląda bardzo normalnie, przychodzisz i pracujesz ;-). W czasie pracy robisz swoje taski, albo je sam bierzesz albo dostajesz odgórnie. Rozmawiasz z ludźmi, na temat tasków, dopytujesz i pomagasz im (raczej nie jako junior, to przychodzi później). Zależnie od firmy i modelu pracy, będziesz, albo nie, też kontaktował się z klientem, analitykami i testerami. W międzyczasie będziesz sobie robić przerwy na jedzenie, pogaduszki i odpoczynek np piłkarzyki czy konsole.
To są ogólniki, które nie mówią Ci zbyt wiele. Nie mówią Ci najważniejszych rzeczy:
Jak wygląda model pracy, czy będą np stand upy, code review. Z jakiego systemu kontroli wersji firma korzysta. Czy są elastyczne godziny pracy, czy musisz być od 9 do 17. Czy są dni szkoleniowe, albo inne podobne rzeczy. Czy zespół robi czasem pair programming. Czy taski będą polegać na rozwoju produktu czy tylko na jego utrzymaniu i poprawianiu bugów. Czy są źle dobierane deadline’y i zespół ma z nimi problemy przez co często są nadgodziny.
Od tego będzie zależeć jak Ci się będzie pracowało oraz czy i jak szybko będziesz się rozwijać.
Tego dowiesz się na rozmowie rekrutacyjnej i/lub po podjęciu pracy. Co programista to inna historia 🙂
Ja teraz dobijam się do mojej pierwszej pracy w programowaniu, doświadczenia komercyjnego nie mam, jakąś wiedzę i coś tam na boku porobione mam, więc same rozmowy techniczne czy okołotechniczne na rekrutacjach idą mi dosyć dobrze jak na wymagany poziom gdzieś między entry, a juniorem. Interesuje mnie frontend, trochę back. Na początku drogi nie mogę za bardzo wybrzydzać i łapać co jest. Firma X, oddział kilkanaście osób. Miałbym być jedynym „normalnym” frontendowcem, czasami każdy robi coś z innej działki, jak coś trzeba było zrobić z frontu to zawsze ktoś coś dorabiał – tak się dowiedziałem z rozmowy. Dziwi mnie to, że w takim razie szukają juniora, a nie seniora. Być może specyfika mniejszych firm, być może chcą przyoszczędzić brać mniej doświadczonych (a więc i tańszych) i na zasadzie „a może zaskoczy, a może się uda”. Myślisz, że moje obawy są po części uzasadnione? Jestem też podczas rekrutacji w drugiej firmie, trochę większej, ale też małej, wydaje mi się przyjaźniejsza i bardziej typowo nastawiona na web, jednak skoro projekty są realizowane w 3 osobowych zespołach czy w takich przypadkach skoro w związku z małą ilością ogniw w łańcuchu na każdym spoczywa znaczna część ogólnego ciężaru będzie czas by się czegoś doczyć (np znam js, ale nie coffeescript, znam angular, ale nie react, znam mongodb, ale nie redis itd.). A może przesadzam z samymi obawami…
Fajnie, że idzie Ci dobrze na rozmowach, widać że coś już umiesz. Napisałeś, że interesuje Cię frontend i trochę back. Zakładam więc, że interesuje Cię pozycja fullstacka. To czym w jakim stopniu byś się zajmował wtedy zależy od specyfiki zespołu i projektu, oraz technologii oczywiśćie. Ja np też pracuję jako fullstack, a frontendu nie ruszam za wiele. Trochę HTML, CSS i oczywiście JS z paroma bibliotekami. Całkiem inaczej by to wyglądało, gdyby w projekcie był angular i byłoby to SPA.
Powinieneś o to mocniej dopytywać na rozmowach, żeby dowiedzieć się, czym konkretnie byś się zajmował. Całkiem ok jest pytanie o to, jaka byłaby konkretnie Twoja rola w zespole. Konkretnie. Bo może być tak, że faktycznie po kosztach szukają frontendowca. Z zalet – nauczysz się bo musisz. Z wad – niestety sam, i w mojej opini wolniej niż pracując z doświadczonymi ludźmi – czego sam jesteś świadomy. Tego, mimo braku wybrzydzania starałbym się unikać. Możesz do nich zadzwonić i dopytać o to. Nie obrażą się.
Co do drugiej firmy: nie wydaje mi się to złą opcja dla Ciebie, pod kątem tego co pisałeś. I wydaje się być ciekawszym wyjściem od pierwszej. Nawet jeśli nie poznasz nowych frameworków, to nabierzesz doświadczenia w tym co robisz, także komercyjnego i później będzie Ci łatwiej znaleźć inną pracę, jeśli w tej przestaniesz się rozwijać. Do tego, prawdopodobnie okaże się, że Twoja znajomość JS i np angulara, jest powierzchowna i nauczysz się dużo więcej pracując niż Ci się wydaje. Znając dobrze jakąś technologie, łatwiej douczyć się nowej. A solidna znajomośc samego JS jest nieoceniona przy każdym frontendowym frameworku. Do tego 3 osobowy zespół nie musi oznaczać, że nie będziesz miał nikogo od kogo się czegoś nauczysz i dopytasz, nawet z innych zespołów.
Co do obaw, nie wiem jak mocno siedzą w Twojej głowie, dobrze że o tym myślisz. To normalne, że skoro nie pracowałeś to nie masz doświadczenia i pytasz o takie rzeczy. Im lepsze miejsce do rozwoju, tym lepiej dla Ciebie. Jednak, nie ma się co przejmować strasznie, nawet jeśli firma do której trafisz okaże się niewypałem. Zawsze możesz zmienić.
Co do pierwszej firmy to w sumie napisałem trochę po fakcie, bo już jednak olali mnie, 3 tyś netto to było dla nich za dużo (miasto wojewódzkie), a ostatecznie chyba nikogo nie przyjęli. Szukali kogoś kto odpowiadałby całościowo za kwestie wyglądu ich aplikacji głównie dla klientów z przemysłu i transportu, a także wygląd ich strony. Proces rekrutacji też dziwny, najpierw czasochłonne formularze (z błędami heh) chyba bezrefleksyjnie ściągnięte od dużych korpo, by potem w ogóle tego nie weryfikować. Przynajmniej jestem bogatszy o doświadczenie z kolejnej rozmowy.
Druga opcja ciekawsza i coraz bardziej prawdopodobna 🙂 Ale powiem dokładnie o co mi chodzi, dadzą mi jakieś zadanie np w pn do zrobienia na środę, albo mniejszą część na koniec dnia, a tutaj dopiero zaczynam się uczyć np reacta i cały czas otwarte jakieś tutorial i pytania jak mi tam idzie postęp zadania. W przypadku gdyby było kilku dniowe szkolenie wprowadzające, potem np czas na przeanalizowanie kodu już istniejącego to by było o wiele przejrzyściej.
A nie chciałbym sytuacji, że po pracy kilka godzin wkuwania czegoś codziennie by się tylko wyrobić i nadążyć.
Ale boisz się tego, czy wiesz że tak będzie? Nie masz powodów do tego. Naprawdę.