Süper bir programcı diye bir şey var mı? [kapalı]


14

Süper bir programcı ile karşılaştınız mı? "Normal" deneyimli / harika programcılara kıyasla onu böyle tanımlayan nedir?

Ayrıca. ekibinizde süper bir programcı olduğuna inanan biriyle nasıl başa çıkıyorsunuz? Her ikisi de aslında ya da değil mi?

Edit : Her yönden ilginç girişler, teşekkürler Birkaç şey toplanabilir:

Birkaç tanım ortaya çıktı. Çok yerelleştirilmiş tanımları göz ardı ederek (yazarları veya süper programcılar olarak tanıdıklarını tanımlayan), birkaç tanımı beğendim:

  1. Thorbjørn'un tanımı : Uzun bir süre boyunca iyi bir takımın eşdeğerini sürekli yapan bir kişi.

  2. Özgür Elektron, Henry'nin cevabından bağlantı kurdu . Olağanüstü yeteneklere sahip çok üretken bir insan. Açıklama iyi bir okuma.

    Serbest Elektron kodlama konusunda her şeyi yapabilir. Sıfırdan eksiksiz bir uygulama yazabilir, bir hafta sonu bir dil öğrenebilirler ve en önemlisi, muazzam bir spagetti kodu yığınına dalabilirler, mantıklı olabilirler ve gerçekten işe yararlar. Bir Serbest Elektron etrafında tüm işletmeleri inşa edebilirsiniz. Onlar o kadar iyi.

    Son tanımın aksine, James tarafından dahi programcının efsanesi ( video ) ile bağlantılı olan nokta . Aynı fikir rwong'un yorumunda egosuz programlama olarak da ifade edilir . Böyle benzersiz bir programcı mı yoksa ekip için mi optimize edileceği konusunda zıt görüşler sunarlar.

Bu tanımlar kesinlikle farklıdır, bu yüzden hangisinin daha iyi olduğu konusunda bir girişiniz varsa bunu takdir ediyorum. Ya da elbette isterseniz kendiniz ekleyin, ancak neden onlardan farklı olduğunu söylemek yardımcı olacaktır.


3
Evet, adı John Carmack .
Gary Willoughby

1
Masamda bir çizim kilitli küçük bir kağıt parçası üzerinde 4 Ücretsiz Elektronlar listesi var .
Henry

'Süper programcı' == 'dahi programcı' click_this google.com/events/io/2009/sessions/MythGeniusProgrammer.html
James

Jeff'in egoless programlama hakkındaki yanıtı görün .
rwong

Sadece The Mythical Man-Month kitabından bir düşünce eklemek istiyorum, en.wikipedia.org/wiki/The_Mythical_Man-Month , harika bir programcıdan iyi bir programdan birkaç kat daha iyi gösteren bir araştırma makalesi alıntılandı. Tüm detayları hatırlamıyorum ama bir takımda üretebilen, büyüklükteki emirlerin diğerlerinden daha fazla olduğu açıktır.
Travis

Yanıtlar:


17

"Süper programcı" terimini sadece iyi bir programcılardan oluşan bir ekip gerektiren işler yapabilen ve uzun süre tutarlı bir şekilde yapan kişiler için düşünürdüm .

Bu, hem yüksek kaliteli kod (dokümantasyon, testler vb.) Yazmak hem de çözülmesi gereken çok fazla bilgi ve yetenek gerektiren çok zor sorunları çözmek için geçerlidir.

Ancak, tüm hesaplarda uzun süre yüksek performans gerektirir. Kimsenin anlayamadığı ve sürdüremediği tonlarca kod yazanlar için bu terim geçerli değildir.

Nasıl başa çıkılır? Eğer gerçekten varsa var böyle bir kişi daha sonra excel kişiye için gerekli iskele sağlamak için elinizden gelenin en iyisini. Bu, alakasız şeyleri yoldan çıkarmak ve kişinin ihtiyaç duyduğu kaynakları sağlamak anlamına gelir. Çok yüksek performans gösterenlerin alçakgönüllü olma eğiliminde olduklarını lütfen unutmayın.

