1. definisi perangkat lunak adalah instruksi-instruksi (program komputer) yang ketika dijalankan menyediakan fitur-fitur, fungsi-fungsi, dan kinerja-kinerja yang dikehendaki. Peran nya sendiri, dipandang sangat perlu karena ia pada dasarnya memungkinkan kita membangun sistem/perangkat lunak yang kompleks dalam jangka waktu tertentu dan pada dasarnya harus memiliki kualitas tinggi. 2. Dengan kata lain, seorang software engineer mengimplementasikan pengetahuan dan teknik (perekayasaan) dalam merancang, memogram, mengevaluasi, dan mendokumentasikan perangkat lunak Sedangkan software developer itu adalah praktisi yang lahir dari bidang software development. Secara umum, saya bisa menyimpulkan bahwa software engineer itu adalah orang-orang yang menciptakan perangkat lunak yang terskala (dapat menerima input besar), efektif (menjadi solusi untuk masalah yang tepat), efisien (tidak ada memori dan waktu komputasi yang sia-sia), dan pengembangannya taat pada perkiraan biaya - waktu. Sedangkan software developer biasanya tujuan utamanya adalah membuat perangkat lunak yang dapat menyelesaikan masalah pengguna..