Myślisz o przebranżowieniu na zawód programisty? Warto to wiedzieć!

Odpowiedz Nowy wątek
Tig
2019-01-12 13:26
Tig

Rejestracja: 1 rok temu

Ostatnio: 1 tydzień temu

45

A więc masz X lat, zajmujesz się w życiu Y, mieszkasz w Z.
Myślisz o zmianie zawodu na zawód programisty.
Tematy o podobnej treści pojawiają się wielokrotnie, a jakość odpowiedzi jest niska, spowodowana znużeniem Odpowiadających.

Post ma na celu przedstawienie pewnych kwestii, które powinny rozważyć osoby rozważające przebranżowienie.
Zasady tutaj opisane są spełnione w znakomitej większości przypadków, ale wiadomo, że w życiu od każdej takiej zasady są wyjątki. Wyjątki te są nieliczne.
Uwaga: W celu uniknięcia powtarzania się, będę nazywać "początkującymi programistami" osoby kandydujące na poziom entry-level (staż) oraz junior (programista z małym doświadczeniem).
Będę też używał pojęć "mid" - programista na średnim poziomie doświadczenia, "senior" - programista na wysokim poziomie doświadczenia.

Dla leniwych -- podsumowanie (tzw. TL;DR;) znajduje się na końcu.

Biorąc pod uwagę przebranżowienie, musisz wziąć pod uwagę co najmniej poniższe tematy:

I. Profil osoby, która będzie konkurować z Tobą o pracę

Na stanowisko programisty początkującego będzie kilkanaście-kilkadziesiąt osób chętnych.
W celu pokonania konkurencji musisz się zaprezentować jako najlepsza z tych osób, tzn. każda jedna osoba z tej grupy musi być mniej atrakcyjna dla pracodawcy.

Typowych konkurentów, których musisz POKONAĆ(mowa tylko o takich!) można podzielić na 2 grupy:

student lub absolwent

  1. ma ponadprzeciętne obycie z komputerami -- wie co to folder, jak szybko skasować linijkę w edytorze, umie odpalić terminal i wykonać komendy, zna skróty Ctrl+X/C/V itd. itp.
  2. uczył się matematyki rozszerzonej na poziomie licealnym -- na maturze rozwiązywał problemy podając dane(input), algorytm rozwiązania złożony z kilku mniejszych algorytmów, wynik(output)
  3. ukończył/kończy studia na kierunku informatyka -- w trakcie studiów odbył co najmniej kilkadziesiąt (szacunek dla studiów magisterskich: 20-25 przedmiotów) związanych z językami programowania i technologiami pokrewnymi, na każdym z tych przedmiotów musiał napisać na zaliczenie średnio 3 "większe" programy lub 30 malutkich, o przedmiotach związanych z teorią informatyki nawet nie wspominając
  4. w trakcie studiów rozwiązywał na własną rękę problemy programistyczne - pracował na część etatu i/lub pracował na cały etat w wakacje i/lub robił własne projekty

Zróbmy więc szacunek tego, co taki student minimum wykonał:
10 przedmiotów x3 programy zaliczeniowe "większe" == 30 programów x 20h każdy == 600h
10 przedmiotów x30 programy małe == 300 programów x 2h każdy == 600h
praca własna, niekoniecznie komercyjna == powiedzmy 4x przerwa wakacyjna 2 miesiące x 168h == 1344h
matematyka - doskonalenie umiejętności myślenia(no dobra, raczej wkuwania), algorytmów dyskretnych i grafowych, metod numerycznych itd == powiedzmy 25 przedmiotów x 4h == 1500h (tylko wykłady i ćwiczenia/laboratoria!)

Podsumowując szacunek dobrego, ale nie wybitnego, absolwenta studiów magisterskich, który będzie konkurował z Tobą o miejsce pracy:

  • ugruntowana wiedza z matematyki oraz informatyki licealnej
  • 2500 godzin poświęcone na programowanie i technologie pokrewne
  • 1500 godzin poświęcone na matematykę/teorię informatyki -- wiele z nich może być czasem straconym, tym niemniej część stanowi rzeczy przydatne w życiu typowego mida

