Jumat, 16 Oktober 2026
18:49 WIB
TERKINI
Pesawaran Lampung Dorong Rantai Pasok Hijau Kakao, Kopi, Lada ke Pasar Global Pesawaran Pengalihan Status Guru PPPK ke Penuh Waktu: DPRD Pesawaran Soroti Isu Penempatan Lampung Timur Gotong Royong Fantastis: Warga Bandar Agung Himpun Rp15 Miliar untuk Jalan Desa Bandar Lampung JNE Lampung Sukses Ubah Komplain Milea Cutting Jadi Kemitraan Strategis Bandar Lampung Jadwal Padat Pemprov Lampung 16 Oktober 2026: Pisah Sambut Kapolda dan Rapat Strategis Bandar Lampung Lampung Waspada: BMKG Deteksi 212 Titik Panas di Sepuluh Kabupaten Bandar Lampung Masyarakat Lampung Titip Harapan Besar untuk Kapolda Baru: Berantas Narkoba dan Begal Regional Gubernur Herman Deru Minta Polisi Usut Tuntas Pengeroyokan Jurnalis di Palembang Lampung Selatan Bau Menyengat dan Lalat Ungkap Kematian Pria di Natar, Diduga Sakit Kronis Hiburan Daftar Film Paling Dipuji di IMDb 2026: Dari Epik Kolosal hingga Aksi Pahlawan Super Pesawaran Lampung Dorong Rantai Pasok Hijau Kakao, Kopi, Lada ke Pasar Global Pesawaran Pengalihan Status Guru PPPK ke Penuh Waktu: DPRD Pesawaran Soroti Isu Penempatan Lampung Timur Gotong Royong Fantastis: Warga Bandar Agung Himpun Rp15 Miliar untuk Jalan Desa Bandar Lampung JNE Lampung Sukses Ubah Komplain Milea Cutting Jadi Kemitraan Strategis Bandar Lampung Jadwal Padat Pemprov Lampung 16 Oktober 2026: Pisah Sambut Kapolda dan Rapat Strategis Bandar Lampung Lampung Waspada: BMKG Deteksi 212 Titik Panas di Sepuluh Kabupaten Bandar Lampung Masyarakat Lampung Titip Harapan Besar untuk Kapolda Baru: Berantas Narkoba dan Begal Regional Gubernur Herman Deru Minta Polisi Usut Tuntas Pengeroyokan Jurnalis di Palembang Lampung Selatan Bau Menyengat dan Lalat Ungkap Kematian Pria di Natar, Diduga Sakit Kronis Hiburan Daftar Film Paling Dipuji di IMDb 2026: Dari Epik Kolosal hingga Aksi Pahlawan Super
Rekayasa perangkat lunak

Rekayasa perangkat lunak

penerapan pendekatan sistematis untuk mengembangkan perangkat lunak

Bagikan:
Pendekatan rekayasa untuk pengembangan perangkat lunakTemplat:SHORTDESC:Pendekatan rekayasa untuk pengembangan perangkat lunak
Artikel ini bukan mengenai Pemrograman komputer atau Pengembangan perangkat lunak.
Bagian dari seri mengenai
Pengembangan perangkat lunak

Rekayasa perangkat lunak adalah cabang ilmu komputer dan rekayasa yang berfokus pada perancangan, pengembangan, pengujian, dan pemeliharaan aplikasi perangkat lunak.[1] Rekayasa perangkat lunak melibatkan penerapan prinsip-prinsip rekayasa dan keahlian pemrograman komputer untuk mengembangkan sistem perangkat lunak yang memenuhi kebutuhan pengguna.[2][3][4][5]

Seorang insinyur perangkat lunak menerapkan proses pengembangan perangkat lunak[2][6] untuk mendefinisikan, mengimplementasikan, menguji, mengelola, dan memelihara sistem perangkat lunak.

Sejarah

Mulai tahun 1960-an, rekayasa perangkat lunak diakui sebagai bidang rekayasa yang terpisah.[7]

Perkembangan rekayasa perangkat lunak dipandang sebagai suatu perjuangan. Permasalahan yang dihadapi mencakup perangkat lunak yang melebihi anggaran, melampaui tenggat waktu, memerlukan debugging dan pemeliharaan yang ekstensif, serta gagal memenuhi kebutuhan pengguna atau bahkan tidak pernah selesai.

Pada tahun 1968, NATO menyelenggarakan konferensi pertama tentang rekayasa perangkat lunak, yang membahas tantangan yang muncul dalam pengembangan perangkat lunak dan memainkan peran penting dalam meresmikan pedoman serta praktik terbaik untuk menciptakan perangkat lunak yang andal dan mudah dipelihara.[8]

Asal-usul istilah rekayasa perangkat lunak telah dikaitkan dengan berbagai sumber. Istilah tersebut muncul dalam daftar layanan yang ditawarkan oleh perusahaan pada edisi Juni 1965 majalah Computers and Automation[9] dan digunakan secara lebih formal dalam edisi Agustus 1966 Communications of the ACM (Volume 9, nomor 8), dalam "President's Letter to the ACM Membership" oleh Anthony A. Oettinger.[10][11][12] Istilah tersebut juga dikaitkan dengan judul konferensi NATO pada tahun 1968 oleh Profesor Friedrich L. Bauer.[13] Margaret Hamilton menggunakan istilah "rekayasa perangkat lunak" untuk mendeskripsikan disiplin tersebut selama misi Apollo, guna memberikan legitimasi terhadap pekerjaan yang mereka lakukan.[14] Pada masa itu, terdapat anggapan bahwa sedang terjadi "krisis perangkat lunak".[15][16][17] Konferensi Internasional ke-40 tentang Rekayasa Perangkat Lunak (ICSE 2018) memperingati 50 tahun "Rekayasa Perangkat Lunak" melalui pidato utama sesi pleno oleh Frederick Brooks[18] dan Margaret Hamilton.[19]

Pada tahun 1984, Software Engineering Institute (SEI) didirikan sebagai pusat penelitian dan pengembangan yang didanai pemerintah federal dan berkantor pusat di kampus Carnegie Mellon University di Pittsburgh, Pennsylvania, Amerika Serikat.[20] Watts Humphrey mendirikan Program Proses Perangkat Lunak SEI, yang bertujuan memahami dan mengelola proses rekayasa perangkat lunak.[20] Tingkat Kematangan Proses yang diperkenalkan kemudian menjadi Capability Maturity Model Integration for Development (CMMI-DEV), yang mendefinisikan cara Pemerintah Amerika Serikat mengevaluasi kemampuan suatu tim pengembangan perangkat lunak.

Praktik terbaik rekayasa perangkat lunak modern yang diterima secara umum telah dihimpun oleh subkomite ISO/IEC JTC 1/SC 7 dan diterbitkan sebagai Software Engineering Body of Knowledge (SWEBOK).[6] Rekayasa perangkat lunak dianggap sebagai salah satu disiplin utama komputasi.[21]

Dalam sistem modern, ketika konsep seperti edge computing, Internet of Things dan sistem siber-fisik semakin umum, perangkat lunak menjadi faktor yang sangat penting. Oleh karena itu, rekayasa perangkat lunak berkaitan erat dengan disiplin rekayasa sistem. Systems Engineering Body of Knowledge menyatakan:

