INTRODUCTION.
Bagi setiap orang yang telah memasuki dunia kerja khususnya bagi yang telah mengantongi sertifikat atau ijazah dari pendidikan ,yang telah dia jalani dengan serius, adalah bekerja sebagai professional sesuai dengan bidang yang dia pelajari.
Untuk memeberikan gambaran mengenai lapangan kerja dan kecenderungan profesi, dibawah ini saya sampaikan profesi yang diminati atau terpopuler pada setiap bidang yang ada di Negara maju (USA). Penetapan Urutan didasari pada pertumbuhan , gaji, tingkat stress, flexibititas jam dan linkungan kerja , creatifitas, kemudahan masuk, dan kelanjutan kerja pada bidangnya. Pada masa atau decade ini 10 profesi yang paling top menurut Money magazine adalah sebagai berikut:
- Software engineer
- College professor
- Financial adviser
- Human-resources manager
- Physician assistant
- Market research analyst
- Computer/IT analyst
- Real estate appraiser
- Pharmacist
- Psychologist
Dari sekian bidang atau profesi yang ada, rangking tertinggi atau yang paling top adalah profesi software engineer. Bagi sebagian orang profesi software engineer merupakan profesi yang familiar, sedangkan bagi banyak orang profesi ini masih merupakan profesi yang membingungkan atau belum jelas apa kerjaannya. Hal ini disebabkan begitu banyaknya jenis pekerjaan yang ditangani oleh profesi ini. Agar gambaran tentang profesi software engineer ini dengan mudah dipahami oleh banyak pihak perlu dilakukan penguraian tugas dan cakupan pekerjaan software engineer secara lebih lugas dan mudah dimengerti.
AREA KERJA SOFTWARE ENGINEER.
Dalam prakteknya seorang software engineer dapat bekerja area mana saja termasuk area yang bukan engineering seperrti perbangkan dan lainnya, namun bila seorang software engineer seharusnya bekerja sesuai dengan bidang study yang dipelajarinya maka mereka harus bekerja pada bidang yang berkaitan dengan kegiatan yang ada dalam proses software engineering.
Bidang kerja software engineer yang sesuai dengan area cakupan dari Area software engineering menurut The Software Engineering Body of Knowledge (SWEBOK) dikelompokkan menjadi 10 knowledge areas yaitu:
- Software requirements
- Software design
- Software construction
- Software testing
- Software maintenance
- Software configuration management
- Software engineering management
- Software engineering process
- Software engineering tools and methods
- Software quality
PROFESI SOFTWARE ENGINEERING DARI MASA KE MASA.
Profesi bidang software engineering atau lebih spesifik profesi software engineer berkembang dari era ke era sesuai dengan perkembangan teknologi yang berkaitan dengan software computer atau secara lebih luas perkembangan bidang teknologi informasi.
Pada periode awal digunakannya computer dikenal profesi coder, karena pada era itu pemrograman computer masih menggunakan kode yang berorientasi pada bahasa mesin seperti assembler, dan sejenisnya.
Pada periode berikutnya dikenal profesi pemrogram computer atau programmer, designer, dan system analist yang dikelompokkan menjadi junior sampai senior (atau yang tingkat I, II, III), dan profesi bidang software lainnya. Pada era ini pemrograman computer sudah menggunakan bahasa pemrograman yang sebagian besar berorientasi pada prosedur seperti cobol, fortran, ADA, LISP, dll. Profesi designer dan system analist pada era ini berkaitan dengan pembuatan pemodelan system , pembuatan struktur data dan specifikasi program, sedangkan pemrogram berkaitan dengan penulisan program sesuai dengan ahasa pemrograman yang digunakan.
Era berikutnya adalah era dimana pemrograman yang menggunakan window sebagai bentuk tampilan atau user interfaces. Profesi pemrogram computer pada era ini banyak berhubungan dengan pemrograman yang berorientasi pada visual seperti Visual basic, visual cobol, dll, yang mempunyai kemampuan orientasi kepada object. Designer banyak berhubungan dengan design window atau form tampilan yang didukung oleh Tools untuk membangun UI.
Era yang paling akhir adalah system berbasis web, pemrogram computer pada era ini banyak bekerja dengan menggunakan bantuan “development Tools” sehingga pada era ini seorang pemrogram, designer aplikasi computer dikenal dengan “Developer”. Designer pada era ini banyak berhubungan dengan kegiatan pembuatan User Interface secara sangat dominan. Pemrograman aplikasi dilakukan dengan menggunakan bahasa pemrograman yang berbasis object dengan kemapuan berbasis Web. Hal lain yang menonjol pada era ini adalah semua system harus bersifat terbuka (open system) yang artinya setiap system harus bersifat saling berkomunikasi dengan system yang lainnya dengan berbagai cara.
PROFESI SOFTWARE ENGINER.
beberapa profesi utama yang berkaitan dengan software aplikasi komputer antara lain software engineer, software, architect, dan software developer. Namun masih terjadi kesimpang siuran mengenai profesi software engineer, software architect, developer, dan sebutan lain terkait profesi yang berhubungan dengan software aplikasi computer.
Untuk menghidari kesimpangsiuran dan/atau kerancuan terhadap profesi tersebut diatas akan di coba untuk mencari definisi untuk tentang software engineer, software architect, dan software developer.
Software engineer:
Sofware engineer didefinisikan oleh IEEE software engineering body of knowledge tahun 2004 atau SWEBOK 2004 sebagai:
(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.
(2) The study of approaches as in (1).
Software Architect:
Software architect menurut Adrew anguelo merupakan penamaan ulang (renaming) dari profesi lama system engineering. Sebelum memahami tentang software architect kita lihat dulu mengenai profesi system engineering yang oleh SWEBOK 204 didefinisikan sebagai:
“Systems engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, then proceeding with design synthesis and system validation while considering the complete problem: operations performance, test, manufacturing, cost and schedule, training and support and disposal.”
Sedangkan profesi software architect merupakan derivative dari profesi yang dahulu dikenal dengan system engineer yang oleh Andrew angualo didefinisikan sebagai:
a software architect is responsible for ensuring that complete consideration of such aspects as requirements, designs, topology, hardware, cost, schedules, and training of a project are encompassed in the end result.
Software developer:
Sebutan profesi Software developer muncul pada era aplikasi Web based yang pada era ini banyak bermunculan “development tools” dan Integrated development environment – IDE, yang dikembangkan oleh perusahaan software besar untuk mendukung pengembangan software aplikasi berbasis web.
Dari definisi diatas dapat disimpulkan bahwa profesi software enginer mencakup setiap aspek yang ada dalam SDLC dan bersifat systematic, disciplined, quantifiable.
TREND TERAKHIR PROFESI SOFTWARE ENGINEER.
Sesuai dengan perkembangan teknologi terkait software engineering yang ada saat ini, dimana hampir semua software aplikasi bersifat web-based, dan bersifat terbuka, maka profesi software engineering, akan mengikuti trend yanga ada. Profesi yang ada dan popular saat ini dapat berupa:
Profesi software engineer yang berkaitan dengan development Web application:
- Web application designer,
- web application developer,
- Web content manager,
- Dll.
Profesi software engineer yang terkait dengan testing:
- Test case developer,
- Test engineer,
- Software quality engineer,
- Dll.
Profesi software engineer yang terkait dengan operasi , maintenance, dan lainnya:
- Software application support engineer,
- Software configuration,
- Application integrator,
- Data integrator,
- Business process engineer,
- Data warehouse engineer
- Data mining engineer
- Business intelligent, Dll.
KESIMPULAN.
Trend profesi software engineer dari tahun ke tahun pada dasarnya sama, namun berkembang terus menerus sesuai dengan perkembangan teknologi yang terkait dengan aplikasi dan metodologi pengembangannya.
Akibat dari perkembangan aplikasi dan metodologi tersebut diatas dapat memunculkan sebutan atau title profesi baru, namun pada dasarnya merupakan penamaan ulang (renaming) profesi yang telah ada untuk jenis teknologi dan metodologi yang baru.
Dengan munculnya berbagai software platform dan tools yang bervariasi dan adanya tuntutan saling berkomunikasi antar platform maka diperlukan profesi software engineer yang berhubungan dengan system integrator.