samouk

  1. ma ponadprzeciętne obycie z komputerami -- jak wyżej; zna dobrze język angielski -- na tyle dobrze aby wyszukać i zrozumieć informacje w Internecie
  2. ma silną motywację do nauczenia się "rozmowy z komputerami" -- czego dowiódł, poświęcając ogromną ilość czasu implementując samodzielnie nietrywialne rozwiązania informatyczne, które działają, mają ręcę i nogi przynajmniej na poziomie użytkowym, które można zobaczyć, porównać z konkurencyjnymi rozwiązaniami
  3. może mieć niekiedy mniejszy zakres poznanych technologii lub wręcz nie znać pewnych podstaw matematycznych, ale na pewno coś nietrywialnego potrafi w swojej dziedzinie
  4. potrafi rozwiązać problem programistyczny z szerokiej gamy problemów, potrafi wyszukać i zaadaptować jakieś rozwiązanie, potrafi już przewidzieć pewne konsekwencje swoich rozwiązań -- z tym wszystkim spotkał się w pracy własnej, ze szczególnym naciskiem na umiejętność zidentyfikowania problemu, wyszukania rozwiązania, adaptacji do swoich potrzeb

Podsumowując szacunek samouka na poziomie pozwalającym konkurować z Tobą o miejsce pracy:

  • ukończony lub działający co najmniej jeden samodzielnie stworzony spory projekt programistyczny, po którym widać, że autor ma spore doświadczenie w programowaniu, i umie rozwiązać wiele różnych problemów
  • średnio 4h/dzień programowania x 365 dni x 2 lata == 2920 godzin, oczywiście można przyjąć tu wartości dowolne, zależne m.in. od tego, czy konkuruje o stanowisko entry-level czy już junior

II. Przydatność osób początkujących dla pracodawcy

Osoba początkująca ma za zadanie rozwiązać stosunkowo proste problemy.
Dostając zadanie rozwiązania prostego problemu, typowe problemy z którymi może się zmagać osoba początkująca:

  • niezdolność do zidentyfikowania miejsca wystąpienia problemu (w kodzie)
  • niezdolność do zrozumienia, co już istniejący kod robi i dlaczego, w konsekwencji niezdolność do zaproponowania zmiany
  • konieczność przedstawienia (swoim językiem, czyli często w sposób nieprecyzyjny, zaciemniający) napotkanego problemu midowi/seniorowi, który potem mid/senior i tak musi rozwiązać
  • niezdolność do wyjścia z własnych błędów, w konsekwencji prośby o pomoc do midów/seniorów o pomoc z błędami, które to błędy każdy mid natychmiast naprawi, albo nigdy nie popełni

Czyli mamy dwa ogólne przypadki:
a) samodzielna osoba początkująca, typowo rozwiązująca problemy w dużej mierze samodzielnie, ale bardzo wolno lub wolno,
ale po której rozwiązania bez sprawdzenia nikt rozsądny nie puści na produkcję; w wyniku sprawdzenia typowo wychodzą kwestie przypadków pesymistycznych ("nieoczekiwane" sytuacje chwilowej awarii, "niegrzeczni" użytkownicy proszący o dane innych użytkowników, itp.)
b) niesamodzielna osoba początkująca, która więcej zabiera czas osobom realnie pracującym, niż przynosi wartości

Czyli mamy:
a) zysk dla pracodawcy w okolicach zera -- te 10% czasu zabranego midom/seniorom bilansuje się na niewielki plus z pozostałym czasem (90% pracy własnej, którą mid zrobi 3x szybciej, powoduje że wychodzi
90% czasu przepracowanego x 0,33 wydajności - 10% == 30% - 10% == zysk 20% wydajności mida dla pracodawcy
b) zysk dla pracodawcy ujemny -- te 30% czasu zabranego midom bilansuje się na minus z pracą własną (analogicznie 70% czasu przepracowanego x 0,33 wydajności - 30% == STRATA 7% wydajności mida dla pracodawcy)

