Życiowe rozterki/długi wpis: Przekwalifikowanie na programistę/branżę IT w wieku 30lat?

0

Witam,

To będzie długi wpis, ale chciałbym dać odpowiedni pogląd sytuacji. Mam nadzieję, że jest to odpowienie miejsce.

Od pewnego czasu rozmyślam o zmianie życiowej kariery. Niestety, moja rodzina nie należała do najzamożniejszych, a żyjąc w małym miasteczku prowadząc własny biznes oznaczało bardzo słabe zorientowanie odnośnie rynku pracy. Oczywiście ilość uczelni i kierunków również była bardzo ograniczona, a czesne wysokie na państwowych uczelniach. Dlatego rodzice postanowili wysłać mnie na państwową uczelnie humanistyczną... Chybione, ale przynajmniej była to translatoryka, także obcy język jest przydatny i dobrze jest go znać na wysokim poziomie, ale sam z siebie tyłka nie urywa.

Podczas studiów sam uczyłem się obsługi photoshopa, flasha, itp., i tutaj po raz pierwszy zetknąłem się z programowaniem OOP w ActionScript 3. Nie ukrywam, iż wciągnęło mnie to, i sporo komercyjnych projektów w tej technologii wykonałem. Czas jednak płynął nieubłaganie, aż flash został wyparty ze stron internetowych, ale w tym czasie przerzuciłem już się na projektowanie aplikacji na urządzenia mobilne za pomocą runtime'u Adobe AIR. Dłubanie aplikacji mobilnych i trochę przekładu były tym czym się zajmowałem. Pozyskałem już niejednego klienta dzięki swoim projektom i brandowi. Jednakże zdecydowałem, że na dłuższą metę nie jest to stabilny model biznesowy na dłuższą metę.

Tudzież wiem, że chcący przejść na jakikolwiek etat muszę zgłębić swoją wiedzę z zakresu jakiejś najnowszej technologii. Wiedzę tę musiałbym usystematyzować i pewnie do tego przydałby się papierek z jakiegoś uniwerku. Zwłaszcza, że mój mgr nijak ma się do tej dziedziny. Niestety musiałem pomóc rodzinie ze spłaceniem kredytów, także nie mogłem pozwolić sobie na drogie, formalne dokształcanie. Czy studia podyplomowe to najlepszy krok w tym kierunku? Oczywiście nie dam się nabić w butelkę jakimś bootcampem za 5-cyfrowąs sumkę, kiedy na necie można wyrać 50h tutki full stack na wyprzedaży za $30.

Pytanie tylko, jaki kierunek wybrać? Jest coś sensownego w Krakowie i okolicach? Myślałem nad programowaniwm aplikacji mobilnych na UJ (kierunek gdzieś zniknął obecnie) lub AGH (Windows Phone w programie? WTF?). Skupiłbym się głównie na iOS swift, ale pewnie Obj C, też przydałoby się. Te języki nie są wykładane na studiach, także konkurencja będzie nieco mniejsza. Pakowanie się w Jave, kiedy każdy student się jej uczy, to chyba byłaby pomyłka. Z drugiej strony, może lepiej iść na coś bardziej popularnego, jak front dev lub .net? Mamy jeszcze QA tester, ale trzeba certyfikat dodatkowo robić, a ciężko jest znaleźć jakąś ofertę pracy, która nie wymagałaby doświadczenia. Są też podyplomówki z Big Data, ale raczej bez mgr z matematyki pewnie daleko nie zajechałbym, a ofert pracy też za wiele nie ma. Rozważam jeszcze inne niszowe funkcje, np. specjalista e-learning, który wymaga znajomości pakietu Creative Cloud, bardzo dobra znajomość języka ang. + trochę metodologii i można działać.

Sorry, za długi wpis, ale chciałem mniej więcej doprecyzować na czym stoję. Byłbym wdzięczny za jakikolwiek sensowny feedback. Zdaję sobię sprawę jednak, że uczelnie wypluwają setki absolwentów każdego roku, także mogę mieć problemy z racji wieku. Chociaż stary się nie czuję.

0