Perangkat lunak memiliki peran penting dalam sebagian besar arsitektur sistem modern dan sering kali menjadi sarana utama untuk mengintegrasikan komponen-komponen sistem yang kompleks. Rekayasa perangkat lunak dan rekayasa sistem bukan sekadar disiplin yang berkaitan; keduanya saling terkait erat.... Rekayasa sistem yang baik merupakan faktor kunci untuk memungkinkan rekayasa perangkat lunak yang baik.

Terminologi

Definisi

Definisi penting mengenai rekayasa perangkat lunak meliputi:

  • "Penerapan sistematis pengetahuan, metode, dan pengalaman ilmiah dan teknologi pada perancangan, implementasi, pengujian, dan dokumentasi perangkat lunak."—Bureau of Labor Statistics—IEEE Systems and software engineering – Vocabulary[22]
  • "Penerapan pendekatan yang sistematis, disiplin, dan terukur terhadap pengembangan, pengoperasian, dan pemeliharaan perangkat lunak."—IEEE Standard Glossary of Software Engineering Terminology[23]
  • "Disiplin rekayasa yang berkaitan dengan seluruh aspek produksi perangkat lunak."—Ian Sommerville[24]
  • "Pembentukan dan penggunaan prinsip-prinsip rekayasa yang baik untuk memperoleh perangkat lunak yang andal dan bekerja secara efisien pada mesin nyata dengan biaya yang ekonomis."—Fritz Bauer[25]
  • "Cabang ilmu komputer yang berkaitan dengan perancangan, implementasi, dan pemeliharaan program komputer yang kompleks."—Merriam-Webster[26]
  • "Rekayasa perangkat lunak" tidak hanya mencakup tindakan menulis kode, tetapi juga semua alat dan proses yang digunakan suatu organisasi untuk membangun dan memelihara kode tersebut dari waktu ke waktu. [...] Rekayasa perangkat lunak dapat dipandang sebagai "pemrograman yang terintegrasi sepanjang waktu".—Software Engineering at Google[27]

Istilah tersebut juga digunakan secara lebih informal:

  • Sebagai istilah kontemporer informal untuk berbagai aktivitas yang sebelumnya disebut pemrograman komputer dan analisis sistem[28]
  • Sebagai istilah luas untuk seluruh aspek praktik pemrograman komputer, berbeda dengan teori pemrograman komputer yang dipelajari secara formal sebagai subdisiplin ilmu komputer[29]
  • Sebagai istilah yang mewujudkan advokasi terhadap pendekatan tertentu dalam pemrograman komputer, yang menganjurkan agar pemrograman diperlakukan sebagai disiplin rekayasa, bukan sebagai seni atau kerajinan, serta menganjurkan kodifikasi praktik-praktik yang direkomendasikan[30]

Kelayakan

Para komentator berbeda pendapat secara tajam mengenai cara mendefinisikan rekayasa perangkat lunak atau mengenai legitimasi bidang tersebut sebagai disiplin rekayasa. David Parnas menyatakan bahwa rekayasa perangkat lunak memang merupakan suatu bentuk rekayasa.[31][32] Steve McConnell menyatakan bahwa rekayasa perangkat lunak bukanlah rekayasa, tetapi seharusnya demikian.[33] Donald Knuth menyatakan bahwa pemrograman merupakan seni sekaligus ilmu pengetahuan.[34] Edsger W. Dijkstra menyatakan bahwa istilah rekayasa perangkat lunak dan insinyur perangkat lunak telah disalahgunakan di Amerika Serikat.[35]

Beban kerja

Analisis kebutuhan

Rekayasa persyaratan berkaitan dengan elisitasi, analisis, spesifikasi, dan validasi persyaratan untuk perangkat lunak. Persyaratan perangkat lunak dapat berupa fungsional, nonfungsional, atau domain.

Persyaratan fungsional menjelaskan perilaku yang diharapkan (yaitu keluaran). Persyaratan nonfungsional menentukan hal-hal seperti portabilitas, keamanan, pemeliharaan, keandalan, skalabilitas, kinerja, penggunaan kembali, dan fleksibilitas. Persyaratan tersebut diklasifikasikan menjadi jenis-jenis berikut: kendala antarmuka, kendala kinerja (seperti waktu respons, keamanan, ruang penyimpanan, dan sebagainya), kendala operasional, kendala siklus hidup (kemudahan pemeliharaan, portabilitas, dan sebagainya), serta kendala ekonomi. Penentuan persyaratan nonfungsional biasanya memerlukan pengetahuan terperinci mengenai cara kerja sistem atau perangkat lunak. Persyaratan domain berkaitan dengan karakteristik kategori atau domain proyek tertentu.[36]

Perancangan

Perancangan perangkat lunak adalah proses membuat rencana tingkat tinggi untuk perangkat lunak. Perancangan terkadang dibagi menjadi beberapa tingkat:

Konstruksi

Konstruksi perangkat lunak biasanya melibatkan pemrograman (disebut juga pengodean), pengujian unit, pengujian integrasi, dan debugging untuk mengimplementasikan perancangan.[2][6] "Pengujian perangkat lunak berkaitan dengan, tetapi berbeda dari, ... debugging".[6]

Pengujian

Pengujian perangkat lunak adalah investigasi empiris dan teknis yang dilakukan untuk memberikan informasi kepada pemangku kepentingan mengenai kualitas perangkat lunak yang sedang diuji.[2][6] Pengujian perangkat lunak dapat dipandang sebagai aktivitas yang berbasis risiko.

Jika dijelaskan secara terpisah dari konstruksi, pengujian biasanya dilakukan oleh insinyur pengujian atau jaminan kualitas, bukan oleh pemrogram yang menulis perangkat lunak tersebut. Pengujian dilakukan pada tingkat sistem dan dianggap sebagai aspek kualitas perangkat lunak. Tujuan penguji selama proses pengujian adalah meminimalkan jumlah keseluruhan pengujian menjadi sekumpulan pengujian yang dapat dikelola dan membuat keputusan berdasarkan informasi yang memadai mengenai risiko mana yang harus diprioritaskan untuk pengujian dan mana yang dapat ditunda.[38]

Analisis program

Artikel utama: Analisis program

Analisis program adalah proses menganalisis program komputer berdasarkan aspek tertentu seperti kinerja, ketahanan, dan keamanan.

Pemeliharaan

Pemeliharaan perangkat lunak mengacu pada dukungan terhadap perangkat lunak setelah dirilis. Hal ini dapat mencakup, tetapi tidak terbatas pada: perbaikan kesalahan, pengoptimalan, penghapusan fitur yang tidak digunakan dan dibuang, serta peningkatan fitur yang sudah ada.[2][6]

Biasanya, pemeliharaan menyumbang 40% hingga 80% dari biaya proyek.[39]

Pendidikan

