Specjalizacja czy "One-man-army"?

Odpowiedz Nowy wątek
2018-09-14 13:48
4

Witam.

Piszę tego posta, dlatego że gdzieś w głębi duszy chciałbym w przysłości pracować jako programista. Obecnie mam 17 lat (18 kończę za miesiąc) i od zawsze chciałem pracować w GameDevie. NIestety jak dowiedziałem, się jakie są tam w większości warunku trochę się zniechęciłem. Z tego co czytałem to i, w porównaniu do np. "normalnego" programisty, niska płaca, ogromny stres, gorsze warunki, nadgodziny etc. etc. I teraz stanąłem w miejscu, w którym nie sądziłem, że kiedykolwiek się znajdę. O jakiś 2-3 lat robiłem z siebie niezależnego twórcę gier - programowanie (załóżmy, że głównie C#, jednak liznałem JS i wchodzi mi bez problemu, kiedyś bawiłem się LUA/Pascalem, a także połowicznie ogarnąłem kurs C++ (pierwsza styczność z programowaniem)), obsługa Unity, Blendera (praktycznie każda część procesu - modelowanie, retopo, rzeźbienie, rozkładanie UV, teksturowanie, eksport, kompozycja, renderowanie, animacje, symulacje), grafika koncepcyjna. W 2 kl. technikum przekonałem się do stronek internetowych - także z każdej możliwej strony - i front end, i back end, z tym, że na PHP nie poświeciłem jeszcze większej ilości czasu.

Najgorsze jest to, że nie ma tutaj rzeczy, którą lubię bardziej lub mniej. Programowanie wyciska ze mnie większość energii, ale daje niesamowitą satysfakcję. Grafika 3D sama w sobie mnie relaksuje i mógłbym tak pracować całymi dniami nawet się nie męcząc. To samo z rysowaniem. Stronki praktycznie robią się same jak się za to zabieram. Do tworzenia gier motywuje mnie ciągła myśl, że po 16 latach spędzonych przy grach mam jakieś mniejsze lub większe doświadczenie i jestem w stanie stworzyć coś oryginalnego i przyjemnego w graniu. A to ma SZANSE, że się powiedzie i kiedyś może będę mógł z tego wyżyć.

Dodatkowo, chciałbym zarobić w życiu jakiś sensowny pieniądz - tak więc zostanie grafikiem nie jest mi za bardzo na rękę. Z tego co wiem (może się mylę, poprawcie mnie) to grafik może pomarzyć o takiej wypłacie jak programista. Otworzyć studio gamdevowe / pracować jako freelancer / znaleźć pracę na etat albo pół etatu - cokolwiek - chciałem od zawsze. Zacząć robić coś sensownego, a nie marnować swój czas w szkole. Po technikum najchętniej poszedłbym na studia zaoczne i pracował w ciągu tygodnia. Nie wiem jak to wygląda w praktyce, czy bym wyrobił czy nie, ale miałbym pieniądze, a także powoli dążyłbym do zdobycia tego idiotycznego papierka, dzięki któremu jest się bardziej szanowaną osobą w środowisku pracodawców.

Jak na razie moje portfolio, które mogę komuś zaprezentować to prace graficzne i strony. Programistycznie mam naklepane jakieś ~35 skryptów w moim głównym projekcie (taka tam giereczka na Unity). Nie mogę tego wrzucić na GitHuba (mam rację?), bo same skrypty w folderze nie wiele zrobią, a całej gry nie będę udostępniać, bo ktoś mi ukradnie pliki i sprzeda sobie jako własną grę. Chciałbym to najpierw skończyć i wydać, celowałem w Androida i Steama. Zacząłem kiedyś jakieś 2 projekty na GitHubie, ruszyłem je może 2 razy i w obu przypadkach doszedłem do wniosku, że może lepiej poświęcę mój czas na tą grę. Ruszę to do przodu i zamiast pisać jakieś bezsensowne aplikacje konsolowe, których nigdy nie użyję, będę bliżej gotowego produktu.

Tak jak to już jest z dużymi projektami, im dalej tym dalej do końca. Coraz więcej bugów do naprawienia, później to z optymalizować, a na koniec dodać bardzo dużo zawartości co by gracz się nie znudził. Nie mam pojęcia kiedy ja to skończę, biorąc pod uwagę, że dziennie mam zmarnowane 8h na siedzenie w szkole. Mimo to, że moja szkoła daje ogromny luz (nawet ogarnąłem sobie starego laptopa, żebym mógł sobie pracować na wolnych lekcjach), a do tego nigdy nie miałem problemów z nauką, to jednak po tych ~9h dziennie (licząc z dojazdem + jeszcze jak coś każą się nauczyć w domu) to moje projekty kończą z maksymalnym wkładem 1 do 1,5h dziennie. Im większy projekt się staje tym te 1,5h dziennie to mniej i mniej. Zauważyłem, że największy progres popełniłem na "praktykach" w drugiej klasie. Zamiast zapisywać się do jakiegoś serwisu, w którym nosiłbym butelki z wodą załatwiłem sobie "praktykę" w firmie rodzinnej i przez te 3 tygodnie pracowałem nad moją grą ciurkiem po jakieś 6h dziennie.

Swoją drogą, nie wiem czy praca w serwisie nauczyłaby mnie czegoś nowego nawet jeśli niebyłoby to podawanie tej przysłowiowej wody. Od kiedy pamiętam to ja naprawiałem w firmie komputery, drukarki czy internety. Przy moim PCcie grzebie na porządku dziennym, także nie jest mi to obce. W związku z tym do puli wyborów w moim życiu dorzuciłem jeszcze otwarcie jakiegoś sklepu/serwisu komputerowego. Nie jest to może to o czym marzę, ale jeśli klientów brak to mogę pracować nad moimi projektami/uczyć się czegoś nowego, a jeśli nie brak to nadal mogę robić coś na czym się znam i mam w tym jakieś doświadczenie.

Wracając do wątku głównego - piszę to, żebyście nakierowali mnie w jakąś stronę, ponieważ obecnie utknąłem i zamiast robić choć jedną z tych wyżej wymienionych rzeczy siedzę i marnuję cenny czas w większości na granie w Rainbow6. Z drugiej strony wiem, że większość ludzi w moim wieku nawet nie myśli o tym jak zbudować jakąś własną "markę" czy nauczyć się czegokolwiek poza układem map w CS'ie. No przynajmniej takie wrażenie wywiera na mnie otoczenie, które znam.

Podczas pisania posta nazbierałem spisałem najważniejsze pytania:

  1. Czy skończona, wydana gra jest dobrym elementem do portfolio dla programisty?
  2. Co mogę zacząć robić, aby nabierać doświadczenia w programowaniu? Kiedyś jakiś kolega z projektu oburzył się na mnie, że pisanie skryptów do Unity to nie programowanie. Czy to prawda?
  3. Czy powinienem porzuć wszystko inne na rzecz jednej "specjalizacji"? Mimo, że chciałbym w przyszłości pracować jako programista (lubię to robić + sensowne $$$) to nie chciałbym zostawić reszty.
  4. Czy taki mix umiejętności z każdej dziedziny może mi się kiedyś przydać? Zdaję sobie sprawę, że umiąc każdą rzecz na 50% dla pracodawcy jestem co najwyżej tym 50%, a nie 50% x liczba umięjętności. Jednak w przypadku otwarcia własnego studia lub nawet pracy solo taki zestaw jest cholernie potrzebny. Szczególnie jeśli mam ambicje na zrobienie własnej gry, a nie jakiegoś AssetFlipa.
  5. Możecie mi napisać co sądzicie o mojej stronie internetowej (która w sumie nie jest jeszcze skończona, muszę poprawić zakładkę "About" po angielsku, bo są tam drobne błędy, dodać kilka brakujących podstron etc.). Chodzi mi o to jakie sprawia wrażenie: www.telakowski.pl
  6. Co z tymi studiami? Robić/nie robić? Zaocznie + praca czy dzienne?

Tl;dr: Umiem dużo, ale niczego jeszcze nie wymasterowałem. Nie wiem w którym kierunku teraz pójść. Chciałbym zostać programistą, ale nie wiem jak się za to zabrać.

PS. Podczas pisania tego posta zerwało mi prąd, a tekst zapisał się w jakiś magiczny sposób. Już kocham to forum <3
PS2. Przepraszam za długi post, z którego niewiele wynika, to jest bardziej próba przelania moich nieuporządkowanych myśli na tekst, niż jakiś spójny i ogarnięty tekst. Czekam na wasze odpowiedzi :)

