Wpis z mikrobloga

Witam Mirki,

Mój pierwszy wpis i od razu prośba o pomoc :)
Do rzeczy: mam silne postanowienie żeby zająć się programowaniem.

Krótko o mnie: mam 25 lat, poszedłem na studia które mnie nie interesowały, ale miały dać "atrakcyjne wynagrodzenie" i "solidną pozycję na rynku pracy". Naiwnie w to wierzyłem i skończyłem w zawodzie, który nie dość, że nie daje mi satysfakcji, jest wyniszczający psychicznie i fizycznie, to jeszcze przy każdej wypłacie czuję się jak bohater "Dnia Świra". Po prawie dwóch przepracowanych tak latach nie mam żadnej motywacji żeby dalej rozwijać się w tym kierunku, nie widzę dla siebie dalszych perspektyw. Nie chcę się stać zgorzkniałym wrakiem człowieka, i dlatego, po długim rozważaniu za i przeciw, chcę coś zmienić w swoim życiu. Z wielu mniejszych i większych powodów stanęło na programowanie.

Jednakże niestety do tej pory nie zajmowałem się tym w ogóle. Null. Zero. Dlatego potrzebna mi jest Wasza pomoc.

Z tego co zdążyłem się zorientować, ludzie bez wykształcenia formalnego nie są jakimś szczególnym ewenementem w IT. Zdaję sobie sprawę, że na obecnym etapie będzie mi ciężko "doścignąć" bardziej doświadczonych programistów (a być może nigdy to nie będzie do osiągnięcia), ale naprawdę jestem zdeterminowany do tego, aby spróbować. Mam jeszcze obecnie możliwość, żeby na rok się zamknąć w domu i żyjąc z oszczędności nauczyć się porządnie jakiegoś języka, który pozwoli mi później wykonywać związany z tym zawód.

Przede wszystkim potrzebuję jednak wskazówek, na co się ukierunkować i od czego zacząć.
- Czy Waszym zdaniem rok nauki opartej wyłącznie o kursy internetowe i książki jest wystarczający, by załapać się na jakąś pracę z perspektywami na, powiedzmy, średnie krajowe wynagrodzenie?
- Czy lepiej próbować załapać się jak najszybciej na jakiś nawet bezpłatny staż, czy przede wszystkim praca własna nad np. jakimś projektem?
- Czy, w moim przypadku i w kontekście ewentualnej pracy, pierwszym językiem powinno być coś prostego i powszechnego jak java, czy wręcz przeciwnie, lepiej znaleźć sobie jakiś język niszowy i od razu uczyć się w tym kierunku?
- Z jakich pozycji najlepiej czerpać wiedzę? (Pracujący w branży znajomy polecił mi na początek "Thinking In Java", chyba jest całkiem niezła, w życiu nie widziałem tylu pozytywnych opinii jakiejkolwiek książki ;)

Wszelkie opinie i wskazówki będą mi bardzo pomocne. Z góry dzięki za przeczytanie tej ściany tekstu i odpowiedzi.
Pozdrawiam Serdecznie!

#programowanie #januszeprogramowania
  • 24
  • Odpowiedz
  • 2
@Cymanonex:
idź w technologie serwerowe, webowe. Teraz to sie na rynku liczy :) JavaEE, Spring, ASP.NET. Mozesz tez zostac frontendowcem i koksic w JavaScripcie, HTMLu i CSSie :P
  • Odpowiedz
@Cymanonex: Jeśli chcesz zacząć zarabiać jakieś 3-4k w najbliższym czasie, to aspiruj na juniora. Łatwo się dostać, większość pracodawców daje darmowe kursy i będziesz robił to co zwykli programiści - dzięki temu zdobędziesz masę doświadczenia.

