Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: Cała prawda o programistach

23.09.2014 19:23
Szymon_1904
1
Szymon_1904
79
Rivski pogromca

Cała prawda o programistach

Witam. Mam do Was pytanie, jak to jest zostać programistą? Już teraz uczę się języka programowania, i chciałbym kiedyś pracować w jakiejś większej firmie. Nie wiem jednak, jakie umiejętności są potrzebne. Od razu mówię, chodzi mi o stanowisko zwykłego programisty, nie inżyniera itp. Mam 15 lat i już niedługo wybór szkoły, czy technikum będzie odpowiednim wyborem? Jakie umiejętności są wymagane, jakie są zarobki w różnych krajach itp. Prosiłbym, aby wypowiadał osoby znające się. I prosiłbym, aby nie odsyłać do innych stron. Z góry za odpowiedzi dziękuje.

23.09.2014 19:51
wysiak
2
odpowiedz
wysiak
95
tafata tofka

Zeby pracowac jako programista potrzebne sa umiejetnosci przede wszystkim programowania, duh.
Nie licz, ze nauczysz sie tego w szkole, to w zdecydowanej wiekszosci znanych mi przypadkow kwestia pasji do komputerow, i samodzielnej nauki - szkola moze dac ci jakies podstawy, ale duza czesc najlepszych znanych mi specjalistow albo w ogole nie konczyla szkol technicznych (pracowalem np z doktorem filozofii oraz z magistrem anglistyki - Anglik, wiec w Polsce to odpowiednik filologii polskiej - ktorzy w pewnym momencie sie przekwalifikowali), tudziez konczyli studia (dzienne) na zasadzie "juz pracuje i zarabiam, wiec przychodze na pierwsze zajecia, prosze prowadzacego o zadanie mi zadania, ktore bedzie potrzebne do zaliczenia semestru, przynosze rozwiazanie za tydzien czy dwa, dziekuje dobranoc".
Zarobki sa bardzo uzaleznione od tego jak dobry jestes, i jest tak we wszystkich krajach - rowniez w Polsce ktos naprawde dobry moze zarobic naprawde dobrze, choc taki sam ktos wiecej dostanie na zachodzie czy chocby w Azji (szejkowie placa swietnie, ponoc Chiny sa dobrym rynkiem, ale z pierwszej reki wiadomosci nie mam, za to kumpel pracuje aktualnie w Wietnamie i tez nie narzeka).
Chociaz tu raczej mowa o osobach bardziej samodzielnych, nie prostych klepaczach kodu, ktorych trzeba prowadzic za raczke - takich jest wszedzie pelno, i mozna ich cale mnostwo sciagnac chocby z Indii jesli dana firma potrzebuje, wiec na kokosy jako "zwykly programista znajacy jeden jezyk" (szczegolnie tak popularny jak C++) nie licz.

23.09.2014 20:51
Szymon_1904
3
odpowiedz
Szymon_1904
79
Rivski pogromca

Więc potrzeba samozaparcia. A ile języków powinienem programista znać? I ważne, jakie? I co zrobić, żeby stać się osobą bardziej poszukiwaną?

23.09.2014 21:05
4
odpowiedz
Apocaliptiq
167
Legend

Dobrego programistę poznasz po tym, że odnajdzie się w każdej technologii.

Generalnie zastanów się co chciałbyś konkretnie programować, zacznij uczyć się jakiegoś języka
a potem zobaczysz czy Ci się to podoba.

23.09.2014 21:15
Szymon_1904
5
odpowiedz
Szymon_1904
79
Rivski pogromca

Moim marzeniem jest programować gry 3D. Co trzeba zrobić, aby to osiągnąć? I o jakie technologie Ci chodzi? Teraz rozpocząłem naukę C++, dość dobrze znam Pascala, ale ten język tylko był tak na początek. Czyli kontynuować naukę C++-a? Czy to zapewni mi sukces w przyszłym życiu zawodowym? No bo chyba assemblera nie będę się uczył, bo czytałem, żeby zrobić coś więcej niż kalkulator potrzeba nadludzkiego wysiłku.

