Programmer vs Software Engineer. Programmer sudah jelas adalah seorang yang pandai dalam hal bermain-main logika dan mengimplementasikannnya ke dalam sebuah bahasa pemrograman. Sehingga sebuah aplikasi yang sebelumnya hanya memiliki tampilan antara muka dan database, dengan menanamkan sebuah perintah logic programming pada sebuah bahasa pemrograman dapat berjalan sesuai dengan requirement yang telah didokumentasikan sebelumnya. Yang perlu diketahui berbeda hal jika dalam suatu tim terdapat software developer, software engineer atau programmer. Pada dasarnya ketiga peran tersebut sama-sama berkecimpung dalam dunia IT tapi secara job desc ketiganya memiliki perbedaan tersendiri.
Programmer adalah seorang yang ahli dalam menggunakan bahasa pemrograman web, desktop atau mobile. Pada dasarnya setiap programmer memiliki keahlian spesifik yang berbeda-beda. Misalnya seorang programmer web maka sudah dipastikan mengetahui beberapa bahasa pemrograman seperti HTML, CSS, Javascript, Phyton maupun PHP. Begitu pula programmer desktop mereka memiliki keahlian yang spesifik seperti pemrograman Java dengan IDE (Eclipse), atau pemrograman Pascal dan C menggunakan IDE seperti Borland Delphi.
Seorang programmer belum tentu bisa dikatakan seorang software developer. Karena seorang software developer tidak harus memiliki kemampuan programming seperti halnya seorang programmer. Seorang software developer hanya memerlukan kemampuan dalam memahami seluk beluk aplikasi yang akan dibuat seperti requiremen software, kemampuan dokumentasi dan kemampuan dalam update teknologi terbaru tentang yang mendukung pengembangan software.
Kedua peran tersebut pasti terdapat dalam seorang software engineer, dimana seorang software engineer selain menguasai konsep analisa suatu sistem, juga pasti memiliki kemampuan dalam pemrograman karena didalam menerapakan konsep seperti struktur data, bahasa pemrograman mereka setidaknya mengetahui cara menggunakan bahasa pemrograman, selain mereka dituntut dalam memahami sebuah permasalah dari sebuah kasus untuk dimodelkan dalam sebuah metode yang bisa diaplikasi dalam sebuah software.
Dan hal lain yang perlu diketahui seorang programmer atau software engineer setidaknya selalu melakukan update pengetahuan tentang teknologi saat ini dalam pengembangan software agar tidak tertinggal dalam proses pengembangan aplikasi karena saat ini teknoogi pengembangan software kebanyakan tidak perlu lagi mengembangakan dari awal tapi sudah banyak teknologi pengembangan software yang menggunakan konsep framework.