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

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

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-03-22 20:35
0
Łukasz Filip Gucma napisał(a):

Według mnie jak masz fajna prace to bez sensu. Konkurencja duza kupa pracy i nauki, nie kazdy ma chec ciężko się uczyć. poza tym przez rok, poltorej jak znajdziesz prace bo ciezko jest zaczac to zarobisz 1-2 tys, potem jak sie powiedzie wiecej. Pytanie czy warto ryzykować ? Jak nie masz nic do stracenia to czemu nie moze sie uda ale jak masz dobrze platna prace to dzisiaj bym nie ryzykował, bo wbrew pozorom nie jest łatwo o prace

A kto jest bardziej dochodowy? Pracownik w kasie czy poczatkujacy w IT? BEdziesz siedział miesiac i napiszesz cos i potem do kosza pojdzie to wiec praca Twoja bedzie warto 0. Tak każdy zaczyna wiec jak ma byc wiecje warta niz pracownika biedronki, który narobi firmie zysku pracujac i kasujac osoby

edytowany 1x, ostatnio: Łukasz Filip Gucma, 2019-03-22 20:36
Pokaż pozostałe 7 komentarzy
ale napisałam, że będę trzymać kciuki - szarotka 2019-03-22 22:14
w sumie to trzymanie kciuków odebrałem jako wincyj soli na rany :( ale ja ogólnie tak już mam że strasznie wszystko komplikuję. - superdurszlak 2019-03-22 22:25
no był w tym sarkazm :D - szarotka 2019-03-22 22:33
widzisz, wiedziałem :D - superdurszlak 2019-03-22 22:41
żenujące... - CzarnaKlacz 2019-03-29 09:43

Pozostało 580 znaków

2019-03-22 20:36
4

@CzarnaKlacz: napisz coś prostego, niech to będzie nawet ten CRUD co go wszyscy tutaj piszą (mi się przez 20 lat zawodowej kariery nie zdarzyło, ale kłócić się nie będę). Przejdź się na kilka rozmów i dowiedz się ile chcą ci zapłacić. Masz wykształcenie zbliżone do oczekiwanego, parę lat pracy w jak by nie patrzeć programowaniu za sobą i z tego co piszesz kręci cię to. Zwyczajnie próbuj. Wg. mnie przy rekrutacji kobiety mają lekki handy-cup przy zatrudnianiu. Nikt za ciebie nie spróbuje takiej pracy a wszystko czym ryzykujesz to poświęcenie czasu na coś co lubisz.

Pozostało 580 znaków

2019-03-22 20:58
0

@Łukasz Filip Gucma:
Stanowisko juniora to często 2 letnie wymagane z frameworkami, szczególnie w przypadku javy. Just sayin.

@CzarnaKlacz
Praca w programowaniu to często odtwórcza rzecz, szczególnie dla ludzi którzy nie są kompetencyjni/ średni. Maintenance w starych technologiach, integrowanie do porzygu CRUDów... IMO jak masz dużą motywacje to może warto, tyle że z moich obserwacji do pisania nowych innowacyjnych projektów biorą tych lepszych. Plus kolega to co powiedział wyżej, jako kobieta możesz się odbić wyżej i zaczepić się czasami. CV też ciekawsze niż bootcamp.


EH PANOWIE CORAZ WIĘCEJ AMATORÓW SIĘ PCHA DO ZABAWY HEHE MAM NADZIEJĘ, ŻE PRZEJDZIE TA NOWELIZACJA USTAWY I PO BUŁKI BĘDZIE MOŻNA CHODZIĆ TYLKO Z LICENCJĄ BO SERIO NIEKTÓRZY NIE MAJĄ ANI DOŚWIADCZENIA ANI WYOBRAŹNI I NA PRZYKŁAD UPUSZCZĄ BUŁKĘ NA PODŁOGĘ

hehe pamiętacie obwarzan75 rogalking jak byliśmy w ’99 na zlocie pieczywa tostowego w Siedlcach? XD Co tam się działo to głowa mała!!! Całe życie z wariatami XDDD KTO MA WIEDZIEĆ TEN WIE XD
edytowany 1x, ostatnio: BluzaWczolg, 2019-03-22 21:06

Pozostało 580 znaków

2019-03-22 21:22
0

Proszę nie zrozumcie mnie źle. Mnie pieniądze nie interesują najbardziej.
Jednak trochę przerażają mnie firmy które dają 1-2k na start... bo to świadczy o tym że nie chcą inwestować w osoby, żeby z nimi zostawały na dłużej. Taki juniorek po roku pracy zaraz skoczy gdzieś gdzie mu zaoferują co najmniej 2x tyle, a skoro firma tak na początku oszczędza to wątpię żeby nagle wyskakiwała z kasy jak pojawi się perspektywa odejścia jednego z juniorów.
No ale nie tylko branża IT tak ma. Pamiętam swoją pierwszą pracę automatyka... 1300 zł na zleceniu, a dziewczynka z administracji dostawała więcej za wysyłanie listów na poczcie. Ja tym czasem też nie byłam bezużyteczna... tłumaczyłam dokumentacje, przygotowywałam produkt na szkolenia, lutowałam, robiłam testy urządzeń, a oprócz tego pracowałam nad projektem robota jeżdżącego, zdalnie sterowanego z telefonu na zaliczenie przedmiotu z robotyki i po nocach nie spałam.
Nie urwałam się z choinki i nie wyobrażam sobie nie wiadomo czego... ale z drugiej strony nie uważam żebym musiała przechodzić na 1-2k jeśli nie muszę.
Pytam, czy perspektywa zmiany branży w moim przypadku jest realna? Czy mam szansę będąc prawie 30-letnią, kobietą wśród młodych i ambitnych absolwentów...
Nie pytam o zarobki, już bardziej interesuje mnie jak wygląda na początku taka praca...

niby 30letnia a teksty jak u 85 letniej juniorek,dziewczynka.... - Miang 2019-03-22 21:33
Pracuję od 7 miesięcy jako programista backend. Obecnie idę w kierunku full stack. Wiek 43. Kasa 5K. Od startu trafiłem do projektu w nowych technologiach: Java 8-11, SpringBoot 2. Obecnie doszkalam się z React i najnowszej wersji JS. Przed zmianą zawodu siedziałem przed komputerem przez 18 miesięcy po 16 godzin i za..... (nie jestem absolwentem żadnego bootcampu). Po pracy większość swojego wolnego czasu poświęcam dalszej nauce a nie narzekaniu.... P.S. Mam rodzinę i jakoś daję radę. Powiem więcej. Mimo zapierdz... nigdy w życiu nie miałem takiej frajdy z pracy jak teraz. - R3id4k 2019-03-23 10:07

Pozostało 580 znaków

2019-03-22 21:33
0
CzarnaKlacz napisał(a):

Czy mam szansę będąc prawie 30-letnią, kobietą wśród młodych i ambitnych absolwentów...

No babciu, w Twoim przypadku i Twoim wieku, to już tylko wziąć łopatę i już se zacząć grób kopać xD

Jakby 30 lat to jakoś dużo było... Są ludzie co dopiero po studiach zaczynają pracę w IT, więc mają ~25 lat, więc nie masz jakiejś wielkiej różnicy. No i skoro pracujesz jednak w technicznym zawodzie i jesteś po tym AiR, to jednak zielona całkowicie nie jesteś. Jak źle nie trafisz to na start te 2k dostaniesz na rękę spokojnie. A potem już wszystko będzie zależeć od Ciebie.

edytowany 1x, ostatnio: serek, 2019-03-22 21:35
2k dostane :-) tyle kosztuje mnie dach nad glowa z rachunkami. Teraz mam 4,5 i nikt mnie nie wyrzuca. Moge cierpliwie poczekać, albo jednak potraktować to hobbistycznie skoro to tak niewdzieczny zawod. - CzarnaKlacz 2019-03-23 08:35

