Nauka i początek

0

Na wstępnie witam wszystkich, jestem tutaj nowy.
Mam nadzieję, że mój post jest w odpowiednim dziale oraz, że nie jest powielony wielokrotnie już.

Chciałem się podpytać kogoś z branży w zakresie programowania. Nigdy się tym do tej pory nie zajmowałem, różne podstawy znam w zakresie stron internetowych, pozycjonowania i innych dupereli związanych z komputerami ale nic z programowaniem.
W związku z tym czy waszym zdaniem osoba w wieku 26-27 lat ma szansę się tego dobrze nauczyć? Nie znam żadnego języka myślałem na początek o C++ albo Java bo wydają mi się najpopularniejsze i najwięcej ofert pracy pod to. Po co chciałbym się tego nauczyć? Żeby 'za jakiś czas' załapać się do jakiejś pracy początkującego w tym na rok dwa i zobaczyć co dalej, działać na własną rękę albo gdzieś dalej się rozwijać.
Czy jest sens w takim wieku?
Jaki język byście polecili?
Czego trzeba się nauczyć poza samym językiem z podstaw?
Czy polecacie naukę na własną rękę czy może znacie godne polecenia kursy itd?
Ile na oko trzeba by poświęcić czasu na naukę danego języka żeby móc uderzyć do jakiejkolwiek firmy naziemnej jako koder begginer (domyślam się ze każdy nieco inaczej przyswaja wiedzę ale z grubsza jest to kwestia kwartału, pół roku, roku?)

Domyślam się, że dla niektórych z was tak ogólne pytania wydadzą się głupie i denerwujące ale licze na pomoc.
Z gory dzieki za wasze odpowiedzi :)
Pzdr.

3

Czy jest sens w takim wieku?

No co ty, w tym wieku to tylko zajmować się wnukami i regularnie jeść tabletki kupowane za emeryturę.

W jakim mieście mieszkasz? To dosyć ważne.
Podstawową umiejętnością programisty jest wyszukiwanie informacji, a takich tematów jak twój było przynajmniej z 10 na tym forum (od siebie polecam wyszukiwarkę, przydatna rzecz). Jak już przeczytasz te tematy, to wróć tutaj i wyjaśnimy twoje wątpliwości.

1
Faru napisał(a):

Czy jest sens w takim wieku?

Tak

Jaki język byście polecili?

Jedyna dobra odpowiedź to: "zależy". Zależy od tego czym chcesz się zajmować. front-end, back-end, mikrokontrolery, serwery, gry etc. Jeśli zależy Ci tylko na załapaniu się na developera krótka analiza liczby ofert pracy pozwala stwierdzić że najłatwiej dostać się w javie i front-endzie. Analiza trendów na rynku jest aktualizowana na tej stronie: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Osobiście od siebie nie polecam języka C++ na początek.

Czego trzeba się nauczyć poza samym językiem z podstaw?

Warto nauczyć się wzorców projektowych a także bibliotek/frameworków w danej technologii. Dobrze też znać jakiś system kontroli wersji (np. Git). Sql, bazy danych. Sockety i inne sieciowe sprawy. To wszystko warto poznać, ale myślę że nie jest to w 100% niezbędne by złapać pracę. Najważniejsze to umieć programować, ale w praktyce czyli po prostu w wolnym czasie siedzieć i klepać coś dla samego siebie. Praktykuję tą metodę nauki i zauważam duże postępy w moim rozwoju. No i oczywiście angielski!

Czy polecacie naukę na własną rękę czy może znacie godne polecenia kursy itd?

Rzeczywistość zmusiła mnie do nauki na własną rękę. W życiu nikt osobiście nie pokazywał mi jak należy programować. Ze swojej strony mogę śmiało stwierdzić, że znajomość angielskiego pozwala na korzystanie z całej masy tutoriali, dokumentacji czy też portali podobnych do stackoverflow że, faktycznie można nauczyć się tego samemu. Tylko trzeba do tego trochę zaparcia, a wszelkie "poboczne" rzeczy które rozpraszają trzeba wyeliminować :)

Ile na oko trzeba by poświęcić czasu na naukę danego języka żeby móc uderzyć do jakiejkolwiek firmy naziemnej jako koder begginer (domyślam się ze każdy nieco inaczej przyswaja wiedzę ale z grubsza jest to kwestia kwartału, pół roku, roku?)

Odpowiedź jak zawsze: "zależy". Są technologie które są trochę łatwiejsze w nauce (np. python - bardzo często i gęsto polecany dla początkujących) a także trudniejsze, np. wspomniany wyżej C++. Zależy też ile czasu dziennie jesteś w stanie poświęcić na naukę i od tego jak dobrze jesteś w stanie przyswoić sobie tą wiedzę i umiejętności.

