Samodzielna nauka i ścieżka kariery. Języki, a zarobki. Wymagany czas.

0

O mnie:
Uczę się aktualnie samodzielnie z Harvard'skiego kursu CS50x, omawiany materiał: C, PHP, JavaScript, SQL, CSS, HTML. Dodatkowo przerobię całą książkę polecaną w tym kursie omawiającą język C - Programming in C, Kochan. Mam wieloletnie doświadczenie z najróżniejszymi rzeczami dotyczącymi Linuksa, w niewyczerpującym stopniu, ale też nie małym. Mam sporo teoretycznej wiedzy na temat najróżniejszych dziedzin IT pochodzącej z czytania od lat. Lubię dobry kod, stabilność usług, porządek, jestem najprawdopodobniej osobą, która pisałaby niezłe dokumentacje i porządny kod, ale jestem w stanie też odwalać rzeczy by było szybko. Nie lubię "hipsterskich" technologii czy rozwiązań, tj. bugów, nightly w produkcji, coraz to nowych języków i technologii (patrz, aplikacje mobilne, nowoczesne strony internetowe, wszystko co robi wielka trójka komputerowa). Nie lubię pracy służącej tylko jednemu podmiotowi (mi, określonej organizacji lub grupie osób), lubię gdy rzecz prawdziwie służy ludzkości. Jestem zwolennikiem wolnego oprogramowania.Mam mnóstwo pomysłów na swoje projekty czy doskonalenie innych, często duże. Wykształcenie podstawowe. Płynny angielski i dobra znajomość innych języków. Uczę się szybko i potrafię się zdyscyplinować. Bogate zainteresowania sięgające niemalże każdej dziedziny, trochę wiedzy o każdej z nich. Podałem preferencje głównie pod kątem wyobrażenia sobie mojej "wymarzonej" pracy. To, że nie lubię dzisiejszego stylu IT nie znaczy np., że nie chciałbym uczyć się Javy i tworzyć na Androida. Zalecam trochę dystansu.

Ścieżka 1:
Czego i jak uczyć, kiedy i jak szukać dochodu, jeśli chcę szybko osiągnąć przychód pozwalający na opłacenie skromnego mieszkania i wyżywienia plus niewielkiej ilości dodatkowych wydatków (jestem oszczędny). Ile mi to zajmie. Tutaj liczy się przede wszystkim jak najkrótszy czas do zarobku, ale takiego zarobku, który pozwalałby mi uczyć się swobodnie innych rzeczy obok i jeszcze pozwalać na odpoczynek (nie w postaci leżenia bezczynnie, nie chcę być po niej wykończony), to najlepiej powinna być albo praca o małym wymiarze godzinowym, albo (znacznie gorzej) taka, gdzie się człowiek obija i ma czas się uczyć, ewentualnie normalna praca.

Ścieżka 2:
Czego i jak uczyć, kiedy i jak szukać dochodu, jeśli chcę "wymarzonej pracy", czyli dobrze płatnej, najlepiej zdalnej, ale może też być normalna w dobrych warunkach, tak bym miał czas na inne zajęcia i nie był nią wykończony. Sens pracy też jest istotny. Ile mi to zajmie.

Jeśli ktoś ma ochotę się skontaktować, mój identyfikator ricochet.im: ricochet:awflpxm2jlsywffw

0

Jestem trochę rozdarty pomiędzy: czy jest to trolling czy na serio?

Pytasz czego się uczyć (czyli nic niesprecyzowane)? A no tego, czego wymagają pracodawcy na juniora/staż. Przykładowy link. Wybierz coś sobie i dąż do nauczenia się tego.
Praca

Pytasz, ile zajmie to czasu... w tym momencie nie mam ze sobą kryształowej kuli, i sądzę, że większość osób na forum też ze sobą nie nosi. Zająć może 3 miesiące, pół roku, rok, dwa lata, albo nigdy się nie ziści, bo nie doprowadzisz tego do realizacji. Kto to wie, poza tobą.
Rzucę już wyświechtanym frazesem, że na forum naprawdę jest mnóstwo tematów odnośnie czego się uczyć/ zmiana kariery/ przebranżowanie/ technologie, czego wysyp można zaobserwować w ostatnim tygodniu w dziale Kariera . I nie, nie najeżdżam na ciebie, tylko, że w tych twoich pytaniach jest naprawdę zero konkretów. Ucz się programowania, to pewnie byłaby najczęstsza ( i najprawdziwsza) odpowiedź.
Pozdro.

