Apa yang salah dengan menjadi kode monyet? (Atau, apa itu kode monyet?) [Ditutup]

35

Programmer cenderung berbicara tentang menjadi "kode monyet" dengan cara yang merendahkan. "Jangan bekerja di sana , kamu hanya akan menjadi kode monyet!"

Saya memiliki dua tawaran untuk pekerjaan, satu di perusahaan kecil, satu di perusahaan yang sangat besar (gaji yang sama). Teman saya hanya mengatakan kepada saya bahwa saya akan menjadi monyet kode di perusahaan besar, dan tahu dari pengalaman langsung bahwa perusahaan kecil akan lebih bermanfaat daripada mengurangi saya menjadi "monyet kode".

Saya tidak benar-benar mengerti perbedaan antara "kode monyet" dan seorang programmer "nyata". Tolong jelaskan. Saya suka pemrograman, jadi bagi saya ide duduk di pemrograman komputer (yaitu, kode monyet) sepertinya tidak buruk. Apa yang dimaksud seorang programmer dengan "kode monyet" jika dia menikmati pemrograman?

Ben B.
sumber
Jonathan Coulton melakukan Code Monkey Unplugged youtube.com/watch?v=7s8S7QxpjeY
Adam
Codemonkeys mendapatkan tshirts dingin redbubble.com/people/hayko/t-shirts/1808968-b-code-monkey
yannis
hmmmmm .... Kode Monkey- oh tunggu, tidak, saya sedang memikirkan Chunky Monkey.
dietbuddha
Monyet bukan pemrogram yang baik kecuali Babun!
Arun Sangal

Jawaban:

32

Kode Monyet berarti melakukan pengkodean sehingga monyet bisa melakukannya

Ini sering digunakan untuk merujuk ke pekerjaan pemrograman tingkat terendah, tetapi juga dapat digunakan untuk merujuk seseorang yang tidak melakukan apa pun selain coding. Tidak ada perancangan UI, tidak ada input arsitektur, tidak ada keputusan pengembangan, dll

Tidak ada yang salah dengan menjadi kode monyet (kadang-kadang saya menyebut diri saya sendiri), tetapi kemungkinannya adalah jika semua yang Anda lakukan adalah mengkode Anda tidak akan pernah naik ke atas dalam rantai dan melihat angka-angka gaji yang lebih tinggi yang datang dengan kemampuan untuk melihat dan memahami seluruh siklus pengembangan perangkat lunak.

Rachel
sumber
21

"Code monkey" menggambarkan pembuat kode dari siapa kreativitas nol diperlukan. Coder seperti itu akan melakukan tugas yang berulang, membosankan, sering membosankan, seperti bentuk klon dan mengubah satu diajukan dll.

Apa yang Anda sebut "programmer nyata", akan menjadi seseorang, yang benar-benar berpartisipasi dalam merancang logika aplikasi, dan benar-benar menggunakan kreativitas lakukan untuk pekerjaan itu.

vartec
sumber
Saya tidak yakin apakah saya mengatakan ini benar, tetapi apakah ini pekerjaan "programmer nyata" untuk bekerja pada logika bisnis pengembangan perangkat lunak? Contoh: anggap kita memiliki aplikasi web, apakah itu tanggung jawab pengembang untuk merancang (logika) widget untuk menampilkan beberapa statistik, atau orang lain yang harus memberikan semua informasi yang diperlukan kepada pengembang (yaitu apa yang perlu kita tampilkan, apakah itu dapat diakses oleh semua orang, atau hanya pengguna resmi dll) dan kemudian devewloper akan merancang skema basis data, kode dll? Apakah saya masuk akal dengan apa yang saya katakan? -Maaf untuk bahasa inggris saya yang buruk-
ltdev
15

Bagi saya, setidaknya, perbedaannya adalah bahwa monyet kode hanya menghasilkan kode tanpa benar-benar memikirkannya, di mana sebagai programmer yang "tepat" adalah seorang profesional . Mereka menggunakan teknik rekayasa untuk menghasilkan kode berkualitas lebih tinggi dan memiliki kesadaran sistem secara keseluruhan, melakukan perencanaan yang lebih baik dan desain yang lebih teliti.