0

No co ty, w tym wieku to tylko zajmować się wnukami i regularnie jeść tabletki kupowane za emeryturę - bardziej chodziło mi o to czy osoba w takim wieku, która się tym nie interesowała będzie łatwo przyswajać wiedzę, większość moich znajomych którzy są programistami są samoukami ale zaczynali mając 'mleko pod nosem' więc wiadomo, że wtedy wchłania się to mimo wszystko łatwiej i szybciej.

Dziękuję wam za szybkie odpowiedzi, skłaniałbym się do Wyboru Java - po rozmowach ze znajomymi, a druga sprawa, że w dalszee przyszłości będąc już na średnim poziomie czyli pewnie za 1-2-3 lata, mógłbym liczyć na pewną posadę.

Wizzie - mieszkam w Szczecinie, więc jako tako chyba tutaj się dzieje, na pewno nie jest to Warszawa ;)

Co do czasu myślę, że mi go nie zabraknie na naukę, obecnie pracuję od 3 lat zdalnie przed komputerem więc dość często mam sporo czasu. Waszym zdaniem Java to dobry początek? Jest realne aby po aktywnych 4-6 miesiącach nauki i działania na własną rękę, mieć wystarczającą wiedzę aby podjąć pracę jako programista junior Java?

1

Nie wiem czemu akurat Java, o tyle, że to dość trudny język. Jest wiele łatwiejszych.
EDIT: Zresztą programowanie to nie kwestia języka tylko jest to umiejętność niezależna od konkretnego języka (i tak będziesz musiał znać ileś innych języków - programowanie zaczyna się tam, gdzie znasz chociaż 2-3 języki programowania). Są pewne ogólne zasady, pewne reguły, pewne umiejętności intelektualne które trzeba posiąść. A język jest tylko narzędziem myślenia i komunikacji z maszyną.

skłaniałbym się do Wyboru Java - po rozmowach ze znajomymi, a druga sprawa, że w dalszee przyszłości będąc już na średnim poziomie czyli pewnie za 1-2-3 lata,

Jeśli nie programowałeś to nauka podstaw zajmie ci kilka lat. A na średnim poziomie to może za 5-10 lat będziesz... Co nie znaczy, że nie będziesz mógł znaleźć pracy. Ludzie mało umiejąc też jakoś znajdują pracę... Tyle tylko, że nie nastawiaj się na to, że "zostanę programistą w pół roku i będę kosił pieniądze" (nawet jak się dostaniesz do firmy jakiejś to początkujący programista grosze zarabia). Jeśli to rozważasz jako karierę to raczej musisz myśleć długoterminowo. W krótkim terminie, żeby sobie jak najszybciej dorobić, to pewnie bardziej ci się opłacała emigracja na zmywak...

Czego trzeba się nauczyć poza samym językiem z podstaw?

poza językiem angielskim w sensie? To tak:

  • logika matematyczna (OR, AND etc. prawa deMorgana czy inne pierdółki)
  • umiejętność dzielenia dużego problemu na wiele małych
  • umiejętność analizy, porównywania różnych rzeczy ze sobą, umiejętność abstrakcyjnego myślenia i wizualizowania sobie w głowie tego jak będzie działać program.
  • cierpliwość, odporność na stres (na początku będzie ci mnóstwo rzeczy nie działać i będziesz musiał godzinami/dniami szukać w necie odpowiedzi na proste pytanie. )
  • umiejętność szukania informacji, w google, w dokumentacjach, na forach, w bibliotekach, w kodzie źródłowym etc.
  • metodyczne naukowe podejście do problemów
    etc.

Ile na oko trzeba by poświęcić czasu na naukę danego języka żeby móc uderzyć do jakiejkolwiek firmy naziemnej jako koder begginer (domyślam się ze każdy nieco inaczej przyswaja wiedzę ale z grubsza jest to kwestia kwartału, pół roku, roku?)

To chyba na staż mówisz jakiś? Po 3-6 miesiącach nauki nijak się nie przydasz żadnej firmie, nie będziesz umiał napisać tego, co byś miał zadane, i o wszystko byś się musiał pytać i wszystko trzeba byłoby poprawiać po tobie.

0

Dzięki za kolejną szybką odpowiedź. Z Całą pewnością nie jest tak, że wychodzę z założenia pouczyć się kilka miesięcy i zarabiać 10 tys miesięcznie, zależy mi po prostu na tym aby możliwie szybko gdzieś się ' zaczepić ' i dalej rozwijać, pieniądze to sprawa drugorzędna.