Ja poszedłem na studia mając 30+, uczyłem się Javy, znalazłem pracę, klepię fronty w ts + trochę bugfixuję też backendy.

Więc odpowiedź na pytanie z tytułu: Tak

A co dokładnie, to jak uważasz.. Masze jakieś już doświadczenie w mobilkach, więc idź w tym kierunku IOS. Chyba jest mniejsza konkurencja niż w webie, ale i ofert pracy chyba mnie. Powodzenia.

2

Pozyskałem już niejednego klienta dzięki swoim projektom i brandowi. Jednakże zdecydowałem, że na dłuższą metę nie jest to stabilny model biznesowy na dłuższą metę.

Freelancing nie jest tragicznym modelem biznesowym, zwłaszcza, jeżeli masz już wypracowany "brand" i projekty. Tylko tak nawiasem.

Tudzież wiem, że chcący przejść na jakikolwiek etat muszę zgłębić swoją wiedzę z zakresu jakiejś najnowszej technologii. Wiedzę tę musiałbym usystematyzować i pewnie do tego przydałby się papierek z jakiegoś uniwerku.

Może jednak spróbować zacząć od nauki samemu (zwłaszcza, że podyplomówki chyba nie ruszają już teraz?)? Na pewno jakieś kursy Swifta są dostępne. Aczkolwiek rozważasz bardzo szeroki wachlarz możliwości - iOS, Java, front, .NET, QA, a nawet Big Data? Spokojnie. Ja jednak trzymałbym się pojedynczego planu - jeżeli chcesz iść w mobilne, na początek, idź, zwłaszcza, jeżeli z tym już pracowałeś. Tylko spójrz na rynek - czy programiści iOS są poszukiwani w Twoim miejscu zamieszkania? A może trzeba rozważyć przeprowadzkę? A może jednak Android, jest popularniejszy, albo technologie wieloplatformowe?

"Papierek" nie jest niezbędny, znam ludzi w tym biznesie, który pracują bez studiów, albo wręcz "pomimo" studiów.

Zdaję sobię sprawę jednak, że uczelnie wypluwają setki absolwentów każdego roku, także mogę mieć problemy z racji wieku. Chociaż stary się nie czuję.

Według mnie w momencie w którym masz doświadczenie komercyjne (ok, w technologii która już umarła, ale zawsze!) już jesteś lepszy od "świeżego" absolwenta, który takiego doświadczenia nie ma.
Nie wiem czy faktycznie istnieje taki "ageism", jak się mówi, że na przebranżowanie po 30-stce nie ma szans, aby cokolwiek z niego wyszło, ale niezbyt mi się wydaje, że tak jest. Albo może to tylko moje nadzieje, bo sam mam ~30 lat ;-)

AGH (Windows Phone w programie? WTF?)

Na zawsze w moim sercu 😭.

0

Nawet nie wiesz co chcesz robić i niewiele potrafisz a pewnie chcesz nieźle zarabiać nie? Tylko bootcamp programistyczny.

0

@Herrman żeby programować na iOS (chyba) musisz mieć maca. Apple udostępniło kilka darmowych książek na temat Swift. Wpisujesz w google "best swift tutorials/books" i jedziesz

1

Spróbuj na początek z darmowymi kursami na Udemy i Pluralsight (darmowe na 3 miechy z kontem MS). Skoro masz doświadczenie graficzne + jakąś wiedzę z mobilek zacznij od kursów z tym związanych. Jak Ci się nie spodoba - dopiero przeskocz na coś innego. I na początku skup się na czymś konkretnym i w to brnij. Jest na forum temat, jak kolega robił przez 1.5 roku grę. Myślę, że na bank wiele firm zatrudni taką osobę. Wymyśl projekt i go po prostu rób, nawet po pół godziny, w wolnych chwilach.

Polecam też stronę CodeWars.

