Programmer dan Software Engineer keduanya membantu dalam menciptakan software baru. Tanggung jawab dari kedua pekerjaan ini adalah bagian integral untuk mengembangkan perangkat lunak baru. Perbedaan antara Software Engineer dan Programmer memang sedikit membingungkan. Berikut perbedaannya:
Programmer adalah seseorang yang mempunyai keahlian khusus untuk menulis dan merancang program menggunakan bahasa pemrograman. Sedangkan Software Engineer adalah seseorang yang memiliki kemampuan untuk merancang, mengimplementasi dan menganalisis perangkat lunak. Jadi pada dasarnya, programmer adalah bagian dari software engineer itu sendiri, yaitu pada tahap implementasi perangkat lunak menggunakan bahasa pemrograman tertentu.
Letak perbedaan yang mendetail dari kedua bidang ini yaitu:
Programmer
- Memahami kode sumber yang ditulis sendiri pada saat ia tidak lagi mengingat detail mekanisme dari program tersebut.
- Membaca program untuk memperkaya perkakas yang dimiliki seorang programmer untuk memecahkan masalah.
- Melanjutkan pengelolaan, menyesuaikan, mengembangkan, dan merombak untuk menyesuaikan program dengan kebutuhan pengguna tanpa mengorbankan perawatan di masa mendatang.
Software Engineering
- Menguasai hal – hal yang dikuasi programmer, system analyst dan SQA Engineer.
- Menguasai SDLC (System Development Life Cycle) / siklus hidup pengembangan sistem yang meliputi requirement, design, implementation / construction, testing, dan maintance.
- Menguasai metologi software development seperti RUP, Agile, XP, Scrum, dll.
Software Engineer adalah orang yang melakukan proses engineering, sedangkan programmer adalah orang yang melakukan proses programming.