Kursy programowania - co warto wiedzieć
Chciałbym się trochę przekwalifikować a że mam nieco wolnej gotówki to chciałby zainwestować w siebie. Myślałem i programowaniu, wpadłem na to:
https://www.alx.pl/pl/jezyki-programowania/
Ktoś korzystał z takich kursów? Warto, nie warto? Generalnie o programowaniu nie wiem nic, czy po takich kursach mam jakieś szanse na rynku?
Jaki język najlepiej na początek?
PHP + MySQL + java script jesli chcesz projektować strony. Wiadomo HTML to podstawa. Co do programowania not website to polecam Java albo C#.
Na początek polecam C a po nim C++ (wiem idziesz w głęboką wodę, ale z drugiej strony te języki dadzą ci duże doświadczenie). Jak chcesz na początek coś interpretowego to polecam Python.
Co do kursów to się nie wypowiem, bo nigdy z nich nie korzystałem.
Nie korzystałem z takiego kursu ale nie wyobrażam sobie zapierdzielania po 8h dziennie dla kogoś kto nie wie czym się różni się double od integera - daję rękę że po 3 godzinach będziesz kompletnie mentalnie zjechany i połowa informacji będzie wyfruwała drugim uchem.
Programowanie to nie rocket science ale jednak jest mnóstwo koncepcji które trzeba utrwalić i zrozumieć (sama wiedza że coś istnieje nie wystarczy - trzeba też ogarniać czego i kiedy używać żeby miało to ręce i nogi). Do tego dochodzi mnóstwo pobocznych kwestii - bazy danych, umiejętność pisania czystego kodu, znajomość IDE, podstaw algorytmów, wzorce projektowe itd.
Gdyby to był kurs po 2h dziennie powiedziałbym że jest realne że wyciągniesz z niego dużo, ale nie wyobrażam sobie jak przetrzepać taki ogrom materiału w kilka dni - no chyba że np. komfortowo znasz C++ i chcesz poznać podstawy Javy (wstaw dowolny język) - w to jeszcze jestem w stanie uwierzyć.
Musisz zastanowić się co chcesz robić i na tej podstawie zrobić research i wybrać język, bo np. w kwestii frontendu absolutnie i bezdyskusyjnie króluje JavaScript (i pierdyliard frameworków bazujących na JS), w backendzie super popularne są Java (EJB/Spring) / PHP z kolei np. taki oprogramowanie do badań statystycznych czy infrastruktury sieciowej często pisane jest np. w Pythonie.
Polecam jakąś dobrą książkę + ew. polecany kurs (np. za groszowe sprawy na Udemy) i coś tam dziobać na własną rękę, nawet jeśli pierwsze aplikacje będą debilnie proste i nieudolne.
Jeśli chciałbyś zacząć od Javy to mogę polecić:
Core Java (względnie przystępna, rozdziały o aplikacjach okienkowych do pominięcia IMO) // równolegle poczytać o bazach danych -> Thinking in Java do uzupełnienia trudniejszych braków (refleksja / multithreading etc) -> Hibernate na podstawie dobrego tutoriala / dokumentacji (powiązanie obiektówki z bazami danych) -> Spring Boot in action + tutoriale -> poczytać czym się różni spring boot od 'pełnoprawnego' Springa :)
Jako czytanki do poduszki: Clean Code, Effective Java, The Pragmatic Programmer (ta pierwsza i trzecia to w zasadzie must have niezależnie od tego jaki język obierzesz) + coś o testowaniu - JUnit + Mockito.
Jest tego bardzo bardzo dużo, ale to tylko raczej pokazuje że reklamy typu "spójrzcie na pana Zenka - przeszedł nasz kurs i został zatrudniony jako regular w IBMie, teraz zarabia 10k netto na B2B" można raczej włożyć między bajki.
Pół roku regularnej i sumiennej pracy (coś tam podziobać kilka razy w tygodniu - nie po 8h dziennie) i będziesz myślę że będziesz się mógł próbować gdzieś wkręcić jako junior czy tester.
Mam nadzieję że nie wystraszyłem - wręcz przeciwnie, bardzo bardzo zachęcam. Po prostu nie nastawiaj się na szukanie nowej pracy we wrześniu, bo kursy które Cię do tego przygotują nie istnieją. Z czasem dasz radę.
Dzięki, dałeś mi do myślenia. Czyli najlepiej podstawy ogarniać samemu i stopniowo. Myślałem już o jakichś książkach, zrobię jutro po robocie research i spróbuję podziubać. Sytuację mam stabilną więc dłubać mogę nawet i rok.
Rozglądałem się ostatnio za pewnymi szkoleniami i też trafiłem na to ALX. Po krótkim researchu znalazłem wątek na jakimś forum gdzie wyszło na jaw, że sami sobie pisali opinie na stronie opatrując je zdjęciami ze stocka niby jako "zadowoleni kursanci" xD Po czymś takim zastanowiłbym się dwa razy czy dać im (niemałe) pieniądze.
link: https://4programmers.net/Forum/Edukacja/224911-kursy_programowania
CV ludzi, którzy pracowali przez X lat w miejscu / branży niezwiązanym z IT, a potem po 3 miesięcznym kursie aplikują na programistę nie przechodzą przez selekcje HRów.
Najlepszy zestaw startowy to tematyczne studia + kilka średniej wielkości i złożoności projektów na githubie z kodem odpowiedniej jakości. Z tej dwójki można zrezygnować ze studiów, drugie to mus.
Moim zdaniem korzystanie z takich kursów nie jest jakieś super, każdy z nas uczy się swoim tempem, a taki intensywny trening po 8h to marnowanie czasu i pieniędzy, bo człowiek nie jest w stanie z pełnym zaangażowaniem przerabiać materiał tyle czasu, osobiście uważam że max 4h nauki dziennie wystarczy, chociaż w moim przypadku lepiej 2-3h.
Nie korzystałem nigdy z takich kursów, za to studiowałem informatykę i myślę że studia to lepsze podejście, masz więcej czasu na przerobienie materiału i liźniecia wszystkiego po trochu.
Abstrahując od studiów, na początek polecam przerobić jakiś kurs z C++ dlatego że jest to język mocno restrykcyjny, który nie wybacza błędów. Polecam przeczytać i przerobić to:
http://cpp0x.pl/kursy/Kurs-C++/1
Jak już ma ogólne podstawy programowania to możesz się zastanowić co chcesz robić, jeśli w ogóle masz dalej motywacje.
Jak chcesz robić appki to Java/Objective-C, ewentualnie HTML, CSS i Javascript z Reactem lub Angularem, warto też wiedzieć czym różnią się aplikację natywne od hybrydowych.
Przy stronach/webservisach najbardziej popularny jest LAMP stack, tj. Linux, Apache, MySQL, PHP, a od strony przeglądarki musisz znasz HTML-a, CSS-y i jakieś jQuery, jak zrobić responsive web design. Warto też wiedzieć że istnieje coś takiego jak XSLT, XQuery, itd.; do generowania stron z dokumentów XML. Jak już się bierzesz za strony to jakiś Photoshop się przydaję czasem jakiś Illustrator, i podstawy designu.
Sporo ludzi odradza uczenie się PHP, między innymi przez konwencje w nazewnictwie, ale również miliony frameworków, ilość frameworków Javascript to przy tym nic.
W PHP masz: Wordpress, Drupala, Joomle, Prestashop, Laravel, Symfony, Zend i pewnie coś jeszcze ;)
W JS: Angulara, Reacta i Vue.js, ewentualnie jakiś Backbone, czy Node.js.
To że znasz PHP wcale nie znaczy że ogarniasz któryś z tych frameworków, generalnie najbardziej liczy się doświadczenie i twoje portfolio.
Polecam też zajrzeć na:
https://www.codecademy.com
Tutaj masz kursy do za DARMO, ale jest wersja pro. Robisz zadania w edytorze przeglądarkowym, z programowania masz do wyboru Python, PHP, SQL, Ruby, Javascript i podstawy tworzenia stron.
Ja uczę się na teamtreehouse
https://teamtreehouse.com/library
Płacisz za takie coś 20-25$ miesięcznie, wiadomo po przerobieniu materiałów nie dostaniesz nie wiadomo jakiej pracy ale załapiesz się na jakiegoś juniora, jest to znacznie mniejszy wydatek niż płacenie kilku tyś. za intensywny kurs programowania, po którym nie ma gwarancji zatrudnienia i tego że dużo w głowie zostało. Są jeszcze takie strony gdzie płacisz za konkretne kursy i masz dostęp cały czas, np. Eduweb(po polsku) i Udemy.
PS. Każdy uczy się na swój sposób niektórzy wolą książki, inni internetowe kursy, jeszcze inni takie intensywne kursy.
Mój były już pracodawca zawsze powtarzał - "Gdyby to co robimy było proste i do nauczenia na kursie przez każdego, programiści zarabiali by tyle co kasjerzy w biedronce (bez urazy dla kasjerów)". Oczywiście to wszystko jest do nauczenia ale kursy nie są jakimś magicznym miejscem, w którym odprawią modły, złożą ofiarę z owcy i nagle zrozumiesz. Potrzeba dużo własnej pracy, samozaparcia i przede wszystkim czasu. Tak jak zaznaczał już mój przedmówca - dozuj sobie wiedzę na małe kawałki, przynajmniej na początku. Jeśli chodzi o języki to sam zaczynałem od C++ ale teraz pracuję w Javie. Powodzenia!
kendrixargon ma racje, marnowanie czasu i naciaganie ludzi na hajs, teraz jest bum na programowanie i naroilo sie jakis firm krzakow co doją kase z januszy, ktorzy mysla, ze po ich kursie za 8tysi, beda zarabiac niewiadomo ile, programowanie to trudna dziedzina, trzeba miec jakis umysl, myslec logicznie i wlozyc duzo pracy, zdecydowanie lepszym rozwiazaniem sa kursy video zarowno te darmowe na youtube, gdzie pełno ludzi, ktorzy dziela sie wiedza, albo platne ja akurat wszedlem w androida i jave, teraz ucze sie kotlina i wydalem raptem 400zl zeby poznac podstawy i zrozumiec jezyk, reszta to ciezka praca samemu, zerknij se np na strefakursow.pl , oczywiscie nie masz gwarancji ze od razu dostaniesz prace, tutaj trzeba cisnac i cisnac, co chwile sie cos zmienia i trzeba sie doksztalcac nie ma latwo, ale warto :))))
Ja ze swojej strony mogę polecić kurs HTML i CSS dla początkujących
Wiem, że to wątek odkopany po latach, ale nastawianie się dzisiaj na naukę HTML i CSS tak po prostu to jakby uczyć się zawodu bednarza albo latarnika.
Otóż wbrew przewidywaniom dziennikarzy praca w IT wciąż jest, ot próg wejścia jest dużo mniej przystępny dzisiaj, ale właśnie dziedziną, którą AI zastępuje naprawdę skutecznie jest tworzenie prostych lub powtarzalnych stron. Akurat HTMLa i CSSa LLMy generują nad wyraz dobrze i skutecznie, bo to najprostsza rzecz, którą od lat zajmowali się już nie programiści a masa innych ludzi.
7 letni odkop tematu ale w sumie może warto by było powrócić do takiego tematu czy dziś jest sens uczyć się programowania kiedy są coraz doskonalsze generatory AI gdzie po wklepaniu prostego zdania napisze, np. stronę internetową czy skrypt do jakieś gry. Co prawda nie zawsze sobie radzą i popełniają błędy ale jeżeli takie generatory będą rozwijać to za 10 lat taki programista komputerowy może być zbędny. Co prawda jakieś podstawy będzie trzeba znać żeby móc to wszystko poskładać w kupę ale na dłuższą metę wydaje się że uczenie się tego zawodu nie będzie mięć sensu.
A więc to tak, opcje mamy cztery:
1) LLMy będą dalej operować na zasadach takich jak dzisiaj, będą tylko poprawiane - w tym wypadku pracy w IT ciągle będzie pod dostatkiem, ot zmieni się trochę charakter i podskoczy próg wejścia. To co zniknie to wszelkiej maści "programiści" WordPressa itd. Tą całą gałąź LLMy zastąpią w ciągu dwóch lat. Jednak przy obecnym podejściu, nauce masowej z niemal niefiltrowanym inputem nie ma szansy by LLM zastąpił seniora. To nie jest problem usprawniania modeli a tego, jak są uczone i jak bardzo są podatne na halucynacje.
2) LLMy będą rozwijać się jak dzisiaj ale ktoś zacznie tworzyć specjalistyczne modele stworzone stricte pod programowanie starannie filtrując materiał na którym te będą się uczyć - w tym wypadku faktycznie zawód programisty za 10 lat może stać się niszowy i będzie miejsce tylko dla ekspertów z najwyższej półki. Jednak ten scenariusz wymaga tego by ktoś wyłożył grube miliardy na ten cel i masę czasu a i nie wiadomo czy uda się rozwiązać problem z halucynacjami (jest wysoce prawdopodobne, że nie).
3) LLMy stracą na popularności gdy za koszt generowania przestaną płacić inwestorzy a zaczną klienci i nagle koszt wykorzystania modeli wyskoczy kilkukrotnie. W tym wypadku nic się względem dzisiaj nie zmieni.
4) Powstanie AGI, na co na razie się nie zapowiada w najbliższym czasie, ale kto wie. Ale wtedy 50% zawodów istniejących obecnie przestanie istnieć w ciągu 10 lat o popularyzacji AGI a 90% w ciągu 25 lat.
Ale to co z całą pewnością nie ma dzisiaj sensu to bootcampy programistyczne czy mierne studia. Tylko studiowanie na kierunkach o wysokiej jakości ma sens.