Yazılım ve uygulama geliştiricileri ve analistleri belirli gereksinimleri karşılamak için donanım, yazılım ve diğer uygulamalar gibi bilişim sistemleri üzerine araştırma yapar; bunları planlar, tasarlar, yazar, test eder, danışmanlık verir ve geliştirirler.