Pozostało 580 znaków

2018-09-14 14:14
2
  1. Czy skończona, wydana gra jest dobrym elementem do portfolio dla programisty?

Jest. Ja zanim zacząłem prace jako programista bardzo interesowałem się gamedevem i nawet swoje marne wypociny z Unity opublikowałem na Google Play. W zasadzie starałem się głównie na tym oprzeć CV w tamtym czasie (brak udokumentowanego doświadczenia).

  1. Co mogę zacząć robić, aby nabierać doświadczenia w programowaniu? Kiedyś jakiś kolega z projektu oburzył się na mnie, że pisanie skryptów do Unity to nie programowanie. Czy to prawda?

Zależy jak "programujesz". Pisanie skryptów w Unity to nie jest rocket science. Jeżeli chcesz iść w stronę gamedev to praca z Unity nawet na poczet projektu hobby to jakieś doświadczenie. Ja często na rozmowach o prace w korpo słyszałem no ale my tu gier nie robimy..

  1. Co z tymi studiami? Robić/nie robić? Zaocznie + praca czy dzienne?

Ja tam widzę rosnący trend na posiadanie papierka lub chodziać samego studiowania w IT. Zawsze polecam zaoczne + praca. Ja żyje w takim trybie i sobie chwale. Skończysz studia, będziesz seniorem z grubym doświadczeniem i papierkiem.