23.09.2014 21:28
6
odpowiedz
zanonimizowany998044
19
Senator

Po C++ wybieraj albo Javę albo C#. Ja bym wybrał Javę.

24.09.2014 10:41
Szymon_1904
7
odpowiedz
Szymon_1904
79
Rivski pogromca

Czy nie można zostać dobrym programistą znając jeden język? A ile lat może trwać taka nauka C++, Java żeby znać dość dobrze jeden i drugi język, tak żeby móc zatrudnić się w firmie? I czy im więcej języków będę znał, tym bardziej zarobię?

24.09.2014 11:16
8
odpowiedz
Łysy.
73
Konsul

1. Zluzuj poślady, nie masz się gdzie spieszyć, 15 lat masz, eh, to były czasy.
2. Wybór szkoły: ja bym wybrał liceum i mat-fiz, a potem studia informatyczne, inżynierskie.
3. Pascal to martwy język, nigdzie się go już nie używa.
4. C++ to klasyka języków, aczkolwiek im dalej tym trudniej, ale na pewno jego znajomość się przyda.
5. Dobry programista zna kilka technologii, ale nie od tego zależą jego zarobki. Dlaczego w tak młodym wieku myślisz o pieniądzach?

24.09.2014 11:19
Katane
9
odpowiedz
Katane
170
Useful_Idiot_

Tak jak pisał Wysiak, szkoły nie zrobią z ciebie dobrego programisty, musisz przede wszystkim sam dużo pracować. Ja natomiast uważam, że studia informatyczne na pewno ci nie zaszkodzą - rozszerzą trochę wiedzę z brakujących dziedzin (zasady działania komputera, języki niskopoziomowe, architektura systemów informatycznych, algorytmy i struktury danych, protokoły sieciowe itd.). Na studiach "liznąłbyś" na pewno co najmniej kilku języków.

Programowanie to teraz wiele dziedzin - możesz być programistą webowym (w tym jest najwięcej pracy i najłatwiej ją znaleźć) i robić aplikacje server-side (to nie tylko "zwykłe" stronki internetowe ale i specjalistyczne oprogramowanie dla korporacji), możesz być programistą aplikacji mobilnych czy wreszcie gier. Wszystkie te dziedziny wymagają nieco innej wiedzy.

Do programowania gier 3D C++ jeszcze długo będzie najlepszy. Jeśli nauczysz się go dobrze, to wszystkie następne języki przyswoisz już dużo szybciej. Nie idź na siłę w ilość - bo żadnego nie będziesz znał dokładnie.

Polecałbym Ci porządne przyswojenie podstaw C++ (z netu/książek, mi bardzo się podobała "Thinking in C++") a później już konkretnie - wymyśl, jaką grę chcesz zrobić i szukaj na necie podpowiedzi, wskazówek i rozwiązań konkretnych problemów.
Możesz też alternatywnie zainteresować się Unity3D - to engine i środowisko programistyczne do tworzenia gier, wiele z nowych produkcji powstaje właśnie na nim (np. Wasteland 2). Nie wiem tylko jakich języków używa się tam do skryptowania.

I na koniec, wg mnie najważniejsze, co musisz dobrze opanować aby być dobrym programistą - angielski. Jest ważniejszy niż każdy konkretny język programowania, serio.

24.09.2014 11:34
Scatterhead
10
odpowiedz
Scatterhead
119
volvo plz

Katane bardzo dobrze gada

24.09.2014 12:11
11
odpowiedz
mofc
2
Junior