Globe icon.
Konten dan perspektif penulisan artikel ini tidak menggambarkan wawasan global pada subjeknya. Silakan bantu mengembangkan atau bicarakan artikel ini di halaman pembicaraannya, atau buat artikel baru, bila perlu. (November 2010) (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini)
250px-Top_computer_science_colleges_in_North_America.webp?utm_source=id.wikipedia.org&utm_campaign=parser&utm_content=thumbnail
Perguruan tinggi ilmu komputer terbaik di Amerika Utara

Pengetahuan tentang pemrograman komputer merupakan prasyarat untuk menjadi insinyur perangkat lunak. Pada tahun 2004, IEEE Computer Society menghasilkan SWEBOK, yang kemudian diterbitkan sebagai ISO/IEC Technical Report 1979:2005, yang menjelaskan bidang pengetahuan yang mereka rekomendasikan untuk dikuasai oleh seorang lulusan insinyur perangkat lunak dengan pengalaman empat tahun.[40]

Banyak insinyur perangkat lunak memasuki profesi ini dengan memperoleh gelar universitas atau mengikuti pelatihan di sekolah kejuruan. Salah satu kurikulum internasional standar untuk program sarjana rekayasa perangkat lunak ditetapkan oleh Joint Task Force on Computing Curricula dari IEEE Computer Society dan Association for Computing Machinery, serta diperbarui pada tahun 2014.[21] Pada hingga2010[update], terdapat 244 program Sarjana Rekayasa Perangkat Lunak di kampus, 70 program daring, 230 program tingkat magister, 41 program tingkat doktoral, dan 69 program tingkat sertifikat di Amerika Serikat.

Selain pendidikan universitas, banyak perusahaan mensponsori magang bagi mahasiswa yang ingin mengejar karier di bidang teknologi informasi. Magang tersebut dapat memperkenalkan mahasiswa pada tugas-tugas dunia nyata yang biasanya dihadapi insinyur perangkat lunak setiap hari. Pengalaman serupa juga dapat diperoleh melalui dinas militer dalam bidang rekayasa perangkat lunak.

Program gelar rekayasa perangkat lunak

Sejumlah kecil tetapi terus bertambah dari praktisi memiliki gelar rekayasa perangkat lunak. Pada tahun 1987, Department of Computing di Imperial College London memperkenalkan gelar sarjana tiga tahun pertama di dunia dalam bidang rekayasa perangkat lunak; pada tahun berikutnya, University of Sheffield mendirikan program serupa.[41] Pada tahun 1996, Rochester Institute of Technology mendirikan program gelar sarjana rekayasa perangkat lunak pertama di Amerika Serikat; namun, program tersebut baru memperoleh akreditasi ABET pada tahun 2003, bersamaan dengan Rice University, Clarkson University, Milwaukee School of Engineering, dan Mississippi State University.[42]

Sejak saat itu, gelar sarjana rekayasa perangkat lunak telah didirikan di banyak universitas. Kurikulum internasional standar untuk gelar sarjana rekayasa perangkat lunak, SE2004, ditetapkan oleh komite pengarah antara tahun 2001 dan 2004 dengan pendanaan dari Association for Computing Machinery dan IEEE Computer Society. Pada Hingga2004[update], sekitar 50 universitas di AS menawarkan gelar rekayasa perangkat lunak, yang mengajarkan prinsip dan praktik ilmu komputer serta rekayasa. Gelar magister rekayasa perangkat lunak pertama didirikan di Seattle University pada tahun 1979. Sejak saat itu, gelar pascasarjana rekayasa perangkat lunak telah tersedia di lebih banyak universitas. Demikian pula di Kanada, Canadian Engineering Accreditation Board (CEAB) dari Canadian Council of Professional Engineers telah mengakui beberapa program rekayasa perangkat lunak.

Selain itu, banyak gelar lanjutan daring dalam Rekayasa Perangkat Lunak telah muncul, seperti gelar Master of Science in Software Engineering (MSE) yang ditawarkan melalui Department of Computer Science and Engineering di California State University, Fullerton. Steve McConnell berpendapat bahwa karena sebagian besar universitas mengajarkan ilmu komputer dan bukan rekayasa perangkat lunak, terdapat kekurangan insinyur perangkat lunak yang sebenarnya.[43] ETS (École de technologie supérieure) University dan UQAM (Université du Québec à Montréal) ditugaskan oleh IEEE untuk mengembangkan Software Engineering Body of Knowledge (SWEBOK), yang kemudian menjadi standar ISO yang menjelaskan bidang pengetahuan yang dicakup oleh seorang insinyur perangkat lunak.[6]

Profesi

Persyaratan hukum untuk lisensi atau sertifikasi insinyur perangkat lunak profesional berbeda-beda di seluruh dunia. Di Britania Raya, tidak terdapat persyaratan lisensi atau hukum untuk menggunakan jabatan pekerjaan Software Engineer. Di beberapa wilayah Kanada, seperti Alberta, British Columbia, Ontario,[44] dan Quebec, insinyur perangkat lunak dapat memiliki sebutan Professional Engineer (P.Eng) dan/atau Information Systems Professional (I.S.P.). Di Eropa, insinyur perangkat lunak dapat memperoleh gelar profesional European Engineer (EUR ING). Insinyur perangkat lunak juga dapat memperoleh kualifikasi profesional sebagai Chartered Engineer melalui British Computer Society.

Di Amerika Serikat, NCEES mulai menawarkan ujian Professional Engineer untuk Rekayasa Perangkat Lunak pada tahun 2013, sehingga insinyur perangkat lunak dapat memperoleh lisensi dan pengakuan.[45] NCEES menghentikan ujian tersebut setelah April 2019 karena kurangnya peserta.[46] Lisensi wajib saat ini masih banyak diperdebatkan dan dianggap kontroversial.[47][48]

IEEE Computer Society dan ACM, dua organisasi profesi utama rekayasa perangkat lunak yang berbasis di Amerika Serikat, menerbitkan panduan mengenai profesi rekayasa perangkat lunak. Guide to the Software Engineering Body of Knowledge – 2004 Version milik IEEE, atau SWEBOK, mendefinisikan bidang tersebut dan menjelaskan pengetahuan yang diharapkan IEEE dimiliki oleh seorang insinyur perangkat lunak yang berpraktik. Versi terbaru adalah SWEBOK v4.[6] IEEE juga menerbitkan "Kode Etik Rekayasa Perangkat Lunak".[49]

Pekerjaan

Globe icon.
Konten dan perspektif penulisan United States ini tidak menggambarkan wawasan global pada subjeknya. Silakan bantu mengembangkan atau bicarakan artikel ini di halaman pembicaraannya, atau buat artikel baru, bila perlu. (September 2021) (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini)

Diperkirakan terdapat 26,9 juta insinyur perangkat lunak profesional di dunia pada tahun 2022, meningkat dari 21 juta pada tahun 2016.[50][51]

