Estos diseñadores investigan, idean y desarrollan software para computadoras y redes o programas de utilidad especializados. Analizan las necesidades de los usuarios y desarrollan soluciones de software, aplicando principios y técnicas de la informática, la ingeniería y el análisis matemático. Actualizan el software o mejoran sus capacidades. Puede que los diseñadores de programas software colaboren con ingenieros especializados en hardware para integrar los sistemas de hardware y software y cumplir con las especificaciones y requisitos de rendimiento. También puede que se encarguen del mantenimiento de las bases de datos dentro de un área de aplicación, trabajando de forma individual o coordinando el desarrollo de bases de datos en equipo.