Seorang pengembang perangkat lunak adalah orang atau organisasi yang bersangkutan dengan aspek dari proses pengembangan software. Mereka dapat terlibat dalam aspek yang lebih luas dari desain dan coding, agak lingkup yang lebih luas dari program komputer atau spesialisasi pengelolaan proyek termasuk beberapa aspek dari perangkat lunak manajemen produk. Orang ini dapat berkontribusi untuk gambaran umum proyek pada tingkat aplikasi daripada tingkat komponen atau tugas-tugas pemrograman individu. Pengembang perangkat lunak seringkali masih dipandu oleh programmer memimpin tetapi juga mencakup kelas pengembang perangkat lunak lepas.