Banyak insinyur perangkat lunak bekerja sebagai karyawan atau kontraktor. Insinyur perangkat lunak bekerja dengan perusahaan, lembaga pemerintah (sipil maupun militer), dan organisasi nirlaba. Sebagian insinyur perangkat lunak bekerja untuk diri mereka sendiri sebagai pekerja lepas. Beberapa organisasi memiliki spesialis untuk menjalankan setiap tugas dalam proses pengembangan perangkat lunak. Organisasi lain mengharuskan insinyur perangkat lunak menjalankan banyak atau bahkan semua tugas tersebut. Dalam proyek besar, seseorang dapat mengkhususkan diri hanya pada satu peran. Dalam proyek kecil, seseorang dapat menjalankan beberapa atau seluruh peran secara bersamaan. Banyak perusahaan mempekerjakan magang, sering kali mahasiswa universitas atau perguruan tinggi selama liburan musim panas, atau eksternship. Spesialisasi meliputi analis, arsitek, pengembang, penguji, dukungan teknis, analis middleware, manajer proyek, manajer produk perangkat lunak, pendidik, dan peneliti.

Sebagian besar insinyur perangkat lunak dan pemrogram bekerja 40 jam per minggu, tetapi sekitar 15 persen insinyur perangkat lunak dan 11 persen pemrogram bekerja lebih dari 50 jam per minggu pada tahun 2008.[52] Cedera yang mungkin terjadi dalam pekerjaan ini antara lain karena, seperti pekerja lain yang menghabiskan waktu lama duduk di depan terminal komputer sambil mengetik pada papan ketik, insinyur dan pemrogram rentan terhadap kelelahan mata, ketidaknyamanan punggung, trombosis, obesitas, serta masalah tangan dan pergelangan tangan seperti sindrom lorong karpal.[53]

Amerika Serikat

Bureau of Labor Statistics Amerika Serikat (BLS) mencatat 1.365.500 pengembang perangkat lunak yang bekerja di Amerika Serikat pada tahun 2018.[54] Karena bidang ini relatif baru sebagai bidang studi, pendidikan formal dalam rekayasa perangkat lunak sering diajarkan sebagai bagian dari kurikulum ilmu komputer, dan banyak insinyur perangkat lunak memiliki gelar ilmu komputer.[55]

Saat ini BLS memperkirakan pertumbuhan pekerjaan insinyur perangkat lunak sebesar 10% untuk 2025–2035, sedangkan pertumbuhan 2024–2034 adalah 15%, lebih rendah daripada perkiraan mereka untuk 2023–2033 bahwa pekerjaan di bidang rekayasa perangkat lunak komputer akan meningkat sebesar 17%.[56] Angka tersebut turun dari perkiraan BLS sebesar 25% untuk rekayasa perangkat lunak pada 2022–2032.[56][57] Angka tersebut juga lebih rendah daripada perkiraan BLS sebesar 30% untuk periode 2010–2020.[58]

Karena tren tersebut, pertumbuhan lapangan kerja mungkin tidak secepat dekade sebelumnya, karena pekerjaan yang sebelumnya akan diberikan kepada insinyur perangkat lunak komputer di Amerika Serikat justru dialihdayakan kepada insinyur perangkat lunak komputer di negara-negara seperti India dan negara asing lainnya.[59][52]

Selain itu, Bureau of Labor Statistics Amerika Serikat (BLS) dalam Occupational Outlook untuk pemrograman komputer memprediksi penurunan sebesar 7% dari 2016 hingga 2026, penurunan lebih lanjut sebesar 9% dari 2019 hingga 2029, dan penurunan sebesar 10% dari 2021 hingga 2031.[59] Kemudian diperkirakan terjadi penurunan sebesar 11% dari 2022 hingga 2032.[59] Saat ini, perkiraan untuk 2025–2035 adalah penurunan sebesar 7%. Karena pemrograman komputer dapat dilakukan dari mana saja di dunia, perusahaan terkadang mempekerjakan pemrogram di negara-negara yang memiliki tingkat upah lebih rendah.[59][60][61]

Selain itu, proporsi perempuan dalam banyak bidang perangkat lunak juga mengalami penurunan selama bertahun-tahun dibandingkan dengan bidang rekayasa lainnya.[62][63]

Kemudian terdapat kekhawatiran tambahan bahwa kemajuan terbaru dalam kecerdasan buatan dapat memengaruhi permintaan terhadap generasi insinyur perangkat lunak pada masa depan, sementara lembaga pendidikan menyatakan bahwa terdapat peningkatan permintaan.[64][65][66][67][68][69][70][71]

Namun, tren ini dapat berubah atau melambat pada masa depan karena banyak insinyur perangkat lunak saat ini di pasar Amerika Serikat meninggalkan profesi tersebut atau keluar dari pasar kerja karena usia dalam beberapa dekade mendatang.[59][72]

Sertifikasi

Software Engineering Institute menawarkan sertifikasi mengenai topik tertentu seperti keamanan, peningkatan proses, dan arsitektur perangkat lunak.[73] IBM, Microsoft, dan perusahaan lain juga mensponsori ujian sertifikasi mereka sendiri. Banyak program TI sertifikasi berorientasi pada teknologi tertentu dan dikelola oleh vendor teknologi tersebut.[74] Program sertifikasi tersebut disesuaikan dengan institusi yang mempekerjakan orang yang menggunakan teknologi tersebut.

Sertifikasi yang lebih luas mengenai keterampilan umum rekayasa perangkat lunak tersedia melalui berbagai perkumpulan profesi. Pada Hingga2006[update], IEEE telah mensertifikasi lebih dari 575 profesional perangkat lunak sebagai Certified Software Development Professional (CSDP).[75] Pada tahun 2008, IEEE menambahkan sertifikasi tingkat pemula yang dikenal sebagai Certified Software Development Associate (CSDA).[76]

ACM dan IEEE Computer Society bersama-sama mengkaji kemungkinan lisensi insinyur perangkat lunak sebagai Professional Engineers pada tahun 1990-an, tetapi akhirnya memutuskan bahwa lisensi tersebut tidak sesuai untuk praktik profesional industri rekayasa perangkat lunak.[47] John C. Knight dan Nancy G. Leveson menyajikan analisis yang lebih berimbang mengenai persoalan lisensi tersebut pada tahun 2002.[48]

Di Britania Raya, British Computer Society telah mengembangkan sertifikasi profesi yang diakui secara hukum yang disebut Chartered IT Professional (CITP), yang tersedia bagi anggota yang memenuhi syarat (MBCS). Insinyur perangkat lunak dapat memenuhi syarat untuk menjadi anggota British Computer Society atau Institution of Engineering and Technology dan kemudian memenuhi syarat untuk dipertimbangkan memperoleh status Chartered Engineer melalui salah satu institusi tersebut. Di Kanada, Canadian Information Processing Society telah mengembangkan sertifikasi profesi yang diakui secara hukum yang disebut Information Systems Professional (ISP).[77]