A jeżeli lubisz słuchać innych proponuje substytut studiów (darmowy :P). W Krakowie jest mnóstwo spotkań związanych z IT (sprawdź strony CrossWeb i MeetUp). Zacznij chodzić na spotkania warsztatowe jakiegoś Koła Naukowego (na UJ, PK, AGH jest ich mnóstwo - w większości darmowe i nie wymagają statusu studenta). A w ramach "wykładów" chodź na spotkania organizowane przez firmy. Jeżeli możesz, to w obecnej pracy możesz słuchać w tle podcastów.

Rób sobie z tego wszystkiego notatki w wolnym czasie.

Powodzenia. :)

0
Ktos napisał(a):

Może jednak spróbować zacząć od nauki samemu (zwłaszcza, że podyplomówki chyba nie ruszają już teraz?)? Na pewno jakieś kursy Swifta są dostępne. Aczkolwiek rozważasz bardzo szeroki wachlarz możliwości - iOS, Java, front, .NET, QA, a nawet Big Data? Spokojnie. Ja jednak trzymałbym się pojedynczego planu - jeżeli chcesz iść w mobilne, na początek, idź, zwłaszcza, jeżeli z tym już pracowałeś. Tylko spójrz na rynek - czy programiści iOS są poszukiwani w Twoim miejscu zamieszkania? A może trzeba rozważyć przeprowadzkę? A może jednak Android, jest popularniejszy, albo technologie wieloplatformowe?

Oczywiście, nauka we własnym zakresie to podstawa, a materiałów nie brakuje. Muszę tylko zastanowić się nad kierunkiem. Programiści mobilni zazwyczaj nie pracują w korporacjach, a mniejszych firmach. Jest to bardziej niszowa branża. Zdecydowanie jest kilka ofert pracy dla iOS devów w Krakowie. Widzę, że jedna firma ciągle wystawia oferty 3-mies. płatnego stażu. Najwięj jest pracy w mainstreamowych gałęziach. Tylko tutaj musiałbym się dobrze zorientować pod kątem frameworków i innych technologii potrzebnych w danym języku. No i oczywiście ogarnąć fundamenty programowania, czyli wzorce projektowe, algorytmy, struktury danych, testy jednostkowe, TDD. Dla klienta końcowego ważne jest, aby jego produkt działał, ale dla firm, kod musi być tworzony zgodnie z najlepszymi praktykami. Ogólnie rzecz biorąc, papierek z uniwerku to przede wszystkim tylko takie odhaczenie dla działu HR.

Technologie wieloplatformowe są bardzo dobre dla freelancerów, gdyż klienci zawsze chcą mieć aplikację na dwie platformy. Z drugiej strony, jest dużo więcej etatów odnośnie natywnej developerki. Freelancing nie jest zły, ale mimo wszystko średnie firmy nie chcą wydawać więcej, aniżeli 2,5-3,5 tys. zł za aplikacje na dwie platformy, np. aplikacja z biblioteką magazynów (rejestracja, powiadomienia, tryb off-line czasopism, itp.). Podobno jak im wycenili początkowo w Krakowie, to im kopary opadły. Ogólnie przydałoby się zdobyć bogatszą klientelę. Na szczęście programowanie dodatkowo pozwala na wytworzenie dochodu pasywnego, a to mało branż potrafi.

0

i tutaj po raz pierwszy zetknąłem się z programowaniem OOP w ActionScript 3.

To może JavaScript? ActionScript jest językiem pokrewnym do JSa/dialektem JSa (chociaż JavaScript poszedł dalej przez te parę lat i rozwinął się niezmiernie). Ale z drugiej strony jak masz już inne zapatrywania (Swift, iOS) to też warto rozważyć. Sam najlepiej wiesz, co chcesz robić (A JavaScript to pot i łzy XD).

0

Naprawdę nie potrafię zrozumieć ludzi, którzy chcą się przebranżowić i pytają czy nauka takich języków jak Swift czy Objective-C ma sens. Oczywiście, że nie ma. Wybierz sobie jakiś popularny język, który zmaksymalizuje twoje szanse na rynku pracy. Chyba, że chcesz je minimalizować na własne życzenie, wtedy ucz się COBOLA.

2

Paradoksalnie teraz wszyscy uczą się popularnych tematów - js, .net czy javy. Moim zdaniem łatwiej się wbić na rynek w mało popularnej technologii. Brakuje DevOpsów, brakuje programistów niszowych języków, których nie ma na uczelniach.