Jeśli nigdy nie bawiłeś się programowaniem, to pewnie nie wiesz jak wiele różnic jest w każdej dziedzinie. Java, to aplikacje komputerowe/mobilne, to co wymieniał Arveit, to dev sieciowy (aplikacje serwerowe itd.), a to o czym mówił na temat zostania frontendowcem, to już webdev (tworzenie stron internetowych). Ja sam siedze w webdevie i nawięcej mogę Ci na ten temat powiedzieć, zamiast tego po prostu podam Ci na tacy coś, co da Ci bilet wstępu na juniora web devu w ciągu 2-3 miesięcy jeśli zaczniesz już teraz:

Najpierw krótkie słowo wstepu. Backend, to programowanie stron na serwerze. Najpopularniejsze języki, to PHP, Python i Ruby. PHP ma najwięcej ofert pracy, Ruby za to jest najbardziej dochodowe. Python jest czymś pomiędzy. Wszystkie języki dotyczą tego samego, czyli operacji na bazach danych, podstawowej logiki strony, przetwarzania danych od/do użytkownika itd. Wybór języka tutaj ma marginalne znaczenie, bierz co chcesz, poczytaj trochę na ten temat lub rzuć monetą. Poza składnią lepszą czy gorszą każdy z języków ma swoje wady i zalety, od dostępności pracy po zarobki. PHP jest najbardziej popularny i z tego powodu
  • Odpowiedz
@Cymanonex:
1.nie ucz się z ksiązek to błąd. Masz pisać przede wszystkim jakieś programy - nieważne jakie.
2.Tak próbuj załapać się na jakiś staż.
3.Wydaje mi się że łatwiejszy próg wejścia w kontekscie programowania i pracy jest właśnie java - jak znajdziesz w nim prace to możesz uczyć się jakiegoś innego języka.

Ja najpierw pisałem w C++ - napisałem w nim warcaby w konsoli, potem java - android, mały projekt stoper + budzik, potem technologie webowe tylko tutaj podeszłem inaczej 2-3 dni pisania w jakiś tutkach w springu, hibernate itp i od razu usiadłem do własnego projektu - było ciężko ponieważ nawet html nie znałem a co dopiero sql czy hibernate ale za to szybciej uczyłem się technologi na błędach tzn - drobny błąd który teraz jestem w stanie rozwiązać w 30 min potrafił mi zająć
  • Odpowiedz
- Czy Waszym zdaniem rok nauki opartej wyłącznie o kursy internetowe i książki jest wystarczający, by załapać się na jakąś pracę z perspektywami na, powiedzmy, średnie krajowe wynagrodzenie?


Zależy od Twojej przyswajalności wiedzy i miejsca zamieszkania. Rynek jest bardzo chłonny i wiele firm jest w stanie dokładać na początku do pracownika czy inwestować w jego rozwój, aby potem mieć lojalnego pracownika. Mniejsze zespoły wymagają już doświadczenia. Druga sprawa: zależy co dokładnie chcesz robić. W różnych technologiach czy odgałęzieniach IT stawki są bardzo różne.

- Czy lepiej próbować załapać się jak najszybciej na jakiś nawet bezpłatny staż, czy przede wszystkim praca własna nad np. jakimś projektem?

Nie ma uniwersalnej odpowiedzi. Znowu - wszystko zależy od Twoich możliwości. Jednak dla większości dobrze jest zacząć od stażu. Tylko to musi być poważny staż, gdzie możesz zadawać pytania, ktoś doświadczony na nie odpowie, a nawet sam zwróci uwagę jak walniesz jakiegoś byka w kodzie. Staż ma kilka zalet:
  • Odpowiedz
- Czy Waszym zdaniem rok nauki opartej wyłącznie o kursy internetowe i książki jest wystarczający, by załapać się na jakąś pracę z perspektywami na, powiedzmy, średnie krajowe wynagrodzenie?


