Apa yang dimaksud dengan pengembang perangkat lunak atau software engineer ?

Pengembang perangkat lunak

Pengembang perangkat lunak biasanya merujuk pada seseorang yang mempunyai tugas untuk mengembangkan perangkat lunak. Hal ini terkadang rancu dengan istilah programmer.

Apa yang dimaksud dengan pengembang perangkat lunak atau software engineer ?

Menurut Conger, Software Engineers are skilled professionals who can make a real difference to business profitability .

Definisi tersebut lebih menekankan terhadap kata profesional yang dalam referensi aslinya mengarah kepada kemampuan mengatur dan mempersembahkan kualitas yang baik dari sebuah proyek perangkat lunak. Dari kata tersebut pula dapat dibedakan antara seorang programmer biasa dengan seorang pengembang perangkat lunak. Bahwa seorang programmer, betapapun mahirnya, belum tentu dapat menjadi seorang pengembang perangkat lunak. Tetapi kebalikannya, seorang pengembang perangkat lunak, bukan berarti menjadi seorang programmer yang mahir, tetapi mampu mengatur dan mengembangkan perangkat lunak dengan baik bersama tim yang dimilikinya.

Sedangkan menurut Laplante, The profession of software engineering encompasses all aspects of conceiving, communicating, specifying, designing, building, testing, and maintaining software system .

Bahwa profesi dari pelaku utama Software engineer tidak hanya sebagai seorang programmer tetapi juga meliputi kegiatan lain yang bersifat manajerial sehingga mampu mengembangkan perangkat lunak secara utuh, tidak hanya di dalam proses pembuatan.

Sommervile menyebutkan bahwa seorang pengembang perangkat lunak seharusnya tidak hanya berkutat terhadap isu-isu teknis seperti debugging bahasa pemrograman dan pemikiran mengenai instalasi infrastruktur. Tetapi lebih jauh lagi, bahwa pengembang perangkat lunak adalah seseorang yang mampu melakukan analisa hingga proses pemeliharaan perangkat lunak secara tepat dan terarah.

Berikut merupakan syarat yang ditetapkan oleh organisasi ACM dan IEEE terkait dengan pengembang perangkat lunak :

  • Bahwa seorang software engineer wajib menjunjung tinggi kualitas dari produk yang dihasilkan

  • Seorang software engineer mampu mempertahankan reputasi dan integritas dalam melaksanakan pekerjaannya.

  • Seorang software engineer wajib menjadi lifelong learning atau seorang pembelajar yang tidak pernah berhenti sepanjang hayatnya. Sehingga apapun perkembangan teknologi yang terjadi, sangat penting untuk diikuti oleh seorang software engineer.