Czy wszyscy programiści to inżynierowie? Coraz częściej słyszy się przecież o samoukach, którym udaje się wejść do branży, a także widuje reklamy przeróżnych kursów, które obiecują, że z każdego zrobią programistę. W dzisiejszym wpisie postaram się wyjaśnić, jak można zostać programistą oraz jakie drogi możesz obrać by osiągnąć ten cel. Być może postanowiłeś już, że chcesz zacząć przygodę z programowaniem, a może jeszcze się wahasz. Niezależnie od odpowiedzi zachęcam do przeczytania.
Czy będzie trudno?
W internecie można spotkać się ze skrajnie odmiennymi zdaniami o programistach. Jedni uważają, że programistą może zostać tylko urodzony naukowiec, interesujący się matematyką od dziecka, a jeszcze inni powiedzą, że analityczne myślenie nie jest w tym zawodzie w ogóle ważne i każdy jest w stanie nauczyć się programować w 2-3 miesiące. Jeżeli czytałeś poprzednie wpisy na tym blogu, to pewnie znasz moją opinię na ten temat – Uważam, że, z jednej strony, nie każdy może zostać programistą, ale z drugiej, programiści nie są nie wiadomo jak genialni i każdy może spróbować swoich sił. Po więcej informacji odsyłam tutaj.
Jedno jest natomiast pewne – pracy nie dostaniesz za ładny uśmiech. Na rozmowie rekrutacyjnej będziesz musiał rozwiązać zadanie techniczne, świadczące o tym, że coś już umiesz. Wartym wspomnienia jest również fakt, że obecnie rynek jest trochę przesycony programistami ubiegającymi się o pierwszą pracę. Powinieneś więc liczyć się z tym, że startując na juniora, razem z tobą może starać się o tę pracę dziesięciu lub więcej kandydatów. Musisz więc umieć się wyróżnić.
Czego tak właściwie się uczyć?
Wiele zależy od tego, co tak naprawdę chciałbyś robić w przyszłej pracy. Bardzo upraszczając, możesz zostać np. programistą webowym, programistą apek mobilnych, programistą embedded, specjalistą od danych i nie tylko. Osobiście nie lubię jednak takiego podziału, ponieważ spłyca on naszą branżę. Stanowisk jest o wiele więcej i nie sposób wymienić je wszystkie. Poza tym role w poszczególnych firmach bardzo często się przeplatają. Jeżeli chcesz dowiedzieć się więcej na ten temat, zachęcam do przeczytania tego wpisu.
Po prostu zacznij działać
Programowania nie nauczysz się czytając lub słuchając o programowaniu – Musisz zacząć programować. Lepiej podjąć złą decyzje i mieć czas na zmianę technologii niż w nieskończoność roztrząsać, który język programowania i który framework będą dla ciebie najlepsze. Ze swojej strony mogę polecić framework Qt, w którym sam piszę. Ma on bardzo wiele ciekawych zastosowań, o których więcej przeczytasz tutaj. Pamiętaj również, że jeżeli jakaś technologia nie do końca ci odpowiada, zawsze możesz spróbować innej, zanim stwierdzisz, że programowanie nie jest dla ciebie.
Studia informatyczne
Nie jest to opcja dla każdego. Nie każdy bowiem ma tyle czasu, by poświęcić go na 3-5 lat studiów. Ze swojego doświadczenia mogę powiedzieć, że studia informatyczne nie uczą dużo faktycznego programowania. Nie ma również wielu firm, które patrzą na to, czy kandydat posiada tytuł naukowy. To co najbardziej liczy się obecnie na rynku pracy to twoje umiejętności. Wyjątkiem od tej reguły są jednak duże korporacje.
Większość uczelni nie uczy żadnej technologii w sposób wystarczający do podjęcia pierwszej pracy. Po co zatem iść na studia? Zaletą studiów jest z pewnością to, że inspirują i dają nam teoretyczną wiedzę na temat tego co robimy. Jesteśmy dzięki nim bardziej świadomi i możemy spojrzeć na programowanie w szerszym kontekście.
Pomocny potrafi być również sam status studenta ponieważ firmom często bardziej opłaca się zatrudnienie takiej osoby. Więcej o studiach w tym felietonie.
Bootcampy i szkolenia
Szkoły programowania dość często reklamują się hasłami “Zostań programistą w 2-3 miesiące”, co sprawia, że podchodzę trochę sceptycznie do tej opcji. Jestem praktycznie pewien, że to za krótko. Nie chcę natomiast deprecjonować takich szkół ponieważ wierzę, że robią wiele by ich kursanci mieli faktyczne umiejętności i byli gotowi na rozpoczęcie pierwszej pracy. Istnieje wiele różnych bootcampów różniących się tematyką szkoleń ale i ich intensywnością – te krótsze są z pewnością bardziej intensywne. To o czym warto wspomnieć mówiąc o bootcampach to ich wysoka cena – nie każdego będzie stać na kurs za kilkanaście tysięcy złotych. Istnieją natomiast możliwości finansowania takich kursów lub rozłożenia płatności na raty, jednak wciąż uważam, że nie jest to opcja dla każdego.
Nauka na własną rękę
Z pewnością jest to trudna droga – Wymaga samodyscypliny i wytrwałości w dążeniu do celu. Poza tym w trakcie samodzielnej nauki pojawia się trudność w doborze materiałów, z których powinieneś się uczyć. W internecie jest cała masa darmowych filmików, artykułów czy książek, z których można czerpać wiedzę i jest to niewątpliwa zaleta. Problemem jest natomiast nadmiar tych źródeł i trudność w wyborze odpowiedniego z nich.
Polecałbym zacząć od nauki wybranego języka programowania, jednak nie poświęcając temu przesadnie dużo czasu. Kiedy już opanujesz podstawy danego języka, powinieneś, tak szybko jak to możliwe, wyznaczyć sobie jakiś cel – wymyślić aplikację, własny projekt do stworzenia. Ucz się faktycznego zastosowania języka, aby rozwinąć ten projekt, a w razie napotkanych problemów google, stackoverflow i dokumentacja techniczna będą twoimi sprzymierzeńcami. Takich projektów możesz napisać kilka, może i kilkanaście. Ważne abyś mógł zaprezentować je na githubie twojemu przyszłemu pracodawcy i pokazać jak wyglądała twoja nauka. Czego się nauczyłeś, jakie napotkałeś problemy i jak sobie z nimi poradziłeś.
Na koniec
Koniec końców każda z obranych dróg ma swoje wady jak i zalety. Różnią się między sobą chociażby nakładami czasowymi i ceną. Trzeba być świadomym, że każda z tych ścieżek wymaga ostatecznie naszej samodzielnej pracy. Gdybym sam był teraz przed tym wyborem, to z pewnością postawiłbym na samodzielną naukę i tobie polecam to samo.
A według ciebie który z tych sposobów jest najlepszy? Koniecznie daj mi znać w komentarzu jeśli z czymś się nie zgadzasz, albo jeżeli coś wartego wspomnienia nie zostało tu zawarte.