Podsumowując, jeżeli osoba "a" zarabia więcej niż 20% zarobków mida, to już jest niesprawiedliwie wysoko wynagradzana, jeżeli osoba "b" zarabia cokolwiek zamiast dopłacać, to już jest niesprawiedliwe wysoko wynagradzana.
To powoduje niską chęć pracodawców do zatrudniania osób początkujących, a wysoką do zatrudniania osób mid/senior.
Jeżeli pracodawcy w ogóle mają chęć zatrudniania początkujących, to najczęściej w nadziei, że taka osoba zostanie w firmie i zwróci się w perspektywie czasu.

III. Znajomość technologii a praca programisty

Część osób rozważających przebranżowienie może mieć przekonanie, że znajomość składni języka programowania lub w ogólności znajomość technologii jest jednym z najważniejszych warunków do pracy programisty.
Jest to pogląd równie uzasadniony, jak taki, że umiejętność napisania "Ala ma kota" umożliwia pisanie książek, które się sprzedają w milionowych nakładach. Przecież książka to tylko wielkich rozmiarów ciąg zdań, prawda?

Tymczasem istotna jest umiejętność zastosowania języka programowania, innych technologii, do rozwiązania realnego problemu w czasie akceptowalnym przez pracodawcę, z zachowaniem pewnych zasad co do wydajności; integralności oraz bezpieczeństwa danych; odporności rozwiązania na zmiany, i jeszcze wielu innych podobnych czynników.

Wracając do przykładu z książką, naprawdę nie jest rzeczą trudną nauczyć się pisać zdania. Nie jest łatwo nauczyć się pisać książki, na których można zarobić.
Na wszelki wypadek podam analogię.
Nie jest rzeczą trudną opanować język programowania czy technologie pokrewne. Nie jest łatwo nauczyć się tworzyć oprogramowanie, które ma ręce i nogi.

(IV. do 2^64 - 1 -- zarezerwowane na potem, jeżeli mi się coś przypomni)

PODSUMOWANIE

I. Konkurujesz lub rozważasz konkurowanie na stanowisko początkującego programisty z osobami, które poświęciły typowo kilka tysięcy godzin na programowanie, i potrafią samodzielnie rozwiąząć albo szeroką gamę problemów, albo są doskonali w jednej dziedzinie. Mowa o bezpośrednich konkurentach -- najlepszych z aplikujących na to stanowisko, a nie średnich, nie słabych.

II. Przydatność początkującego programisty dla pracodawcy jest niska albo bardzo niska, o wiele niższa niż przeciętna osoba początkująca sobie wyobraża. Liczba ofert pracy i płace to odzwierciedlają, przy czym pozornie niskie płace początkujących programistów, są lepsze niż się wydaje.

III. Nauczenie się "na 95%" języka programowania i technologii pokrewnych do warunek konieczny do pracy programisty, ale nie warunek dostateczny. Trzeba też wiedzieć, jak w praktyce się stosuje ten język programowania, aby rozwiązać praktyczne, realne problemy, i do tego potrzeba doświadczenia w tworzeniu oprogramowania. Sporo doświadczenia.

edytowany 2x, ostatnio: Tig, 2019-01-12 13:33

Pozostało 580 znaków

2019-09-11 22:39

Rejestracja: 9 miesięcy temu

Ostatnio: 9 miesięcy temu

0

Mały offtop, ale jak często (i czy w ogole...) mieliście propozycję wyjazdu do zagranicznego oddziału firmy i w jakim okresie kariery programistycznej?

Raz do Niemiec. Zaraz po zatrudnieniu w zagranicznej firmie. Później sam sobie to organizowałem w ramach "wyjazdów służbowych" (np. wyjazdy na konferencje). - wiciu 2019-09-20 11:37
ja od razu aplikowalem do Niemiec na Juniorske stanowisko z zerowym doswiadczeniem - dwroblew 2019-09-27 10:52

Pozostało 580 znaków

2019-09-19 08:02

Rejestracja: 1 rok temu

Ostatnio: 55 sekund temu

Lokalizacja: Valhalla

0

Miałem taką propozycję, bodajże po 2 latach pracy. Mieliśmy też wewnętrzny system rekrutacji, gdzie można było znaleźć oferty z relokacją. Kolega po pół roku pracy wysłal CV na wakat w USA i go przyjęli.

Pozostało 580 znaków

2019-10-22 20:03

Rejestracja: 8 miesięcy temu

Ostatnio: 4 miesiące temu

0

Witam