Też miałem kiedyś marzenie zostać twórcą gier komputerowych, też miałem wtedy około 15 lat :D Zacząłem od Pascala Jak Ty, ale jeśli wiesz już o co chodzi w programowaniu radzę jak najszybciej przejść na c++. Pascal jest przestarzały a poza tym to język stworzony w celach edukacyjnych, nic ciekawego nie da się w nim stworzyć a napisanie prostej gry wymaga wiele wysiłku. O wiele prościej stworzyć grę w c++. na twoim miejscu skupiłbym się tylko na c++, na studiach nauczysz się innych języków. Polecam też pójść do liceum. W sieci jest bardzo dobry kurs języka c++ Megatutorial. Póki co strona autora jest nieczynna ale da się to znaleźć w siec, ot choćby tu www.cs.put.poznan.pl/arybarczyk/Kurs%20C++.pdf Jako środowisko wybierz Microsoft Visual Studio 2013 Express Edition - darmowe, bardzo dobre. To wszystko co Ci potrzeba na początek. Spróbuj na początku stworzyć parę gier 2D( Ja tworzę tylko w 2D bo 2D jest fajniejsze).Kursu programowania gier jako takiego nie ma w necie :( Tego już musisz nauczyć się sam. Oprócz języka do napisania gry potrzebne jest API graficzne, to zbiór funkcji które generują grafikę. Ja obecnie używam DirectX 11 ale tam nie ma funkcji generowania grafiki 2D, trzeba oszukiwać :D. Z prostych API 2D jest : Allegro(np. Icy Tower), SFML, i SDL z czego polecam to ostatnie.

Gdybyś nie radził sobie z czymś, lub miał jakiś problem - wpadaj na forum Warsztatu tam się wszystkiego dowiesz. Adres:
www.warsztat.gd - strona poświęcona tworzeniu gier

24.09.2014 12:35
Arxel
12
odpowiedz
Arxel
227
Kostka Rubika

Kursu programowania gier jako takiego nie ma w necie :(
Jest tego od zatrzęsienia. Oczywiście najlepiej szukać anglojęzycznych, bo i od razu język sobie wyrobisz.

Do pisania gier prócz wiedzy programistycznej bardzo przyda się matematyka - bez niej nic nie zdziałasz.

Osobiście uważam, że C++ "dalej" robi się znacznie trudniejsze niż na przykład taka Java - a jakby nie było, Minecraft powstał w Javie. Zależy jakie dokładnie gry chcesz pisać - jeśli skupiłbyś się na grach mobilnych to Java się przyda, by tworzyć aplikacje na Androida. Jednak bądź co bądź, C++/C# króluje w tej branży.

Jak wspomniał Katane - możesz posłużyć się gotowymi silnikami gier, jak chociażby Unity (skrypty możesz pisać w C#, JavaScript i jeszcze jednym języki, którego nie pamiętam) czy też UDK (tutaj chyba C++ lub C# do pisania skryptów, ale nie pamiętam już) / Unreal Engine 4 (C# chyba). Najnowsza wersja silnika UE ma coś takiego jak blueprinty, dzięki którym można stworzyć gry (nie takie skomplikowane AAA) bez napisania nawet jednej linii kodu. Taką bazową aplikacją, która służy jako wytyczna testowa jest napisany na blueprintach Flappy Chicken, czyli kopia znanego Flappy Bird. Naturalnie wymagana jest wiedza programistyczna, aby wiedzieć co to są pętle, instrukcje warunkowe itd. Ostatnio widziałem jakiś tutorial jak gościu odtwarzał grę Braid - stworzył funkcjonalność cofania czasu na blueprintach, zero "kodu".

Aby dostać pracę w branży jako programista silnika/gameplaya/gier trzeba mieć na prawdę sporą wiedzę z zakresu C++. Według mnie znacznie łatwiej jest znaleźć pracę jako programista Javy, szczególnie aplikacji webowych. Sam od roku pracuję w tym sektorze, a nie uważam się za mistrza programowania - sporo nauki jeszcze przede mną, ale z kasy na razie jestem zadowolony. Nie wiem jakie są widełki wejściowe dla programistów gier przy minimalnym doświadczeniu.

Studia pomogą ale jak już wszyscy zaznaczają - nie przygotują Cię tak dobrze. Sam skończyłem stopień inżynierski na informatyce, a później obrałem kierunek Fizyka Techniczna ze specjalizacją Technologie Multimedialne - miało być Modelowanie Komputerowe, no ale za mało chętnych.
Przez ten okres miałem styczność z grafiką 3D (za młodu myślałem, że mnie to kręci, jak się okazało, jest to fajne, ale jednak to nie to co chcę robić w życiu), postprodukcją wideo czy modelowaniem zjawisk fizycznych. Mimo, iż to ostatnie brzmi groźnie to na zajęciach mieliśmy na przykład zrobić grę bilard - niby pikuś, ale jak przyjdzie Ci do oprogramowania system kolizji, to już bez matematyki i odrobiny fizyki nie ruszysz.

 
 
Swoją drogą, jutro w Krakowie odbędzie się mały wykład na temat "Zawód: programista gier. Jak zacząć pracę w branży?"
https://www.facebook.com/events/701939979882944/?ref=2&ref_dashboard_filter=upcoming

24.09.2014 12:54
13
odpowiedz
poltar
176
Senator

Jest jedna sprawa.

Co rozumiesz przez "nauczenie sie jezyka". Poznanie skladni? Zaznajomienie z bibliotekami?

To jak z jezykiem polskim. Mozesz znac slowa, mozesz znac zasady gramatyczne itp. Ale zanim zaczniesz pisac naprawde dobre teksty mienie troche czasu. I stworzysz przez ten czas duuuzo tekstow ktore beda sie nadawac tylko do kosza :)

Dokladnie tak samo jest z programowaniem. Poznanie skladni jezyka, zasad, bibliotek - to betka. Dodasz do tego kilka technik programistycznych - zaczniesz cos tworzyc. Potem praktyka, praktyka, setki linii nieproduktywnego kodu. I zacznie cos wychodzic :)

Tak wiec wez na start dowolny jezyk z w/w (chocby C++ - choc ja np preferuje pythona). Zadaj sobie jakies proste zadanie na poczatek - i zacznij go realizowac.

Nie licz na to ze cala sprawa bedzie sie skladac z fazy nauki z ktorej od razu przejdziesz do pisania kodu (bo juz sie nauczyles). Fakt - jesli masz zamiar byc klepaczem - nawet specjalnie nie musisz sie przykladac do nauki (tak jak kopista nie musi miec specjalnie talentu przy duplikowaniu obrazow). Jesli chcesz byc jednak malarzem - przyswoj sobie jedno - nigdy nie przestaniesz sie uczyc :)