edytowany 3x, ostatnio: Szekel, 2018-09-14 14:16

Pozostało 580 znaków

2018-09-14 14:37
0

Hej,
jak na 17-18latka, nieżle, jeżeli interesuje Cię grafika to looknij tu: https://www.coursera.org/learn/interactive-computer-graphics Tak naprawdę grafika czasem wiąże się z bardziej skomplikowanym aparatem obliczeniowym. Jeżeli interesują Cię rzeczywiście gry, i dobrze znasz podstawy, to może to będzie dla Ciebie za łatwe, ale można się przyjrzeć (to chyba niestety jest płatne, ale chyba jest 7-dniowy trial free): https://www.coursera.org/specializations/game-development W części czwartej pisze się jakiś projekt, co prawda 2D, ale możesz przetestować swoje możliwości. To tyle, powodzenia :)

edytowany 1x, ostatnio: hurgadion, 2018-09-14 14:37

Pozostało 580 znaków

2018-09-14 16:11
0
Szekel napisał(a):
  1. Czy skończona, wydana gra jest dobrym elementem do portfolio dla programisty?

Jest. Ja zanim zacząłem prace jako programista bardzo interesowałem się gamedevem i nawet swoje marne wypociny z Unity opublikowałem na Google Play. W zasadzie starałem się głównie na tym oprzeć CV w tamtym czasie (brak udokumentowanego doświadczenia).

  1. Co mogę zacząć robić, aby nabierać doświadczenia w programowaniu? Kiedyś jakiś kolega z projektu oburzył się na mnie, że pisanie skryptów do Unity to nie programowanie. Czy to prawda?

Zależy jak "programujesz". Pisanie skryptów w Unity to nie jest rocket science. Jeżeli chcesz iść w stronę gamedev to praca z Unity nawet na poczet projektu hobby to jakieś doświadczenie. Ja często na rozmowach o prace w korpo słyszałem no ale my tu gier nie robimy..

  1. Co z tymi studiami? Robić/nie robić? Zaocznie + praca czy dzienne?

Ja tam widzę rosnący trend na posiadanie papierka lub chodziać samego studiowania w IT. Zawsze polecam zaoczne + praca. Ja żyje w takim trybie i sobie chwale. Skończysz studia, będziesz seniorem z grubym doświadczeniem i papierkiem.