Jestem po studiach mgr inż. Mechanika i budowa maszyn. Pracuje już prawie rok jako projektant CAD. Po tym czasie stwierdziłem, że jednak praca mi nie za bardzo leży i chciałbym zmienić branżę. Na pracy mgr stworzyłem układ sterowania napisany w Python. Po czasie stwierdziłem, że dla mnie był to fajnie spędzony czas i naprawdę dobrze mi się programowało. Postanowiłem Sobie że zmienię branżę i jak na razie ostro uczę się samemu programowania. Narzuciłem Sobie rygor co najmniej 20h tygodniowo na naukę i zrezygnowałem w większości z mojego wolnego czasu. Jak dotąd robię kursy darmowe oraz wykupiłem kilka na Udemach. Gdy nabiorę wprawy chciałbym napisać jakaś apke na Androida ( na początek). Jednak cały czas zastanawiam się czy taka droga będzie dla mnie wydaja. Może dobrym pomysłem byłoby zapisanie się na bootcamp. Oczywiście myślałem o długo terminowym(co najmniej 6 miesięcznym) oraz o tym, że dodatkowo chciałbym doszkalać się samemu. Wiem że wiele osób jest bardzo sceptycznie nastawiona do tego typu kursów, ale moje motywacje są z goła inne niż stereotypowej osoby uczęszczającej na taki kurs. Mam pełną świadomość, że ani kurs ani własna praca magicznie nie dają mi wiedzy prawdziwego programisty w krótkim czasie, jednak jestem bardzo zdeterminowany. Jak na razie pracuje na pełen etat więc ciężko mi jeszcze bardziej podkręcić tempo. Myślałem jeszcze o stażach a nawet pracy non profit przez pewien okres czasu. Jednak moja dotychczasowa praca w pewnych aspektach dość mnie ogranicza. Dlatego chciałbym zapytać się doświadczonych kolegów, jaką drogę by mi zalecali w dążeniu do mojego celu.

Z góry dziękuję za odpowiedzi.

edytowany 1x, ostatnio: SirWitold, 2019-10-22 20:06
Ucz sie, chodz na rekrutacje. Jak gdzies Cie wezma, to rzucaj obecna robote i programuj. Proste. - renderme 2019-10-22 21:15
To zależy jaki sposób nauki Ci odpowiada, ja na przykład lubię kursy video. Zawsze później można doczytać w książce czy dokumentacji. Zgadzam się też z powyższym, warto już wysyłać CV i chodzić na rozmowy, żeby poznać oczekiwania i rynek. Masz studia techniczne, to duży plus. Też warto uzbroić się w cierpliwość nie od razu Kraków zbudowano. - Mezon 2019-11-07 17:49
Trochę się już naczytałem tutejszych postów na temat przebranżowienia i nie widzę u Ciebie specjalnych różnic poza posiadaniem studiów. I nie zrozum mnie źle - to nie oznacza, że robisz niewłaściwie zadając te pytania, po prostu wrzuć w szukajkę i przejrzyj pobieżnie tematy tego typu w dziale Kariera, bo w tamtych wątkach ludzie już doradzali, niekiedy nawet dość wyczerpująco, a tak, jak wspominałem - czeka Cię w zasadzie ta sama droga, co innych. Możesz się tutaj w swoim poście nie doczekać dłuższych odpowiedz, bo ludziom się nie chcę pisać w kółko tego samego. Powodzenia. - BackendMichael 2019-11-11 19:58

Pozostało 580 znaków

2019-12-08 20:08

Rejestracja: 7 miesięcy temu

Ostatnio: 3 dni temu

0