Ne yazık ki, süper bir programcı olduğunu düşünen bir kişinin olması çok daha muhtemeldir . Bunlarla başa çıkmanın yolu, performanslarını ölçülebilir hale getirme deneyimimdir. "FindBugs herhangi bir sorun bulamayabilir", "Tüm kodlar, kullanım durumlarına karşılık gelen testlere sahip olmalıdır", "Akran denetimi".

Kodun anlaşılması gerçekten zorsa, süper olmayan programcının herhangi birinin anonim olarak açıklamasını isteyebileceği son toplantıdan bu yana yazdığı kodu açıkladığı ve herkesin anonim olarak kabul ettiğini reddedebileceği haftalık toplantıları düşünün . kod tabanının sürdürülemez olması için. Sonra en azından zihniyet paylaştınız ve gelecekteki bakıcıların bir kod parçasını veto etmesine izin verdiniz. Bu ayrıca programcıya hangi tür kodların fazladan iş yapmak zorunda kaldığını tetikleyeceğini güçlü bir şekilde gösterecektir.

(DÜZENLEME: Anonim bitin nedeni, süper olmayan programcıya karşı çıkanlara misilleme yapmaktan kaçınmaktır).


2
Anonim giriş dışında mükemmel noktalar. Eğer takım gerçekten birleşecekse ve "süper programcı" tanımına gerçekten ölçüp ölçmediğini anlarsa, takımın ve yazılımın başarısı için birlikte çalışmak için birbirlerinin güçlü, zayıf ve zayıf yönlerini öğrenmeleri gerekir. ve güven inşa etmek. Kendilerini bir süper programcı olarak kısa gelenlerini bulmak ve düzeltmek için kendilerini başkalarının eleştirisine (burada belirli bir dereceye kadar yapıldığı gibi) açmak meselesidir.
Huperniketes

@ Süper, anonimlik başlangıçta kişiselleşmekten kaçınmaktır. İnsanüstü olduğuna inanıyorsanız, eleştiriye çok iyi bakmayabilirsiniz (ya da bu soru ilk etapta sorulmazdı).

2
@Thor, birinin kendisi hakkında inandığı şeylerle uğraşırken zaten kişisel. Anonimlik, güvenin geliştirilmesini çok daha zor hale getirir. Ekip üyeleri dürüst olabileceklerine, eleştirilerin hoş karşılandığına ve önemli görüşlerin açıkta olduğuna güvenmelidir.
Huperniketes

Süper bir programcı genç bir programcıya kodu açıklamayı daha kolay mı yoksa daha zor mu bulur? Eğer boşluk büyükse açıklama zor olabilir. Değil mi?
Muhammed Alkarouri