Di Ontario, Kanada, insinyur perangkat lunak yang lulus dari program yang diakreditasi Canadian Engineering Accreditation Board (CEAB), berhasil menyelesaikan Professional Practice Examination (PPE) milik PEO (Professional Engineers Ontario), dan memiliki sedikitnya 48 bulan pengalaman rekayasa yang dapat diterima, memenuhi syarat untuk memperoleh lisensi melalui Professional Engineers Ontario dan dapat menjadi Professional Engineer (P.Eng).[78] PEO tidak mengakui pendidikan daring atau pendidikan jarak jauh dan tidak menganggap program Ilmu Komputer setara dengan program rekayasa perangkat lunak meskipun terdapat tumpang tindih yang besar di antara keduanya. Hal ini memicu kontroversi dan perselisihan sertifikasi. Jumlah pemegang P.Eng dalam profesi tersebut juga menjadi sangat rendah. Sebagian besar profesional yang bekerja di bidang ini memiliki gelar Ilmu Komputer, bukan Rekayasa Perangkat Lunak. Karena jalur sertifikasi yang sulit bagi pemegang gelar non-SE, sebagian besar tidak berupaya memperoleh lisensi tersebut.

Dampak globalisasi

Dampak awal alih daya dan biaya sumber daya manusia internasional yang relatif lebih rendah di negara-negara berkembang menyebabkan migrasi besar-besaran aktivitas pengembangan perangkat lunak dari perusahaan-perusahaan di Amerika Utara dan Eropa ke India dan kemudian ke Tiongkok, Rusia, serta negara-negara berkembang lainnya. Pendekatan ini memiliki beberapa kelemahan, terutama perbedaan jarak dan zona waktu yang menghambat interaksi manusia antara klien dan pengembang serta perpindahan pekerjaan dalam jumlah besar. Hal ini berdampak negatif terhadap banyak aspek profesi rekayasa perangkat lunak. Misalnya, sebagian mahasiswa di negara maju menghindari pendidikan yang berkaitan dengan rekayasa perangkat lunak karena khawatir terhadap alih daya lepas pantai (mengimpor produk atau layanan perangkat lunak dari negara lain) dan tergantikan oleh pekerja pemegang visa asing.[79]

Selain itu, melimpahnya tenaga kerja berteknologi tinggi telah menyebabkan penerapan sistem kerja 996 dan jadwal "007" yang lebih luas sebagai beban kerja yang diharapkan.[80] Meskipun statistik saat ini tidak menunjukkan ancaman terhadap rekayasa perangkat lunak itu sendiri, karier terkait, yaitu pemrograman komputer, tampaknya memang terdampak.[81]

Meskipun demikian, kemampuan untuk memanfaatkan sumber daya lepas pantai dan dekat pantai secara cerdas melalui alur kerja follow-the-sun telah meningkatkan kemampuan operasional secara keseluruhan pada banyak organisasi.[82] Ketika orang Amerika Utara selesai bekerja, orang Asia baru mulai bekerja. Ketika orang Asia selesai bekerja, orang Eropa mulai bekerja. Hal ini memberikan kemampuan berkelanjutan untuk melakukan pengawasan manusia terhadap proses-proses bisnis penting selama 24 jam per hari, tanpa membayar kompensasi lembur atau mengganggu pola tidur sumber daya manusia utama.

Walaupun alih daya global memiliki beberapa keuntungan, pengembangan global—dan umumnya terdistribusi—dapat menghadapi kesulitan serius akibat jarak antara para pengembang. Hal ini disebabkan oleh unsur-unsur utama jarak yang telah diidentifikasi sebagai geografis, temporal, budaya, dan komunikasi (termasuk penggunaan bahasa dan dialek bahasa Inggris yang berbeda di berbagai lokasi).[83] Penelitian mengenai pengembangan perangkat lunak global telah dilakukan selama 15 tahun terakhir dan telah menghasilkan banyak karya yang relevan yang menyoroti manfaat dan masalah yang berkaitan dengan aktivitas kompleks tersebut. Seperti halnya aspek lain dalam rekayasa perangkat lunak, penelitian di bidang ini dan bidang terkait masih terus berlangsung.

Penghargaan

Terdapat berbagai penghargaan dalam bidang rekayasa perangkat lunak:

  • ACM-AAAI Allen Newell Award—Amerika Serikat. Diberikan atas kontribusi sepanjang karier yang memiliki cakupan luas dalam ilmu komputer, atau yang menjembatani ilmu komputer dengan disiplin ilmu lainnya.
  • BCS Lovelace Medal. Diberikan kepada individu yang telah memberikan kontribusi luar biasa terhadap pemahaman atau kemajuan komputasi.
  • ACM SIGSOFT Outstanding Research Award, diberikan kepada individu atau beberapa individu yang telah memberikan kontribusi penting dan berkelanjutan dalam penelitian terhadap teori atau praktik rekayasa perangkat lunak.[84]
  • Penghargaan ACM SIGSOFT lainnya.[85]
  • Codie award, penghargaan tahunan yang diberikan oleh Software and Information Industry Association untuk keunggulan dalam pengembangan perangkat lunak di industri perangkat lunak.
  • Harlan Mills Award untuk "kontribusi terhadap teori dan praktik ilmu informasi, dengan fokus pada rekayasa perangkat lunak".
  • ICSE Most Influential Paper Award.[86]
  • Jolt Award, juga untuk industri perangkat lunak.
  • Stevens Award, diberikan untuk mengenang Wayne Stevens.

Kritik

Sebagian pihak menyerukan lisensi, sertifikasi, dan kodifikasi bidang pengetahuan sebagai mekanisme untuk menyebarkan pengetahuan rekayasa dan mematangkan bidang tersebut.[87]

Sebagian pihak berpendapat bahwa konsep rekayasa perangkat lunak masih begitu baru sehingga jarang dipahami dan sering disalahartikan, termasuk dalam buku teks, makalah, serta di kalangan komunitas pemrogram dan pengembang perangkat lunak.[88]

Sebagian pihak berpendapat bahwa persoalan utama dalam rekayasa perangkat lunak adalah pendekatannya tidak cukup empiris karena validasi pendekatan di dunia nyata biasanya tidak ada atau sangat terbatas. Oleh karena itu, rekayasa perangkat lunak sering disalahartikan seolah-olah hanya dapat diterapkan dalam "lingkungan teoretis".[88]

Edsger Dijkstra, salah satu pendiri berbagai konsep yang digunakan dalam pengembangan perangkat lunak saat ini, menolak gagasan "rekayasa perangkat lunak" hingga wafat pada tahun 2002. Ia berpendapat bahwa istilah tersebut merupakan analogi yang buruk untuk apa yang disebutnya sebagai "kebaruan radikal" dalam ilmu komputer:

Sejumlah fenomena tersebut telah digabungkan dengan nama "Rekayasa Perangkat Lunak". Sebagaimana ekonomi dikenal sebagai "Ilmu yang Menyedihkan", rekayasa perangkat lunak seharusnya dikenal sebagai "Disiplin yang Ditakdirkan Gagal", ditakdirkan gagal karena bahkan tidak dapat mendekati tujuannya karena tujuannya sendiri saling bertentangan. Rekayasa perangkat lunak, tentu saja, menampilkan dirinya sebagai suatu tujuan yang layak, tetapi itu hanyalah tipu daya: jika Anda membaca literaturnya dengan saksama dan menganalisis apa yang sebenarnya dilakukan para pengikutnya, Anda akan menemukan bahwa rekayasa perangkat lunak telah menerima sebagai piagamnya "Bagaimana memprogram jika Anda tidak mampu melakukannya."[89]

