4. Software Engineer

Profesi software engineer sebenarnya ada kemiripannya dengan profesi programmer, system analyst ataupun SQA engineer. Yang membedakannya adalah software engineer memerlukan keahlian lebih mendalam dalam hal SDLC (Software Development Life Cycle) yaitu seluruh proses yang harus dijalani dalam pengembangan software. Pada level tertentu, seorang software engineer juga harus menguasai manajeman proyek software development. Salah satu standar SDLC yang umum digunakan dalam software engineering adalah SWEBOK (Software Engineering Body of Knowledge).
Kompleksitas dalam software develompment dari tahun-ketahun semakin kompleks dan jauh lebih kompleks dibandingkan pada saat awal komputer diciptakan. Untuk itulah para ahli dalam bidang software engineering menyusun berbagai metodologi untuk mengoptimalkan software development process agar dapat menghasilkan produk software yang sesuai dengan tuntutan perkembangan zaman. Keahlian unik seorang software engineer adalah kemampuannya untuk merekomendasikan dan menerapkan metodologi software development terbaik dalam sebuah proyek. Metode-metode software development populer seperti RUP, Agile, Scrum, XP, TDD, BDD memiliki keunggulan dan kelemahan dan tentunya diperlukan keahlian dan pengalaman dalam merekomendasikan dan mengimplementasikan metode yang paling cocok dalam sebuah proyek software development.

Bila programmer dan system analyst ada yang dipekerjakan di perusahaan-perusahaan yang core business-nya bukan software, software engineer umumnya dipekerjakan di perusahaan-perusahaan software development. Bila sebuah perusahaan memerlukan karyawan dengan posisi software engineer, maka kemungkinan besar perusahaan tersebut memerlukan karyawan yang dapat ditempatkan secara fleksibel. Misalnya di sebuah proyek, karyawan A dapat diposisikan sebagai programmer dalam tahap construction, sedangkan dalam proyek lainnya si A dapat diposisikan sebagai system analyst dalam tahap requirement dan design. Dapat pula si A diposisikan sebagai software tester, SQA engineer ataupun di posisi mana saja dalam SDLC.
Kemampuan untuk menguasai seluruh disiplin dalam SDLC tidak membuat software engineer selalu lebih unggul daripada programmer, system analyst atau SQA engineer. Pada tingkatan yang sama, misalnya pengalaman kerja 5 tahun, seorang sistem analyst tentunya lebih ahli dalam menangkap requirement dan bisnis proses serta membuat proposal. Seorang programmer tentunya lebih menguasai secara mendalam bahasa pemprograman dan IDE (Integrated Development Environment) tools serta trik-trik tertentu dalam bahasa pemprograman. Seorang SQA engineer lebih menguasai software testing dan quality assurance. Diluar hal itu, semuanya bergantung pada pribadi masing-masing dalam mengembangkan keahliannya di profesi apapun.

Software Engineer:
Tugas:

  1. Melakukan tugas-tugas programmer, system analyst dan sebagian tugas SQA engineer
  2. Merekomendasikan dan menerapkan metodologi terbaik dalam sebuah proyek software development

Keahlian yang Diperlukan:

  1. Menguasai hal-hal yang dikuasai programmer, system analyst dan SQA engineer (dalam porsi yang lebih sedikit)
  2. Menguasai SDLC berdasarkan SWEBOK (requirement, design, implementation/construction, testing, maintenance)
  3. Menguasai metodologi software development seperti RUP, Agile, XP, Scrum dll

Latar Belakang:

Ilmu Komputer, Teknik Informatika, Manajemen Informatika, Matematika pemusatan studi Komputasi

 

Sumber http://amik-serang.blogspot.com/2010/02/pengembangan-software-development.html

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s