Dość ciężko nie znająć się podjąć jakąś właściwą decyzję, przejrzałem i przeczytałem naprawdę wiele stron, blogów wpisów. Każdy ma zupełnie inne podejście, inne rady, oczywiście połowa z nich sama sobie przeczy więc dość łatwo się w tym pogubić. Nie chciałbym teraz po prostu poświęcić 2 miesięcy czasu i pracy na coś co okaże się złym wyborem lub startem. Zakładając, że chciałbym się uczyć Javy i że to trudny język na początek. Od jakich kroków/ języków poleciłbyś osobiście mi zacząć?

Z góry dzięki :)

1
LukeJL napisał(a):

Nie wiem czemu akurat Java, o tyle, że to dość trudny język. Jest wiele łatwiejszych.

Jak ma wybierać między C++, a Java to lepiej ten drugi.

LukeJL napisał(a):

Jeśli nie programowałeś to nauka podstaw zajmie ci kilka lat. A na średnim poziomie to może za 5-10 lat będziesz...

Studenci na drugim roku idą do racy, a ty z 10 latami wyskakujesz. Jak nie ma teraz jakiś strasznych obowiązków to po pół roku powinien się nadawac do pracy. Ze mną pracuje jedna dziewczyna która właśnie przez ~6 miesięcy sama się szkolił + jakiś tam kurs płatny zrobiła i nie widać by dużo odstawała, ale my wszyscy tam mamy podobny staż w programowaniu(bo niby człowiek 3 lata się uczy, ale ma podzielony czas na inne przedmioty/zajęcia).

LukeJL napisał(a):

To chyba na staż mówisz jakiś? Po 3-6 miesiącach nauki nijak się nie przydasz żadnej firmie, nie będziesz umiał napisać tego, co byś miał zadane, i o wszystko byś się musiał pytać i wszystko trzeba byłoby poprawiać po tobie.

Jak znajdę to wkleję tutaj link do artykułu ile czasu co zajmuje. Czytamy tam, że nauka podstaw(I/O,Tablice,if,for, itd.) ~13h. Nauka obiektowości ~5h. No to mamy ~2 dni nauki, a reszta z 6 miesięcy na ćwiczenia i ewentualne rozszerzanie wiedzy.

Uważam, że powinno się od stażu zacząć, bo i człowiek jest mniej zdenerwowany, nie ma takiej dużej presji. Dodatkowo mozna zapoznac się z firmą i w ogóle zobaczyc jak to programowanie w prawdziwym zyciu wygląda. Na staż po ~6 miesiącach powinien sie dostać(prog wejścia jest bardzo niski, wiem cos o tym;P), jak nie to znak, że to chyba nie dla niego. A potem jak się sprawdzi to praca, przez 3 miesiące stażu bardzo dużo sie nauczy, a jak ma jeszcze znajomych programistów to w ogóle powinien mieć łatwo.

1

Java nie jest trudnym językiem. Jeżeli jesteś totalnie początkującym, to możesz sobie wziąć 10 letnią książkę: Head First Java, ewentualnie Thinking in Java. Podstawy się nie zmieniły, obiektowość nadal polega na tym samym, a to, co się zmieniło, uzupełnisz sobie oficjalnym tutorialem od Oracle (całkiem dobry ponoć). Tylko skup się na Javie SE, nie tykaj EE i Springa póki nie ogarniesz dobrze SE.

0

Ok dziękuję wam bardzo za dobre porady :)

2

Nauka obiektowości ~5h.

tak, pod warunkiem zastosowania tej metody:
http://abstrusegoose.com/249

Studenci na drugim roku idą do racy,

To że firmy zatrudniają początkujących to tym gorzej dla firm (bo tacy ludzie będą pewnie tworzyć koszmarny kod, jeśli się zaczynali programowania na studiach dopiero), ale tym lepiej dla studentów, bo pracując w prawdziwej firmie mogą się szybciej uczyć.

a ty z 10 latami wyskakujesz

nie 10, tylko 5-10 lat napisałem, w odniesieniu do "średniego poziomu", w domyśle średnio-zaawansowanego*. Tyle, że jest taki myk, że wcale nie trzeba być aż na średnim poziomie, bo przy takim zapotrzebowaniu na programistów jest to rynek pracownika. Tyle, że ile zarobi programista słaby, a ile zarobi programista z doświadczeniem? Tak samo skille, umiejętność rozwiązywania specyficznych problemów, znajomość pewnych wzorców, algorytmów, architektury. Plus znajomość frameworków, technologii, bibliotek. Tego nie nabędziesz raczej w parę dni.

*Liczba jest względna. Można się kłócić, czy to będzie 5, 10 czy może 2 lata, jak ktoś jest naprawdę zdolny.Wszystko zależy od człowieka. Jednak w typowym przypadku... nie sądzę, żeby ktoś po roku nauki osiągnął choćby średni poziom

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