Lihat juga

Wikimedia Commons logo
Wikimedia Commons memiliki media mengenai Software engineers.

Studi dan praktik

Peran

Aspek profesional

Referensi

Kutipan

  1. ↑ "What is Software Engineering?". Michigan Technological University (dalam bahasa Inggris). Diakses tanggal 2025-06-29.
  2. 1 2 3 4 5 Abran et al. 2004 harvnb error: tanpa target: CITEREFAbranMooreBourqueDupuis2004 (bantuan)
  3. ↑ ACM (2007). "Computing Degrees & Careers". ACM. Diarsipkan dari asli tanggal 2011-06-17. Diakses tanggal 2010-11-23.
  4. ↑ Laplante, Phillip (2007). What Every Engineer Should Know about Software Engineering. Boca Raton: CRC. ISBN 978-0-8493-7228-5. Diakses tanggal 2011-01-21.
  5. ↑ "What Does a Software Engineer Do?". Coursera. Okt 31, 2022.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  6. 1 2 3 4 5 6 7 8 Bourque, Pierre; Fairley, Richard E. (Dick), ed. (2014). Guide to the Software Engineering Body of Knowledge Version 3.0 (SWEBOK). IEEE Computer Society.
  7. ↑ Farone, Alison (2020-08-04). "The history of coding and software engineering". Hack Reactor (dalam bahasa American English). Diakses tanggal 2025-06-29.
  8. ↑ "The history of coding and software engineering". Hack Reactor. Diarsipkan dari asli tanggal 2022-03-24. Diakses tanggal 2021-05-06.
  9. ↑ "Computers and Automation: The Computer Directory and Buyers' Guide, 1965" (PDF). bitsavers.org. Diakses tanggal 15 Juli 2023.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  10. ↑ "President's Letter to the ACM Membership" (PDF). Diakses tanggal 27 Februari 2025. We must recognize ourselves -- not necessarily all of us, and not necessarily any one of us all the time -- as members of an engineering profession, be it hardware engineering or software engineering, a profession without artificial and irrelevant boundaries like that between "scientific" and "business" applications.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  11. ↑ Oettinger, A. G. (1966). "President's Letter to the ACM Membership". Commun. ACM. 9 (8). Association for Computing Machinery: 545–546. doi:10.1145/365758.3291288. ISSN 0001-0782. S2CID 53432801.
  12. ↑ "The origin of "software engineering"". 4 April 2013. Diakses tanggal 17 November 2017.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  13. ↑ Randall, Brian. "The 1968/69 NATO Software Engineering Reports". Diakses tanggal 17 November 2017.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  14. ↑ Lori Cameron (Oktober 5, 2008). "Margaret Hamilton: First Software Engineer". Tech News. IEEE Computer Society.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  15. ↑ Ian Sommerville (Maret 24, 2015). Software Engineering (Edisi 10th). Pearson Education Limited. ISBN 978-0-13-394303-0.{{cite book}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  16. ↑ Peter, Naur; Randell, Brian (7–11 Oktober 1968). Software Engineering: Report of a conference sponsored by the NATO Science Committee (PDF). Garmisch, Germany: Scientific Affairs Division, NATO. Diakses tanggal 2008-12-26.{{cite conference}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  17. ↑ Randell, Brian (10 Agustus 2001). "The 1968/69 NATO Software Engineering Reports". Brian Randell's University Homepage. The School of the Computer Sciences, Newcastle University. Diakses tanggal 2008-10-11. The idea for the first NATO Software Engineering Conference, and in particular that of adopting the then practically unknown term "software engineering" as its (deliberately provocative) title, I believe came originally from Professor Fritz Bauer.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  18. ↑ 2018 International Conference on Software Engineering celebrating its 40th anniversary, and 50 years of Software engineering (31 Mei 2018). "ICSE 2018 – Plenary Sessions – Fred Brooks". YouTube. Diakses tanggal 9 Agustus 2018.{{cite web}}: Pemeliharaan CS1: Nama numerik: daftar penulis (link) Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  19. ↑ 2018 International Conference on Software Engineering celebrating its 40th anniversary, and 50 years of Software engineering (31 Mei 2018). "ICSE 2018 – Plenary Sessions – Margaret Hamilton". YouTube. Diakses tanggal 9 Agustus 2018.{{cite web}}: Pemeliharaan CS1: Nama numerik: daftar penulis (link) Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  20. 1 2 Linda Hutz Pesante (Januari 1, 2003). Anthony Ralston; Edwin D. Reilly (ed.). "Software engineering institute (SEI)". Encyclopedia of Computer Science. Chichester, West Sussex, UK: John Wiley and Sons Ltd.: 1611–1613. ISBN 978-0-470-86412-8. (1) The institute was competitively awarded to Carnegie Mellon in December 1984 by the US Department of Defense (DoD) to improve the state of the practice of software engineering. ... (2) the SEI moves mature solutions of proven value into widespread use; examples include the Capability Maturity Model (CMM) ...{{cite journal}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link) Pemeliharaan CS1: terbitan berkala memiliki ISBN (link) Ikon gembok hijau terbuka
  21. 1 2 Joint Task Force on Computing Curricula, IEEE Computer Society, Association for Computing Machinery (23 Februari 2015). Software Engineering 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering (PDF). A Volume of the Computing Curricula Series. IEEE Computer Society and Association for Computing Machinery.{{cite book}}: Pemeliharaan CS1: Banyak nama: daftar penulis (link) Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  22. ↑ Systems and software engineering – Vocabulary, ISO/IEC/IEEE std 24765:2010(E), 2010.
  23. ↑ IEEE Standard Glossary of Software Engineering Terminology, IEEE std 610.12-1990, 1990.
  24. ↑ Sommerville, Ian (2007) [1982]. "1.1.2 What is software engineering?". Software Engineering (Edisi 8th). Harlow, England: Pearson Education. hlm. 7. ISBN 978-0-321-31379-9. Software engineering is an engineering discipline that is concerned with all aspects of software production, from the early stages of system specification to maintaining the system after it has gone into use. The definition highlights two key ideas: (1) engineering discipline—the application of theories, methods, and tools within organizational and financial constraints; and (2) all aspects of software production—including technical development processes, project management, and the creation of supporting tools, methods, and theories.
  25. ↑ "Software Engineering". Information Processing. 71: 530–538.
  26. ↑ "Definition of SOFTWARE ENGINEERING". www.merriam-webster.com (dalam bahasa Inggris). Diakses tanggal 2019-11-25.
  27. ↑ Winters, Titus; Manshrec, Tom; Wright, Hyrum (2020). "Preface, Programming Over Time". Software Engineering at Google. O'Reilly Media, Inc. hlm. xix–xx, 6–7. ISBN 978-1-492-08279-8. We propose that "software engineering" encompasses not just the act of writing code, but all of the tools and processes an organization uses to build and maintain that code over time. What practices can a software organization introduce that will best keep its code valuable over the long term? How can engineers make a codebase more sustainable and the software engineering discipline itself more rigorous?
  28. ↑ Akram I. Salah (2002-04-05). "Engineering an Academic Program in Software Engineering" (PDF). 35th Annual Midwest Instruction and Computing Symposium. Diakses tanggal 2006-09-13.: "For some, software engineering is just a glorified name for programming. If you are a programmer, you might put 'software engineer' on your business card—never 'programmer' though."
  29. ↑ Mills, Harlan D., J. R. Newman, and C. B. Engle, Jr., "An Undergraduate Curriculum in Software Engineering," in Deimel, Lionel E. (1990). Software Engineering Education: SEI Conference 1990, Pittsburgh, Pennsylvania, USA, April 2–3,... Springer. ISBN 978-0-387-97274-9.,p. 26: "As a practical matter, we regard software engineering as the necessary preparation for the practicing, software development and maintenance professional. The Computer Scientist is preparing for further theoretical studies..."
  30. ↑ Barbara Kitchevnham; David Budgen; Pearl Brereton; Stephen Linkman (2005). "Realising evidence-based software engineering". ACM SIGSOFT Software Engineering Notes. 30 (4): 1–3. doi:10.1145/1082983.1083175. We believe that software engineering can only advance as an engineering discipline by moving away from its current dependence upon advocacy and analysis, ...
  31. ↑ Parnas, David L. (1998). "Software Engineering Programmes are not Computer Science Programmes". Annals of Software Engineering. 6 (1–4): 19–37. doi:10.1023/A:1018949113292. S2CID 35786237.{{cite journal}}: Pemeliharaan CS1: URL lain-lain (link), p. 19: "Rather than treat software engineering as a subfield of computer science, I treat it as an element of the set, {Civil Engineering, Mechanical Engineering, Chemical Engineering, Electrical Engineering,....}."
  32. ↑ Parnas, David L. (1998). "Software Engineering Programmes are not Computer Science Programmes". Annals of Software Engineering. 6 (1–4): 19–37. doi:10.1023/A:1018949113292. S2CID 35786237.{{cite journal}}: Pemeliharaan CS1: URL lain-lain (link), p. 20: "This paper argues that the introduction of accredited professional programs in software engineering, programmes that are modelled on programmes in traditional engineering disciplines will help to increase both the quality and quantity of graduates who are well prepared, by their education, to develop trustworthy software products."
  33. ↑ McConnell, Steve (Agustus 2003). Professional Software Development: Shorter Schedules, Better Projects, Superior Products, Enhanced Careers. Boston, MA: Addison-Wesley. ISBN 0-321-19367-9.{{cite book}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link), p. 39: "In my opinion, the answer to that question is clear: Professional software development should be engineering. Is it? No. But should it be? Unquestionably, yes. "
  34. ↑ Knuth, Donald (1974). "Computer Programming as an Art" (PDF). Communications of the ACM. 17 (12): 667–673. doi:10.1145/361604.361612. S2CID 207685720.Transcript of the 1974 Turing Award lecture.
  35. ↑ Dijkstra, Edsger W; transcribed by Mario Béland (November 23, 2004) [First published December 3, 1993]. "There is still a war going on (manuscript Austin, 3 December 1993)". E. W. Dijkstra Archive. The University of Texas at Austin, Department of Computer Sciences. Diakses tanggal Februari 17, 2007. When the term was coined in 1968 by F.L. Bauer of the Technical University of Munich, I welcomed it. [. . .] I interpreted the introduction of the term "software engineering" as an apt reflection of the fact that the design of software systems was an activity par excellence for the mathematical engineer. [. . .]. As soon the term arrived in the USA, it was relieved of all its technical content. It had to be so for in its original meaning it was totally unacceptable [. . .] In the meantime, software engineering has become an almost empty term, as was nicely demonstrated by Data General who overnight promoted all its programmers to the exalted rank of "software engineer"!{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  36. ↑ "Software Engineering | Classification of Software Requirements". GeeksforGeeks (dalam bahasa American English). 2018-06-19. Diakses tanggal 2021-05-06.
  37. ↑ "Software Engineering | Software Design Process". GeeksforGeeks (dalam bahasa American English). 2019-05-24. Diakses tanggal 2021-05-06.
  38. ↑ Jamil, Muhammad Abid; Arif, Muhammad; Abubakar, Normi Sham Awang; Ahmad, Akhlaq (November 2016). "Software Testing Techniques: A Literature Review". 2016 6th International Conference on Information and Communication Technology for the Muslim World (ICT4M). hlm. 177–182. doi:10.1109/ICT4M.2016.045. ISBN 978-1-5090-4521-1.{{cite book}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  39. ↑ "What is Software Maintenance? Definition of Software Maintenance, Software Maintenance Meaning". The Economic Times. Diakses tanggal 2021-05-06.
  40. ↑ Alain Abran; James W. Moore; Pierre Bourque; Robert Dupuis; Leonard L. Tripp, ed. (2005) [2004]. "Chapter 1: Introduction to the Guide". Guide to the Software Engineering Body of Knowledge. IEEE Computer Society. Diarsipkan dari asli tanggal 2016-05-09. Diakses tanggal 2010-09-13. The total volume of cited literature is intended to be suitable for mastery through the completion of an undergraduate education plus four years of experience.
  41. ↑ Cowling, A. J. 1999. The first decade of an undergraduate degree program in software engineering. Ann. Softw. Eng. 6, 1–4 (Apr. 1999), 61–90.
  42. ↑ "ABET Accredited Engineering Programs". April 3, 2007. Diarsipkan dari asli tanggal Juni 19, 2010. Diakses tanggal April 3, 2007.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  43. ↑ McConnell, Steve (July 10, 2003). Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers. ISBN978-0-321-19367-4.
  44. ↑ Williams, N.S.W. (19–21 Februari 2001). "Professional Engineers Ontario's approach to licensing software engineering practitioners". Software Engineering Education and Training, 2001 Proceedings. 14th Conference on. Charlotte, NC: IEEE. hlm. 77–78.{{cite conference}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  45. ↑ "NCEES Software Engineering Exam Specifications" (PDF). Diarsipkan dari asli (PDF) tanggal 2013-08-27. Diakses tanggal 2012-04-01.
  46. ↑ "NCEES discontinuing PE Software Engineering exam". National Council of Examiners for Engineering and Surveying. 13 Maret 2018. Diakses tanggal 6 Agustus 2018.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  47. 1 2 Barbara Simons. "Past ACM Presidents Reflect on Their Service to ACM". Celebrating 75 Years of Advancing Computing as a Science & Profession. Association for Computing Machinery. Diakses tanggal Mei 18, 2024. After the panels' recommendations were submitted, ACM Council concluded that the framework of a licensed professional engineer, originally developed for civil engineers, does not match the professional industrial practice of software engineering and would preclude many of the most qualified software engineers from becoming licensed.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  48. 1 2 John C. Knight; Nancy G. Leveson (November 1, 2002). "Should software engineers be licensed?". Communications of the ACM. 45 (11): 87–90. doi:10.1145/581571.581601.{{cite journal}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  49. ↑ "Software Engineering Code of Ethics" (PDF). Diarsipkan dari asli (PDF) tanggal 2015-01-23. Diakses tanggal 2012-03-25.
  50. ↑ Labs, Qubit (29 November 2022). "How Many Programmers are there in the World and in the US? [2023]". Qubit Labs. Diakses tanggal 7 Februari 2023.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  51. ↑ "Global Developer Population and Demographic Study 2016 V2". Evans Data Corporation. Diakses tanggal 19 Januari 2017.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  52. 1 2 Rosenthal, Rachel (Agustus 4, 2020). "Tech Companies Want You to Believe America Has a Skills Gap". Bloomberg. Diakses tanggal Oktober 8, 2021.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  53. ↑ "Computer Software Engineers and Computer Programmers". Diakses tanggal 2009-12-17.
  54. ↑ "Software Developers". Occupational Outlook Handbook. U. S. Bureau of labor Statistics. 4 September 2019. Diakses tanggal 11 Desember 2019.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  55. ↑ "Computing Disciplines and Majors" (PDF). Association for Computing Machinery. Diakses tanggal 6 September 2019.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  56. 1 2 "Software Developers: Occupational Outlook Handbook". U.S. Bureau of Labor Statistics.
  57. ↑ "Computer Software Engineer". Bureau of Labor Statistics. Maret 19, 2010. Diarsipkan dari asli tanggal Juli 26, 2013. Diakses tanggal Juli 20, 2012.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  58. ↑ "Software Developers". Bureau of Labor Statistics. Januari 8, 2014. Diakses tanggal Juli 21, 2012.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  59. 1 2 3 4 5 "Computer Programmers : Occupational Outlook Handbook: : U.S. Bureau of Labor Statistics". Diarsipkan dari versi aslinya tanggal 3 Mei 2019. Diakses tanggal 17 Januari 2017.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  60. ↑ "Archive By Publication : Beyond the Numbers: U.S. Bureau of Labor Statistics". www.bls.gov.
  61. ↑ "The Soon-to-Be-Extinct Embedded Software Engineer". designnews.com. Mei 10, 2018.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  62. ↑ "hp's Developer Portal | HP International Women's Week: Women in Computer Science dropping since 1980s". developers.hp.com.
  63. ↑ "Generative AI and Jobs: A Refined Global Index of Occupational Exposure". International Labour Organisation. Diarsipkan dari versi aslinya tanggal 2026-04-22. Diakses tanggal 2026-05-31.
  64. ↑ "Berkeley Coding Professor Says Even Grads With 4.0 GPA Can't Find Jobs". futurism.com. Diakses tanggal 2026-09-04.
  65. ↑ "Software engineer jobs in danger due to ChatGPT-like tools? Here's what Google CEO Sundar Pichai has to say". Business Today (dalam bahasa Inggris). 2023-04-06. Diakses tanggal 2023-05-12.
  66. ↑ "ChatGPT could make these jobs obsolete" (dalam bahasa American English). 2023-01-25. Diakses tanggal 2023-05-12.
  67. ↑ Kay, Grace. "Software engineers are panicking about being replaced by AI". Business Insider (dalam bahasa American English). Diakses tanggal 2023-05-12.
  68. ↑ Fowler, Gary. "Council Post: How Will ChatGPT Affect Jobs?". Forbes (dalam bahasa Inggris). Diakses tanggal 2023-05-12.
  69. ↑ Ito, Aki. "ChatGPT spells the end of coding as we know it". Business Insider (dalam bahasa American English). Diakses tanggal 2023-05-12.
  70. ↑ Zinkula, Aaron Mok, Jacob. "ChatGPT may be coming for our jobs. Here are the 10 roles that AI is most likely to replace". Business Insider (dalam bahasa American English). Diakses tanggal 2023-05-12.{{cite web}}: Pemeliharaan CS1: Banyak nama: daftar penulis (link)
  71. ↑ Cohen, Mikaela (15 April 2023). "These are the tech jobs most threatened by ChatGPT and A.I." CNBC (dalam bahasa Inggris). Diakses tanggal 2023-05-12.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  72. ↑ ""Learn to Code" Backfires Spectacularly as Comp-Sci Majors Suddenly Have Sky-High Unemployment". 31 Mei 2025.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  73. ↑ "SEI certification page". Sei.cmu.edu. Diakses tanggal 2012-03-25.
  74. ↑ Wyrostek, Warren (Maret 14, 2008). "The Top 10 Problems with IT Certification in 2008". InformIT. Diakses tanggal 2009-03-03.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  75. ↑ IEEE Computer Society. "2006 IEEE computer society report to the IFIP General Assembly" (PDF). Diakses tanggal 2007-04-10.
  76. ↑ IEEE (12 November 2008). "CSDA". Diakses tanggal 2010-04-20.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  77. ↑ Canadian Information Processing Society. "I.S.P. Designation". Diakses tanggal 2007-03-15.
  78. ↑ "Professional Engineers Ontario: Welcome to PEO's website". Peo.on.ca. Diakses tanggal 2012-03-25.
  79. ↑ Thibodaux, Patrick (2006-05-05). "As outsourcing gathers steam, computer science interest wanes". Computerworld.com. Diakses tanggal 2016-12-06.
  80. ↑ "Work weeks are getting more intense for AI startups".
  81. ↑ Robert Mullins (Maret 13, 2007). "Software developer growth slows in North America: Study shows Asia will lead in software developer jobs by 2010". InfoWorld. Software Development.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  82. ↑ "Gartner Magic Quadrant" (PDF). Cognizant.com. Diarsipkan dari asli (PDF) tanggal 2008-09-20. Diakses tanggal 2012-03-25.
  83. ↑ Casey, Valentine (2010-08-20). "Virtual software team project management". Journal of the Brazilian Computer Society. 16 (2): 83–96. doi:10.1007/s13173-010-0013-3. S2CID 14383734.
  84. ↑ "Outstanding Research Award". SIGSOFT. Diakses tanggal 1 April 2024.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  85. ↑ David Lo (SIGSOFT Awards Chair); Thomas Zimmermann (SIGSOFT Chair) (17 Januari 2024). "SIGSOFT Awards 2024". ACM SIGSOFT Blog. Diakses tanggal 1 April 2024.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  86. ↑ "ICSE Most Influential Paper Award". ACM SIGSOFT.
  87. ↑ Donald J. Bagert (April 1999). "Viewpoint: taking the lead in licensing software engineers". Communications of the ACM. 42 (4): 27–29. doi:10.1145/299157.299163.{{cite journal}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link) publikasi akses terbuka - bebas untuk dibuka
  88. 1 2 Barry Boehm (September–Oktober 2002). "Software engineering is a value-based contact sport". IEEE Software. 19 (5): 95–96. doi:10.1109/MS.2002.1032863.{{cite journal}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  89. ↑ Dijkstra, E. W. (1988). "On the cruelty of really teaching computing science". Diakses tanggal 2014-01-10.

Sumber

Bacaan lebih lanjut

Pranala luar

Wikimedia Commons logo
Wikimedia Commons memiliki media mengenai Software engineering.
Wikiversity logo
Wikiversity memiliki bahan belajar tentang Rekayasa perangkat lunak

Templat:Software engineering Templat:Systems engineering Templat:Engineering fields Templat:Computer science

Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan