Senin, 20 Maret 2017

KODE ETIK PROFESI (Etika & Profesionalisme TSI #)

Perbedaan programmer dan software engineer


Deposit photos : Ilustraion Programmer
Pada artikel kali ini, saya akan mencoba mengulas mengenai perbedaan software engineer dan programmer . Sebenarnya sudah banyak artikel di situs lain yang juga membahas topik ini , dan saya akan mencoba menyimpulkannya.

1. Programmer
Programmer adalah seseorang yang mempunyai kemampuan khusus untuk menulis dan merancang program menggunakan bahasa pemrograman .
Lebih jelasnya rogrammer adalah seseorang yang melakukan penulisan dan pengubahan script atau kode sumber dari sumber sehingga dapat membentuk suatu program yang mempunyai suatu fungsi tertentu . Penyuntingan kode sumber meliputi proses pengetesan , analisis , pembetulan kesalahan , pengoptimasian algoritma , dan normalisasi kode .
Beberapa keterampilan yang harus dimiliki oleh seorang programmer :
1.Memahami kode sumber yang ditulis sendiri pada saat ia tidak lagi mengingat detail mekanisme dari program tersebut .
2.Melanjutkan pengelolaan , menyesuaikan , mengembangkan , dan merombak untuk menyesuaikan program dengan kebutuhan pengguna tanpa mengorbankan perawatan di masa mendatang
3.Membaca program untuk memperkaya perkakas yang dimiliki seorang programmer untuk memecahkan masalah .

2. Software Engineer
Software Engineer lebih dari seorang programmer . Software Engineer selain menulis coding program, mereka juga menganalisa , merekayasa, spesifikasi , dan mengimplementasikan perangkat lunak . Software engineer memahami proses menghasilkan sebuah sebuah perangkat lunak yang berkualitas . Bagaiamana cara agar perangkat lunak yang dihasilkan bisa diterima di pasaran. Software Engineer juga harus memiliki jiwa kepemimpinan , dan mampu mengelola kelompok kerja agar tetap harmonis .
Lalu apa keterampilan yang dimiliki Software Engineer ?
Keterampilan yang dimiliki Software Engineer
1. Menguasai hal-hal yang dikuasi programmer, system analyst dan SQA Engineer .
2. Menguasi SDLC (System Development Life Cycle) / siklus hidup pengembangan sistem yang meliputi requiment, design, implementation / construction , testing , dan maintenance .
3. Menguasai metologi software development seperti RUP , Agile, XP , Scrum, dll .

Perbedaan Programmer dan Software Engineer :
Software engineer adalah orang yang melakukan proses engineering sedangkan programmer adalah orang yang melakukan proses programming . Lalu apa perbedanya ? Perbedaanya terletak pada :

1 . Kreatifitas

Ilustrasi : kreatifitas
Mungkin bila sudah membaca artikel mengenai “Perbedaan antara software engineer dan programmer” di situs lain pasti salah satu menyebutkan bahwa programmer ibarat koki dan software engineer sebagai chef . Koki dan chef sama saja , sama-sama masak , namun yang membedakan antara koki dan chef adalah kekreatifitasannya . Andai seorang koki dan chef diberikan sebutir telur dan disuruh memasakan telur itu dan kemudian menghidangkannya ke orang lain , maka yang dilakukan seorang koki adalah memasak telur itu kemudian memberikannya ke orang lain, sedangkan yang dilakukan chef adalah bagaimana membuat telur istimewa saat dihidangkan ke orang lain , segala proses akan dilakukan dengan teliti dan sebaik mungkin sebelum dihidangkan ke orang lain.
Sama halnya dengan programmer dan software engineer , programmer ibarat seorang koki dan software engineer seorang chef , programmer hanya menulis coding kemudian membuatnya menjadi sebuah perangkat lunak yang siap pakai . Sedangkan software engineer berfikir bagaimana perangkatl lunak istimewa dikalangan pengguna , mereka benar-bebar berfikir keras tentang fungsi , desain , dll .
Kreatifitas adalah salah satu pembeda antara programmer dan software engineer . Lalu pembeda antara programmer dan software engineer yaitu?

2. Letak tugas

Ilustrasi : letak tugas
Programmer melakukan tugasnya pada tahap construction . Setelah desaigner mendesain baru programmer yang mengimplementasikannya dengan menulis koding . Sedangkan software engineer lebih luas atau dapat dibilang semuanya .
Seperti yang tulis diatas pada keterampilan yang harus dimiliki oleh seorang software engineer . Software engineer harus menguasi SDLC (System Development Life Cycle) / siklus hidup pengembangan sistem yang meliputi requiment, design, implementation / construction , testing , dan maintenance . Software engineer mampu menulis koding , tapi mereka juga mampu membuat kerangka atau desainnya .
Inilah pembeda antara programmer dan software engineer yang kedua , letak tugas . Lalu yang ketiga ?

3. Upah kerja

Ilustrasi : Upah kerja
Di Indonesia programmer diupah sekitar 4 – 7 juta perbulan sedangkan software engineer 10 – 17 juta perbulan .
Tapi sekarang di perusahaan di indonesia banyak melakukan suatu kecerdikan misalnya dengan menggaji programmer sama dengan UMR (Upah Minimum Regional) dan inilah yang membuat programmer tidak bekerja sepenuh hati .
Di Amerika upah Tenaga IT lebih tinggi dibandingkan Pegawai Negeri , hal ini karena karena banyak perubahan dilakukan oleh para programmer , sebut saja Bill Gates , Larry , Mark Zuckerberg . Mereka para programmer / software engineer yang mampu membuat negara amerika menjadi nagara adikdaya seperti saat ini . Upah kerja adalah pembeda antara programmer dan software engineer , upah kerja juga pembeda antara programmer Indonesia dan luar negeri .

Referensi :
1.      Dicky Kamarullah, Jumat 25 November 2016. Jurnal Seorang Programmer http://jurnalprogrammer.blogspot.co.id/
2.      Marsha , Minggu 19 Juni 2011. ETIKA PROFESI-Software Engineer
http://sharfinaq.blogspot.co.id/2011/06/etika-profesi-software-engineer.html

Tidak ada komentar:

Posting Komentar