3

Bawi mnie podejście OPa, który wypisuje jak ważne jest podejście z odpowiednimi wzorcami, TDD... zobaczysz kod produkowany przez kochanych Seniorów to otrzeźwiejesz. :D

1
itsme napisał(a):

Bawi mnie podejście OPa, który wypisuje jak ważne jest podejście z odpowiednimi wzorcami, TDD... zobaczysz kod produkowany przez kochanych Seniorów to otrzeźwiejesz. :D

W każdym ogłoszeniu powtarza się to jak mantra.

1
Herrman napisał(a):
itsme napisał(a):

Bawi mnie podejście OPa, który wypisuje jak ważne jest podejście z odpowiednimi wzorcami, TDD... zobaczysz kod produkowany przez kochanych Seniorów to otrzeźwiejesz. :D

W każdym ogłoszeniu powtarza się to jak mantra.

A ogłoszenia jak wiadomo maja mało wspólnego z rzeczywistymi zgadanieniami realizowanymi w firmie. Im więcej w ogłoszeniu o dobrych praktykach, wzorcach itp tym większa szansa, że szukają kogoś do projektu, który tonie w gównie.

0
LukeJL napisał(a):

i tutaj po raz pierwszy zetknąłem się z programowaniem OOP w ActionScript 3.

To może JavaScript? ActionScript jest językiem pokrewnym do JSa/dialektem JSa (chociaż JavaScript poszedł dalej przez te parę lat i rozwinął się niezmiernie). Ale z drugiej strony jak masz już inne zapatrywania (Swift, iOS) to też warto rozważyć. Sam najlepiej wiesz, co chcesz robić (A JavaScript to pot i łzy XD).

JS nie używa się głóqnie do mniejszych skryptów? Tam programuje się funkcyjnie, a nie obiektowo bodajże? Po JS, jaki framework byście polecili? React, Vue, Angular to chyba najistotniejsze. W Angularze wciąż jest wsparcie dla JS czy w nowszych odsłonach tylko TS? Swoją drogą jest jeszcze react native i native script oba oparte na JS, ale nie wiem nawet czym się różnią.

Pot i łzy? Chodzi o to, że JS jest męczący w dużych projektach? W sumie jego założeniem miało być pisanie krótkuch skryptów.

To ogólnie co polecalibyście do front endu po przerobieniu klasyki html5, css (sass/less), JS?

1
Herrman napisał(a):

Pozyskałem już niejednego klienta dzięki swoim projektom i brandowi. Jednakże zdecydowałem, że na dłuższą metę nie jest to stabilny model biznesowy na dłuższą metę.

Więc tym bardziej pozyskasz rekruterkę ;) rób jakieś portfolio stonka/github, jednocześnie klep kod i tyle, nad czym tu myśleć, w najgorszym wypadku nie będzie odzewu i będziesz musiał się więcej douczyć, dużo tematów masz w dziale kariera, więc dla chętnego nic trudnego.

0

Co myślicie o kursie online web devu obejmujący taki materiał:

  • html
  • css
  • JS (es6)
  • node.js
  • express.js
  • Bootstrap 4
  • mongoDB
  • mongoose
  • jQuery
  • SQL
  • API (json)

Dodatkowo jest GIT, komendy Unix, DOM, trochę teorii. Wygląda to raczej dobrze. Chociaż sporo technologii związanych z back-endem.

0
Herrman napisał(a):

Co myślicie o kursie online web devu obejmujący taki materiał:

  • html
  • css
  • JS (es6)
  • node.js
  • express.js
  • Bootstrap 4
  • mongoDB
  • mongoose
  • jQuery
  • SQL
  • API (json)

Dodatkowo jest GIT, komendy Unix, DOM, trochę teorii. Wygląda to raczej dobrze. Chociaż sporo technologii związanych z back-endem.

o każdej z tych technologii napisano co najmniej po kilka grubych książek a ty chcesz to ogarnąć kursem online he he nie ma drogi na skróty :)

