Ta witryna wykorzystuje pliki cookies by zarządzać sesją użytkownika. Cookies używane są także do monitorowania statystyk strony, oraz zarządzania reklamami.
W kazdej chwili możesz wyłączyć cookies. Wyłączenie ciasteczek może spowodować nieprawidłowe działanie witryny. Więcej w naszej polityce prywatności.

Jak zostać programistą?

Dobry programista bez trudu znajdzie atrakcyjną pracę, która będzie odpowiadać jego zainteresowaniom i wymaganiom finansowym. Najpierw trzeba jednak zdobyć konkretne umiejętności i wiedzę.

Galeria:

Jak zostać programistą?

Zobacz także:

Słowa kluczowe:

Zdobycie umiejętności w programowaniu wcale nie jest taką łatwą i oczywistą sprawą. Na pewno nie pomagają w tym studia informatyczne, bo szkoły wyższe nie uczą programowania, a raczej prezentują różne możliwości pracy informatyka, ze szczególnym wskazaniem na dostępne kierunki rozwoju. Na studiach nauczymy się jak programować w C++ czy pisać strony internetowe w PHP, jednak nie oznacza to, że dobrze poznaliśmy którykolwiek z tych języków.

  • Jeśli decydujemy się na programowanie, powinniśmy najpierw zadać sobie kilka pytań i dla własnego dobra udzielić na nie szczerej odpowiedzi. Czy pisanie programów sprawia nam przyjemność? Czy mamy zdolności analityczne i czy matematyka nie jest dla nas czarną magią? Czy jesteśmy gotowi opanować coś do perfekcji, a następnie ciągle dokształcać się w wybranej dziedzinie? Czy umiemy pracować w zespole? Jeśli na wszystkie te pytania odpowiedzieliśmy „tak”, to praca programisty jest być może stworzona właśnie dla nas.

  • Ważne są początki. Wprawdzie jest to sztuka (tak, programowanie jest często postrzegane właśnie w kategoriach sztuki), której tajniki możemy zgłębiać w dowolnym wieku, jednak panuje tu zasada, że im wcześniej, tym lepiej. Młody umysł jest chłonny, więc szybciej przyjmie tę skomplikowaną i złożoną wiedzę.

  • Równie ważny jest wybór danego stylu lub języka programowania – warto skoncentrować się na jednym lub dwóch językach i poznać je naprawdę dogłębnie, zamiast rozdrabniać się na dość powierzchowną znajomość pięciu technik. Tutaj dygresja – najprawdopodobniej najlepiej będzie, gdy od razu postawimy na naukę programowania obiektowego, bez względu na to, czy nam się to podoba, czy nie. Metody te są obecnie na tyle modne, że programowanie obiektowe stosuje się niemal wszędzie, nawet tam, gdzie nie jest w zasadzie potrzebne. Tak więc wcześniej czy później tego tematu i tak nie unikniemy – chyba że zdecydowaliśmy się zająć bardzo wąską specjalnością, taką jak na przykład pisanie sterowników czy programowanie w assemblerze. Tak więc teorię programowania obiektowego musimy opanować na bardzo wysokim poziomie. Dobry programista zna i rozumie takie pojęcia jak enkapsulacja, dziedziczenie czy polimorfizm – a także wie, kiedy te metody zastosować.

  • Oczywiście sama wiedza czysto teoretyczna nie wystarcza, najlepiej jest więc uczyć się „obiektowości” na przykładzie konkretnego, popularnego języka programowania, takiego jak Java czy C++. Jeśli chodzi z kolei o sam nasz wybrany „główny język”, to trzeba go stopniowo opanować na poziomie mistrzowskim, oczywiście przez cały czas dążąc do perfekcji i na własną rękę dokształcając się w jego specyfikacji. Trzeba zdawać sobie sprawę, że współczesne żywe języki programowania nie są statyczne i także podlegają rozwojowi.

 

Oto lista najpopularniejszych obecnie języków programowania wraz z krótkim zestawieniem ich charakterystyki i zastosowań:

 

język

typ

zastosowanie

Platforma systemowa

uwagi

C

strukturalny

programowanie systemów operacyjnych, zadania niskiego poziomu, symulacje numeryczne, sterowniki

wieloplatformowy

dominujący język programowania systemów i aplikacji w latach 80-tych, na jego bazie powstał m.in. C++.