Zależy od Twojej przyswajalności wiedzy i miejsca zamieszkania. Rynek jest bardzo chłonny i wiele firm jest w stanie dokładać na początku do pracownika czy inwestować w jego rozwój, aby potem mieć lojalnego pracownika. Mniejsze zespoły wymagają już doświadczenia. Druga sprawa: zależy co dokładnie chcesz robić. W różnych technologiach czy odgałęzieniach IT stawki są bardzo różne.

- Czy lepiej próbować załapać się jak najszybciej na jakiś nawet bezpłatny staż, czy przede wszystkim praca własna nad np. jakimś projektem?

Nie ma uniwersalnej odpowiedzi. Znowu - wszystko zależy od Twoich możliwości. Jednak dla większości dobrze jest zacząć od stażu. Tylko to musi być poważny staż, gdzie możesz zadawać pytania, ktoś doświadczony na nie odpowie, a nawet sam zwróci uwagę jak walniesz jakiegoś byka w kodzie. Staż ma kilka zalet:
  • Odpowiedz
Jeszcze jedna uwaga: jestem z webdev, ale zaczynałem od front-endu i uważam, że ta ścieżka jest całkiem sensowna. W takim wypadku łatwiej dogadać się z front-endowcem, a będąc freelancerem można ogarniać całość.
  • Odpowiedz
@Cymanonex: zwierzak40:
Rozwijając odpowiedź zwierzaka na temat stażu - zależy to też od indywidualnego podejścia do sprawy. Staż w webdevie, to głównie pytanie mądrzejszego od siebie. Junior niczym się pod tym względem nie różni, po prostu w przypadku stażu zajmujesz się projektami wewnętrznymi, więcej słuchasz i mniej robisz konkretnej roboty itd. W przypadku juniora jesteś już pracownikiem, więc od razu zarabiasz hajsy. Junior może czasami wrzucać na głęboką wodę, ale
  • Odpowiedz
@zwierzak40: No cóż, miesiąc minął, więc zgodnie z wezwaniem raportuję :)

Jak pisałem, naukę zaczynałem w zasadzie od zera. Niestety, z kilku powodów (m.in. zamykanie spraw w dotychczasowej pracy, wyjazdy etc.) nie poświęcałem na naukę tyle, ile chciałem. Do tej pory udało mi się przerobić na codeacademy cały kurs HTML/CSS oraz niemal cały JavaScript, jestem też w trakcie przerabiania książki Eloquent JavaScript Marijna Haverbeke.

Przygotowuję się powoli do kodowania pierwszych stron. Zainstalowałem sobie w tym celu Microsoft Visual Studio 2015, chociaż na pierwszy rzut oka wydaje się trochę nieintuicyjny i przytłaczający (Dreamweaver jednak jest ciut drogawy, a innych alternatyw nie
  • Odpowiedz
@Cymanonex: Poćwicz chwilę to, co już się nauczyłeś i powoli zajmuj się PHP. Bo i tak bez PHP lub innego języka programowania (chociażby pewnych podstaw), tworzenie stron jest męczące. Sama funkcja include lub require (lub ich odpowiedniki z końcówką _once) pozwalają nie powtarzać w kółko tego samego kodu HTML (np. stopki i nagłówka). Potem proste zapytania SQL pozwalają wyeliminować tworzenie plików dla każdej podstrony. Dlatego liźnij PHP, potem poczytaj chwilę o bazach danych, i ich obsłudze w PHP.

Mając jakieś rozeznanie będziesz mógł się albo w czymś wyspecjalizować (front lub back) lub działać pełnozakresowo.

Jeżeli front - pamiętaj, że HTML i CSS to nie wszystko. Ich znajomość jest warunkiem koniecznym, ale niewystarczającym. bardzo ważne jest wyczucie estetyki. Będziesz pewnie musiał poznać trochę teorii koloru, zasad typografii, kwestii proporcji czy percepcji przez nas tego, co graficzne. Oprócz tego, dobrze śledzić trendy i różne "konkursy" webdesignu. np.
  • Odpowiedz
@zwierzak40: Odświeżam temat :)