Witam. Cały czas przewijają się informacje o niebotycznych zarobkach w branży IT. Obecnie pracuję jako konstruktor w branży mechanicznej, powiedzmy że w tej branży można zarabiać te 3500-4500netto, niektórym udaje się dobić do granicy 5000zł netto ale szczerze mówiąc więcej jest naprawdę ciężko osiągnąć. Mam już kilka lat doświadczenia w tej branży więc tak naprawdę zmieniając pracę niewiele zyskuje bo i tak pensja byłaby zbliżona. Zastanawiam się właśnie trochę nad przebranżowieniem, jednak nie chciałbym tak jak w poście wyżej porzucać tego czym się obecnie zajmuję. Dlatego nie chciałbym iść w nic związanego ze stronami internetowymi i aplikacjami mobilnymi tylko typowo w przemysł. Jest tam zapotrzebowanie na programistów ? Czy są z tego pieniądze ? Tak naprawdę między "konstruktorem mechanikiem" a "informatykiem" można się doszukiwać stanowiska "automatyka". Tam też się "programuje" tylko raczej tam praca polega na "składaniu z klocków".
Chociaż może nie wybiegajmy tak daleko. Tak naprawdę chciałbym w pierwszej kolejności zmierzyć się z tematem - plotera CNC. Czy ktoś z obecnych tutaj zna się na tego typu konstrukcjach ? Ogólnie chodzi o to, że rysunek z programu trzeba zamienić na ruch elementu tnącego (sterowanie silnikami krokowymi).

Cnc to nie programowanie, a wejscie w embedded bez studiow i doswiadczenia byloby trudne. Tam prog wejscia jest wysoki i ofert malo. Jak chcesz sie przebranzowic, to licz sie z poczatkowym spadkiem wynagrodzenia i duza iloscia pracy. Wysokie zarobki sa faktem. Z czasem dobija sie do 10-20k. - renderme 2019-12-09 06:53

Pozostało 580 znaków

2019-12-08 20:22

Rejestracja: 1 rok temu

Ostatnio: 55 sekund temu

Lokalizacja: Valhalla

0

W automatyce nie ma kasy. Większość moich znajomych przekwalifikowało się na IT.

jest tylko trzeba być specjalista. Da się wyciągnąć między 8-20 k, ale często trzeba będzie jeździć. - revcorey 2019-12-10 14:43
@revcorey podeprzyj proszę swój argument o zarobkach 15k-20k w automatyce przy 168h pracy będąc zatrudnionym w PL jakimś konkretnym przykładem. - PinkLion 2019-12-10 15:03
@PinkLion: a napisałem gdzieś o 160 h? Chociaż kwoty typu 15k będzie ci zarabiał taki starszy doświadczony inżynier, miałem takich paru ale oni po 60-tce. 8k w 160k jest możliwe jak najbardziej, ale często to praca premiowa lub główny automatyk na zakładzie bądź niżej w czymś w rodzaju KGHM(chociaż nie za nisko). - revcorey 2019-12-10 15:06
@recovery: Oczywiście, że tak, jak żyjesz w permanentnej delegacji to spoko. Ja znam dużo ludzi po automatyce i naprawdę nie warto, chyba, że chcesz jeździć w delegacje 3 tygodnie w miesiącu to spoko, masz wtedy kasę jak dobry programista i zero życia. Jak pracujesz na miejscu to zarobki kierowników, którzy odpowiadają za życie ludzi i są permanentnie pod telefonem to okolice 12-16k netto na b2b. - iddqd 2019-12-10 16:35

Pozostało 580 znaków

2019-12-08 21:08

Rejestracja: 7 miesięcy temu

Ostatnio: 3 dni temu

0

W automatyce i tak są większe pieniądze niż w branży mechanicznej. Zastanawia mnie jednak droga jaką można przyjąć - jakie języki programowania przydają się właśnie w przemyśle ? Bo jeżeli chodzi o "automatykę" to widzę, że tam są gotowe programy gdzie graficznie układa się kod (skład z klocków - np labview) a przyznam, że chyba warto celować jeszcze dalej - bliżej źródła.

edytowany 1x, ostatnio: sad_madman, 2019-12-08 21:09
Głównie robi się programy drabinkowe na konkretny sterownik. Niestety nie warto. Sam skończyłem robotykę i mnóstwo ludzi przekwalifikowalo się na it. - iddqd 2019-12-08 21:34
No jest embedded jeszcze, gdzie kroluje C/C++, ale zaczynanie od tego, to troche jak nauka jazdy pojazdami na tirze. Jezeli sadzisz, ze wiedza z poprzedniej branzy przyda Ci sie w kodowaniu, to sie mylisz. Ta branza jest inna. Tutaj jest duza organizacja i dev ma tak opisane dzialanie systemu, ze nie musi miec o nim wiedzy. - renderme 2019-12-09 06:58
>akie języki programowania przydają się właśnie w przemyśle ? Żaden, systemy to drugoplanowa sprawa. Wiadomo znasz duże DCS to już jesteś inaczej postrzegany ale największy hajs robi się na know how, jak coś zaprojektować zoptymalizować itd. - revcorey 2019-12-10 14:45
Mam znajomych po AiR, którzy programują w C# właśnie oprogramowanie przemysłowe - wiedza domenowa jest w tym przypadku atutem. - Terrored 2019-12-10 16:05