1
@Muhammad, benim tanımıma göre, süper bir programcının temiz, bakımı kolay bir kodu iyi bir dokümantasyonla yazdığı ve genç bir programcının bile anlayabileceği (çalışma zamanında mevcut olan şeyler nedeniyle Java'da daha az ihtiyaç duyulan çok karmaşık algoritmalar hariç), bu yüzden onları dikkate almıyorum). Küçük bir programcıya açıklamanın bu kadar kolay, ama belki daha uzun süreceğini düşünürdüm.

5

Bir süper programlayıcı, bir hızlandırıcı derleyiciden daha hızlı kod oluşturabilen, özyinelemeli bir işlevden daha güçlü ve tek bir sınırda FIFO yığınlarına atlayabilen herhangi bir kişidir.

Ekibinizde süper programcı olduğuna inanan biriyle başa çıkma şekliniz onu tek zayıflığına - güneş ışığına maruz bırakmak.


5
@Chetan: FIFO yığını nedir?
rwong

3
@Chetan: Bu yararsız bir cevap. Belki de bu kadar inanılmaz olan programcılarla çalışmadınız, hiç layık olup olmadığınızı merak etmeye başlıyorsunuz.
JBRWilkinson

Bir süper programcı bulutta yaşamalı ve Zihin Sorgu Dili için herkese açık bir API sağlamalıdır .
rwong

@rwong ilk giren ilk çıkar yığını, kuyruk olarak da bilinir.
alternatif

1
@mathepic: bir kuyruğa yığın çağırabiliyorsanız, LIFO ve FIFO'nun aynı şey olduğu anlamına mı gelir? (Lincoln'u
yorumlamak için

3

Kişiden İşyerinde Kodlayıcılar tarzında bir bölüm yazmasını isteyin . Bir yayıncıya gönderin. Reddedilirse, kişi süper bir programcı değildir.


İfadenizin tersi doğru mu? (Kabul edilirse, onun süper bir programcı olduğunu varsayabilir misin?) Bence bu açıklamayı kullanabilir.
alternatif

Bir zamanlar "Java tabanlı işlemsel mesajlaşma sisteminin mimarı" olduğunu okuduğum anda bu kitabın yazarına duyduğum saygıyı kaybettim. Oh, en azından o işi bırakma duygusu vardı.
Dan Moulding

1
@Dan Molding: Kapatır ve o kitapta görüştüğü programcıların tüm konuşmaları yapmasına izin verdiği sürece ne iddia ettiği umrumda değil. (Bu kitabı yeni satın aldım ve okumayı dört gözle bekliyorum. Umarım düşündüğüm kadar iyidir). =)
gablin

Fikir iyidir, ancak yayıncılar süper programcılar yerine ünlü programcıları kabul etme eğilimindedir . Doğru?
Muhammed Alkarouri

@Alkarouri: Eğer süper süperstar ile aynı anlama sahipse, evet, süper programcı olmak da ünlü olmak demektir.
rwong

2

Diğerlerinden daha fazla üretim yapabilenler var.

Diğerlerinden daha düşük hata oranıyla çıktı üretebilenler var.

Tutarlı bir şekilde, normal hata oranlarından daha düşük çıktı ile daha fazla çıktı üretebilenlere Süper Programcı denilmeye değer olabilir.

Bu şekilde bilinmesi veya böyle düşünülmesi, yalnızca arka görüşün faydası olan aydınlanmış bir yöneticiye açıktır.

Süper programcı olduklarını düşünen birinin muhtemelen büyük bir egosu vardır ve iyi olduklarını düşünür. Bu onları iyi yapmaz.

Tutum <> Yetenek.


1

Süper programcı: programlamaya güçlü bir bağlılığı olan ortalamanın üzerinde zeka sahibi bir kişi. Zaman programlamasının çoğunu harcayan, kolayca bırakmayan ve belirli bir sorunu çözmeye kararlı olan bir kişiden bahsediyorum. Bekleyen bir sorun / hata varsa bu kişi nadiren uykuya dalar. Süper programcı etkili, hızlı ve güvenilir kod yazar. Süper programcı, en az bir programlama dili (ve teknolojisi) hakkında kapsamlı ve derinlemesine bilgi sahibidir, birkaç diğer konuda beceriklidir ve gerekli olan her şeyi hızlı bir şekilde öğrenebilir.


0

Süper bir programcı ile karşılaştınız mı? Onu böyle tanımlayan şey

Oluşturulan programlardan / projelerinden , kaynak kodundan, yapılan çalışmadan.

onun süper bir programcı olduğuna inanıyor

Söylediğine göre, ona inanmamasını sağlamak çok zor. En kötüsü, o kişinin daha iyi programcı olmak için durmasıdır, çünkü her şeyin hazır olduğunu düşünür ve onun evrimini durdurur. Programlamadan daha kötü ne. Her neyse, her zaman kanıt isteyebilirsiniz ... ve kendisinin kim olduğunu karşılaştırdığından kendisinin süper olduğunu varsaymak isteyebilirsiniz.

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.