Sebagai contoh, beberapa fitur dari programmer "yang tepat" (meskipun harus berhati-hati terhadap kargo) mungkin:

  • Seorang programmer terlibat, sampai batas tertentu, dengan seluruh siklus pengembangan perangkat lunak, bukan hanya coding. Monyet kode mungkin mengkodekan desain atau persyaratan yang dibuang pada mereka, daripada dibuat dengan berkonsultasi dengan mereka.
  • Pemrogram membuat desain yang luas (termasuk tes) sebelum menulis kode apa pun. Mereka cukup yakin bahwa desainnya bagus (cepat, efisien dll.) Sebelum mereka mulai menulisnya. Monyet kode langsung melompat masuk. Mereka tidak tahu apakah desainnya bagus sampai mereka menjalankannya.
  • Pemrogram bertanggung jawab untuk merencanakan pekerjaan mereka sendiri. Monyet kode hanya melakukan apa yang dikatakan manajer mereka, ketika diminta.
  • Programmer dihargai sebagai individu karena kreativitas dan keterampilan mereka. Monyet kode dipandang sebagai kotak hitam yang dapat dipertukarkan yang mengeluarkan kode.
  • Programmer mudah beradaptasi; mereka dapat menerapkan keterampilan mereka ke berbagai bidang, bahasa, dll. Monyet kode terlalu spesialisasi, dan tersesat jika mereka harus bekerja dengan kerangka kerja baru.
  • Programmer selalu berusaha mengembangkan diri sebagai seorang profesional. Monyet kode tinggal di tempat mereka dalam hal keterampilan dan pengalaman.

Saya telah menggunakan dua titik di ujung yang berlawanan dari spektrum di sini - saya menduga sebagian besar pekerjaan akan berada di antara keduanya. Selain itu, tidak mungkin bahwa seluruh karier akan tetap di tempat yang sama - perusahaan yang baik akan berusaha untuk memindahkan karyawannya menuju ujung skala programmer melalui pelatihan dan pengembangan profesional. Mungkin layak mengambil pekerjaan programmer junior di kode monkey end jika majikan memiliki skema lulusan atau sejenisnya yang pada akhirnya akan menghasilkan status programmer yang "tepat".

Scott
sumber
Seseorang jelas tidak setuju dengan saya, karena mereka kalah - saya ingin tahu bagaimana.
Scott
2
Saya telah menjumpai dua ras kera-kode. Salah satunya menjadi "anjing tua" yang hanya kode, dapat diandalkan dan menyelesaikan pekerjaan. Tetapi dengan mengorbankan desain yang kasar dan dengan kode yang dipenuhi dengan paradigma lama dan pengalaman "cruft" bertahun-tahun yang membuat mereka melihat segalanya sebagai paku, dan "cruft" mereka sebagai palu. Mungkin salah satu dari mereka yang menurunkan Anda :)
Zoran Pavlovic
Anda dapat menambahkan bahwa programmer juga berusaha untuk belajar secara rinci tentang apa yang ingin dicapai oleh pengguna akhir dengan perangkat lunak mereka, dan berpotensi bagaimana hal itu mempengaruhi dunia yang lebih luas, dan menggunakan pengetahuan itu untuk mengambil beberapa peran dalam proses pengambilan keputusan organisasi tentang produk yang mereka kembangkan. Saya sarankan menonton video pembicaraan Martin Fowler 'More Than Code Monkeys'. Seorang programmer kadang-kadang memutuskan sendiri apa pekerjaan yang baik untuk dilakukan, dan apakah melakukannya secara mandiri, atau upaya untuk membujuk manajemen mereka untuk setuju.
bdsl
6

"Kode Monyet" 'kode mon.key' (/ koʊd / / ˈmʌŋki /)

"Code Monkey" adalah istilah merendahkan yang digunakan untuk menggambarkan seorang programmer yang:

  • Preforms tugas-tugas pemrograman yang dianggap sangat sederhana atau tidak ada tantangan nyata.
  • Tidak benar-benar diizinkan untuk menyelesaikan masalah, atau ikut serta dalam desain aplikasi.

Sekarang programmer "nyata" kadang-kadang juga telah membentuk sebelumnya jenis pengkodean dari waktu ke waktu.

Namun perbedaan utamanya adalah "kode monyet" tidak memiliki pilihan dalam melakukan hal lain.

"Code Monkey" dapat digunakan untuk menyiratkan programer posisi OR kemampuan

Malam gelap
sumber
4