Zawsze bedzie jakas nowa biblioteka, nowa technika ktora mozesz przyswoic.

To tak z autopsji.

PS. I koniecznie poznaj technike "debugowania dupą" ;) bez tego ani rusz. Niezaleznie od jezyka. No po prostu ani rusz.

PS2. I pamietaj o zagrozeniach tej branzy. Moze sie wydawqac ciekawa i bezpieczna - zawsze jest jakies "ale" : http://wypalonyprogramista.pl/

24.09.2014 20:21
Szymon_1904
14
odpowiedz
Szymon_1904
79
Rivski pogromca

Wam to tak łatwo mówić. Macie wykształcenie, pracę a ja? Nawet podstawowego nie mam. A co wyższe inżynierskie. Oj... trzeba zacząć ostro wziąć się do nauki. Jakby co, w szkole idzie mi bez problemów matematyka, fizyka, angielski też dość dobrze znam, nie jest to mistrzowskie, ale źle nie jest. Ja już pisałem, że Pascala uczyłem się tylko na początek, teraz zmieniam na C++-a. Visual C++-a mam zamiar ściągnąć, ale nie wiem skąd. Chodzi mi o oryginalną stronę. Mógłby ktoś mi podać?

24.09.2014 20:29
15
odpowiedz
zanonimizowany23874
136
Legend

