Software Engineering (SE) merupakan cabang ilmu dari Computer Sciences yang mempelajari berbagai metodologi dan alat bantu pengembangan perangkat lunak secara sistematik.  Pengembangan perangkat lunak yang dilakukan tanpa menggunakan metodologi-metodologi dan alat bantu yang terdapat pada SE dapat mengakibatkan perangkat lunak yang dirancang tidak sesuai dengan yang diinginkan dan kinerja perangkat lunak yang dihasilkan lambat sehingga menghasilkan kerugian yang besar bagi pengguna perangkat lunak tersebut.  Software Engineering merupakan ilmu dasar untuk pengembangan perangkat lunak semua jenis termasuk didalam nya sistem multimedia, software networking , software database , web application dan mobile application .

Metodologi pengembangan perangkat lunak saat ini telah berkembang pesat. Mulai dari metodologi waterfall hingga metodologi agile programming. Penggunaan metodologi pada pengembangan perangkat lunak sangat membantu software developer dalam menghasilkan produk software yang sesuai dengan yang diinginkan oleh stakeholder dan customer. Kemampuan analisis yang mendalam harus dimiliki oleh software developer untuk mendapatkan apa yang diinginkn oleh stakeholder. Kesalahan analisis dan merancang perangkat lunak dapat menyebabkan  ketidaksesuaian antara software yang dihasilkan dengan kebutuhan stakeholder. Berikut ilustrasi dari sebuah gambar dari blog software developer yang menggambarkan bagaimana akibat dari kesalahan analisis dan metodologi perangkat lunak:

Software Engineering

Berdasarkan data yang dikeluarkan oleh IEEE dari blog software developer, Sypros Doulgeridis, kesalahan pengembangan perangkat lunak menyebabkan perusahaan  yang mengembangkan software dalam rangka mengefisiensikan proses bisnisnya mengalami kerugian hingga jutaan dollar.

Software Engineering

Oleh karena itu software engineering memegang peranan yang sangat penting untuk menghasilkan perangkat lunak yang berkualitas dan dapat diukur pengembangan dan evaluasi kinerja perangkat lunak yang diharapkan.

Software engineering dapat mencakup metodologi pengembangan software , perancangan software  dengan menggunakan diagram-diagram seperti unified model language (UML), implementasi perancangan software kedalam code, dan testing serta pengukuran kualitas software yang dihasilkan. Software engineering juga fokus kepada pengembangan software yang sudah ada dengan metodologi reusable software engineering yang menggunakan komponen-komponen library perangkat lunak yang telah ada untuk diubah atau ditingkatkan sesuai dengan perubahan-perubahan kebutuhan yang terjadi akibat  pengaruh lingkungan internal dan eksternal organisasi.

Bidang pekerjaan yang membutuhkan kemampuan software engineering cukup banyak dengan gaji yang cukup besar.  Berdasarkan data yang dilansir oleh United States Department of Labor pada bulan Mei tahun 2008, rata-rata pendapatan software engineer sebanyak $85.430 pertahun di Amerika. Lima puluh persen diantaranya gaji dan pendapatan software engineer diantara $67.790 dan $104.870 per tahun. Berdasarkan data yang dilansir oleh Top Ten Reviews, gaji tertinggi software engineer pada tahun 2011 mencapai $132.080 pertahun.

Software Engineering

Pekerjaan yang termasuk dengan software engineering diantaranya adalah project manager , system analyst, software developer dan programmer .  Menurut data Top Ten Reviews terdapat 909.600 pekerjaan yang termasuk dengan bidang software engineering di seluruh dunia.

Aditya Kurniawan
Concentration Content Coordinator Software Engineering