Menurut file jargon kode monyet dapat merujuk ke:

  1. Seseorang hanya mampu mengeluarkan kode, tetapi tidak dapat melakukan tugas-tugas arsitektur, analisis, dan desain perangkat lunak yang lebih tinggi. Sedikit menghina. Seringkali diterapkan pada kebanyakan orang junior di tim pemrograman.

  2. Siapa pun yang menulis kode untuk mencari nafkah; seorang programmer.

  3. Cara mencela diri sendiri yang menyangkal tanggung jawab atas keputusan manajemen, atau mengeluh karena harus hidup dengan keputusan seperti itu. Seperti pada "Jangan tanya kenapa kita perlu menulis kompiler dalam COBOL, saya hanya monyet kode."

Menurut Jonathan Coulton, seorang monyet kode:

  1. Jika dihadapkan dengan kritik tidak adil tentang kode mereka, mereka akan membangun kemarahan terhadap kritik, tetapi berisiko melukai status pekerjaan mereka akan membuat kemarahan tetap terpendam dan tidak mengatakan apa-apa (Mereka akan mengklaim bahwa mereka tidak marah gila, hanya bangga.)
  2. Suka Fritos, Tab dan Mountain Dew.
  3. Punya sisi sensitif yang mereka lebih suka tidak tunjukkan, atau lebih mungkin tidak tahu bagaimana caranya, menunjukkan (mereka memiliki hati "rahasia" tebal hangat).
  4. Mereka tahu mereka sedang melakukan pekerjaan buntu dan bukannya datang untuk mengatakan pekerjaan lebih baik hanya bangun, makan kue kopi, mandi dan tidur siang.
  5. Berusaha meyakinkan diri sendiri bahwa pekerjaan mereka "dipenuhi dengan cara yang kreatif," tetapi jauh di lubuk hati mereka tahu itu omong kosong.
  6. Tidak begitu baik dalam situasi sosial.
  7. Semua hal yang dianggap masih memiliki pandangan cerah tentang masa depan mereka.

Dalam semua keseriusan, sebuah pekerjaan tidak dapat membuat Anda menjadi monyet kode hanya perilaku dan sikap Anda yang dapat melakukannya.

Robert
sumber
3

Ada satu bab lengkap tentang jenis programer di "Code Craft" Pete Goodliffe . Semua aspek dari apa artinya "Kode Monyet" disebutkan dalam jawaban lain. Yang ingin saya tekankan (dan apa yang ditunjukkan teks Goodliffe), adalah Anda dapat menemukan pro dan kontra untuk semua jenis. Bergantung pada pekerjaan dan kepribadian, mungkin baik / diinginkan / memenuhi menjadi kode monyet tim, yang membuat ide / konsep / rencana menjadi kenyataan dengan memproduksi "Kode Indah".

Ekkehard.Horner
sumber
Saya tidak tahu definisi apa yang Anda gunakan. Tetapi kode-monyet hampir TIDAK AKAN PERNAH menghasilkan "Kode Indah", dalam arti apa pun selain yang sarkastik.
Zoran Pavlovic
0

Sejauh menjadi programmer yang baik, Anda akan menjadi programmer yang sangat baik di mana pun Anda pergi, saran saya adalah menjadi pengembang. Dengan catatan menjadi kode monyet, baik itu hubungan yang Anda bangun sendiri atau perusahaan memaksa Anda untuk melakukannya. Menjadi kode monyet berarti bahwa semua yang Anda lakukan adalah tetap menggunakan alat atau teknologi sederhana dan Anda disimpan dalam mode tunggal pengembangan hal-hal kecil, Anda tahu potensi Anda berada dalam melakukan hal-hal yang jauh lebih besar, jika ini pekerjaan pertama Anda, cari perusahaan yang lebih besar, bahkan jika itu membuat Anda di tingkat monyet untuk beberapa waktu dan percayalah jika perusahaan itu besar dan saya yakin jika Anda bekerja keras, Anda akan datang kode Godzilla !!! Jika teman Anda mengatakan perusahaan itu besar dan Anda akan disimpan dengan cara kode-uang, dia salah. Perusahaan tumbuh besar karena mereka cenderung menangani masalah besar skala industri dan mereka bekerja pada masalah desain dan pengembangan yang lebih besar. Perusahaan kecil jarang melakukan itu tetapi ini tidak berarti perusahaan kecil tidak akan tumbuh atau Anda akan menjadi pemimpin tim dalam beberapa bulan, seperti kita semua, Anda akan naik tangga.

Wajih
sumber