Pozostało 580 znaków

2019-03-22 22:30
0
CzarnaKlacz napisał(a):

Zawodowo programowałam... ale sterowniki do maszyn.
Obecnie pracuję jako inżynier wsparcia technicznego, i głównie prowadzę szkolenia z zakresu obsługi środowiska do programowania maszyn.
Nie zarabiam źle.
Jednak chciałabym się przebranżowić.
Brakuje mi w mojej pracy "tworzenia"...najprościej rzecz ujmując, ale oczywiście nie tylko to skłania mnie do zmiany branży.

Jeśli brakuje Ci w Twojej pracy "tworzenia", to mam wątpliwości czy obrałaś dobry kierunek :P

Jasne, w programowaniu zawsze się coś tworzy - w każdym razie dopóki jest się w projekcie w którym faktycznie coś się robi, a nie szpachluje dziury w rdzewiejącym kadłubie - ale nie powiedziałbym, żeby to było jakieś super twórcze. Znaczy ok, dopóki to jest coś nowego to nawet może ciekawić bo jest fajne i intrygujące samo w sobie, powiew świeżości i w ogóle, ale jak nie trafisz w projekt, w którym robi się coś nietrywialnego... no to w końcu zaczyna brakować wyzwań.

Podejmuję pierwsze kroki i poświęcam wolny czas na naukę Javy oraz SQLa.

