• Analizuje wymagania klientów
• Projektuje oprogramowanie
• Pisze kod w językach programowania
• Optymalizuje napisany kod
• Pisze dokumentację do programów
• Testuje oprogramowanie i poprawia błędy
• Kieruje dalszym rozwojem oprogramowania
• Wdraża oprogramowanie