A tak z ciekawosci - czy wogole warto byc tym "programista gier komputerowych"? Z tego co widze, wcale nie jet to jakas super-zajebista fucha, chyba ze ma sie wlasne niewielkie studio i samemu tworzy gry. Corpo wyglada raczej kijowo...

24.09.2014 20:32
16
odpowiedz
Łysy.
73
Konsul

Wam to tak łatwo mówić. Macie wykształcenie, pracę a ja? Nawet podstawowego nie mam.

15 latek to raczej podstawówkę powinien już skończyć, czy mi pamięć już szwankuje?

Visual C++-a mam zamiar ściągnąć, ale nie wiem skąd.

hm. może z oficjalnej strony?

http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx

VS Express jest dostępny za darmo, trzeba się chyba tylko zarejestrować.

24.09.2014 20:46
Szymon_1904
17
odpowiedz
Szymon_1904
79
Rivski pogromca

Podstawowe jest dopiero po trzeciej klasie gimnazjum. Jeszcze 9 m-c i będę miał. Ale dlaczego nie opłaca się pracować w firmie?

24.09.2014 20:50
Katane
18
odpowiedz
Katane
170
Useful_Idiot_

Bo niektórym śmierdzi każdy etat, nawet jak zarabiasz >10k miesięcznie.

28.09.2014 10:54
Szymon_1904
19
odpowiedz
Szymon_1904
79
Rivski pogromca

A ma ktoś listę zarobków programistów na świecie?

28.09.2014 11:29
marcing805
20
odpowiedz
marcing805
193
PC MASTER RACE

"Nie licz, ze nauczysz sie tego w szkole, to w zdecydowanej wiekszosci znanych mi przypadkow kwestia pasji do komputerow, i samodzielnej nauki - szkola moze dac ci jakies podstawy, ale duza czesc najlepszych znanych mi specjalistow albo w ogole nie konczyla szkol technicznych"

Ale to się liczy prawie każdej dziedziny. Dobry mechanik samochodowy czy hydraulik też musi sobie radzić na własną rękę, żeby w branży zaistnieć. Szkoły z nich nie stworzą specjalistów. Samozaparcia porzeba w każdym wykonywanym zawodzie.

28.09.2014 11:32
21
odpowiedz
zanonimizowany561661
45
Senator

Jeżeli nie jesteś samorodnym geniuszem aby pracować jako programista potrzebujesz wyższego wykształcenia informatycznego na dobrej uczelni, bo tylko wtedy dostaniesz dobrze płatną pracę jako programista.

28.09.2014 11:44
22
odpowiedz
zanonimizowany861943
46
Generał

[15] -> Zarobki mniejsze niż programistów chociażby w takich sektorach jak telekomunikacja, praca ciężka, bardzo niestabilna, ponoć niezwykle stresująca - przynajmniej tyle wyniosłem z rozmów z ludźmi którzy pracują jako programiści gier.

Ogólnie - albo się to pokocha i będzie robiło naprawdę dla przyjemności, albo szybko pójdzie do innej pracy.

28.09.2014 11:51
23
odpowiedz
duzyManiek
21
Centurion

W zasadzie jak nauczysz się dobrze jednego języka, to potem nauka innego jest dużo prostsza, bo generalnie zasada jest ta sama jedynie semantyka języka się zmienia i parę innych szczegółów. Grunt to trochę logicznego i analitycznego myślenia :). Powiem Ci, że też kiedyś chciałem programować gry, ale mi przeszło i siedzę teraz na server side ;P. Także wszystko się może jeszcze zmienić. Co na początek? To co było wcześniej napisane C++. Znajomość na pewno nie zaszkodzi, a materiałów jest od groma i to nawet po polsku. Potem zobaczysz czy się chcesz tym bawić czy może czymś innym. Powodzenia :)

Forum: Cała prawda o programistach