Pozostało 580 znaków

cmd
2019-12-10 15:13
cmd

Rejestracja: 5 lat temu

Ostatnio: 16 godzin temu

Lokalizacja: Warszawa

1

@sad_madman: Nie napisałeś skąd jesteś, ale jeśli nie jest to duży ośrodek IT jak Warszawa, Kraków, Wrocław i nie rozważasz stałej relokacji do takiego miasta to dobrze sobie przemyśl wszystko. Będzie Ci bardzo trudno cokolwiek znaleźć, w szczególności na samym początku by zdobyć pierwsze doświadczenie i rozeznanie w tej branży. I odpuść sobie rozwiązania dla przemysłu. To nisza którą zajmuje się tylko jakiś procent firm w tej branży.

edytowany 2x, ostatnio: cmd, 2019-12-10 15:15

Pozostało 580 znaków

2019-12-10 18:49

Rejestracja: 3 lata temu

Ostatnio: 1 miesiąc temu

0

Witam. To chyba ten właściwy wątek żeby się poradzić ogólnie, co robić dalej. Od dłuższego czasu uczę się Javy samodzielnie. Przerobiłem na Courserze kilka kursów: Java Programming: Solving Problems with Software, Java Programming: Arrays, Lists, and Structured Data, Object Oriented Programming in Java. Do tego trochę dłubałem samodzielnie albo przy użyciu jakichś tutoriali żeby nauczyć się Swinga albo utrwalić sobie takie rzeczy jak wzorce projektowe, generyki czy interfejsy funkcyjne. Po angielsku mówię chyba dobrze, przynajmniej tak słyszę od ludzi, z którymi ćwiczę na Skypie.

W przyszłym tygodniu kończy mi się umowa o pracę, która nie podoba mi się za bardzo. Nie wiem czy z tym co mam mogę wystartować gdziekolwiek, chodźby nawet na staż. Tymbardziej, że z tego co widziałem np. po Intelu w Gdańsku, do stażowania wymagają statusu studenta, natomiast kumpel pracujący jako Java Developer mówi że, ucząc się w chałupie, nie nauczę się programować. Polecał mi Sii, bo jego małżonka znalazła sobie po tym pracę. Bodajże sdaAcademy reklamuje się, że po odbyciu płatnego kursu mam gwarancję zatrudnienia, w co za bardzo wierzyć mi się nie chce, ale jeśli ktoś z was coś o tym słyszał, to będę wdzięczny za opinię.

W ostateczności jeśli z tym co umiem, nie mam szans na znalezienie czegokolwiek, to wyjadę chyba za granicę i za to co sobie odłożę, zacznę latem albo na jesieni jakiś kurs stacjonarny albo staż, tylko znowu tutaj proszę o radę: kiedy tego jest najwięcej i gdzie najlepiej startować w Gdańsku albo w ogóle na Północy. Będę wdzięczny za pomoc. Pozdrawiam. Zdrowych, wesołych i udanych świąt wszystkim!

Każda droga jest taka sama. Nauka nauka i jeszcze raz nauka. A gdy myślisz że jesteś gotów spróbuj wysłać CV. I tak w kółko. Pytanie ile masz samozaparcia i wytrwałości - wiedz, że aktualnie próg wejścia szczególnie w Javie jest bardzo wysoki i tylko ułamek osób chcących się przebranżowić zrobią to. - Terrored 2019-12-10 19:57
Gadanie glupot, ze w domu nie mozna sie nauczyc programowac. Mozna i to na fajnym poziomie, smialo przy odrobienie zaparcia mozna dojsc do poziomu regulara jesli masz na to zadatki. Tak jak kolega wyzej wsponial - Nauka, nauka i jeszcze raz nauka. Na tym forum jest pelno programistow, ktorzy nie maja szkoly czy kursow a wszystko to o umieja nauczyli sie sami. Sam naleze do tego grona :) - ledi12 2019-12-15 00:18