Jak po 3 latach bedziesz seniorem i to jeszcze z grubym doswiadczeniem no to... niezle

edytowany 1x, ostatnio: stivens, 2018-09-14 16:12

Pozostało 580 znaków

2018-09-14 16:24
0

Hoho, już się zaczyna różnica zdań kiedy i kto może być seniorem. To też mnie lekko zniechęca. Gdzie jesteś juniorem, średniozaawansowanym lub seniorem w trybie, gdzie od zawszd pracujesz sam i potrafisz rozwiązać każdy problem po użyciu google wystarczająco długo? Bo ja widzę juniora jako osobę, która zna jakąś tam teorię, ale trzeba ją prowadzić za rękę. Czy z kolei senior to osoba, która klepie milion linijek kodu z głowy i zawsze działa? Jest jakaś skala według, której mogę oszacować poziom mojego skilla? W grafice możesz nazwać się seniorem jak robisz dobre modele według jakiejś tam poprawności (np. dobrze zoptymalizowana siatka itd.). W programowaniu co ustawia cię na skali noob-mistrz? Komentarze? Optymalizacja kodu? Nazwy zmiennych? Czy może to że nie używa internetu, aby rozwiązać problem?

Jeszcze może dołożę jedno przemyślenie: Jeśli ktoś zacznie programować w podstawówce to już w gimnazjum osiągnie poziom seniora? No bo to jest 6 lat doświadczenia. Tak samo jak zacząłby dopiero po studiach w pracy. Jak można udowodnić w pracy, że umiesz „na seniora” a nie „na juniora”?

edytowany 1x, ostatnio: lel_mylegispotato, 2018-09-14 16:27

Pozostało 580 znaków

2018-09-14 16:30
2

Junior to pracownik samodzielny wlasnie

Pokaż pozostałe 5 komentarzy
Kończę 18 lat za miesiąc, to mógłbym zacząć już jakąś pracę i zdobywać do doświadczenie komercyjne, bez rezygnowania ze szkoły? - lel_mylegispotato 2018-09-14 16:50
Na start zawsze lepiej iść na pełen etat żeby się szkolić. Wątpie, żeby jakaś firma podjęła takie ryzyko. Nie pal się tak do roboty, bo wejście do IT to często droga pełna rozczarowań. Potem jest lepiej. - Szekel 2018-09-14 16:53
Zalezy co masz na mysli, ale ze szkoly rezygnowac nie trzeba i nie warto - stivens 2018-09-14 16:53
Droga pełna rozczarowań to właśnie szkoła, gdzie pierwszy odcinek HTML’a od Zelenta przerabiany jest przez całą klasę drugą. Żałosne. Marnujesz pół młodości tylko dlatego, że jacyś panowie w garniturkach tak zarządzili. Chciałbym coś dać temu światu, przydać się do czegoś innego niż pisanie kartkówek i zdawanie sprawdzianów :( A w szczególności, że wiem że dałbym radę. Chłonę każdą wiedzę, jednak przez to jak działa system czuję, że tak długo, aż nie dostanę pracy to jest zmarnowany wysiłek. W szczególności, że mimo zebranego doświadzczenia i tak bedę pracował jako junior. - lel_mylegispotato 2018-09-14 17:00
A nawet stazysta - stivens 2018-09-14 17:01

Pozostało 580 znaków

2018-09-14 16:42
0
stivens napisał(a):
Szekel napisał(a):
  1. Czy skończona, wydana gra jest dobrym elementem do portfolio dla programisty?

Jest. Ja zanim zacząłem prace jako programista bardzo interesowałem się gamedevem i nawet swoje marne wypociny z Unity opublikowałem na Google Play. W zasadzie starałem się głównie na tym oprzeć CV w tamtym czasie (brak udokumentowanego doświadczenia).

  1. Co mogę zacząć robić, aby nabierać doświadczenia w programowaniu? Kiedyś jakiś kolega z projektu oburzył się na mnie, że pisanie skryptów do Unity to nie programowanie. Czy to prawda?

Zależy jak "programujesz". Pisanie skryptów w Unity to nie jest rocket science. Jeżeli chcesz iść w stronę gamedev to praca z Unity nawet na poczet projektu hobby to jakieś doświadczenie. Ja często na rozmowach o prace w korpo słyszałem no ale my tu gier nie robimy..

  1. Co z tymi studiami? Robić/nie robić? Zaocznie + praca czy dzienne?

Ja tam widzę rosnący trend na posiadanie papierka lub chodziać samego studiowania w IT. Zawsze polecam zaoczne + praca. Ja żyje w takim trybie i sobie chwale. Skończysz studia, będziesz seniorem z grubym doświadczeniem i papierkiem.

Jak po 3 latach bedziesz seniorem i to jeszcze z grubym doswiadczeniem no to... niezle

Studia zaoczne zazwyczaj trwają dłużej niż dzienne. Robienie magistra to dodatkowe 2 lata. Może spojrzałem zbyt ogólnie mówiąc "po studiach". Bardziej chodziło mi o tą dalszą granicę (5/6 lat).

@Szekel: Studia zaoczne zazwyczaj trwają dłużej niż dzienneod tego roku chyba dopiero - WeiXiao 2018-09-14 22:48

Pozostało 580 znaków

2018-09-14 16:49

Senior to osoba, która jest w stanie sama wykonać każdy projekt w obrębie swojej technologii, specjalizacji (lecz ze względu na czas rzadko to robi), sama się nie uczy, a raczej uczy innych, odpowie na większość pytań i co ważniejsze zna najbardziej optymalne rozwiązania problemów.


No! O takie coś mi chodziło. Teraz mam jakiś punkt odniesienia. - lel_mylegispotato 2018-09-14 16:52
"sama się nie uczy" - tu bym polemizował. Jeżeli się nie uczy, to za kilka lat przestanie być seniorem, bo nie będzie spełniać pozostałych wymagań, które wymieniłeś - Progress 2018-09-14 22:38
wiedziałem, ze ktoś się tego doczepi, logiczne, że chodziło mi uczenie od podstaw, a nie poznawanie, douczanie nowych technologii czy też ocena ich przydatności - czysteskarpety 2018-09-14 23:02
to coś może być mniej optymalne i bardziej optymalne? ;) - danek 2018-09-16 14:52
oj, następny humanista mi się trafił :) - czysteskarpety 2018-09-16 16:08

