Powszechnie organizowane są telekonferencje oraz wykorzystywana jest praca zdalna, ponieważ postęp techniczny umożliwia wykonywanie zadań bez konieczności fizycznej obecności w biurze pracodawcy.
W zależności od obszaru specjalizacji programistów można podzielić na dwie główne grupy:
programiści aplikacji – zajmują się tworzeniem aplikacji komputerowych realizujących określone zadanie, np. wspomaganie zarządzania przedsiębiorstwem, programiści systemowi – rozwijają aplikacje oraz systemy nadzorujące pracę sprzętu komputerowego, np. systemy operacyjne, sterowniki, czy systemy zarządzania bazami danych.
Wraz z rozwojem sieci WWW pojawiło się także zapotrzebowanie na programistów specjalizujących się w tworzeniu aplikacji działających w środowisku WWW.
Testowanie i debugowanie (usuwanie błędów) Osobnym aspektem pracy programisty jest zapewnienie odpowiedniej niezawodności tworzonego oprogramowania. W trakcie tworzenia popełnianie błędów jest nieuniknione – mogą być one wynikiem braku niezbędnej wiedzy i umiejętności lub pomyłek podczas pisania. Proces wyszukiwania i usuwania błędów w oprogramowaniu nazywa się debugowaniem.