Zacznijmy przewrotnie: nie musisz znać matematyki, aby programować
Dyskusja na temat tego, jak bardzo istotna jest matematyka w pracy programisty, to temat na kilka paneli dyskusyjnych i niekończącą się polemikę w grupach. Osoby, które skończyły studia informatyczne, najczęściej patrzą przez swój indywidualny pryzmat – w ramach zajęć wszystkie odmiany tytułowej dziedziny są intensywnie nauczane od pierwszego roku, aż do momentu uzyskania dyplomu magistra. Fakt ten wynika bezpośrednio ze specyfiki samych studiów, a nie zapotrzebowania rynkowego. Uczelnia z założenia miała być miejscem elitarnym, znacznie poszerzającym kręgi wiedzy i sposoby jej zdobywania. Tymczasem wolnorynkowa zasada brzmi: „Umiesz już programować i chcesz się dalej rozwijać? To bardzo dobrze, nadajesz się na juniora!”. Nikt nie wspomina przy tym o królowej nauk, a w CV patrzy się najczęściej tylko na doświadczenie i ukończone kursy.
Projektowanie współczesnych gier jest skomplikowane i łatwiejsze jednocześnie
Większość obecnie wychodzących tytułów AAA, to gry osadzone w pięknych światach 3D. Każda z nich działa w obrębie konkretnego silnika graficznego: autorskiego lub komercyjnego, jak na przykład Unreal Engine.
Ciekawy fakt jest taki, że dawniej, zajmując się projektowaniem gier 2D, deweloperzy musieli zdecydowanie mocniej przyłożyć się do wielu różnych obliczeń. Dziś te czynności w dużej mierze są „przerzucone” na silniki graficzne, a tym samym potężne komponenty w komputerach osobistych i konsolach, jak również stacjach roboczych do obsługi gier w chmurze.
Natura jak zwykle nie znosi jednak próżni – aby wyprodukować współcześnie grę z najwyższej półki, potrzeba w zamian ogromnego zespołu fachowców i wielu lat pracy, aby „ujarzmić” dany tytuł. Przykładem może być cykl wydawniczy znanej serii GTA, który z każdą kolejną wersją znacząco się wydłuża. Z powodzeniem można wskazać też długi czas pracy nad wszystkimi wersjami polskiej gry Cyberpunk 2077, łącznie z krytykowanym przez wielu graczy przesuwaniem premiery. Po prostu rozmach obecnych tytułów jest tak duży, w tym poziom odwzorowania lokacji, postaci, ruchów, NPC, że wymaga spójnych działań wielu skoncentrowanych na celu programistów z ogromną wiedzą.
Dobrze, to dlaczego tak dużo mówi się o matematyce przy programowaniu?
Znajomość matematyki, w tym nie tylko umiejętność rozwiązywania zadań arytmetycznych, ale też bezcenna zdolność logicznego myślenia, niesamowicie pomaga nie tylko w pisaniu kodu. To przede wszystkim świetna pomoc w samej nauce programowania, poznaniu zasad i prawideł rządzących danym językiem.
Osoby o „matematycznym umyśle” zdecydowanie łatwiej adaptują się w tej branży, chętniej do niej lgną i zdecydowanie szybciej pną się po szczeblach kariery. Tzw. humaniści nie są jednak na skreślonej pozycji – rynek może wykazać mnóstwo przykładów, gdzie osoby takie z powodzeniem się przebranżowiły i teraz odnotowują sukcesy w nowej pracy.
Myślenie matematyczne zdecydowanie przeciera szlak na każdym etapie kariery. Dlatego warto rozwijać tę zdolność u siebie, np. angażując się w dodatkowe zajęcia, biorąc korepetycje – już w wieku szkolnym! Programiści nierzadko muszą dokształcać się, poznając nowe frameworki i języki. Schematy działań znane z geometrii, trygonometrii etc. zdecydowanie pomagają nie tylko w samej nauce, ale też w późniejszym rozwiązywaniu praktycznych problemów.
Nauka matematyki dla wielu osób jest bardzo przykrą czynnością. W wielu przypadkach powód tkwi w nieodpowiednim nauczycielu i zbyt krótkim czasie przeznaczonym na ćwiczenia. Takim osobom – chociaż mogą być jednocześnie wielbicielami grania w gry – prawdopodobnie programowanie nie przyniesie tyle satysfakcji, co samo przechodzenie kolejnych poziomów. Pomiędzy pracą dewelopera i matematyką jest wiele punktów styku (tych oczywistych i mniej znanych), dlatego warto o tym pamiętać, ale jednocześnie nie przekreślając kariery w branży, gdy kiedyś było się uczniem „trójkowym”. Wszak wszystko zależy od motywacji, pracy i zaangażowania – matematyka jedynie pomaga.
Napisz komentarz
Komentarze