Pozostało 580 znaków

2019-12-15 00:28

Rejestracja: 9 miesięcy temu

Ostatnio: 5 miesięcy temu

0

Zdziwiłem się jak w ostatnim czasie sąsiadka związana od ponad dekady z branżą medyczną przybyła porozmawiać o nurtujących ją tematach dotyczących softwareu. Jacyś rekruterzy zaproponowali jej pracę jako QA i PM. Propozycję odrzuciła bo wyczuła za dużo aspektów handlowych.

Dekadę temu miałem okazję poznać nawet dentystę, który na 40 lat skończył studia na uniwesrytecie medycznym i stawiał pierwsze kroki w nowym zawodzie. Można? Pewnie i można. W końcu nie ma ustawy, która klasyfikuje taki czyn jako zabroniony.

Pracując w dużej brytyjskiej korporacji spotkałem nawet przypadki w których to magazynier został programistą javy. Podobnie z resztą rzecz się miała z serwisanem sprzętu komputerowego. Były też przypadki migracji pracowników z działu administracji na QA. Jeden kolega który siedzi obok mnie jest starszym programistą, a od lat nie napisał linijki kodu. Co jest śmieszne to fakt, że uczy przyszłych programistów w jakiejś szkole.

Po co o tym wspomniałem? Generalnie to software jest dziś na takim etapie jak branża motoryzacyjna na początku lat 90 ubiegłego wieku. Gospodarka rośnie, a wraz z nią ilość systemów. Dla wielu managerów technologie informatyczne to kosmos. Uczelnie w Stanach czy Europie Zachodniej nie są w stanie przygotować takiej ilości specjalistów, która odpowie na potrzeby rynku pracy. Firmy tworzą więc oddziały na peryferiach świata. Różnice w wynagrodzeniach są spore więc nawet opłaca się zatrudniać ludzi którzy relanie nie wniosą nic albo bardzo niewiele. W dużych projektach trudno jest rozliczyć każda godzinę.

Taki trend pewnie utrzyma się przez pewien czas. Natomiast żadne drzewo nie rośnie do nieba. W pewnym momencie rynek dojdzie do sufitu i życie przestanie być różowe.

Programowanie zaczynałem w 2002 roku będąc w liceum. Miałem okazję trafić na nauczyciela, który kiedyś rozwijał projekty na maszynach mainframe. Przed emeryturą postanowił przekazać nieco wiedzy młodemu pokoleniu. Zaczynając politechnikę miałem pewną wiedzę ale do tego aby sprawnie poruszać się po obszarze programowania sporo brakowało. Na 3 czy 4 roku studiów byłem w miarę przygotowany do postawienia pierwszych kroków w zawodzie. Dopiero po 10 latach pracy mogę powiedzieć, że coś wiem.

Nawet jeśli założymy, że metody dydaktyczne poszły do przodu to nie wierzę w programistów, którzy przerobili kilka kursów, nakupili książki o springu, naoglądali się filmików na yt czy brali udział w tajnych kompletach.

edytowany 1x, ostatnio: mealtdown, 2019-12-15 00:32
Jako stary belfer mogę zagwarantować, że ludzie mają bardzo różną percepcję intelektualną. Chciałoby się przyłożyć jedną miarę i powiedzieć: nauka programowania do przyzwoitego poziomu trwa 10 lat. Rzeczywistość tak jednak nie wygląda. W jednej grupie studentów potrafią być różnice w przyswajaniu wiedzy w czasie na poziomie ponad 2000%. Otóż widywałem skuteczniejszych programistów po 1 roku doświadczenia i takich z 10 letnim stażem, którzy wyrzuceni poza strefę komfortu i codziennych zadań byli bezradni. - renderme 2019-12-15 01:03
Co więcej, nikt nie każe tym osobom po kursach aplikować na stanowiska seniorskie, ba! nikt nie każe im nawet się zatrudnić, przecież można zacząć od stażu. Studia są bardzo rozciągnięte w czasie, bardzo ogólne i robione pod stosunkowo mało inteligentne osoby, bo poza selekcją opartą o zaangażowanie, nie ma na większości kierunków prawdziwej selekcji opartej o predyspozycje (tzn. zaangażowany idiota także skończy informatykę). Nie dziwie się, że osoby, które później zdecydowały się na zmianę branży nie chcą tracić 3.5-5 lat na opanowanie tak skromnego zakresu. - renderme 2019-12-15 01:09