Skoro masz doświadczenie w programowaniu sterowników itp, to nie myślałaś o branży embedded? Nie orientuję się w tej działce ale podejrzewam, że tego typu doświadczenie byłoby pewnie na plus.


Prosząc o pomoc w wiadomości prywatnej odbierasz sobie szansę na otrzymanie pomocy od kogoś bardziej kompetentnego :)

Pozostało 580 znaków

2019-03-23 08:37
3

Ja mysle, ze to gadanie, ze jest tak zle, to samospelniajaca przepowiednia. Autorka postu szukalaby pewnie pierwszej pracy za 4, 5k, a poczyta takie rzeczy na forum i oczekiwania spadna do 2.5. W skali jednoskowej to bez znaczenia, ale w wiekszej skali to psuje rynek. Po co tak dolowac? Po co liczyc kompetencje w latach? Znam wymiataczy po 3 latach doswiadczenia i takich, ktorzy pracuja 30 i robia syf. Przeciez ludzie nie sa rowni, maja rozne iq, to fakt statystyczny. Zatrudnianie kogos w it za 1-2 k to kompletna glupota. My nie wykladamy marchewki na polkach, tylko robimy projekty warte miliony, w ktorych bledy oznaczaja miliowe straty. Po co w zespole profesjonalistów ktos za 1-2 k? To jest jakas patologia, z ktora ja na szczescie nigdy sie w branzy nie spotkalem i u nas junior musi miec leb i na start 4.5.

edytowany 1x, ostatnio: renderme, 2019-03-23 08:38

Pozostało 580 znaków

2019-03-23 08:51
1

2k na rękę... w sumie to jest ok. Bo mam dwie ręce :-D

Pozostało 580 znaków

2019-03-23 09:14
0

Jakie 1-2 k netto... Przecież w Polsce minimalna to bodajże 1700 na ręke. O czym wy mówicie? W automatyce/programowaniu aż tak źle gdzieniegdzie? Nie mówmy tutaj o studentach na stażu bo to zupełnie inna praca.


EH PANOWIE CORAZ WIĘCEJ AMATORÓW SIĘ PCHA DO ZABAWY HEHE MAM NADZIEJĘ, ŻE PRZEJDZIE TA NOWELIZACJA USTAWY I PO BUŁKI BĘDZIE MOŻNA CHODZIĆ TYLKO Z LICENCJĄ BO SERIO NIEKTÓRZY NIE MAJĄ ANI DOŚWIADCZENIA ANI WYOBRAŹNI I NA PRZYKŁAD UPUSZCZĄ BUŁKĘ NA PODŁOGĘ

hehe pamiętacie obwarzan75 rogalking jak byliśmy w ’99 na zlocie pieczywa tostowego w Siedlcach? XD Co tam się działo to głowa mała!!! Całe życie z wariatami XDDD KTO MA WIEDZIEĆ TEN WIE XD
edytowany 1x, ostatnio: BluzaWczolg, 2019-03-23 09:18

Pozostało 580 znaków

2019-03-23 09:31
1

0k, 1k, 2k == praca za darmol

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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

Robot: Trendiction (9x)