Jak wyglądają pierwsze dni pracy jako programista
Dziś kilka słów o tym, jak pierwsze dni wyglądały, przynajmniej u mnie.
Moje obawy
Zacznę może od tego, że zanim rozpoczęła się moja praca, miałem w głowie kilka obaw. Pierwszą z nich chyba było to, że sobie nie poradzę czy, że obowiązki mnie przytłoczą. Naturalne, chociaż niesłuszne. Dlaczego?
To zadaniem firmy i jej procesu rekrutacyjnego jest sprawdzenie, czy się nadajesz. Jeśli dostałeś się do pracy, a w CV nie kłamałeś i mimo tego sobie nie radzisz, to jest to wina firmy, nie twoja. Proste, zawiodła tu procedura rekrutacyjna, a nie ty.
A co do zwykłego stresu, to chyba jest on normalny, nie ma się co przejmować. Jestem zdania, że wszędzie są ludzie, a z ludźmi idzie się dogadać.
Dobra, to jak to w końcu było?
Cóż, wbrew pozorom… Tak szczerze to spokojnie.
Spokojne pierwsze dni
Pierwsze dni w swojej pracy tak naprawdę spędziłem na instalowaniu potrzebnych mi rzeczy, czekaniu na dostęp do odpowiednich miejsc, ustawianiu środowiska, poznawaniu struktury firmy i tego, jak pracujemy, swoich współpracowników. Generalnie jeśli o programowanie chodzi to praktycznie nic. Naprawdę, pierwsze dni to spokój.
Wdrażanie
Dopiero gdy wszystko miałem już ustawione, to zacząłem coś programować. Na sam początek mój Project Leader, żeby mnie niejako wdrożyć do technologii, których używamy, przydzielał mi kolejne, stopniowo trudniejsze, zadania do zrobienia. Bardzo fajna sprawa. Dzięki temu później, gdy już zacząłem coś robić przy samym projekcie, to pewne rzeczy były znajome, to pozwoliło mi się czuć pewniej i spokojniej, to pomocne, zwłaszcza kiedy zaczynasz w nowym środowisku, uczysz się nowych rzeczy i chcesz dobrze wypaść.
Tutaj o technologiach nie będę się rozpisywał, bo są one inne dla każdego – zależy jakie stanowisko, jaki projekt i tak dalej. Jednak napiszę niżej o pewnych rzeczach, które chyba są uniwersalne. W każdym razie.
Ważna sprawa
Tutaj wychodzi też, jak ważny jest dobry Project Leader czy też przełożony/mentor. Ja trafiłem dość dobrze akurat, dzięki czemu naprawdę, moim zdaniem, moje wdrożenie w nowej rzeczywistości i pracy poszło dość przyjemnie. Wiadomo, trochę stresu mi towarzyszyło, bo zależało mi na tej pracy, ale mimo wszystko czułem się dobrze.
Atmosfera
Zaskoczeniem była nieco dla mnie atmosfera i sposób komunikacji w firmie. Otóż na początku miałem wyobrażenie, że będziemy wszyscy sobie nieco ‘panować’ na początku – per pan/pani, oficjalna mowa i tak dalej, ale… Nic bardziej mylnego. Od samego początku dość luźna atmosfera mnie ogarnęła. Nie wiem, jak wygląda to w innych firmach, gdyż ja pracuje w raczej średniej wielkości firmie, gdzie w sumie po prostu większość ludzi znasz i tak to właśnie wygląda.
Nikt się tu też raczej nie denerwuje. Ludzie są po prostu… pomocni. Był to dla mnie mały szok, bo wcześniej pracowałem trochę w budowlance, a tam ludzie bywają, no cóż, różni, ale nie tu. Dlatego też
Nie bój się prosić o pomoc
Na samym początku miałem nieco wrażenie, zanim zacząłem, że będę trochę tak zdany na siebie – po prostu dostajesz zadanie i koniec, rób. Nie umiesz? Wypad.
Otóż po zaczęciu pracy okazało się, że nie – nic bardziej mylnego. Po pierwsze od czegoś są osoby starsze stażem i często chętnie pomagają, dzielą się wiedzą. Ba, częściej niż rzadziej za to mają przecież płatne. Można o pomoc poprosić.
Wiadomo, nie można latać i pytać o najdrobniejszą rzecz, ale gdy już naprawdę nie ma innego wyjścia, sami nie jesteśmy w stanie znaleźć rozwiązania i marnujemy czas, okazuje się, że są osoby chętne a nawet wyznaczone do pomocy.
Nie bójcie się zatem. Pytajcie. Nikt głowy ci nie ukręci za to, że czegoś nie umiesz, nie wiesz. Spokojnie. Jak pójdziesz, powiesz ‘Hej, pomożesz mi z X? Próbowałem już tego i tamtego, ale jakoś mi nie wychodzi.’ to problemu nie będzie raczej, ale jeśli będziesz latał do swojego przełożonego czy innego członka zespołu z najdrobniejszą pierdołą i liczył na gotowca, to… No cóż, będzie to irytujące na pewno.
Pamiętaj tylko żeby jakoś tam zapisywać rozwiązania tych problemów. Głupio jest pytać po raz któryś o to samo. Robienie notatek to świetna sprawa. Czasami wystarczy też po prostu przejrzeć historię wiadomości.
To oczywiste, że czegoś nie będziesz umiał
Jako juniorzy czy generalnie młodzi programiści, mamy raczej pewien zapas dystansu od szefa w prezencie. Chodzi mi o to, że raczej oczekiwane jest, iż nie będziemy wiedzieć wszystkiego, czasem zdarzy się jakiś błąd, czy w jakimś temacie trzeba cię będzie dokształcić. Wydaje mi się, że każdy poważny pracodawca bierze to pod uwagę, zatrudniając nowicjusza/juniora.
To też powód, dla którego należy dostosować swoje wymagania. Wiadome jest, że trzeba mieć nieco szacunku do samego siebie i coś zarobić, po pracować za przysłowiowe dwa złote, to nie można, ale błędem jest też myślenie, że nauczysz się pisać Hello Worlda w JS’ie i ktoś ci potem da 15k netto za samo oddychanie. No nie, tak to nie działa.
W każdym razie.
Dlatego, jeśli czegoś nie umiecie, coś zrobicie źle, to nie próbujcie nieudolnie maskować swoich błędów czy niewiedzy, tylko mówcie szczerze i przyznawajcie się do błędów.
Szczerość
Właśnie o szczerości chciałem jeszcze coś powiedzieć. Nigdy nie kłamcie. Po prostu. Nakłamiesz w CV? Wyjdzie na rozmowie. Potem wieść się niesie, IT to wbrew pozorom wąskie grono, i będziesz spalony. Coś zepsujesz, nakłamiesz i to zatuszujesz? Też wyjdzie, prędzej czy później, zazwyczaj prędzej. Czegoś nie umiesz, ale oficjalnie to w sumie twoje zadanie jest już prawie zrobione? Nie zadziała, bo ostatecznie go nie skończysz i tylko sprawisz, że wszystko się niepotrzebnie przedłuży.
Wydaje mi się, że dużą częścią obowiązków w pierwszej pracy, to po prostu bycie szczerym i odpowiedzialnym za swoje czyny, nic więcej.
Rzeczy uniwersalne
Chciałbym tutaj wspomnieć o pewnych rzeczach, które możesz sobie obczaić nawet przed przyjściem do pracy, bo na 90% w twojej firmie też będą używane. Zazwyczaj to proste rzeczy, które od razu ogarniasz, ale im więcej znajomych interfejsów, tym pewniej się poczujesz i łatwiej będzie ten cały natłok informacji ogarnąć, więc wspomnę o kilku technologiach, z którymi warto się zapoznać gdzieś tam. Ba, może nawet na rozmowie jakoś tym zaplusujesz ;)
Jira
Z tego co wiem, dość popularnym systemem zarządzania taskami, jest Jira. Jak ona wygląda i co warto o niej wiedzieć, możesz łatwo znaleźć na internecie. Generalnie rocket science to tu nie ma – po prostu taki dashboard do łatwiejszego ogarniania co kto ma do zrobienia.
Git/VCS
W każdej firmie używany jest jakiś VCS, powinieneś już o tym wiedzieć. Jak trafiłeś gdzieś, gdzie się takich rzeczy raczej nie używa, a projekty przekazuje np. w archiwach czy wysyła mejlem, to… No coś jest nie tak. Generalnie VCS to konieczność i standard.
Obecnie takim standardowym VCS’em jest Git. Chyba większość go używa. Zdarzają się inne, ale to raczej rzadkość.
Do Git’a są różne ‘serwisy’, które świadczą usługi utrzymywania repozytoriów, czasami firmy robią to same, na swoich serwerach. W każdym razie najprawdopodobniej będziesz korzystał z repo na GitHubie, GitLabie czy BitBucketcie. Możesz sobie przejrzeć, jak wyglądają te serwisy i zajrzeć co i jak.
Tak swoją drogą, to jeśli jeszcze nie masz konta na GitHubie czy gdzieś, ze swoimi projektami i kodem, to polecam ci się weń szybko zaopatrzyć. Podobnie, jeśli Gita nie znasz. Podstawy powinno się znać.
Slack/Skype/Google Hangouts
Standardowe narzędzia do komunikacji. Do tego dochodzi jeszcze firmowy e-mail, który też pewnie otrzymasz, więc przed możesz sobie ogarnąć jak ustawia się Thunderbirda czy innego klienta pocztowego.
Podsumowanie
Tak właśnie wyglądały moje pierwsze dni w pracy. Czy w każdym przypadku tak to wygląda? Nie wiem, ale raczej podobnie. Rzeczy, które tu opisałem, mogą się co niektórym wydawać oczywiste, ale… No nie dla wszystkich takimi są.
Dzięki za przeczytanie.
nie znam firmy, w której programiści mówią sobie per pan. To było by takie dziwne... W ogóle, IT jest specyficzne. O ile koszula na rozmowie kwalifikacyjnej jest ok, to np. garnitur to w wielu miejscach przesada - to byłby sygnał, że ktoś nie ma pojęcia jak funkcjonuje IT :D :)
Wyjąłeś mi to z ust, pisałem o tym w Najważniejsza rada do jakiej powinieneś się zastosować jako początkujący programista
W IT wszystko jest weryfikowalne. Dokładnie widać, kiedy kto co zrobił. To jest właśnie całe piękno programowanie. Bardzo dużo rzeczy jest zerojedynkjowe. Zrobiłeś albo nie zrobiłeś :)
Tu pozwolę sobie polecić moją recenzję 4 kursów gita na CodeSchool:
Pomimo tego, że kursy są płatne to według mnie 3 z 4 kursów tam opisanych są warte swojej ceny (zwłaszcze jeżeli ktoś lubi takie multimedialne tłumaczenie). Natomiast równie dobrze całą tą wiedzę można wyczytać z darmowej książki dostępnej online ProGit: https://git-scm.com/book/en/v2
Git nie jest łatwy, ale jest to rzecz, którą koniecznie należy ogarnąć, jeżeli na poważnie się myśli o karierze w IT. I jeżeli miałbym dać jakąś radę, dla osób, które uczą się gita, to było by to: zawsze używaj gita z konsoli, nie używaj żadnych nakładek. Tylko używając gita z konsoli faktycznie się go nauczysz. Nakładki tylko zaciemniają to co git robi.
I tak jeszcze na koniec, takie pytanko z ciekawości - co dokładnie robisz i w jakich technologiach? Z poprzedniego posta wnioskuje, że coś w Pythonie. Jakiś konkretny framework? Jakiś webdevelopment, jakieś skrypty, czy jeszcze coś innego? :) Ciekaw jestem :)
Hej, tak Python. Czym dokładnie się zajmuje? Backend, po prostu. Głównie implementacja new features/development i utrzymanie.
Oprócz samego Backendu w razie potrzeb implementuję też czasem niektóre elementy frontendu, ale to raczej te prostsze, javascriptowiec ze mnie żaden.
Co do technologii przeze mnie używanych: pylons, django, jquery, bootstrap/mdboostrap, d3.js
Z czego ten ostatni w sumie praktycznie sporadycznie, jquery też niedużo.
Generalnie goal jest na pełnoprawnego fullstacka, czyli trzeba się będzie js'a douczyć mocno i jakiegoś angulara do tego, pythona w sumie jeszcze też, potem Elm'a chciałbym troszkę poznać.
Uwierz mi że jak ja zaczynałem jakieś 9-10 lat temu to w cale nie było takie oczywiste ;)
Ten skarb został odkryty dzięki OCD Team! Odpisz na ten komentarz jeśli zezwalasz na podzielenie się nim z innymi! Akceptując to masz szanse na otrzymanie dodatkowej nagrody i jedno z twoich zdjęć z artykułu może zostać wykorzystane w naszej kompilacji postów! Możesz śledzić @ocd - i dowiedzieć się więcej na temat projektu i zobaczyć inne skarby! Dążymy do przejrzystości.
zezwalam, proszę bardzo : )
Gratulacje, twój post został uwzględniony przez @OCD w dziennej międzynarodowej kompilacji o numerze #108!
Możesz także dodać @ocd do obserwowanych użytkowników – dzięki temu dowiesz się o innych projektach i poznasz różne perełki! Walczymy o transparentność.
IT jest dosyć charakterystycznym miejscem pracy:) Też robiłem w kilku branżach i mam porównanie również z moją dziewczyną z poza IT. W mojej obecnej pracy miałem spory mindfuck na początku (również junior, ale admin), bo na wejściu oczywiście ogarnięcie hardware/software/dostępy, ale jak zapytałem o szkolenie stanowiskowe to nie ma czasu na pierdoły, tu jest lista zadań i jedziesz. No ok, a jakaś dokumentacja do tego? What?! Na maila czasem nie ma czasu odpisać, a co dopiero o dokumentacji gadać:D Najważniejsze że, ludzie bardzo kontaktowi i nikt traktuje drugiej osoby jak natrętną muchę i wpólnymi siłami mozna tę sytuację łatwo opanoawać. A co wiedzy wpadnie po drodze to moje :)
To jest właśnie bardzo dobre, bo można się wiele po prostu nauczyć od drugiej osoby, a tak jak mówisz, co się nauczysz to twoje ; )
Cześć! Redakcja Tygodnika Kuratorskiego jest pod wrażeniem Twojej twórczości i chcemy prosić Cię o zgodę na publikację opisów oraz linków do Twoich postów w przyszłych numerach. Zależy nam na promocji wartościowych treści poprzez tworzenie cotygodniowego artykułu zbiorczego. Więcej możesz przeczytać tutaj: Tygodnik Kuratorski #0
Proszę bardzo, udzielam zgody : )