Pozostało 580 znaków

2018-09-14 22:45
Wesoły Żul
1

Ja wybrałem One man army, ale niezbyt jest to praktyczne.
Raczej specjalizacja jest lepsza i życie normalne, uczenie się wszystkiego jest złe, bo wtedy człowiek dowiaduje się że nie wie nic.

Pamięć i tak się zeruje, niby się coś wie, a to tylko takie złudzenie.

Pozostało 580 znaków

2018-09-14 22:47
Pijany Ogrodnik
1

Full stack to dwóch pracowników w cenie jednego :)

Pozostało 580 znaków

2018-09-14 23:29
1

Zawsze stawiałem na specjalizację i wciąż stawiam. Uczysz się kilku (2-4) technologii i w nich się doskonalisz, z czego masz 1-2 wiodące.
Oczywiście nie zamykasz się na nowości i inne rzeczy, tylko sobie je oglądasz na bieżąco, bez wchodzenia w mega-szczegóły, bo nie dasz rady specjalizować się w jednym czasie w wielu rzeczach. Kolesie, którzy wpisują w swoim CV 30 technologii nie umieją nic.

Jak trafisz do dużego korpo, czy dużej firmy to nawet nie pozwolą Ci dotykać się i uczyć się wielu rzeczy na raz. Robisz w jednym projekcie podobne rzeczy przez np. 2 lata. Jeśli trafisz. Robienie wszystkiego: Java EE, tutaj trochę CSS-a, skrypt w Perlu, baza danych Oracle, jakiś automat w Linuxie + instalacja Windowsa i naprawianie drukarki to raczej specyfika małych firm, takie januszowanie. Podobno są tacy, co sobie to chwalą.
Cóż, każdy musi gdzieś zacząć...

aka wiedzieć wszystko o czymś i coś o wszystkim :) - WeiXiao 2018-09-14 23:38

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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

Użytkownik: JumpSmerf