Myślałem o tym, choć jestem w technikum i po skończeniu szkoły mogę już zacząć pracę i nie wiem, w którą stronę iść…
Strona główna/Pytania/Q 501
W toku
Zarejestruj się w naszej społecznościowej wyszukiwarce pytań i odpowiedzi, aby zadawać pytania, odpowiadać na pytania innych i nawiązywać kontakty z innymi ludźmi.
Zaloguj się do naszej społecznościowej wyszukiwarki pytań i odpowiedzi, aby zadawać pytania, odpowiadać na pytania innych i nawiązywać kontakty z innymi ludźmi.
Zapomniałeś hasła? Wpisz swój adres e-mail. Otrzymasz link i utworzysz nowe hasło za pośrednictwem poczty elektronicznej.
Proszę krótko wyjaśnić, dlaczego uważasz, że to pytanie powinno zostać zgłoszone.
Proszę krótko wyjaśnić, dlaczego uważasz, że ta odpowiedź powinna zostać zgłoszona.
Proszę krótko wyjaśnić, dlaczego uważasz, że ten użytkownik powinien zostać zgłoszony.
Odpowiedź na to pytanie nigdy nie była prosta, bo to zależy. Przede wszystkim od twojego podejścia i od miejsca, w którym chcesz pracować.
Na początek winieneś zdać sobie sprawę z jednej rzeczy. Otóż, zapewne zdążyłeś już usłyszeć, że w branży IT brakuje programistów/deweloperów i będzie ich brakować. To w zasadzie prawda, lecz jest w tym pewne ale, którego się nie dopowiada:
a) poszukuje się pracowników z doświadczeniem,
b) biznesy/firmy nie są w stanie przyjąć wszystkich zainteresowanych na raz.
a → początkujący nie są w stanie utrzymać pewnych procesów biznesowych na odpowiednim poziomie jakości, bo po prostu nie mają o tym pojęcia; częściowo jest to spowodowane roszczeniowością samych programistów, tzn. rotacja między firmami już wcześniej była dość duża, w związku z czym zaczęto z tego korzystać, by zarabiać więcej; tak czy inaczej, specjalista ma pierwszeństwo w zatrudnieniu, bo przyciągnięcie go do siebie na wiele lat to trudna sprawa
b → jeszcze trzy lata temu dochodziło do sytuacji, gdzie to na 10 wolnych miejsc dla stażystów zgłaszało się 1000 kandydatów; w małych firmach (software house) jest podobnie: 2-3 miejsca wobec około 60-ciu chętnych; teraz wcale nie jest lepiej, a nawet gorzej; to oznacza, że tak czy inaczej, początkującym jest trudniej niż w przeszłości zyskać stanowisko juniora, a nawet praktykanta czy stażysty.
Skoro kwestię realiów rynku pracy mamy za sobą, to zostaje odpowiedzieć ci na pytanie, czy studia są wymagane, aby zostać programistą. Otóż nie są, ale należałoby do tego dopowiedzieć dwie rzeczy, tj. to zadziała, gdy:
1) pracodawca chce cię przyjąć bez studiów lub doświadczenia,
2) chcesz się uczyć nowego i tego, co inni wiedzą, a ty nie.
1 → najwięcej programistów przyjmują korporacje, co również oznacza przywiązanie do wielkich miast; tylko że one mają swoje wymagania i zwykle chodzi o to, żebyś był studentem lub absolwentem studiów w okresie co najwyżej 2-3 lat od ich ukończenia; w małych firmach to często nieszczególnie istotne, choć w nich z kolei możesz stać się takim trochę informatykiem od wszystkiego po trochu; gwoli prawdy, nikogo nie obchodzi, czy studia ukończyłeś w trybie stacjonarnym (poniedziałek-piątek) czy płatnym (sobota-niedziela) — liczy się po prostu papierek; po co zatem studia są wymagane? jedyna sensowna odpowiedź, do jakiej dociekłem, jest taka: w ten sposób sprawdza się pośrednio, czy potrafisz współpracować z innymi, a doświadczenie zawodowe dookreśla, jakim jesteś pracownikiem
2 → w praktyce, jeżeli rzeczywiście chesz się rozwijać w tym kierunku i zostać specjalistą w swej dziedzinie, to, tak czy inaczej, powinieneś w końcu zapoznać się z tym wszystkim, o czym mówi się na studiach, bo to określa pewien podstawowy kanon, co do którego później oczekuje się iż jest on znany; niemniej, nadal nie musisz kończyć studiów z tego powodu; zamiast tego możesz wejsć w relację mentorską/mentoringu z bardziej doświadczonym współpracownikiem, który na coś takiego się zgodzi
Dodatkowo można tutaj wspomnieć o pewnej szklanej ścianie. Kwestia zarobków i awansu z tym związanego bowiem przedstawia się następująco:
*) praktykantom zwykle się płaci w tej branży, aczkolwiek zdarzają się wyjątki,
*) stażysta/początkujący zarabia zwykle nieco więcej niż średnia krajowa płaca,
*) junior zaczyna już zarabiać w skali bardziej zbliżonej do średniej branży (w korporacjach wymaga się od niego ukończenia studiów I stopnia, czyli inżynierskich lub licencjackich; i to jest twarde wymaganie, tzn. możesz mieć światowe sukcesy i całe życie pozostać juniorem),
*) senior zarabia jeszcze więcej (w korporacjach wymaga się od niego ukończenia studiów II stopnia, czyli magisterskich)
*) potem kariera w tej branży może zbiegać w stronę stanowisk zarządzających zespołem (team leader, scrum master); niektóre z nich w ogóle nie przewidują programowania, tylko szeroko rozumianą pracę z klientem
*) istnieją jeszcze niszowe stanowiska, którymi mało kto chce się zajmować, bo są nudne dla większości (to ich zwykle dotyczy określenie „programista 10k”, np. programista PHP, administrator baz danych, analityk infrastruktury chmurowej)
Co możesz zatem zrobić, by zwiększyć swe szanse?
1) określ języki programowania które cię interesują,
2) buduj swoje portfolio i ucz się języka angielskiego,
3) zastanów się nad swoim CV,
4) posiadaj plan na siebie i swój rozwój osobisty.
1 → największy udział programowania ogółem dotyczy tzw. web developmentu (w skrócie: stron internetowych i wszystkiego, co z nimi związane), co przekłada się na używanie HTML + CSS + JavaScript/TypeScript i itp.; duży udział ma też „korporacjonizm” w postaci Javy (Sun/Oracle) czy C#/.NETu (Microsoft); zagadnienia sztucznej inteligencji, uczenia maszynowego i statystyki to domena Pythona; do szybkich obliczeń używa się Fortrana albo nawet Delphi; startupy uwielbiają język Ruby; jest też C++ czy nawet samo C, czyli, według mnie, jedyne języki, które nie robią z ciebie debila; relatywne novum to Rust czy Go; jak najbardziej, są też i inne…
2 → czytaj książki, od klasyków (np. refaktoryzacja, wzorce projektowe) po bardziej zagłębiające się w szczegóły (blockchain); ucz się technologii/pojęć, których prawie na pewno będziesz używał jak narzędzia kontroli wersji (w szczególności git), narzędzia do budowy kodu (Maven, GNU toolchain), metodologie wytwarzania oprogramowania (agile/scrum, kanban), zagadnienia DevOps (CI/CD pipeline, statyczna analiza kodu); wszystko to najlepiej po angielsku, albowiem jest to język obcy, którego nie unikniesz
3 → jeżeli masz jakiekolwiek doświadczenie pracy grupowej czy z innymi ludźmi, chwal się tym; przedstaw to jak wyzwanie, przed którym cię postawiono, jak mu sprostałeś i czego się z tego nauczyłeś; chwal się również swoim kodem, prezentując link do swojej strony na Githubie; CV jako dokument zaprojektuj w taki sposób, żeby wszystko w nim było, co potrzebne rekruterowi, a jednocześnie by wyróżnić to, co chcesz wyróżnić
4 → to ty sam musisz wiedzieć do czego chcesz zmierzać, więc to tobie powinno zależeć na tym, by się w tym wszystkim odnaleźć; przeglądaj oferty pracy, by określić, jakiej wiedzy/umiejętności ci brakuje i ucz się ich, aczkolwiek skup się na jednym kierunku, nie na wielu (podobają ci się sieci neuronowe — orientuj się na to); specjalizacja jest ogromna, więc zawsze jest coś nowego, czego możesz się dowiedzieć; dodatkowo coraz większą uwagę zwraca się na tzw. kompetencje miękkie (komunikację z ludźmi)
Jeżeli zaś bardzo chcesz pracować w tej branży, a przez długi czas nikt nie chce cię zatrudnić, to możesz wtedy rozważyć ofertę pracy za darmo. Zdarzają się takie. I, jakkolwiek nie jest dobrze pracować jako niewolnik, o tyle jakieś doświadczenie jest lepsze niż jego brak. Z drugiej strony, ostatnia tego typu oferta, jaką widziałem, wiązała praktykanta na 1 rok, w domyślnie uwzględniając to, że będzie on jeszcze w międzyczasie studiował.
Innymi słowy, to bynajmniej nie jest taka prosta sprawa, jak mogłoby się wydawać.
Doświadczeni ludzie w branży mówią, żeby robić oba. Studiować i pracować. Jeśli nie pójdziesz na studia albo skończysz tylko inżyniera, to są nikłe szanse, że kiedykolwiek wrócisz. A może się to kiedyś przydać. Ja z drugiej strony, poszedłbym tylko do pracy, ucząc się dodatkowo w domu, jako że na uczelni jest dużo niepotrzebnych przedmiotów i są przestarzałe sprzęty.
Tu ważną kwestią jest też Twoja sytuacja mieszkaniowo-ekonomiczna. Przy pracy studia wieczorowe lub zaoczne są najlepsza opcją, ale wtedy zostaje mało czasu na zrobienie sobie obiadu i życie w ogóle. Przy studiach dziennych nieco ciężej godzi się je z pracą, ale wtedy nauka jest zazwyczaj za darmo. Dobrze jest przemyśleć wszystkie kwestie. Dodatkowo, czasem po inżynierce można zrobić podyplomówkę. To też ciekawa opcja.
Podsumowując, ja bym nie robił studiów, ale to nie znaczy że to nie jest lepsza droga dla Ciebie. Good luck!
System nakazuje mieć papier z tytułem, zeby byc programistą, aczkolwiek znam 1000000 razy lepszych programistów niz Ci z tytułami inzynierów, a mają wykształcenie podstawowe.