JavaDevMatt.pl – Mateusz Kupilas

Programista, przedsiębiorca, gamedev, bloger.

Za stary na programowanie? Zmiana branży?

tl;dr

Nie jesteś za stary. Jednak wraz z wiekiem i większą ilością obowiązków jest trudniej zacząć.

too_oldOd dłuższego czasu chciałem poruszyć ten temat. Coraz częściej słyszę te pytanie… i to od 20-to paro latków.

Nie wiem skąd to się bierze: naoglądali się filmów o powstaniu Facebooka i istnieje jakieś przekonanie, że jeśli od przedszkola nie programowałeś, to już jest za późno i nigdy nie będziesz w stanie konkurować z innymi.

Co za bzdury!

Zacznijmy od tego…

…że programowanie to praca jak każda inna. Nie ma tu żadnej elitarności, nie jest lepiej płatna od innych zawodów, w których trzeba coś potrafić. Jeśli jesteś dobrym doradcą podatkowym: dobrze zarabiasz. Jeśli jesteś świetnym grafikiem: dobrze zarabiasz. Jeśli dobrze grasz w pokera (w normalnie działającym kraju, w którym jest to legalne): dobrze zarabiasz. To samo dotyczy programisty i większości innych zawodów, w których trzeba się rozwijać.

Większość programistów, to po prostu rzemieślnicy. Też taki jestem. Niczym się nie wyróżniam: ciągle mam wrażenie, że większość kolegów z biura, jest dużo lepszych niż ja. I tak ma być: gdy jesteś najbardziej doświadczony w zespole, to najwyższy czas zmienić pracę.

Powyższy opis może trochę nie do końca dotyczy Polski (możliwość pracy zdalnej jednak zmienia sytuację, przez co miejscowy pracodawca musi podnieść stawkę), raczej mówię tutaj o świecie zachodnim, ale to temat na inną okazję. Ważne jest to, by zapamiętać, że jest istnieje zbiór umiejętności, który każdy może opanować i zmienić branżę, jeśli tylko jest gotowy trochę nad sobą popracować.

Zmiana branży?

Przechodziłem przez to. Przez 3 lata zajmowałem się marketingiem internetowym, pozycjonowaniem stron. Znałem trochę podstaw php/mysql-a/html-a i css-a, potrafiłem zainstalować na serwerze CMS-a, ale są to rzeczy, które można opanować po paru dniach szkolenia.

Po tych trzech latach postanowiłem, że chciałbym spróbować programowania.

Mniej więcej tak to wyglądało:

  • Nauczyłem się obiektowości w programowaniu („nauczyłem”, opanowałem podstawy po prostu). Przez około miesiąc uczyłem się w domu Javy. Więcej na temat tego, jak polecam się uczyć programowania jest w tym filmiku.
  • Poszedłem na darmowe praktyki. Media strasznie demonizują darmowe praktyki… wykorzystywanie pracownika, praca za darmo. Może są takie miejsca, ale jeśli sobie takie wybrałeś, to sam sobie jesteś winny. Moje podejście było takie: kursy programowania są drogie – to raczej ja powinienem płacić firmie za to, że zabieram czas ich programistom i mogę się czegoś nauczyć. A tu takie coś jest dostępne za darmo. Nic tylko korzystać. Po dwóch miesiącach praktyk (chodziłem 40h tygodniowo, chciałem się możliwie najwięcej nauczyć), zostałem zatrudniony.
  • Pracuję jako programista. Jestem najgorszy w zespole, wszyscy wokół są X razy lepsi, ale co z tego? Zamiast marnować się pół roku w domu, aż będzie się „wystarczająco dobry”, mam możliwość pracować z dużo bardziej doświadczonymi kolegami. Prawda jest taka, że wiele firm IT płaci Ci za to, że się uczysz.

Płacą za to, że się uczysz?

Tak. Istnieje tak duża ilość technologii, że nie jest możliwe „z marszu” podejść do większości projektów. Dlatego firmy często zatrudniają osoby, które wykazują potencjał do nauki.

Bardzo ważne, by podczas rozmowy być szczerym: nauczyłem się sam podstaw, szukam firmy, w której mógłbym się rozwinąć w jakimś kierunku. Bardzo fajnie jest to ujęte w tym filmie. Parę razy jest wspomniane o „getting paid to learn”.

Trzeba znać angielski?

