fbpx ...

Programowanie po studiach. Czy po studiach zostaniesz programistą?

Jednym słowem: NIE. Kilkoma: TAK, ale jeśli będziesz się dodatkowo edukować. Dzisiaj zmierzę się z częstym pytaniem na mojej mailowej skrzynce, czyli pracą jako programista po studiach.

Mogłoby się wydawać, że największym ograniczeniem w uzyskaniu pracy dla osób, które wybrały kierunki programistyczne na studiach, będzie brak doświadczenia. Niekoniecznie – w przypadku C++ większym problemem są przestarzałe standardy i nauka od teoretyków. Przykładowo, na większości uczelni nie ma jeszcze standardu C++ 17, który będzie podstawą do programowania w tym języku w większości firm.

Programowanie w C++. Teoria a praktyka

Bardzo dużo rozmawiam z uczestnikami naszego kursu C++ online. Część z nich to właśnie studenci, którzy szukają uzupełnienia swojej wiedzy. Okazuje się, że na większości publicznych uczelni nadal uczony jest standard C++03, który w żadnym wypadku nie pomoże Wam w znalezieniu pracy po studiach. Na niektórych jest już C++11! Jaka nowość, a ile on ma teraz lat? Nic więc dziwnego, że większość studentów finalnie nie programuje w C++ i wybiera inny język. Wielokrotnie słyszeliśmy, że w “Javie nie ma wskaźników” albo “w sumie to wolę front-end”.

I jak nie ma w tym nic złego, to często nie jest to efektem preferencji i świadomej decyzji, a bardzo niskiej jakości nauczania na uczelniach. Z tego powodu jednak konkurencja w C++ nadal nie jest duża, za czym idzie większa oferta pracodawców i atrakcyjne zarobki.

Największym “grzechem” uczelni, obok przestarzałego standardu, jest jednak brak praktycznej wiedzy. Wykładowcy nie mają czasu się doszkalać i jeśli pracują tylko na uczelni, są tylko teoretykami. Dotyczy to przede wszystkim uczelni publicznych, chociaż na uczelniach prywatnych nie jest dużo lepiej.

W idealnym świecie, student powinien być uczony standardu min. C++17 przez pracującego komercyjnie praktyka, a zwieńczeniem studiów powinno być gotowe portfolio pozwalające na rozmowę z potencjalnymi pracodawcami.

Niestety na uczelniach brakuje też dobrych praktyk, bo kod ma po prostu działać. Pisze się go na zaliczenie i już później do niego nie wraca. A w komercyjnych projektach kod ciągle się rozwija i modyfikuje. Trzeba wiedzieć, jak pisać kod, który będzie się łatwo rozszerzało o kolejne funkcjonalności bez komplikowania życia sobie i innym programistom.

Pozostaje doszkalanie się

Ja (Łukasz Ziobroń, założyciel Coders School) potrzebuję tylko 5 sekund, żeby rozróżnić kod studencki od profesjonalnego. Nie wierzycie? Wyślijcie mi maila z próbką swojego kodu!

Jak sprawa wygląda z innymi językami programowania? Nie chcę się wypowiadać, ponieważ moje główne doświadczenie dotyczy C++. Ciężko jednak zakładać, że jest dużo lepiej (zwłaszcza na publicznych uczelniach). Dla studenta, który chce pracować jako programista C++ po studiach pozostaje w takiej sytuacji doszkolenie się. Najlepiej w bieżącym standardzie, z zachowaniem dobrych praktyk i praktyczną wiedzą na koniec kursu. 

Taki student jest na wstępie o krok (albo kilka kroków) przed kolegami i koleżankami z roku. A finalnie, dokładnie o to chodzi.

Na sam koniec bardzo ciekawy film, który poniekąd dotyka tego samego tematu:

ninjaletter

A może Ninjaletter?

Chcesz wiedzieć, co słychać w C++ i nie tylko? Zapisz się na Ninjaletter i otrzymuj od nas co miesiąc dawkę wartościowych treści o C++ i zadania rekrutacyjne. Do tego dorzucamy darmowe materiały, spoilery o nowych kursach, specjalne promocje dla ninjaletterowiczów i wiele, wiele innych. To co, skusisz się?

Łukasz Ziobroń

Łukasz Ziobroń

Zmieniam ludzi w prawdziwych programistów. W nauczaniu stosuję grywalizację, andragogikę i neurodydaktykę.

Najnowsze artykuły

good programming practices

Good programming practices – Coding Dojo

Training in a form of Coding Dojo. Participants start with a code review of a small application. They note down their comments. After that, the trainer presents bad and good programming practices. Participants discuss what can be applied in a reviewed code and start fixing it in a form of Coding Dojo.

Czytaj »

Popular C++ Idioms – Coding Dojo

The training starts with a code review of a small application (pre-work). Participants note their thought and discuss their findings in groups. Then popular C++ idioms are presented (the concept and some code) – about 15-20 minutes each. After that participants need to use some of the idioms in a reviewed application code.

Czytaj »
performance optimisations

Performance optimisations

This training is about writing more robust C++ code and algorithms with the help of CPU caches and a compiler. Benchmarking tools are used to show performance gains.

Czytaj »
C++ toolset

C++ toolset

Covers a lot of ground about C++ related tools: build systems, compilers, debuggers, static and dynamic binary analyzers. It is focused more on discovering useful tools, that can solve many software engineering problems.

Czytaj »

Templates – Advanced techniques

Basic usage of C++ templates may not be enough to utilize opportunities, which were introduced in the latest C++ standards. From C++11 we can use templates with any number of parameters and use a simplified mechanism for SFINAE, which is claimed to be a real C++ wizardry.

Czytaj »
templates – basics

Templates – Basics

Templates are pointed out to be the most difficult part of the C++ language. Difficult, but very useful. They allow writing very generic and universal code. Thanks to them, we can avoid code duplication, but also, make it incomprehensible for beginners. This session allows for gaining the necessary knowledge and good practices on using templates.

Czytaj »
STL algorithms in C++ 17

STL Algorithms in C++ 17

This training focuses on the effective use of C++ documentation to implement applications with the use of STL algorithms. First part is mainly theoretical, but there are many short exercises (in a paper form) to apply knowledge instantly and force participants to think and search for solutions in the documentation. The other part is a group activity – implementation of the cryptographic application with proper STL algorithms instead of raw loops.

Czytaj »
STL containers

STL Containers

This training focuses on the effective use of C++ documentation. Computational complexity issues are mentioned. There are many short exercises to apply knowledge instantly and force participants to think and search for solutions in the documentation.

Czytaj »
ninjaletter

Już uciekasz?

Zanim to zrobisz, zapisz się na Ninjaletter, aby wiedzieć, co piszczy w C++. 

Informujemy, iż w celu realizacji usług dostępnych w naszym serwisie, optymalizacji jej treści, dostosowania strony do Państwa indywidualnych potrzeb oraz wyświetlania, personalizacji i mierzenia skuteczności reklam w ramach zewnętrznych sieci reklamowych korzystamy z informacji zapisanych za pomocą plików cookies na urządzeniach końcowych użytkowników. Pliki cookies można kontrolować za pomocą ustawień swojej przeglądarki internetowej. Dalsze korzystanie z naszego serwisu, bez zmiany ustawień przeglądarki internetowej oznacza, iż użytkownik akceptuje stosowanie plików cookies. Więcej informacji zawartych jest w polityce prywatności serwisu.