Apa perbedaan antara Arsitek Perangkat Lunak, Insinyur Perangkat Lunak, dan Pengembang Perangkat Lunak (Programmer)? [Tutup]

24

Saya membaca artikel CNN tentang pekerjaan dengan bayaran tertinggi di Amerika. Sebuah arsitek software terdaftar sebagai # 1 . Seorang insinyur perangkat lunak terdaftar sebagai # 9 . Dan pengembang perangkat lunak (programmer) terdaftar di # 35 . Saya pikir itu sah untuk menggantikan ilmuwan komputer dengan programmer, kan?

Sebelum ini saya selalu melihat "Insinyur Perangkat Lunak" sebagai judul untuk programmer dan lead tim yang berpengalaman. Tapi di mana kemudian "Arsitek Perangkat Lunak" cocok dan apa sebenarnya yang mereka lakukan? Saya membaca deskripsi CNN tetapi mereka tidak benar-benar memuaskan saya jadi saya berasumsi saya bisa mendapatkan deskripsi yang lebih menyeluruh dan berpengalaman dari basis pengguna yang mengagumkan di sini.

Terima kasih sebelumnya atas semua dan semua tanggapan yang diterima.

Rob S.
sumber
1
Ada banyak pertanyaan terkait pada jabatan , ini mungkin terlalu lokal atau duplikat.
Josh K
1
Ini tampaknya relevan sebagai duplikat potensial: programmers.stackexchange.com/questions/13439/… , programmers.stackexchange.com/questions/22124/… . Saya tidak melihat satu yang menyatukan semuanya.
Adam Lear
9
Seorang arsitek perangkat lunak ingin dibayar lebih banyak :-)
Stephen C
4
Hmm, potong rambut?
Pawka
7
@Rob S, seorang ilmuwan komputer BUKAN pengembang perangkat lunak (programmer).
systemovich

Jawaban:

24

Peringatan : Bukti anekdotal mengikuti ....

Dalam pengalaman saya, setidaknya di sini di pasar Australia - istilah Programmer, Pengembang Perangkat Lunak dan Insinyur Perangkat Lunak lebih atau kurang dapat dipertukarkan (saya telah menahan ketiganya untuk melakukan pekerjaan aktual yang persis sama).

"Direktur Rekayasa Perangkat Lunak" yang dijelaskan dalam tautan CNN Anda tidak sama dengan "Insinyur Perangkat Lunak". Ini benar-benar lebih seperti peran manajer proyek teknis tingkat tinggi. Orang seperti ini sebenarnya tidak akan banyak memprogram, jika tidak. Peran ini tidak ada hubungannya dengan "Insinyur Perangkat Lunak" khas Anda - yang sering kali hanya merupakan gelar yang dimuliakan untuk pemrogram menengah hingga senior.

"Arsitek Perangkat Lunak" yang dijelaskan dalam tautan pada dasarnya terdengar seperti pemimpin tim tingkat tinggi, tipe yang mendesain struktur keseluruhan sistem perangkat lunak dan kemudian mungkin memberikan sebagian dari pekerjaan kasar ke lebih banyak programmer junior. Ini adalah tipe orang yang memimpin sebuah proyek dan mungkin melapor kepada "Direktur Rekayasa Perangkat Lunak" - di sebuah perusahaan besar di mana banyak tim menulis berbagai produk, terutama di mana diperlukan integrasi di antara mereka.

TL; versi DR :

  1. Insinyur Perangkat Lunak seringkali hanya merupakan gelar yang dimuliakan untuk "programmer", mungkin menunjukkan bahwa ia agak senior.
  2. Arsitek Perangkat Lunak mungkin kira-kira cocok dengan pemimpin tim tingkat tinggi yang memiliki tanggung jawab merancang arsitektur keseluruhan proyek.
  3. Direktur Rekayasa Perangkat Lunak adalah manajer proyek tingkat tinggi, tipe yang mungkin melapor ke tingkat tertinggi dan mungkin tidak menyentuh kode sama sekali.