Po paru miesiącach nauki zacząłem ogarniać na tyle, że czuję się swobodnie i nie muszę co chwila z każdym problemem zaglądać do dokumentacji / szukać na stackoverflow rozwiązania. Nauczyłem się do tej pory, poza oczywistością typu HTML/CSS/JS również jQuery, Bootstrapa, podstawy designu wraz z gimpem, ogarniam RWD, a ostatnio wziąłem się za Reacta i przy okazji liznąłem te wszystkie narzędzia ułatwiające pracę (tj. npm, gulp i całą masę dodatków typu babelify czy browserify). Zrobiłem do tej trzy projekty stron, w tym można powiedzieć, że jedną komercyjną.

Od paru tygodni rozglądam się za pierwszą pracą, ale zauważyłem, że niestety ofert na front-end na entry level jest w Warszawie jak na lekarstwo, a jeśli już, to większość wymaga minimum rocznego doświadczenia. Nie wziąłem się niestety wcześniej za PHP ani SQL, co chyba było błędem, bo często jest to wymóg konieczny, szczególnie jeśli chodzi o stawianie stron opartych o
  • Odpowiedz
@Cymanonex: Super, cieszę się, że się udało! Fajnie widzieć postęp, bo często osoby po tym jak się dowiedzą, że muszą się czegoś nauczyć i że nie będzie kokosów od dnia następnego - szybko rezygnują.

Dla stanowisk frontendowych wymagane są podstawy podstaw PHP, podobnie z SQL. W każdym razie, tak jak pisałem w poprzednich postach - to powinien być Twój następny krok (lub np. Python czy Ruby). Gdziekolwiek o to nie spytasz, będzie wojna o to, co jest lepsze. Podobnie z Reactem i Angularem.

Co do pracy - rynek dla frontendowców (szczególnie z małym doświadczeniem jest względnie nasycony). Większość firm chętnie przyjmuje byłych freelancerów, którzy pracując na własną rękę musieli sami rozwiązywać każdy problem i jeżeli będziesz miał problem z znalezieniem pracy - zrób kilka/kilkanaście projektów, żebyś miał jakąś kartę przetargową w staraniu się o pracę, a przede wszystkim w negocjowaniu wynagrodzenia
  • Odpowiedz
@Cymanonex: Hello. Mogę Cię polecić na juniora php do mojej agencji w warszawie. Dostaniesz 4500brutto na start, elastyczne godziny, mozliwosc pracy zdalnej i umowa jaką tylko chcesz. Tylko przerób jakiś tutorial symfony albo magento. W pracy dostaniesz jeszcze różne takie zadania, tak więc nie martw się jak wszystkiego jeszcze nie kumasz. W warszawskim biurze są spoko goście, którzy Ci pomogą. Pierwsze projekty dostaniesz raczej grupowe, więc sporo nauczysz się od
  • Odpowiedz
@Cymanonex: Swoją drogą, jeśli chciałbyś pójść akurat w PHP i akurat w Symfony, to możesz się odzywać podczas nauki, gdy nad czymś się zawiesisz. Może coś pomogę.

Rozwijając poprzednią wypowiedź: mówiąc junior php, mówię raczej junior webdev. Tam tylko na papierze jestes php, w praktyce zajmujesz się tym co potrafisz. Ja tam wystartowałem jako frontendowiec, teraz raczej robię wszystko, łącznie z administracją i backendem.
  • Odpowiedz
Minął prawie rok, więc jeśli jeszcze kogoś to zainteresuje - krótkie podsumowanie całej historii :)
Na pierwszą pracę (jako junior front-end) załapałem się w czerwcu, w zasadzie już po trzech rozmowach kwalifikacyjnych w różnych firmach. Na tamtą chwilę znałem dość dobrze HTML+CSS, JS + jQuery, RWD, Bootstrapa i to w zasadzie wystarczyło, chociaż chyba najbardziej decydującym elementem były wcześniej zrobione przeze mnie za grosze strony dla różnych ludzi/firm, które mogłem pokazać przy rekrutacji.