Pozostało 580 znaków

2019-12-15 16:21

Rejestracja: 9 miesięcy temu

Ostatnio: 5 miesięcy temu

0

Ciekaw jestem jak doszedłeś do tych 2000%. Równie dobrze można dopisać kilka zer bo będzie się ładniej ta cyferka prezentować.

W każdym zespole jest mała grupa ludzi, którzy stwarzają problemy, spora część przeciętnie uzdolnionych, kilku wyróżniających się i garstak geniuszy. Niczego nowego nie odkryliśmy. Nawet jak osba wybitnie uzdolniona przyswoi w rok to co innym zajmuje lata to i tak o niczym to nie świadczy. Wiedza teoretyczna to wiedza teoretyczna. Nic nie zastąpi realnego doświadczenia które zdobywa się biorąc udział w projektach.

Studia nie są obowiązkowe. Niemniej dają jakieś minimum. Masz pierwszy kontakt z branżą, rozwiązujesz problemy, uczestniczysz w małych projektach, poznajesz ludzi. Oczywiście, jak ktoś dziś chce to da się załatwić wszystko. Zaliczenie z przedmiotu wychodzisz aż prowadzący wpisze trzy i idziesz dalej. Również można poprosić koleżankę czy kolegę o napisanie programu na zaliczenie. Na laboratoriach możesz równiez oddawać gotowce które da się zorganiować z lat poprzednich.

Jak ktoś nie zna biegle angielskiego w mowie i w piśmie, nie umie rozwiązywać problemów, nie umie docierać do informacji, nie umie pracować z ludźm, nie umie zadawać pytań to ani studia, ani szkoła programowania, ani wirtualne byty abstrakcyjne transferujące wiedzę podczas snu za wiele nie dadzą.

Szkoły programowania to raczej wymysł biznesu. Skupiają się na danym języku programowania oraz frameworku, a pomijają wiele istotnych kwestii.

Zaangażowanie jest równie ważne co umiejętności techniczne zwłaszcza przy pracy w trudnych projektach.

edytowany 3x, ostatnio: mealtdown, 2019-12-15 18:40
2000% oszacowalem na podstalwie doswiadczenia ze studentami, ale po namysle zmieniam zdanie i dochlodze do wniosku, ze wlasciwa wartosc to math.infinty 😀. Sa tacy, ktorzy nie musza sie uczyc i korzystajac z dokumentacji, wolniej, ale zrobia zadanie i sa tacy, ktorzy nawet w 50 lat nie sa w stanie ogarnac programowania. Widzialem takich, ktorzy byli zwyczajnie ponizej pewnej granicy zdolnosci percepcji potrzebnej do pracy w duzym projekcie. - renderme 2019-12-16 07:38
Przecież 2000% to raptem 20x. Ktoś czegoś nauczy się w godzinę, ktoś inny w dwadzieścia godzin. Nic niesamowitego. - somekind 2019-12-17 01:49
@somekind: Dokładnie, w jednej firmie, w której pracowałem zatrudniono dwóch absolwentów z jednego roku. Jeden po trzech latach był seniorem, drugi dalej juniorem. Ten drugi chodził się o wszystko pytać tego pierwszego, i przepaść umiejętności między nimi była gigantyczna, a z czasem wciąż rosła. W teorii po tych trzech latach mieli podobne CV, (mgr inż. + 3 lata w zawodzie). W rzeczywistości jeden świetnie sobie radził, a drugi nie potrafił samodzielnie zrobić nic. Ogólnie widziałem sporo "wiecznych juniorów". Lata mijają, a im do głowy nic nie wchodzi. - renderme 2019-12-17 09:49

Pozostało 580 znaków

Odpowiedz

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

Robot: Semrush