$ 0,02

Tabel Bobby
sumber
22
Nama pengguna yang luar biasa, "Tabel Bobby."
Josh K
2
berapa $ 0,02 ???
Sarawut Positwinyu
10
@Sarawut: "Dua sen saya". Itu hanya berarti "ini pendapat saya". :)
Bobby Tables
7

Saya mempelajarinya dengan cara ini:

  • Insinyur Perangkat Lunak adalah orang yang mengetahui semua aspek dalam proses pengembangan perangkat lunak (persyaratan, spesifikasi, desain, arsitektur, desain, implementasi, dll) sehingga mereka dapat mencapai pekerjaan manajemen, atau bekerja di mana saja dalam proses, memperbaikinya, dll.
  • Arsitek Perangkat Lunak adalah orang yang hanya bekerja dalam fase Arsitektur yang setelah tahap desain, adalah pekerjaan teknis tertinggi yang dapat dituju. Anda masih perlu memprogram, tidak seperti Insinyur Perangkat Lunak yang dapat menjadi manajemen. Ini juga merupakan jenis pekerjaan master-magang.
  • Juga jangan dibandingkan dengan Ilmu Komputer, seorang ilmuwan Komputer dapat memprogram tetapi juga dapat melakukan banyak hal lain, sehingga mereka tidak terbatas pada bidang pemrograman.
Osukaa
sumber
Bagaimana dengan "pengembang perangkat lunak"?
Adam Lear
Saya benar-benar tidak tahu bagaimana mendefinisikan peran itu. Saya pikir itu programmer, tapi saya tidak yakin. Saya bermaksud mengatakan bahwa Anda tidak harus membandingkannya dengan Computer Scientist. Maaf tentang itu: s
Osukaa
"Ilmuwan Komputer" hanyalah gelar akademis, tidak lebih tidak kurang. Sebagian besar programmer tempat saya bekerja adalah "Ilmuwan Komputer", karena mereka mempelajari "Ilmu Komputer" - subjek di mana mereka banyak mengajari Anda cara bekerja dengan sistem digital dan mesin negara, dan matematika di baliknya. "Teknik Komputer" adalah profesi yang memiliki "lebih dari pemrograman" di dalamnya, karena mereka mengajari Anda banyak hal tentang fisika dan listrik, juga.
Yam Marcovic
6

Di sini, di Negara Bagian Texas, banyak perusahaan cenderung menghindar dari istilah 'Insinyur Perangkat Lunak', karena di Texas kami melisensikan insinyur, dan sebenarnya ada yang namanya Insinyur Profesional, Perangkat Lunak Tersegel '( http: // www .tbpe.state.tx.us / eng_req.htm ).

Saya belum pernah bertemu satu pun, tidak ada orang yang saya kenal. Tentu saja serikat Insinyur sangat ingin membatasi persaingan dengan memerlukan lisensi untuk menulis 'halo dunia' tetapi itu belum terjadi.

'Pengembang Perangkat Lunak' lebih umum digunakan untuk orang yang pekerjaan utamanya adalah menulis perangkat lunak.

Perusahaan juga memiliki sedikit waktu lebih mudah berurusan dengan masalah Visa untuk 'Pengembang Perangkat Lunak' daripada 'Insinyur Perangkat Lunak'.

Saya hanya bekerja di startup selama 15 tahun terakhir, jadi saya tidak terbiasa dengan banyak jabatan pekerjaan yang dibedakan dengan halus, tetapi secara umum perangkat lunak 'Arsitek' adalah pengembang senior yang pandai mengeluarkan 'gambaran besar' 'Desain proyek perangkat lunak. Setiap Arsitek yang pernah saya kenal menghabiskan banyak waktu menulis kode, sama seperti orang lain, terutama setelah desain utama disetujui.

Jim In Texas
sumber