Wiele osób, które próbują zostać programistą przyznaje, że jednym z największych wyzwań jest brak świadomości o realnym stanie wiedzy. Wiąże się to z tym, że nie mają pojęcia co trzeba potrafić i kiedy będą na takim poziomie, na którym jest sens aplikować do firm.
Jakie umiejętności są niezbędne na pozycje juniorskie/stażowe?
Główna technologia czyli np. Java, Python, JavaScript itp.
W przypadku backendu – SQL/bazy danych. W przypadku frontendu – HTML/CSS (backendowiec też powinien chociaż kojarzyć podstawy) oraz framework typu React.js/Vue.js/Angular.js
Git
Dobre praktyki programistyczne (DRY, SOLID, KISS itp.)
Protokół HTTP/REST API
Język angielski w stopniu komunikatywnym (+ – B1)
Umiejętność rozwiązywania problemów
Kompetencje miękkie
Frameworki Spring pod Javę czy Django pod PHP itp. – fajnie znać, ale to bardziej “nice to have”. To samo odnośnie pisania testów. Generalnie warto trochę poczytać, ale nie poświęcać na to za dużo czasu. Są to ważne kwestie, ale w kontekście zdobycia pierwszej pracy jako programista:
Jeżeli pojawią się w trakcie procesu rekrutacji to raczej jako poboczne wątki
Zrozumienie tych tematów jest ciężkie w warunkach domowych projektów, lepiej skupić się na podstawach języka i wykorzystać czas na naukę jak najbardziej efektywnie.
Co do poziomu znajomości powyższych zagadnień z listy – powinien pozwalać na samodzielne tworzenie względnie prostych aplikacji np. program wykonujący zapytania do jakiegoś API i zapisujący dane do bazy .
Przypomnę, że posiadanie reprezentatywnego portfolio z własnymi projektami znacznie zwiększy szanse na pozytywne rozpatrzenie aplikacji 🚀