Tak. Dużo łatwiej jest nauczyć się programowania, niż języka obcego. Bez angielskiego nie podchodziłbym do branży. 99% materiałów, z którymi będziesz pracować jest w tym języku.

Szkoła/studia?

To chyba największa bolączka… nic mnie tak nie zniechęcało do programowania, jak sposób w jaki jest to uczone w szkole, czy na studiach. Miałem wrażenie, że jest po prostu kolejna lekcja matematyki/statystyki/fizyki, zamiast tego, czym zajmuje się programista: rozwiązywanie realnych problemów. Nie mówię, że wszystkie uczelnie/szkoły są kiepskie. To po prostu moje doświadczenia. Wszystkiego czego się nauczyłem, nauczyłem się sam lub w pracy.

…wracając do tematu wieku.

Problemem nie jest to, że mamy 20, 30, czy 50 lat. Problemem jest brak czasu. By nauczyć się programowania i pracować w tym zawodzie, należy poświęcić sporo czasu na naukę. Pogrzebać przy paru projektach, popełnić setki błędów: z czasem się każdy nauczy.

noideaUstaw sobie realny cel. Ile faktycznie jesteś w stanie poświęcić na zmianę branży? W moim przypadku sytuacja była komfortowa: mieszkałem wtedy jeszcze z rodzicami, miałem zapas gotówki. Poświęciłem cały miesiąc na naukę w domu, następnie kolejne dwa miesiące na „pełny etat” darmowych praktyk w firmie programistycznej. Firma przyjęła mnie za chęci: pierwszy rok jako programista byłem jak ten pies z mema.

Dwa lata później pracuję w start-upie, którego aplikacja znalazła się wśród najlepszych aplikacji mobilnych roku 2013.

Jaki jest realny plan? Jeśli nie masz takich warunków, jakie ja wtedy miałem, to postaraj się stworzyć jedną/dwie dobre aplikacje jako portfolio. Niech będzie to projekt poboczny, przy którym będziesz grzebał rok „po godzinach”. Mając jakiś fajny, własny projekt w portfolio wyglądasz lepiej podczas rekrutacji, niż 90% pozostałych kandydatów.

Jeśli nie wiesz czego się uczyć, to skontaktuj się z paroma firmami w okolicy: przedstaw swoją sytuację. Potrafię to i to, chciałbym się rozwinąć jako programista. Jestem przekonany, że gdy napiszesz do paru firm, to dostaniesz jakieś odpowiedzi – jednak rekrutacja trwa. Następnie zrób jakiś swój projekt poboczny związany z technologami, o których Ci wspomnieli – realnie oceniłbym to na pół roku, gdy pracujesz już gdzieś na etacie i nie możesz niestety poświęcić całego dnia na to. Z takim projektem odezwij się potem do tej firmy „hej, pół roku temu pytałem Was o kierunek, w którym radzilibyście się rozwijać. Zrobiłem taki projekt <link do githuba> – byłbym chętny się u Was rozwijać, priorytetem dla mnie jest nauka.”.

Do tematu niedługo wrócę… już za tydzień. 🙂 Napiszę coś o największych błędach w nauce programowania.

Have fun.

Matt