Java

obiektowy

aplikacje użytkowe, gry, aplikacje na urządzenia mobilne

Windows x86/x64/IA64, Linux x86/x64/IA64,Solaris

 

tworzy programy kompilowane do kodu bajtowego, cechuje się silnym typowaniem. Jego składnia jest w dużej mierze przejęta z C++

C++

obiektowy

systemy operacyjne, aplikacje użytkowe, gry, aplikacje na urządzenia mobilne, symulacje numeryczne i inne

wieloplatformowy

umożliwia abstrakcję danych oraz stosowanie wielu paradygmatów programowania: proceduralnego, obiektowego i generycznego. Wysoka wydajność kodu wynikowego

Objective-C

obiektowy

framework Cocoa w systemie Mac OS X i w iOS, i inne

wieloplatformowy

rozszerzenie języka C o możliwości obiektowe

C#

obiektowy

zaprojektowany dla firmy Microsoft.

wieloplatformowy

ma cechy wspólne z językami Object Pascal, Delphi, C++ i Java

PHP

obiektowy

zaprojektowany do generowania stron internetowych w czasie rzeczywistym

wieloplatformowy

stosowany do tworzenia skryptów po stronie serwera, używany do przetwarzania danych z poziomu wiersza poleceń i programów pracujących w trybie graficznym

VisualBasic

częściowo obiektowy

język programowania wysokiego poziomu firmy Microsoft, używany jako język skryptowy

Microsoft Windows

nie udostępnia np. możliwości dziedziczenia i polimorfizmu

Python

obiektowy

 

wieloplatformowy

wspiera różne paradygmaty programowania, wyraźna składnia

skryptowy

stosowany na stronach internetowych, możliwość pisania pełnych aplikacji

wieloplatformowy

umożliwia tworzenie aplikacji o graficznym interfejsie użytkownika, dopasowującym się do danej platformy

Perl

obiektowy, interpretowany

stosowany do pracy z danymi tekstowymi, obecnie także używany do wielu innych zastosowań, umożliwia powiązanie systemów i struktur danych, których współpraca nie jest przewidziana w momencie projektowania.

wieloplatformowy

umożliwia programowanie w różnych modelach: proceduralnym, funkcyjnym i obiektowym

Assembler

niskiego poziomu, maszynowy

programowanie mikrokontrolerów, systemów wbudowanych, systemów operacyjnych, sterowników sprzętu.

wieloplatformowy

pierwotnie podstawowy język programowania procesorów

 

To absolutne podstawy. Są jednak i inne wymagania stawiane programistom, szczególnie tym, którzy pragną zatrudnić się w poważnej firmie. Zalicza się tu:

  • znajomość algorytmiki na poziomie średnim lub zaawansowanym,

  • znajomość obsługi baz danych,

  • znajomość dodatkowych języków programowania,

  • sieci i Internet - jeśli programujemy w technologiach związanych z tworzeniem stron i obsługą protokołu HTTP, konieczna będzie też zapewne dobra znajomość związanych z tym zagadnień,

  • Unix/Linux. Idealny programista to taki, który potrafi odnaleźć się pod każdym systemem operacyjnym, także pod Linuksem,

  • języki obce – nie sposób być programistą bez podstawowej znajomości języka angielskiego, wymaga tego nie tylko konieczność komunikacji z zespołem, ale także samodzielne czytanie ze zrozumieniem fachowej literatury czy dokumentacji programów.

Bycie programistą to jednak coś więcej niż nauczenie się kilku technik. To kwestia znajomości środowiska i obycia. Dlatego najlepiej jest po prostu działać. O ile naukę programowania warto zacząć od samodzielnego przerabiania programów z książek, im dalej już, tym bardziej warto pisać prawdziwe programy – także na zamówienie. Możemy zacząć od najprostszych zleceń i w ten sposób stopniowo nabierać doświadczenia, które, nawiasem mówiąc, w tej branży liczy się dużo bardziej niż certyfikaty czy dyplomy. Początkowo pieniądze z tego nie są duże, ale doświadczenie oraz kolejne wpisy w CV okażą się z czasem bezcenne. Warto także brać udział w konkursach programowania oraz udzielać się na stosownych forach dyskusyjnych. Takie wejście w środowisko programistów znacznie też ułatwi nam znalezienie pierwszej pracy w zawodzie.