Każdy z nas korzysta codziennie z różnego rodzaju programów komputerowych. Bez nich nie poradziłyby sobie zarówno osoby prowadzące sklepy internetowe, księgowość, edytorzy czy fotografowie – wymieniając tylko parę. Żeby jednak mogli oni korzystać z ułatwiających im życie programów, potrzebny jest ktoś kto je dla nich stworzy – osoba ta to programista. Terminem programowanie określa się bardzo wiele czynności. Między innymi jest to pisanie kodu programu przy pomocy specjalnego języka, na przykład C++ czy Java.

Tworzenie takiego kodu to żmudny i skomplikowany proces, który wymaga nie tylko perfekcyjnego opakowania danego języka programowania, ale także wiedzy pochodzącej z innych dziedzin: analityki matematycznej, znajomości algorytmów czy narzędzi programistycznych. Każdy napisany program powinien być także dostosowany do jakichś wymagań sprzętowych, dlatego je także bierze się pod uwagę. Ale napisanie kodu to nie wszystko, następnie trzeba jeszcze przeprowadzać mnóstwo testów, dzięki którym będzie możliwe wychwycenie błędów w programie. Usuwanie błędów nazywa się debugowaniem (od angielskiego debug). Ta faza to jedna z ważniejszych czynności, ponieważ trzeba sprawdzić jak dany program zachowuje się w konkretnym środowisku systemowym, z jakimi sprzętami współpracuje i jak wykorzystuje ich zasoby. Kolejnym krokiem jest integracja, która polega na powiązaniu danego programu z innymi i ich scaleniu. Na tym jednak nie kończy się praca nad programem, trzeba bowiem cały czas sprawdzać jego sprawność i w razie potrzeby naprawiać. Generalnie praca programisty wymaga bardzo dużych umiejętności jak i również wymaga skupienia i spokoju, wynika to z tego ze pisanie tysięcy linijek kodu jest zadaniem trudnym.

Oczywiście do dyspozycji posiadają programiści specjalne oprogramowanie, które wspomaga tą pracę, jednak tak czy owak jest to zajęcie bardzo trudne i mozolne. Pomimo wszystko jednak wielu programistów wykonuje swoją pracę z pasją, co chyba jest niezbędne w tak trudnym zawodzie.