27 thoughts on “Za stary na programowanie? Zmiana branży?

  • Na wykopie już 82 komentarze, i ponad 200 „plusików”, a tu zero aktywności.

    Doskonały wpis, biłem brawo czytając! 😉 Dokładnie tak to widzę i fascynuje mnie, że wszyscy godzą się na niekiedy mierną jakość nauki w szkole, często za kasę, a potem staż to >3k być musi, bo za darmo nie będzie, chociaż umie w sumie nic.
    Mnie udało się wystartować ileś tam lat temu za 2/3 minimalnej krajowej, ale sam się musiałem uczyć. Narzekałem, a po pół roku wyszło, że mogę i sporo więcej zarobić i umiem w końcu tyle ile zarabiam i jeszcze mam czas dłubać inne projekty w tym czasie. I dalej się uczyć 🙂

    SeoBranżunia pozdrawia 🙂

  • Jarek pisze:

    Takie materiału szukałem! Serio! Wczoraj o tym gadałem z kumplem, że nie mam specjalizacji i że szukam kalendarza na moje potrzeby, a takiego nie ma. Cóż… czy nie lepiej samemu sobie go zrobić w takim razie? Dzięki wielkie za tekst!

  • brepair pisze:

    możesz rozwinąć temat dlaczego zapomniales juz o seo

  • nero pisze:

    Tym wpisem pokazałeś „profesjonalizm”. Brak znajomości tematu i nauka języka java w miesiąc. Normalnie experience lvl 99. „Miałem wrażenie, że jest po prostu kolejna lekcja matematyki/statystyki/fizyki, zamiast tego, czym zajmuje się programista: rozwiązywanie realnych problemów.” Po samym tym zdaniu można wywnioskować, że autor „klepie kod”, a nie programuje.
    Pozdr

    • admin pisze:

      @nero
      Przecież nigdzie się nie prezentuję jako ekspert. Jestem zwykłym początkującym klepaczem kodu. Rok wesoło klepałem, później zrobiłem pierwszy Oraclowy certygikat SCJP i dalej się uczę. Powoli do przodu. 🙂 Do profesjonalizmu jeszcze parę lat brakuje.

  • DomeloS pisze:

    Dlaczego pojawia się to pytanie jest proste.

    Praca jako programisty nie jest aż taka trudna do nauczenia i taka elitarna. Jednak aby być developerem i tworzyć projekty aplikacji, wraz ze specyfikacją nad postawie opisu potrzeb klienta, w taki sposób, aby programista według dobrej specyfikacji w łatwy sposób mógł to napisać to zupełnie co innego :). A ludzie pytają czy nie są za starzy bo mylą programiste z developerem.

    • Kurt pisze:

      Nie zgodzę się. Każdy developer jest programistą ale nie każdy programista jest develperem. Poza tym trzeba też rozróżnić choćby takie podstawy jak frontend/backend i coding/programming. Kodowanie to tzw. klepanie a programista poiwnien (musi?) znać choćby podstawowe algorytmy. Developer zaś to taki starszy programista, który na projektach obył się z terminologią projektową całym SDLC i inżynierią wymagań – ale to jakby nie do końca należy do fachu programisty/developera. Inna definicja (z którą nie do końca się zgadzam) jest taka że developer bardziej coś rozwija – jakby developer nie mógł tworzyć czegoś od zera. Rozwija, wspiera rozwój tworzonej aplikacji i integruje np. systemy zewnętrzne. Generalnie granica jest płynna i moim zdaniem lepiej nazywać developerem kogoś kto jest doświadczonym programistą i tyle. Odróżnić zaś od programisty/developera kogoś kogo nazywamy koderem/klepaczem.
      Ps. Chciałbym też pokazać alternatywną drogę do developmentu poprzez stanowiska analityczne i testerskie – jak ktoś nie ma czasu i pieniędzy musi pracować to wydaje mi się że może próbować wbić się na jakieś stanowiska typu junior tester/junior analyst etc.

      Pozdrawiam szukających swej drogi!

  • Rosomak pisze:

    Bardzo fajny artykuł – motywujący 🙂
    Ja myślę, że z tym wiekiem to jest na tej zasadzie, że dzieciaki generalnie dużo rzeczy szybciej i łatwiej chwytają. Mój znajomy porównał kiedyś programowanie do nauki języka obcego i chyba coś w tym jest. Ja doświadczenia raczej zbytnio nie mam, przez brak czasu właśnie głównie ;/ Żeby było śmieszniej, to z programowaniem mam chyba największą styczność, bawiąc się z bratankiem przy Baltie. Młodego rodzice zapisali na zajęcia z programowania (w Inteligentnej Planecie na Wilanowie akurat) i tam z tego korzystają. I znowu się sprowadza do tego wieku! 😉 Mimo wszystko mam nadzieję, że jeszcze kiedyś będę miał okazję zrealizować w praktyce Twoje wskazówki 😉

    • Kaczus pisze:

      Myślę, że autor troszkę uprościł… W miesiąc-trzy nie da nauczyć się programować, można poznać, czym to się je, ale tak na prawdę programować będziemy dopiero po kilku latach… Programowanie ma jednak tą zaletę (w przeciwieństwie do wielu innych dyscyplin), że możemy rzeczywiście uczyć się tego w domu. Podstawowy koszt, to przede wszystkim czas. A jakiś czas temu napisałem artykuł dla tych co zastanawiają się, czy zacząć programować o tym w jaki sposób zacząć.

      • Kurt pisze:

        Proponuję/polecam wszystkim śpieszącym się którzy szukają małego języka w którym jednocześnie można spokojnie coś tworzyć (zgodny z jvm więc web apki można pisać) to Scheme. Jedna małą ksiązeczke przeczytać (ja osobiście polecam 'The little schemer’-Friedman Felleisen 4th ed. (ja w każdym razie mam właśnie tą). Jeśli ktoś preferuje bardziej typowy podręcznik to np.’Simply scheme-Introducing computer science’ by MIT(!) – z tej książki (sporo grubszej dowiecie się również nt. struktury programów i generalnie computer science. Dlaczego polecam Scheme (który należy do języków funkcyjnych z rodziny LISP) a nie typowy imperatywny język typu Java czy jakiś skryptowy typu Python? Ponieważ trendy są takie że języki funkcyjne wypierają i coraz bardziej przydają się w świecie gdzie mamy coraz więcej zaawansowanych mechanizmów transformacji danych. Przyszłość to języki bardziej deklaratywne i bardziej funkcyjne (ale nadal obiektowe) jak np. Scala. Tyle że Scala jako pierwszy język jest raczej trudna (choć w Lund w Szwecji w tym roku wejdzie on jako pierwszy język od którego zaczną uczyć studentów programowania!)- więc. . wybór należy do Was!;) Ale się rozpisałem – może ktoś skorzysta!:)

  • Bardzo ciekawy artykuł … szkoda że zauważyłem go dość późno wpisując hasło w Youtube -> „programowanie”.

    30,40,50 he he, a co myślicie o 65 latku z zapałem , umiejętnościami i doświadczeniem. Mimo że całkiem niedawno na liczącym się portalu programistycznym, napisana przeze mnie klasa zajęła 2 miejsce w konkursie miesiąca, mimo że ciągle coś ćwiczę, piszę ,uczę się i doskonalę umiejętności to gdy chciałem dorobić nieco zdalnie i zdawałem bez problemów wstępne zadania przy zatrudnieniu to rozmowa trwała tylko do momentu gdy przyszły pracodawca dowiadywał się o wieku. Dobrze że już blisko (dzięki politykom o rok dłużej) zasłużona emerytura bo mimo umiejętności no i zasług o mało bym skończył u komornika. Nawet dziś gdy sprawa zatrudnienia nie jest aż tak pilna to chętnie pochodziłbym na takie darmowe staże. Myślę że nie tylko ja bym na tym skorzystał. Martwi tylko że mieszkam na odludziu i staż mógłbym odbywać jedynie z Maciejową ale Maciejowa tez rozgląda się za młodszymi :-). No i klops, ale dla potomnych, pamiętajcie proszę umysł starzeje się duuuużo wolniej niż nasze ciało (chyba że jestem wyjątek lub dlatego że ciągle go intensywnie używam).

    pozdrawiam wszystkich chcacych 🙂
    AK

    • buzz pisze:

      freelancer.pl spróbój, tam nie będą patrzeć na wiek a tak w ogóle to jest dyskryminacja i tak nie wolno

    • Matka pisze:

      Myślenie pracodawców jest bez sensu, przecież wiek też może być atutem, lepiej rozumiesz potrzeby osób w podobnym dla siebie wieku niż taki 20 latek.

  • Mariusz pisze:

    Cześć!
    Bardzo zainteresował mnie ten artykuł, a zwłaszcza fragment, w którym mówisz o tym, aby napisać do okolicznych firm w celu podpowiedzi co do wyboru ścieżki zawodowej. Chciałbym takie coś zrobić. I tu moje pytanie. Sam tak robiłeś ? Bo właśnie nie wiem co takie firmy mogą pomyśleć… Z jednej strony mogą wyrazić aprobatę i rzeczywiście pomóc, a z drugiej mogą mnie olać, a jak się złoży, że będę do nich składał do nich aplikacje jakiś czas później to mnie zapamiętają i już będę na straconej pozycji. Czy moje obawy są bezpodstawne ? Pozdrawiam 🙂

  • romantyk pisze:

    pobożne życzenia. Od trzydziestu lat jestem programistą – bo to lubiłem. Pracowałem i pracuję w dużych i średnich firmach softwarowych oraz bankach w działach IT.
    Wszędzie potrzebni są TYLKO klepacze!
    Na tzw rozmowach kwalifikacyjnych gówniarze (po SGGW AR, technikach rolniczych, itp) zadają głupie tricky pytania ściągnięte z sieci. Ja odwracam sytuację i mówiąc że to ja wybieram z kim będę pracował pytam np. o wady wzorca Builder albo o różnice między wzorcami builder, abstract factory i factory method.
    Reakcją na to są wybałuszone oczy, potem agresja i nawet rzucanie kur..mi. Nikogo w PL nie interesuje jakość kodu; ma być byle jak aby szybko – co oczywiście że jest w sumie wolno i fatalnie(epuap, csioz, etc). Dobrą pracę można dostać tylko po znajomości.

    • Dan pisze:

      30 lat w programowaniu ? Zbliżam się do 40 i czuję że programowanie mnie przestaje bawić. Robiłem to od podstawówki a teraz nie mogę na to patrzeć. Co robić ?

      • Mateusz pisze:

        Heh, każdy ma swoje poletko i po pewnym czasie, zamiast ziemniaków, zachce mu się kukurydzy 🙂 Ja z kolei zbliżam się do 40 i robota w szkole przestała mnie bawić. Zacząłem klepać kody i to mnie wciąga… Tylko właśnie ten czas, rodzina, kredyty. Kobita nie chce słuchać, że rzucę robotę, a za kilka lat zarobię 5x tyle… CO robić? 🙂

        • Waldek pisze:

          Hej, też tam mam, 40 na horyzoncie, a ja bym coś zadziałał w programowaniu 🙂 3maj się i powodzenia!

        • 3plecaki pisze:

          wiek nie ma znaczenia! nie ma czegoś ze za stary. życie jest tylko jedno . jeśli chcemy czegoś spróbować – działajmy – rozsądnie ale do przodu.

          życie to one way ticket jak nie teraz to kiedy?

  • AdamowiczD pisze:

    Wszystko jest kwestią umiejętności logicznego myślenia. Ja mam 26 lat, u siebie na roku specjalizacja Aplikacje INternetowe miałem kolegę, facet pod 50, zdecydował się na informatykę i radził sobie całkiem ok w porównaniu do reszty grupy. Na pewno nie odbiegał od nas umiejętnościami. Pokazywał mi swoje materiały szkoleniowe javy z eduweb.pl, także studiował, pracował, jeszcze się kształcił we własnym zakresie. Teraz z nim kontaktu nie mam, ale przy obronie mówił że właśnie dostał propozycję pracy dla jakiejś warszawskiej firmy jako programista właśnie. Wszystko jest kwestią włożonej pracy.

  • Marcin pisze:

    Piszesz o bezpłatnych praktykach, ale czy istnieją takie praktyki dla ludzi po 30 roku życia? Bo z tego co się orientuje to praktyki można odbyć tylko do 30 roku życia. Istnieje coś takiego jak wolontariat, ale czy to jest równoznaczne z praktykami i czy w tej branży można coś takiego znaleźć, tego nie wiem.

  • […] Za stary na programowanie? Zmiana branży? […]

  • Krzysiek pisze:

    Mam 25 lat i roczne doświadczenie we wsparciu użytkowników(helpdesk). Patrząc na moich kolegów programistów z którymi studiowałem, coraz częściej przekonuje się że chyba wybrałem zły kierunek – realia pracy na helpdesku :). Od czego warto zacząć aby kierunkować się w programowanie ?

  • WS pisze:

    Witam ja przekroczylem wlasnie 40tke.
    Przez ponad 15 lat pracowalem jako inżynier dźwięku i chciałbym osiąść w jednym miejscu. Myślę o programowaniu jako przyszle zajęcie mize w mojej branży ale tym razem nie jako użytkownik a jako „twórca” pluginów i aplikacji do produkcji dzwięku. Czy wie ktoś w jakim kodzie pisze sie takie aplikacje?

  • Piter pisze:

    To jest taka dziedzina nauki którą uczy się człowiek całe życie. A to że biznesmeni wykorzystują tych ludzi którzy płacili za to by zdobyć zawód i płacić im 3tys to jest kradzież cennego czasu. Potem oni się dziwią że programiści uciekają za granicę. Oczywiście i będą uciekać nie są głupi. Ja mam zupełnie inne podejście do tego tematu. Uważam że nakręcanie człowieka do tego że mu płacicie za to ze się uczy to czysty wyzysk. Ponieważ wy macie z tego profity i rozwój produktów które potem sprzedajecie za grube pieniądze – czysty biznes. Więc nie wciskajcie ludziom kitu, freelancerzy znają swoją wartość i niektórzy nie dadzą się wkręcić w waszą manipulację.

  • Człowiek nigdy nie jest za stary na programowanie. To można zacząć zawsze. najważniejsza jest wytrwałość, regularna praca i nie poddawanie się 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *