9 prostych punktów, aby jak najszybciej zdobyć pierwszą pracę w IT

Slajdy z webinaru

VIDEO: 10 błędów, przez które nie możesz zdobyć pierwszej pracy w Javie

  1. Zadbaj o naprawdę solidne podstawy Javy, a nie frameworki
  2. Poznaj praktyki must have
  3. Znajdź mentora. Dołącz do społeczności. Przerabiaj kursy.
  1. Szukaj feedbacku jak najbardziej!
  2. Skorzystaj z historii osób, które dostały pracę

Wysłałem aplikacje na bezpłatne praktyki. Do samego zaproszenia na rozmowę przyczyniły się projekty na githubie i spełnienie warunków np. mieszkanie w mieście/okolicach siedziby firmy + paru innych. Do zaproszenia na praktyki moim zdaniem oprócz wiedzy z Javy to moja osobowość- umiejętności miękkie. Osoba, z którą miałem rozmowę przyznała, że nie szukają “”dzika””, który zamknie się w piwnicy i naklepie wszystko, ale osoby, która będzie do nich po prostu pasować. Zostałem zaproszony na praktyki, po praktykach mnie przyjęli. Przychodziłem do biura przez 3 tygodnie, poznawałem osoby i dobrze wykonywałem powierzone mi zadania.”

  • Zdobywałeś kolejne etapy rozwoju i co okazało się taką granicą? Plus pytanie co w pracy spotkało Cię innego czego nigdzie wcześniej Cię nie uczyli lub sam na to nie wpadłeś, bo po prostu nie wiedziałeś, że to istnieje (jeśli w ogóle jest coś takiego)

Dużą granicą okazały się same oferty pracy, których po prostu nie było. Przez kilka miesięcy wysyłałem CV. Pomimo że mieszkam we Wrocławiu to znaleźć ofertę na praktyki/juniora było bardzo trudno. Ogromnie dużo ofert na mida/seniora, a juniora jedna/dwie. Oczywiście chodzi mi o oferty związane z Javą. Nigdzie nie uczono mnie opowiadać o problemach związanych z pisaniem kodu. Zazwyczaj kopiowałem błąd, który zwrócił mi kompilator i szukałem odpowiedzi na stacku. Teraz nie wystarczy wpisać w Google nazwę błędu, bo są one bardziej skomplikowane. Wiedziałem, że one nadejdą. Pytając kolegów z pracy o pomoc, muszę opisać to co chce zrobić od początku do końca, bo ten sam błąd może mieć różne przyczyny w zależności od kontekstu. Ponadto to opisywanie przyczyniło się, że zacząłem wyprzedzać myślami to, co chce zrobić jednocześnie eliminując przyszłe błędy. Ani w technikum, ani na studiach nie uczono mnie projektowania tego co chce zrobić, a dopiero potem pisania kodu. Wspominano na studiach jedynie, że niektórzy tak robią, bo jest to dobra praktyka, ale nikt nie patrzył na jakość kodu, a na samo działanie.

  • O co Cię pytali na Twojej rozmowie rekturacyjnej? 

(historia z Czerwca 2021)

Zadali mi kilkanaście pytań technicznych. Sama Java, głównie Kolekcje, Big O notation. Jak działają pod spodek konkretne kolekcje, jak działa garbage collector, czy znam jakieś inne rodzaje garbage collectorów, Kiedy powinno się używać setów, a kiedy list. Co wiem o wielowątkowości. Czy znam jakieś wzorce projektowe. Jakie znam wyjątki i czy znam ich rodzaje. Pytali również, jakie są modele pamięci Javy, co to są buckety. Głównie, jak co działa i czemu to działa w taki sposób. Po tej części dostałem proste zadanie czy w ogóle rozumiem Javę. Miałem napisać interfejs, który miałby mieć kilka metod. Pokazywania kwoty z konta, wybierania oraz dodawania. Mam zwrócić uwagę na to, aby zabezpieczyć metody przed implementacją. Miałem również mówić krok po kroku, co robię i czemu akurat to. Dla mnie to było dość dziwne, bo nie robiłem na przykładzie, a jedynie warstwę abstrakcyjną, więc pewnie sprawdzali, czy w ogóle kumam, co piszę bez wiedzy na temat tego, po co to jest. W każdym razie po tym jeszcze zapytałem, czy mimo wyniku mogę dostać od nich teraz feedback co mogę poprawić. To powiedzieli, że mam głównie popracować nad złożonością obliczeniową i wzorcami. Dla nich jest istotne, aby się długo nie zastanawiać nad dobrą implementacją.

  1. Stwórz projekt! (bez projektu w CV ciężko)
  2. Nie trać czasu na nieefektywną naukę. 
    • Technika pomodoro
    • Jakich rzeczy się uczyć i jak rozkładać teorię vs praktykę?
    • książki:
      • C. Horstmann “Java podstawy”
      • Aditya Bhargav “Algorytmy. Ilustrowany przewodnik”
      • Robert C. Martin “Czysty kod”
      • C. Horstmann “Techniki zaawansowane”
      • Robert C. Martin “Mistrz czystego kodu”
      • Sandro Mancuso “Software Craftsman”
      • Joshua Bloch “Java. Efektywne programowanie.” – moim zdaniem, najlepsza dla średnio-zaawansowanych
      • Craig Walls “Spring w akcji” Wydanie V
      • Erich Gamma i inni “Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku”
  3. Naucz się podstawowych odpowiedzi po angielsku
  4. Dowiedz się jak wygląda typowa rozmowa rekrutacyjna i jak napisać CV

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *