Kod maymunu olmanın nesi yanlış? (Veya, kod maymunu nedir?) [Kapalı]


35

Programcılar aşağılayıcı bir şekilde bir "kod maymunu" olduğu hakkında konuşmaya meyillidir. “ Orada çalışma , sadece bir kod maymunu olacaksın!”.

Biri küçük bir şirkette, diğeri de çok büyük bir şirkette (aynı maaş) iki teklifim var. Arkadaşım az önce büyük şirkette kod maymunu olacağımı söyledi ve ilk elden edindiğim tecrübeden, küçük şirketin beni “kod maymuna” indirgemekten daha faydalı olacağını biliyor.

"Kod maymunu" ile "gerçek" bir programcı arasındaki farkı gerçekten anlamıyorum. Lütfen detaylandırın. Programlamayı çok seviyorum, bu yüzden bana bir bilgisayar programında oturma fikri (kod maymunu) fena görünmüyor. Programcı, programlamayı seviyorsa "kod maymunu" ile ne anlama gelir?


Jonathan Coulton, Code Monkey Unplugged'ı kullanıyor youtube.com/watch?v=7s8S7QxpjeY
Adam

Codemonkey'ler daha serin tişörtler alıyor redbubble.com/people/hayko/t-shirts/1808968-b-code-monkey
yannis


hmmmmm .... Kod Maymun- oh bekle, hayır, Tıknaz Maymun'u düşünüyorum.
dietbuddha

Maymunlar Babun dışında iyi programcılar değil!
Arun Sangal

Yanıtlar:


32

Code Monkey, bir maymunun yapabileceği kadar basit kodlama yapmak demektir

Genellikle en düşük seviyedeki programlama işlerine atıfta bulunmak için kullanılır, ancak kodlamadan başka hiçbir şey yapmayan birisine gönderme yapmak için de kullanılabilir. UI tasarımı yok, mimari girdi yok, geliştirme kararı yok, vb.

Bir kod maymunu olmakta yanlış bir şey yoktur (bazen kendime bir tane derim), ancak, yaptığınız tek şey kodlama yapmaksa, zincirde asla yukarı doğru hareket etmeyeceğiniz ve görebilme ile birlikte gelen yüksek maaş rakamlarını görmeyeceğinizdir. tüm yazılım geliştirme döngüsünü anlayın.


21

"Kod maymunu" sıfır yaratıcılığın gerekli olduğu kodlayıcıyı tanımlar. Böyle bir kodlayıcı, klonlama formu ve dosyalananı değiştirme gibi tekrarlanan, sıkıcı, sıkıcı sıkıcı işler yapar.

"Gerçek programcı" dediğiniz şey, aslında uygulamanın mantığını tasarlamaya katılan ve aslında işe yarayan yaratıcılık kullanan bir kişi olacaktır.


Bunu doğru söyleyip söylemediğimden emin değilim, ancak yazılım geliştirmenin işletme mantığı üzerinde çalışmak "gerçek programcının işi" mi? Örnek: bir web uygulamasına sahip olduğumuzu varsayalım, geliştiricinin bazı istatistikleri göstermek için bir widget tasarlaması (mantığının) veya geliştiriciye gerekli tüm bilgileri vermesi gereken bir başkasının (örn. Göstermemiz gereken, herkes tarafından erişilebilir, ya da yalnızca yetkili kullanıcılar vb.) ve ardından geliştirici veritabanı şemasını, kodu vb. Söylemeye çalıştığım şeyden bahseder miyim? benim kötü ingilizce
üzgünüm- ltdev

15

Bana göre, en azından, ayrım, bir kod maymunun, gerçekten düşünmeden, sadece "uygun" bir programcının profesyonel olduğu bir kod üretmesidir . Daha yüksek kalitede kod üretmek için mühendislik tekniklerini kullanırlar ve sistemin bir bütün olarak farkındalığı vardır, daha iyi planlama ve daha kapsamlı tasarım yaparlar.

Örneğin, "uygun" bir programcının bazı özellikleri (kargo kültürünün farkında olmasına rağmen):

  • Bir programcı, bir dereceye kadar, sadece kodlamanın değil, tüm yazılım geliştirme yaşam döngüsüyle de ilgilidir. Kod maymunları, tasarımlarla veya onlarla istişare edilmeden yaratılan gereksinimlerin üzerine kodlama yapıyor olabilir.
  • Programcılar herhangi bir kod yazmadan önce kapsamlı tasarımlar (testler dahil) oluşturur. Tasarımın yazmaya başlamadan önce iyi (hızlı, verimli vb.) Olduğundan eminler. Kod maymunları doğruca içeri atlar. Tasarımın çalışana kadar iyi olup olmadığını bilmiyorlar.
  • Programcılar kendi işlerini planlama sorumluluğunu üstlenirler. Kod maymunları, yöneticilerine söyleneni istediklerini yaparlar.
  • Programcılar yaratıcılık ve becerilerinden dolayı birey olarak değerlendirilir. Kod maymunları, kodu veren değiştirilebilir kara kutular olarak görülür.
  • Programcılar uyarlanabilir; yeteneklerini birçok alana, dile vb. uygulayabilirler. Kod maymunları aşırı uzmanlaşır ve yeni bir çerçeveyle çalışmak zorunda kalırlarsa kaybolurlar.
  • Programcılar her zaman kendilerini profesyonel olarak geliştirmeye çalışırlar. Kod maymunları, beceri ve tecrübe açısından bulundukları yerde kalır.

Burada bir yelpazenin karşıt uçlarında iki nokta kullandım - çoğu işin aralarında bir yerde duracağından şüpheleniyorum. Ek olarak, kariyerin tamamının aynı yerde kalması pek olası değildir - iyi bir şirket, çalışanlarını eğitim ve profesyonel gelişim yoluyla çalışanların programın sonlarına doğru ilerletmeye çalışacaktır. İşveren lisansüstü bir şeye sahipse veya sonunda "uygun" bir programcı statüsü ile sonuçlanacaksa, kod maymunu ucunda küçük bir programcı işi almaya değer olabilir.


Biri açıkça oysa benimle aynı fikirde değil, oy kullanmıyor - ne hakkında olduğunu bilmek isterim.
Scott

2
İki tür kod maymunu ile karşılaştım. Bunlardan biri sadece kodlayan, güvenilir olan ve işi yapan "yaşlı köpek" olmaları. Ancak cludgy tasarım pahasına ve eski paradigmalar ve yıllarca süren "acımasız" tecrübe ile dolu kodları ile her şeyi bir çivi olarak görmelerine ve onların "acımasızlığını" çekiç olarak görmelerine neden oldu. Muhtemelen seni küçümseyenlerden biri :)
Zoran Pavlovic

Ayrıca, programcıların, son kullanıcıların yazılımlarıyla ne elde etmek istediklerini ve potansiyel olarak daha geniş dünyayı nasıl etkilediklerini ve bu konuda bilgi sahibi olmak için örgütsel kararlar alma sürecinde bazı rolleri almak için bu bilgileri kullanmaya çalıştıklarını da ekleyebilirsiniz. geliştirdikleri ürün. Martin Fowler'ın 'More Than Code Monkeys' konuşma videosunu izlemenizi öneririm. Bir programcı bazen kendileri için ne yapmanın iyi olduğu konusunda karar verir ve ya kendiliğinden karar verir ya da yönetimini kabul etmeye ikna etmeye çalışır.
bdsl

6

"Code Monkey" 'kodu mon.key' (/ koʊd / / ˈmʌŋki /)

Bir "Code Monkey", bir programcıyı tanımlamak için kullanılan aşağılayıcı bir terimdir:

  • Son derece basit olduğu düşünülen veya gerçek bir zorluk içermeyen programlama görevlerini önceden biçimlendirir.
  • Sorunların çözülmesine veya uygulamanın tasarımında yer almasına gerçekten izin verilmiyor.

Şimdi "gerçek" programcılar bazen zaman zaman bu tip kodlamalardan da önceden yararlanmışlardır.

Ancak temel fark , bir "kod maymunun" başka bir şey yapmanın bir seçeneğinin olmamasıdır.

Bir "Kod Maymun", bir programcının konumunu VEYA kabiliyetini ima etmek için kullanılabilir.


4

Göre jargon dosyasına bir kod maymun başvurabilirsiniz:

  1. Yalnızca kodu silme yeteneğine sahip, ancak yazılım mimarisi, analiz ve tasarımın en üst düzey görevlerini gerçekleştiremeyen bir kişi. Hafifçe hakaret. Genellikle bir programlama ekibindeki en gençlere uygulanır.

  2. Bir yaşam için kod yazan herkes; programcı.

  3. Bir yönetim kararının sorumluluğunu reddetme veya bu kararlarla yaşamak zorunda olma konusunda şikayet etmenin kendine zarar verme yolu. “Neden COBOL'da bir derleyici yazmamız gerektiğini sorma, ben sadece bir kod maymunu”.

Göre Jonathan Coulton bir kod maymun:

  1. Kodları hakkında haksız eleştirilerle karşı karşıya kalırlarsa, eleştirmene karşı oldukça öfkeleneceklerdir, ancak iş durumlarının zarar görme tehlikesiyle karşı karşıya kaldıkları için öfkelenecek ve bir şey söylemeyeceklerdir. deli, sadece gurur duyuyorum.)
  2. Fritos, Tab ve Mountain Dew'i sever.
  3. Göstermeyi tercih etmeyecekleri veya daha büyük olasılıkla göstereceklerini bilmedikleri hassas bir tarafa sahip (büyük sıcak bulanık "gizli" kalpleri var).
  4. Çıkmaz bir işle çalıştıklarını biliyorlar ve bu işe gelmek yerine sadece uyanmak, bir kahve pastası yemek, banyo yapmak ve kestirmek yerine geçer.
  5. Kendilerinin işlerini "yaratıcı bir şekilde yerine getirdiğine" ikna etmeye çalışır, ancak derinlerde bunun çok saçma olduğunu bilirler.
  6. Sosyal durumlarda çok iyi değil.
  7. Düşünülen her şey gelecekleri hakkında hala parlak bir görünüme sahip.

Tüm ciddiyetle, bir iş size bir kod maymunu yapamaz, ancak davranışınızı ve tavrınızı yapabilirsiniz.


3

Pete Goodliffe'nin "Kod El Sanatları" nda programcı türleri hakkında bir bölüm var . “Kod Maymun” un ne anlama geldiğinin tüm yönleri diğer cevaplarda belirtilmiştir. Vurgulamak istediğim (ve Goodliffe'nin metninin gösterdiği gibi), her türlü lehte ve aleyhte olanlar bulabileceğinizdir . İşe ve kişiliğe bağlı olarak, fikirleri / kavramları / planları "Güzel Kod" u üreterek gerçeğe dönüştüren ekibin kod maymunu olması iyi / arzu edilebilir / tamamlayıcı olabilir.


Hangi tanımı kullandığını bilmiyorum. Ancak bir kod maymunu, alaycı olandan başka hiçbir şekilde "Güzel Kod" üretmez.
Zoran Pavlovic

0

İyi bir programcı olmak söz konusu olduğunda, nereye giderseniz gidin çok iyi bir programcı olacaksınız, önerim bu arada bir geliştirici olacaktır. Bir kod maymunu olmanın notunda, kendinizin ya da şirketin sizi yapmaya zorladığı bir ilişkidir. Bir kod maymunu olmak demek, yaptığınız tek şey basit bir alet veya teknolojinin etrafına sadık kalmak ve küçük şeylerin tek bir gelişim modunda tutulmanızdır, potansiyelinizin çok daha büyük şeyler yapmakta bulunduğunu bilirsiniz, eğer ilk işinizse, daha büyük bir şirket, sizi bir süre maymun seviyesinde tutsa ve şirket büyükse bana güveniyor olsanız bile, sıkı çalışırsanız eminim, bir kod Godzilla olacaksınız !!! Eğer arkadaşınız şirketin büyük olduğunu ve kod parası gibi tutulacağınızı söylüyorsa, yanlış olur. Şirketler büyür, çünkü endüstriyel ölçekte büyük sorunların üstesinden gelme eğilimindedir ve daha büyük tasarım ve geliştirme konularında çalışırlar. Küçük şirketler nadiren bunu yapar, ancak bu, küçük şirketlerin büyümeyeceği veya birkaç ay içinde bir takım lideri olacağınız anlamına gelmez, hepimiz gibi, merdivene tırmanacaksınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.