PS. Jeszcze jakiś anonymous messenger? ricochet.im? Co to w ogóle ma być? Scam? Bo raczej napisane po polsku.

0

Nie lubię "hipsterskich" technologii czy rozwiązań, tj. bugów

nikt nie lubi bugów, jednak debugowanie i naprawianie bugów to normalna część developerki. I nie ma to nic wspólnego z hipsteryzmem.

Uczę się aktualnie samodzielnie z Harvard'skiego kursu CS50x, omawiany materiał: C, PHP, JavaScript, SQL, CSS, HTML. Dodatkowo przerobię całą książkę polecaną w tym kursie omawiającą język C - Programming in C, Kochan.

Jeśli chodzi o webówkę, to nikogo nie obchodzi czego "się uczysz", tylko co umiesz, jakiego rodzaju aplikacje już stworzyłeś, czym możesz się pochwalić (słowem zamiast przerabiać w nieskończoność jakieś kursy, materiały, książki, lepiej po krótkim wprowadzeniu tworzyć już jakieś konkretne projekty - czy to komercyjne, czy hobbystyczne, bo tutaj się zbiera skilla i doświadczenie, a nie przez robienie kolejnych kursów). Co do C zaś to jest to raczej odmienna droga od webówki, więc pytanie czy warto iść w dwie strony naraz?

0

Gregoryl,
Czyli według ciebie wszystko co wymieniłem oprócz zarobków i czasu się nie różni między językami?

Co do zarobków, zdaje się, że proponujesz nauczenie się czegokolwiek.

Może podam przykład tego czego oczekuję:
"C++ jest znacznie trudniejsze do nauczenia, zajmie znacznie więcej czasu, z tego co widzę ludzie spędzają 2 razy większy czas by poznać go w takim samym stopniu jak Javę. Zarobki identyczna jak w Javie. Jeśli chcesz pracy z sensem, uzbrój się w cierpliwość i załóż startup, najprawdopodobniej nowe języki ci się wtedy przydadzą."
W takim wypadku dla ścieżki pierwszej nie powinienem brać się za C++, a dla drugiej musiałbym zapomnieć o pieniądzach.

Co do czasu, zdaje się, że twierdzisz, że mogę znaleźć pracę od zera w 3 miesiące, zgaduję, że tak wcale nie jest, zbyt prosto by było.
Tak jak napisałem, szybko się uczę, nie jestem laikiem i potrafię się zdeterminować, to wyraźnie oznacza, że doprowadzę to do realizacji. Na wypadek, gdyby ktoś jednak chciał powiedzieć, że mogę nie doprowadzić, nie ma to najmniejszego znaczenia, bo w takim wypadku już nic nie ma, albo doprowadzam, albo nic kompletnie.

LukeJL,
Mam na myśli zabugowane aplikacje wypuszczone do produkcji. Zgaduję, że to wina odwalania roboty na szybko i nieposzanowanie użytkownika.

Najlepiej zatem, jeśli skończę to wprowadzenie do programowania i resztę będę kombinował sam pomagając sobie wyszukiwarką (albo pół na pół?)? Tak to robi się normalnie? Np. na studiach chyba nie, a podoba mi się ten sposób nauki, tam zdaje się więcej teorii i jakies zaawansowane rzeczy co do programowania, z tego powodu wydaje mi się to wiedza kompletniejsza i bardziej poukładana niż wyszukiwanie po necie. Na studia niestety nie mogę pójść, z tego powodu też wybrałem te materiały do nauki, które wybrałem.

Z rzeczy, których mogę się nauczyć po wprowadzeniu do programowania słyszałem tylko o kursach ze struktur danych, co dotychczas planowałem zrobić. Nie mam pojęcia jak to jest przydatne.

Na razie tylko zacząłem wprowadzenie do programowania, więc tylko liznąłem tego, mogę więc pójść i tą i tą. Obie są ciekawe stąd wydaje mi się, że głównym moim kryterióm powinny być czas, trudność i poziom męczenia w pracy w przeliczeniu na pensję.