Jak się okazało w praktyce, nazwa stanowiska miała początkowo mało wspólnego z rzeczywistością, bo przez większość czasu musiałem grzebać w back-endzie (PHP + codeigniter oraz MySQL) ze względu na braki kadrowe - podobno większość poprzedniego teamu składającego się z 5 osób została podkupiona przez inną firmę i chcąc nie chcąc przez pierwsze trzy miesiące pracy zajmowałem się - w zasadzie w pojedynkę - utrzymywaniem aplikacji finansowej, cisnąc po godzinach tutoriale z PHP oraz dokumentację frameworka. Nauczyłem się przez ten czas bardzo dużo, nawet #!$%@?ąc od kwestii samej składni języka - myślę bardziej o samej architekturze aplikacji, sprawach bezpieczeństwa, ustawieniach baz danych i serwerów, obsłudze GIT i repo etc.

Stopniowo firma zatrudniała nowych back-endowców, a ja zostałem przesunięty do cięcia i kodowania frontu nowej apki. Pracowałem tutaj co prawda w tym, w czym najlepiej się czułem, lecz uczyłem się bardzo niewielu rzeczy, głównie z tego powodu, że był odgórny wymóg kodowania przy zastosowaniu tylko JS i jQuery - żeby w razie konieczności inne osoby w firmie mogły poprawić kod lub coś do niego dodać. Na minus jest też to, że do tej pory jestem jedynym człowiekiem ukierunkowanym na front w całej firmie, więc w zasadzie nie mam od kogo czerpać wiedzy w tym zakresie. Przez ten czas doszlifowałem JS o takie rzeczy jak AJAX, pracę z różnymi formatami danych typu JSON, XML, liznąłem też OOP. Obecnie front dla apki jest na ukończeniu, a ja od nowego miesiąca mam być przerzucony do kodowania różnych serwisów na zlecenie klientów (podejrzewam że duża część to będą strony oparte na Wordpress).
  • Odpowiedz
@Cymanonex: Ja szukałem pracy w Javie, trafił się php, więc poszedłem i odkąd dostałem robotę robię we front endzie ^^ No ale z symfony też pracowałem. Ogólnie podzielam twój pogląd odnośnie JS, jakoś bardziej mi pasuje niż choćby taki PHP, a od dłuższego czasu pracuję także z nodejs, więc już zupełnie nie korzystam z niczego poza tym. Szybsze i w działaniu i programowaniu, a do tego lekkie i zgrabne.

Fajnie,
spike200 - @Cymanonex: Ja szukałem pracy w Javie, trafił się php, więc poszedłem i od...

źródło: comment_ZORfkODOJtRqUI3IzAOCdvchsXay4JFv.jpg

Pobierz
  • Odpowiedz
@Cymanonex: Fajnie widzieć taki wpis :)
W sumie nie ma tego złego co by na dobre nie wyszło - rzucenie na głęboką wodę czasem jest przydatne, nie pozwala stać w miejscu. Z drugiej strony mogłeś zacząć wykorzystywać złe praktyki, bo tak często kończy się zdobywanie wiedzy na szybko. Polecam szczególnie w tych dziedzinach, w których zamierzasz kontynuować pracę, a uczyłeś się na szybko - kup książkę o tym i usystematyzuj swoją wiedzę. Z czasem złe praktyki wchodzą mocno w krew i stają się złymi nawykami, których ciężko się pozbyć.

Fajnie, że się rozwijasz i próbujesz wielu rzeczy, ale uważaj, żeby nie przesadzić. Mimo, że w większości firm, szczególnie małych, szerokie kompetencje są chętnie przyjmowane, to jednak specjalizacja pozwala przebijać sufit zarobków.

Co do feedbacku - podrzuć nawet na priv raz na jakiś czas swoją pracę, chętnie się podzielę
  • Odpowiedz