0
Zakręcony Krawiec napisał(a):
Herrman napisał(a):

o każdej z tych technologii napisano co najmniej po kilka grubych książek a ty chcesz to ogarnąć kursem online he he nie ma drogi na skróty :)

Jasne, że nie ma, ale o każdej tehcnologii powstało tonę publikacji. Skoro Motorola robiła akademię web deva w 4 weekendy, gdzie uczyli podstaw z node JS, to czegoś na pewno się nauczę tutaj. Ekspertem nie zostanę po jednym kursie, ale jak trafię na problem to trzeba googlować, siedzieć na stacku i czytać. Innej drogi nie ma i chyba nie widzę innej lepszej opcji. Ogólnie będę musiał dobrze ogarnąć JS na wstępie zanim posunę się dalej.

4

Poszukaj książek w stylu SQL w 24 godziny. Wydanie VI. Będziesz miał 11 dni na naukę technologii, które wymieniłeś, 3 dni zostanie na szukanie pracy i w 2 tygodnie zostaniesz programistą ;P

0

Lepiej poszukać od razu książki w stylu "Ekspert front i back end w 24h" zamiast tracić czas na 11 książek. Tym sposobem można jeszcze podszkolić obowiązkowe pytania na rekrutacji - jakie jest pana hobby, gdzie się pan widzi za 5 lat (konieczna analiza oferty biur podróży) oraz przemyśleć swoje największe wady.

0
Burmistrz napisał(a):

Poszukaj książek w stylu SQL w 24 godziny. Wydanie VI. Będziesz miał 11 dni na naukę technologii, które wymieniłeś, 3 dni zostanie na szukanie pracy i w 2 tygodnie zostaniesz programistą ;P

Przecież wiadomo, że czekają mnie miesiące ciężkiej pracy po kilka godzin dziennie, żeby powierzchownie liznąć temat :). Trzeba lat, aby zostać ekspertem.

0

No wiadomo, to był żart, nie podejrzewam Cię o aż takie naiwno-ambitne plany, ale ostatnio widziałem tego typu książki w Empiku i zastanawiałem się, czy kogoś rzeczywiście taki chwytliwy tytuł przekonuje do zakupu.

0

Z tego co wiem, to fachowcy IT sa teraz bardzo poszukiwani . Wpisz sobie w google dotlinkers i zobacz ile jest ofert pracy. Jesli czujesz, że to jest to, to moim zdanie się nie zastanawiaj. Parce znajdziesz na pewno.

2
Herrman napisał(a):

JS nie używa się głóqnie do mniejszych skryptów?

@Herrman Miało się używać, kiedy powstawał, ale teraz ludzie w tym robią duże aplikacje.

Tam programuje się funkcyjnie, a nie obiektowo bodajże?

JS to język wieloparadygmatowy. Nie narzuca stylu. Chociaż ma pewne elementy funkcyjności, jak również pewne elementy OOP.

Pot i łzy? Chodzi o to, że JS jest męczący w dużych projektach? W sumie jego założeniem miało być pisanie krótkuch skryptów.

Nie chodzi o duże projekty, tylko o to, że ten język to taka partyzantka, klejony na kolanie i większość rzeczy się robi naokoło. Pisząc w JS trzeba często wymyślać od nowa wszystko, co w innych językach jest out of the box.

Poza tym ma wiele absurdalnych elementów jak np. typeof który wcale nie zwraca typu (takiego, jakiego byśmy oczekiwali), np. typeof null to "object" o.O Albo obiekt Date, który był robiony chyba po pijaku.

Ale to się da jakoś opanować, po przyuczeniu. Najwyżej od czasu język dalej cie bedzie zaskakiwał. Co do dużych projektów natomiast to większe znaczenie mają moim zdaniem skille programistów, czy "umieją w architekturę". To, że jest słabe typowanie nie przeszkadza w stosowaniu zasad typu SRP czy innych. I odwrotnie: silne typowanie rodem z TypeScripta czy Javy wcale nie wymusi tego, że programiści będą pisali dobry skalowalny kod zachowując ogólne zasady programowania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1