0

Mam na myśli zabugowane aplikacje wypuszczone do produkcji.

Google, Apple, Microsoft, Mozilla, Jetbrains oraz niezliczone biblioteki open source, z których korzysta masę osób...

Zgaduję, że to wina odwalania roboty na szybko i nieposzanowanie użytkownika.

Przypuszczam, że raczej winę ponosi skala projektów. Jak jakiś projekt ma miliony linii kodu (a podobno tyle mają niektóre projekty, np. Chrome czy Firefox), to łatwo o bugi.

Chociaż przyczyny są też inne. Od czasu do czasu dowiadujemy się, że np. ktoś odkrył jakiś straszny bug w jakimś narzędziu/programie, który był spowodowany jakąś głupią pomyłką albo błędem koncepcyjnym, złym algorytmem itp....

Czasem też bugi są zwykłym spłacaniem kredytu technologicznego (np. zauważyłem, że cokolwiek robione na RegExpach ma tendencję do generowania bugów - wejdźcie sobie na bugtrackera jakiegokolwiek narzędzia, które korzysta z RegExpów (np. IDE/edytory kodu podświetlają składnie za pomocą RegExpów) to zobaczycie tam zawsze ileś bugów, i jak naprawią np. zepsute podświetlanie składni w jakimś przypadku, to się okaże, że zepsują w drugim. Bo robienie czegoś większego RegExpach to jak z domek z kart (a można by tych bugów uniknąć stosując dedykowany parser do danego języka, który nie generuje tylu bugów - tylko właśnie - z jakiegoś powodu nie podjęto takiej decyzji, być może słusznie, być może chodziło o kwestie wydajności czy inne. Tworzenie oprogramowania to sztuka kompromisów...).

Więc - to nie chodzi o to, że ktoś się śpieszył, tylko że ktoś podjął taką a nie inną decyzję dotyczącą pewnych rozwiązań, a potem musi się z nimi męczyć. Tak zwany dług technologiczny...

I to tylko jeden przykład - bugi RegExpowe to zaledwie malutki wycinek software'u i wszystkich bugów jakie mogą się pojawić - ale chciałem to przywołać jako przykład, że to często dane rozwiązania generują bugi, a nie niechlujność (chociaż to też często, oczywiście).

Dobra, ale to chyba offtop. Chciałem po prostu napisać, że nie wszystko jest takie proste, że "odwalanie roboty na szybko".

i nieposzanowanie użytkownika

a tu trzeba wspomnieć, że nieposzanowanie użytkownika niekoniecznie musi się przejawiać w kwestiach czysto programistycznych. Dużo częściej się przejawia chyba w braku wyobraźni, braku myślenia o user experience, słabym designie interfejsu (polecam próbować znaleźć coś na stronie PKP). Często programiści nie są winni, bo dostają coś do zrobienia od menedżerów, jakiś gotowy dizajn od grafików i muszą to zaimplementować. A czasem sam dizajn jest ch**owy...

0
Mariusz Stachurski napisał(a):

Gregoryl,
Czyli według ciebie wszystko co wymieniłem oprócz zarobków i czasu się nie różni między językami?

Nie wiem skąd wyciągnąłeś ten wniosek, ponieważ niczego takiego nie napisałem. Ale w sumie racja. Generalizując, język jest tylko narzędziem w programowaniu, i poza składnią oraz niuansami czy też podejściem, można się spodziewać tego samego lub czegoś podobnego.

Mariusz Stachurski napisał(a):

Co do zarobków, zdaje się, że proponujesz nauczenie się czegokolwiek.

Nie proponowałem niczego, ale jeśli już, to: na początek wzięcie jakiegokolwiek kursu video/książki i przebrnięcie przez podstawowe zagadnienia w programowaniu ( składnia, zmienne, metody, struktury danych, klasy, operowanie na danych itd. itp., łączenie tego w całość + jakieś zagadnienia wybranego języka-> chociażby jeśli to C++ to wskaźniki oraz standardy C++ 11/14 -> to są podstawowe rzeczy których będzie się cały czas używać), na początek robienie ćwiczeń z tych książek ( pewnie w konsoli). Mając podstawy w miarę ogarnięte ( trudniejsze wystarczy tyle, aby wiedzieć, gdzie wrócić w książce jeśli ma się do niej dostęp), jakiś kurs video o programowaniu obiektowym (to robienie projektów i pisanie uczy tak naprawdę... najlepiej, żeby zrobić jakiś jeden albo dwa małe projekty obiektowo-> może to być połączone z następnym krokiem), reszta zależy już całkowicie od wybranej technologii i kierunku, których w IT jest mnóstwo. Jeszcze raz, dział Praca daje mniej więcej pojęcie o trendach, oraz przykładowo Jaki język programowania wybrać chociaż tego typu poradników jest mnóstwo w internecie. Do tego jakieś narzędzie kontroli wersji (tudzież konto na Git, na którym umieszcza się projekty).

Mariusz Stachurski napisał(a):

Co do czasu, zdaje się, że twierdzisz, że mogę znaleźć pracę od zera w 3 miesiące, zgaduję, że tak wcale nie jest, zbyt prosto by było.

Sens mojej wypowiedzi był całkowicie inny. Ponownie: nikt Ci nie powie, ile zajmie Ci nauczenie się programowania/X technologii/Y frameworka, ponieważ nikt nie wie. Bo i niby skąd?

Mariusz Stachurski napisał(a):

Na razie tylko zacząłem wprowadzenie do programowania, więc tylko liznąłem tego, mogę więc pójść i tą i tą. Obie są ciekawe stąd wydaje mi się, że głównym moim kryterióm powinny być czas, trudność i poziom męczenia w pracy w przeliczeniu na pensję.

Tego się więc trzymaj do momentu gdy poczujesz, że w książce/tutorialach zaczyna się lanie wody. Wtedy pisz swój projekt.

Poza tym, jest multum tematów tutaj. Wyszukiwarka i na pewno miałbyś czytania ciekawych dyskusji na całą noc.

0

Zazwyczaj w Javie lepiej sie zarabia noz w C++

0

Czy ktoś z czytających robił takie projekty i mógłby pokazać, albo gdzieś widział lub zna? Najlepiej kilka różnych od siebie, np. jakaś strona internetowa fullstack, jakaś aplikacja na Adroida, coś typowego dla C++. Mógłbym sobie wtedy przejrzeć taki kod raz na jakiś czas, spróbować zrozumieć, zobaczyć jak to skomplikowane, jak dużo trzeba umieć/mi brakuje.

Może jakieś osobiste historie, ile to komuś zajęło od początku do pensji? To powszechne by zrobić to w rok od blisko zera? Niby te wprowadzenia do programowania są krótkie i dla mnie, zielonej osoby wydaje się to być możliwe, ale nie chce mi się wierzyć, wydaje się bardzo mało realistyczne.

Czy jest jakiś sens interesować się bezpłatnymi stażami itp. czy lepiej zrobię działając sam do momentu znalezienia płatnego stanowiska?

Czego uczą przez całe studia, przez te kilka lat? Wprowadzenie jest krótkie, jest trochę teorii i w nim i w tej książce (raczej więcej uczącej o computer science niż internetowe kursiki), ale niewiele. Pewnie dalej uczą struktur danych, ale to też chyba nie wypełni całego czasu. Czego jeszcze uczą?

0
Mariusz Stachurski napisał(a):

To powszechne by zrobić to w rok od blisko zera?

Było o tym na forum już kilkadziesiąt razy...

Teoretycznie potrzebujesz 1000 godzin nauki programowania abyś mógł starać się o swoją pierwszą pracę... ale to też zależy od Twoich predyspozycji i szczęścia.

0

@krzywy Mariusz nie prawda, bardzo dobry programista C++, zarobi sporo więcej od programisty Javy przy programowaniu wymagających gier, oprogramowania do dokładnej aparatury lekarskiej, która ratuje życie, czy programowanie dla NASA na sondach, satelitach które wymagają dobrej precyzji obliczeń. Programowanie systemów dla LG, Samsung WebOS 3.0 czy SmartTV też niezła kasa. W LHC w Cern też programista C++ jest dobrze opłacany, tylko że trzeba być naprawdę dobry w C++. Większość samochodów typu Tesla, BMW i8 tych elektryczny ma soft pisany w C++ i chyba QT.

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