VIDEO: 10 błędów, przez które nie możesz zdobyć pierwszej pracy w Javie
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.”
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.
(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ą.
© 2024 JavaReady.pl Bartek Kalka | Opinie | Oferta Szkoleń | Kontakt