Kusurları tasarlayın ve ondan aşağılanma ile uğraşın [kapalı]


84

Teklif ettiğiniz yazılım tasarımlarında her zaman temel olarak doğru mu geldiniz? Temelde yanlış olan bazı tasarımları yaptığınızda, ekip arkadaşlarınızın saygısını yitirirsiniz. Bundan sonra ne yaparsan yap, bu olaydan sonra önerdiğin her şey için kontrol edilmen gerekiyor. Bu, özellikle bir takıma yeniyseniz daha kötüdür ve geçmişe dair bazı iyi başarı hikayeleriniz olduğunu bilmiyorlar.

Belki de kötü bir tasarım vermenin sebebi, o alandaki deneyim ya da bilgi eksikliği ya da her ikisinden de kaynaklanıyordu. Böyle bir durumla nasıl başa çıktınız? Bu, kariyerinizde bir kerelik bir şey midir, yoksa açılıp kapanır mı? Biri bunu geride mi bıraktı yoksa böyle bir durumda yeni bir iş aramaya mı ihtiyaç duyuyor? Bazı dürüst geribildirim lütfen ...

Teşekkür ederim.


17
belki de tasarım doğruydu, sadece farklı bir sistem için ;-) egonuzu kodunuza / tasarımlarınıza yatırmayın, mükemmelliği bekleyebileceğiniz çok fazla faktör var; bunun yerine öğrenme, dürüstlük (özellikle de dürüstlük) ve ekip çalışmasına istekli olmanıza yatırım yapın. Tasarım 1. günde mükemmel olabilirdi ve gereksinimler 2. günde değişebilirdi! Ondan öğrenin ve devam edin
Steven A. Lowe 16

Tasarımınıza neden bağlanır? Amaç, ürün / şirket için en iyisini yapmak olmalıdır. Bir şey teklif et. İnsanlardan düşüncelerini isteyin; kusurlarını bulmalarını isteyin. Kusurlar bulundu? Durulayın ve tekrarlayın. Kusur yok? Göreyim seni. Artıları / eksileri tartışmalı mı, tartışmalı mı? Öyleyse yap. Tasarımınızı savunulması gereken yerde savunun. Sadece işe yaramadığı zaman bırak gitsin. Bunlardan herhangi biri neden utanç verici olsun ki? Beyin fırtınası. İnsanlar her zaman en vahşi, en aptalca şeyleri önerme esnekliğine sahip olmalıdır ....
Swati

Bence sen tüm hikayeyi anlatmıyorsun. Herkes her zaman iyi tasarımlar üretmese de, tasarımcının hiçbir ipucu olmadığı açıkça belli olmadığı sürece, başkalarının yetersiz olduklarını düşünmelerini sağlama eğilimindedir. Sanırım ya sadece “anlama” ya da bazı iyileştirmelere dikkat çekmeye çalıştılar ve kabul etmediniz, büyük olasılıkla süreçteki bazı temel ilkeleri reddediyorsunuz. Bunların ikisi de bir geliştiricinin çalışmasına daha fazla göz kulak olmamı sağlayacaktır.
Dunk

1
Ben aynı fikirde değildim. Benim ortaya koyduğum çözüm, ekibim tarafından küçük oldukları için itiraz edilmedi. Benden daha fazla deneyime sahip ve aynı zamanda daha iyi kalitede olan müşterimize bunu teklif ettiğimde, onu vurduğunda fark etmeye başladım. Bir yerde temelde yanlış bir karar verdim. Sadece kendimi aptal gibi hissetmekle kalmadı, aynı zamanda ekip üyelerimin yerinden çıkmasına izin verdiğim için kendime güven duydukları için ve şimdi bunu yapacaklarından şüpheliyim. Onları suçlamıyorum. Onların yerinde olsaydım bana şüpheli bakardım.
user20358

4
İyi bir geliştirici, her zaman doğru kararı veren bir geliştirici değil, kötü karar veren bir geliştiricidir, kabul eder ve çabucak kurtarır.
Rudy

Yanıtlar:


177

Bir keresinde, bir servet 500'ün vp'si şirkete kötü bir iş kararı ile 1 milyon dolara mal oldu. CEO’ya istifasını verdiğinde verdiği cevap, “Eğitiminize bir Milyon dolar yatırdım ve şimdi gitmeye çalışıyorsunuz? Kabul etmiyorum.”

Birisinin çaylak olduğu ya da beceriksiz olduğunu varsaymakla ilgili bir hata yapmakla suçlanan yöneticilerden ve diğer çalışanlardan bıktım. İyi bir tasarımcı olmanın tek bir yolu var ve bu da bir kaç% @ f% 'si olacak. Çalışanlarımın hata yapması umrumda değil, aynı şeyi birden çok kez yapıp yapmamaları umurumda. Asıl soru, ne kadar mütevazı ve ne kadar öğretilebilirsiniz? Birisi size hatasını bildirdiğinde, önce kendini savunuyor mu yoksa duyuyor musun? Gururunu yutabilecek ve ondan öğrenebilecek ender adamlardan biriyseniz, o zaman beklemeye değersiniz. Bir keresinde hata yaptığın için saygı duyduğun bir kişi, saygını hak eden biri değildir.

Şahsen en az iki kez tasarladığım ilk iki projeyi yeniden yazmak zorunda kaldım, ama ne biliyorsunuz? Bir ton öğrendim ve işverenim o sırada rahatsız edilse de, zaman zaman kazandığım verimlilik, hatalarımdan ders almaya istekli olarak çabucak telafi edildi.

Aşağılanma yönü ve nasıl iyileşeceği hakkında iki tavsiyem var. İlk olarak, insanlar zamanla unuturlar. Ayrıca, başkası üzerinde bir spot ışığı varken, onlar da batırırlar. O zaman herkes tekrar eşit olacak. İkincisi, dürüst, öğrenme, hata yaptıklarında başkalarına pislik olmayın. Aslında, gerçekten kıçından sıkı bir tekme ihtiyaç duymazlarsa onları teşvik etmelisin. Dürüst bir hata yaptığınızda nasıl hissettiğinizi hatırlayarak zamanla ekibinizin kültürünü değiştirmeye yardımcı olabilirsiniz. Sonunda insanlara daha iyi programcılar, tasarımcılar ve insanlar olmaları için ilham vereceksiniz.


3
Bu yorumu gerçekten beğendim. Geçmişte iş yerimde birkaç hata yaptım ve mükemmel olmasam da onlardan bir şeyler öğrenmeye çalıştım. İş arkadaşıma gittim (bu alanda benden çok kıdemli) ve daha iyi ne yapabileceğimi sordum ve bana iyi işaretler verdi. Şimdi daha iyi olduğumu düşünmeyi seviyorum. Dağıldığımı bilmek acı çekti ve aşağılandığımı hissettim, sonunda geçti. Bu beni cesaretlendiriyor çünkü bana doğru olanı yaptığımı ve bunun gerçekleşeceği bir şey olduğunu söylüyor. Özellikle de bu aslında benim ilk işim. :)
Ben Richards

1
İnsanların unuttuğu hak. Bir keresinde, bir kez botched DB yükseltme bir kez şirket yarım gün için aşağı yardımcı oldu. Bu korkunç bir gündü, ama ben bittim ve bence herkes de öyle.
Kratz

5
Güzel fıkra ve iyi bir nokta. Tabii ki düşünüyorum: CEO için söylemesi kolay. Kendi parasını yatırmadı. Oyunda cildi olan biri, devasa bir hataya karşı böyle tuhaf bir şekilde tepki vermez. Ancak dürüst olursa , yol boyunca çok daha küçük hatalar yaptıklarını ve her birinden öğrendiklerini anlarlar . Anahtar, hızlı bir şekilde başarısız olmak, dürüst olmak ve bir sonraki hatan için yeni bir şey seçmek . :) Bu tutum, kariyerinize zaman ayırmaya değer şirketlere tanınacak ve ödüllendirilecektir.
Greg Hendershott

1
@BiAiB Başkan Yardımcısı - genellikle "emir" anlamına gelir.
Jonathan Henson

2
@Greg H: "bizzarely müstakil?" Hayır, sadece rasyonel. Bir hata yapan iyi bir iş yapmaya çalışan biri , o hatadan öğrenir . Bu kişiyi daha iyi öğrendikten sonra , deneyimi olmayan birisiyle değiştirmek kötü bir karardır. Yeni adamlar temiz bir sicile sahip olabilirler, ama sadece ilginç bir şey denemediği için.
Zan Lynx

33

Bunu uzun zamandır (15+ yıl) yapıyorum ve hala ilk seferinde doğru anlamadım. En iyi tasarımlar, yinelemeli, işbirlikçi bir süreçten çıkıyor. Bir süredir bir tasarım üzerinde çalışırken, bunun yapılabilecek tek yol olduğunu düşünerek tuzağa düşürmek kolaydır. Özlediğiniz şeyleri görmek için taze bir bakış açısı yardımcı olacaktır.

Bunun çalışması için ekibin birbirine güvenmesi gerekir. İnsanlara hatalı olabilecek bir tasarım göstermekten korkmazsınız ve tasarım eleştirisini kabul edebilmeniz gerekir. Buna karşılık, ekibin geri kalanı bir tasarımdaki kusurların tasarımcıya bir yansıma olmadığını anlamalıdır. Tasarımın beklenen bir parçasıdır. Aynı zamanda ekip üyelerinin nasıl öğrendiklerini ve daha iyi olduklarını da gösterir: kendi hatalarından ve diğerlerinin hatalarından.

Bu şekilde çalışmayan, işlevsiz bir takımdaysanız, iki seçeneğiniz vardır:

  1. takımı tamir etmeye çalış
  2. Yeni bir ekip bulun (dahili olarak veya yeni bir işverende).

20

Bildiğim kadarıyla, her zaman temel olarak savunulabilirim . Bu temelde doğru olarak aynı şey değil . Genellikle koşullar, 'x' kararını vermeniz gereken süre ile 'x' in tekrar görüşte yanlış karar olduğu netleşdiği zaman arasında değişir .

ABD gelir vergilerini hazırlamak gibi bir şey. Birçok insan bir cevap olması gerektiğini düşünüyor. Yok. Fikriniz var; vergi muhasebecinizin görüşüne göre; IRS'nin kendi görüşü var.

Hata yaptığım zaman kimsenin saygısını kaybetmiyorum. (Bildiğim kadarıyla.) Sanırım, kısmen, her zaman kendi hatalarımı kabul ediyorum. (Aslında, sık sık kendi hatalarımı buluyorum .) Ayrıca, neredeyse tüm önemli tasarım kararlarında birden fazla kişinin imzası var. Bu kararlardaki hatalar tamamen tek bir kişiye değil gruba aittir.

Hata kabul etmeye gelince, yeterlilik ve deneyim kazandıkça daha kolay olacağını düşünüyorum. Tecrübelerime göre, ne kadar yeni tasarlar ve geliştirirseniz, bir hata yapma olasılığınız o kadar düşüktür.

Bu oluyor ve oluyor ve kariyerinizi rayından çıkarmamalı. Kimse önemli bir sorumluluk sahibi pozisyonda kaçınılmaz olarak doğru kararlar alır. Aslında, önemli bir sorumluluk sahibi olan hiç kimse her zaman savunulabilir kararlar vermez.

Ancak çoğu zaman, eksik bilgilere dayanarak savunulabilir kararlar verebilmelisiniz. Kızımın dediği gibi, "Bu sadece insan olmak."


Ne kadar çok bilirim, o kadar çok şey bilmediğimi de biliyorum. Bilgi genişliğim, bilecekler hakkındaki farkındalığımdan daha yavaş büyüyor. Sadece her gün daha iyi olmaya çalışıyorum. Bildiğim en iyi uygulamaları kullanıyorum. Bunların bazılarının düşündüğüm kadar iyi olmayacağını öğrendim. Ne yazık ki, deneyim kazandıkça hata kabul etmenin daha kolay olacağını kabul ediyorum. Ancak, deneyiminiz yoksa, hatalar beklenmelidir.
BillThor

Mükemmel cevap! Tasarımlarımdaki hatalarımı kesinlikle yaptım, ancak onlar tarafından hiç aşağılandığımı veya takım arkadaşlarımın saygısını kaybettiğimi sanmıyorum. Kararlarım her zaman bir sebepten dolayı verilmişti ve akıl yürütmemin yanlış veya eksik bilgiye dayandığı ortaya çıktığında, her zaman hatayı kabul ettim ve düzeltmek için çalıştım.
Carson63000,

8

Herkes bazen bazı şeyleri yanlış anlar. Hatalar kaçınılmazdır. Yanlış olduğunuzda özgürce kabul edin, hatalarınızdan ders alın ve özellikle başlangıçta gerçekten yanlış olduğunuza ikna olmamışsanız alçakgönüllülük gösterin.

"Aşağılanma" asla gerçekleşmemeli. Bir kişinin performansını hiç arttırması mümkün değildir.

Burada benim şirketimde, hala zor kararlara boyun eğdirmeye istekli olan ancak yanlış olduğunu kabul edip gerektiğinde davranışlarını ayarlayabilenlere saygı kültürü geliştirdik.


Ben ikinci 'saygı kültürünü' yapacağım. Şirketimizde sadece iki programcıdan biri olacak kadar talihsizim. Neden talihsiz? Çünkü her zaman (veya gerçekte biri) bir hata yaparsa, diğer programcı sizin aptal gibi yüzünüze güler. Daha da kötüsü, bir hata yaptığında, suçu her zaman başka bir yere yerleştirmeyi başarır (başka bir personel, Windows, gezegensel uyum). Bu işlerin böyle olması gerektiği gibi değil ve bu yüzden ondan öfkelenen bir yarışmaya katılması korkusundan yardım istemesini kesinlikle umuyorum.
hermiod

6

Teklif ettiğiniz yazılım tasarımlarında her zaman temel olarak doğru mu geldiniz?

Evet, ben bir süper insanım! Tabii ki hayır.

Temelde yanlış olan bazı tasarımları yaptığınızda, ekip arkadaşlarınızın saygısını yitirirsiniz.

Hayır! Bu olursa, takım ruhunda bir sorun var demektir.

Herkes hata yapar. Bazı çözümler iyi, bazıları kötü, ikisi arasında bir şey olduğu ortaya çıkıyor. Hem başarılar hem de başarısızlıklar, hem siz hem de takımın geri kalanı tarafından bir ders olarak alınmalıdır.

İlk hatalar kendini kötü hissedebilir, ancak yüzlerce yaptıktan sonra, bu işin bir parçası gibi.


4

Herkese olur. Önemli olan etmektir öğrenmek Hatalarından ve daha olmasına izin vermemeye çalışın. Ayrıca, sizin açınızdan bir hata olduğunu kabul ettiğinizden emin olun. Örneğin, bir zamanlar alt Veri Erişim Katmanı (SubSonic3) kullanma hatası yaptım. Karar verdiğimde sadece el yapımı SQL sorgularından uzaklaşmak istiyordum. Ben de o zamanlar en başından beri en kolay biri gibi göründüğünü seçtim. Ben de DAL'lerle çok deneyimli değildim. Birkaç sorunu çözdükten sonra neden bazı sorguların biraz uzun sürdüğünü merak ediyordum ve SubSonic'in tüm nedenleri masaya bırakıp iyi bir sebep olmadığını buldum.

Ben de patronuma söyledim, bir hata yaptığımı açıkladı ve düzeltmeyi planlamıştım. Elbette patronum birkaç günlük saf göç gerektiren oldukça büyük bir hata yapma konusunda hevesli değildi. Ama aynı hatayı tekrar yapmadığımdan da emin oldu. Taşınmasını önerdiğim bir sonraki veri erişim katmanı için bana bir kavram kanıtı projesi yarattı ve gereksinimlerimizle çalışacağından ve tüm tabloları aşağı çekmediğinden emin olduk. Sonuç olarak, bu benim için iyi bir öğrenme deneyimi oldu ve şimdi projenin önemli bir bölümünün gereksinimleri karşıladığından ve çok büyük sorunları olmadığından emin olacağımdan emin olacağım.

Yani temelde yaptığınız şey şudur:

  1. Bir hata yaptığını kabul et
  2. Düzeltmek için bir plan yapın
  3. Planınızın gerçekten işe yarayacağından emin olun
  4. Tekrar emin olun.
  5. Düzelt!

Bunu nasıl düzelteceğinizden emin değilseniz, diğer ekip üyelerini bu işe dahil etmekten çekinmeyin.

Son bir şey, rahatla! Herkes hata yapar. Çok az insan ilk seferinde mükemmelleşiyor


3

Bu geeky pissing yarışması olayı ve içinde olmak için iyi bir durum değil. Hiç kimse her zaman haklı değildir ve biri daha iyi bir yöntemle gelirse ya da bir sorunla karşılaşırlarsa utanılacak bir şey yoktur. yaptığın gibi.

Duygusal kendinizi kurtarmak için gereken sizin çözümü ve bulmak için çalışırken zaman harcamak iyi başkası tarafından çözülür bile, sorun çözüldü zaman o zaman memnun olabilir, çözümü.


3

Sorunuzda söylemediğiniz çok şey var. Ayarınızın "bir tasarım vermek" için ne olduğunu söyleyemem. Planlı yaklaşımınız hakkında bir akran ile ilk tartışma mı olacak yoksa nihai kodun ne olduğunu umduğunuzu mu veriyorsunuz?

Eski ise, o zaman kendinizi kötü hissetmek için bir neden yok ve akranlarınızın gelecekte sizi şüphelenmesi için bir neden yok.

Tasarımınızı başkasıyla görüşmek üzere son teslimine kadar bekliyorsanız, diğer işlerinizden şüphelendiğiniz için onları suçlamıyorum.

Herkesin tasarımını başkasıyla tartışması gerekir. Karmaşıklığa veya kritikliğe bağlı olarak, bunu birden fazla kişiyle defalarca tartışmanız gerekebilir. Herkes bir hata yapabilir, bir gereksinimi yanlış anlayabilir veya özel bir vakayı kaçırabilir.

Erken tespit edilen hataların düzeltilmesi daha kolay ve daha ucuzdur. Aynı hataları tekrar tekrar yapmazsanız, çok affedilir olmalıdır. Hakem değerlendirmeleri, hataları erken yakalamayı kolaylaştırır.

Takım ortamında yalnız bir kodlayıcı olmaya çalışıyorsanız, başkalarının yardımına ihtiyaç duymayacak kadar mükemmel olduğunuzu (neredeyse affedilmez) düşünme günahını taahhüt ediyorsunuz. Bir takım ortamı olması, sorunun kimsenin hepsini anlamayacak kadar büyük olduğunu kanıtlıyor. İnsanlar birbirleriyle konuşmak zorunda kalırlar veya hatalar ugle kafalarını serbest bırakmaya (ya da serbest bırakıldıktan sonra) çok yakın yönlendirir.


Benim ortaya koyduğum çözüm, ekibim tarafından küçük oldukları gibi itiraz edilmedi. Takımın başarısız olduğu bir sorunu çözmek için takıma getirildim. Ayrıca zaten kötü tasarım, kod kokuları vb. Sorunu vardı. Her şeyi düzeltmek ve müşteriyi mutlu etmek için her derde deva olarak çekildim. Bu yeni tasarımı benden daha fazla deneyime sahip ve aynı zamanda daha iyi kalitede olan müşterilerimize önerdiğimde, tam da bir yerde temelde yanlış bir karar verdiğimi çekerken fark etmeye başladım. Takımın yaptıklarından daha iyiydi, ama yine de kırmızı renkte çok ...
user20358

Üst düzey bir kaynak olarak bunları bilmeliydim. Eminim ekibim de aynı şeyi düşünüyor.
user20358

@ user20358 Ekibinizle itibarınızı kurtarmak için hala zamanınızın olması gerektiğini söyleyebilirim. Önemli sorunlar anında düzeltilemez. Tek atışlık bir sihirli mermi olmak için mi çektin, yoksa sürekli olarak takıma deneyim eklemek için mi çektin? Umarım ikincisi. Bunu varsayarak, kendinizi takımla bütünleştirmeniz gerekir, böylece size yol boyunca ne öğrendiklerini öğretebilirler ve deneyiminizi daha iyi bir yönde yönlendirmek için kullanabilirsiniz. Başarılarını kabul edin ve ürünü geliştirmenin yollarını görmeleri ve keşfetmeleri için onlara rehberlik edin.
jimreed

3

Her zaman bir yandan iyi ya da kötü kararlar arasında bir ayrım yaptım; ve diğer doğru ve yanlış kararlar. İyi bir karar, aynı koşullarda, aynı bilgilerle aynı şekilde vereceğiniz karardır; Kötü bir karar, farklı şekilde vereceğiniz karardır. Doğru bir karar, hindsight ve ek bilgilerin yararı ile doğru olduğunu kanıtlayan bir karardır; ve tersine yanlış kararlarla.

Genellikle yanlış karar vermeyen kişinin hiçbir şey yapmadığı söylenir. Yanlış kararlar birinin öğrenilme şeklidir. Kötü kararlar çoğu zaman daha da kötüleşir çünkü karar verici karar vermede kendilerini yatırım yapar ve kararı geriye dönük olarak haklı çıkarmaya çalışır ya da sonuçta iyi bir karar olduğunu kanıtlamaya çalışır (örtbas etme her zaman orijinal karardan daha zararlıdır).

Yaptığım tasarım kararlarının çoğunun doğru olduğunu ispatladım, ancak yanlış olan kararlarla daha çok şey öğrendim ve daha da ilerledim. Umarım kararlarımın çok azı kötü kararlardır, ancak birinin kötü kararları ile sorunun bir kısmı, kararın kötü olduğunu kabul etmektir ve onlardan kaynaklanan çoğu zaman hoş olmayan dersleri kabul etmektir.


3

" Pazartesi Sabahı Oyun Kurucu " olmadıkları sürece . Tüm tasarım tartışmalarına katılmış birini ancak bundan sonra işe yaramayacağını bildiklerini iddia edecek bir şey söylemeden kullanmıyorum. Yapıcı bir bağlamda yer almasa bile eleştiri alabilmelisin.

Muhtemelen SO bölgesinin en iyi özelliklerinden biri risk alabilmektir, çözüm önerebilir ve belirsiz bir çözüm bulabilmektir. Bu şekilde öğreniyorsun. Kafanızda yanlış olan bir demet saçmalıkla hayattan geçmek, ama size asla yolsuzluğun söylenmediği, gerçek cehalettir.

Bilmediğin bir şey biliyor olabilirler, ama her şeyi bilemeyecekler. Üstesinden gel, işe git ve bir şey yap. Zeki olduklarını düşünerek zamanlarını boşa harcalarlar.


2

Her zaman iyi tasarım yaptım mı ? Hayır! Bunu yapmak için çaba sarf ediyorum, daha iyi olmak için gayret ediyorum, ancak her başarılı projede, görünüşte her zaman yapabileceğim şey, daha önce yaptığım şeye bakmak ve işareti nasıl kaçırdığımı kısmak.

Yıldız tasarımından daha azını öneren birine gelince, eğer o kişi hatadan öğrenmeye istekli olduğunu ve eleştiriye açık olduğunu kanıtlarsa o kişiye karşı tutmazdım. Kişinin benzer şekilde daha iyi olmak için çaba gösterdiğine ve bunu yapma yeteneğine sahip olduğuna dair kanıt görürsem, kötü bir tasarım önerisi sadece bir öğrenme fırsatıdır.


1

Şimdi ve sonra herkese olur, bu yüzden yapılacak en iyi şey tasarımın neden yanlış olduğunu anlamak ve bundan öğrenmek. Bilgi eksikliği varsa, tasarım hatası size bir dahaki sefere kullanabileceğiniz yeni bilgiler verecektir. Sizi cesaret kırmasına izin vermeyin, herkes bir noktada bundan geçer. Tecrübe kazanmanın ve yeni bir ekip / çevre ile tanışmanın en iyi yolu.


1

Bu sık sık olur. Endüstrimiz o kadar hızlı değişiyor ki, asla yanlış olmama ihtimali kesinlikle sıfır.

Ancak, kötü tasarımı itirazlarının üzerine düşüncelerini düşürdün mü? Aşırı tepki göstermelerinin nedeni bu olabilir.

Hata çok büyükse, elbette saygını yeniden kazanmak zaman alacaktır. İş arkadaşlarınızdan biri sizi kötü yönde yönlendirdi ve tüm ekip için sorunlar yarattıysa, yakın vadede daha fazla kendini kanıtlaması için ona ihtiyacınız olmaz mı?

Yapabileceğiniz tek şey, yanıldığınızı kabul etmek, doğru kişiyi kabul etmek ve daha iyi dinlemek ve gelecekte daha iyi araştırma yapmak için çaba göstermek.

Tasarımı yanlış yapan ne yapmadın? (Rastgele olmayan bir örnek - var olan web servisini, satır satır çalışan (kodun yeniden kullanılması ve yalnızca bir yerde iş kurallarının değiştirilmesi gereken) kullanmak için kullanmak için bir içe aktarma işlemi tasarlayın; bitir.) Ondan öğrenin ve gelecekte bunları düşünün.


Hayır kötü tasarımı zorlamadım. Ekibin sürekli olarak başarısız olduğu sorunları çözmek için ekibe getirildim. Ayrıca zaten kötü tasarım, kod kokuları vb. Sorunu vardı. Her şeyi düzeltmek ve müşteriyi mutlu etmek için her derde deva olarak çekildim. Diyelim ki, bu yeni tasarımı benden daha fazla deneyime sahip ve aynı zamanda daha iyi kalitede olan müşterilerimize önerdiğimde, bir yerde temelde yanlış bir karar verdiğimi, onu çekerken fark etmeye başladım. Takımın yaptığı şeyden daha iyiydi, ama hala kırmızı renkte çok ...
user20358

Yanıldığımı itiraf ettim, ama bu çok yardımcı oldu çünkü hem yöneticim hem de müşteri için tecrübelerimi dikkate alarak daha iyi bilmeliydim.
user20358

1
O zaman yakın zamanda kendinizi kanıtlamak için çalışmanız gerekir. İnsanlar hatalar yapar, önemli olan onları düşmekten nasıl kurtardıklarıdır. Tasarımı yapmak için ihtiyaç duyduğunuz bilgiyi almadıysanız, belki de bir sonraki tasarım teklifinden önce daha ayrıntılı bir araştırma yapmayı düşünmelisiniz. Bir şey zaten kötü durumda olduğunda, tüm sorunları çözmek için tasarım yapmak zordur, bazılarına odaklanırsınız, ancak daha kritik olanları o kadar belirgin olmayabilir.
HLGEM

0

Her zaman hatalar olacak . Hata yapmak, programcı olmaktır. İnternetteki diğer kişilerden ve özellikle iş arkadaşlarınızdan öğrenmeye devam edin. Buradaki tek utanç, pes etmek ya da bundan böyle böyle bir konu söz konusu olduğunda başınızı kuma gömmek olacaktır.

Arkana koy, kafanı eğ ve elinden gelenin en iyisini yap. İyi bir programcıysanız, hatalarınızla parlayacaksınız.


0

Fikrinizin sağlam bir temel üzerine oturduğundan emin değilseniz, tüm şirkete veya departmana teklif etmeden önce bunu birkaç güvenilir meslektaşınızla tartışmalısınız. Aslında, emin olsanız bile, hala birlikte çalıştığınız ve sizi en iyi tanıyan kişilerle tartışmalısınız. Sorunları erkenden tespit etmenize yardımcı olacaklar.


0

Her zaman başımıza gelir. İlk tasarımı prototip olarak kullanın. Neyin işe yaradığını ve neyin işe yaramadığını ve neden olmadığını öğrenin. O zaman çok daha iyi bir nihai ürün yazabilirsiniz.

Kendinizi haklı çıkarmaya veya savunma yapmaya çalışmayın. Hatayı itiraf et ve devam et.


0

Temel problem açıklanmış gibi görünmüyor: Bu sosyal bir sorundur. Bu tür davranışları hemen hemen her meslekte görebilirsiniz: Eğer bir hata yaparsanız ve onlar sizi belirli bir konuda "kategorize etmekten" hoşlanırlar, sonsuza dek. Bu sosyal bir davranış. Zeki ve akıllı insanlar bile herkesi takip etme eğilimindedir.

Size programlama ile ilgisi olmayan bir örnek vereyim: Önceki işimde bulaşıklarımı bir ya da iki kez yıkamayı unutmuştum. O zamandan beri, tüm çalışanlar benim bulaşıklarımı asla bulamayan biri olduğumu düşünüyorlardı. Ve şimdi lavaboda kirli bir şey olur olmaz, benim (başka kim olabilir).

Her yerde aynı: bu ne tür bir sorun olursa olsun, sosyal bir davranış.

Bana dürüst geribildirim istediğini mi söylüyorsun? Tek çözüm, başka bir işten çıkmaktır. Eğer ekibin bütün insanları işinde iyi olmadığını düşünüyorsan, kısa sürede değişmeyecek, böyle söylediğim için üzgünüm. Öyleyse başka bir iş arayın, çünkü bu tür (aptalca itiraf etmeliyim) sosyal davranışlarını asla değiştirmeyeceksiniz .


0

Önemli olan, davanızı nasıl ifade edeceğiniz ve ne gibi değişiklikler yaptığınızdır. Yanlış olmayan ve Jon Skeet'ten daha harika bir programlama gurusu olduğunu iddia ediyorsanız, o zaman bir noktada bunun için aşağıya çekilmeniz muhtemeldir. Önemli olan, çözümlerinizi nasıl sunacağınızdır, böylece bunun kontrol edilmemesi gereken mükemmel bir çözümden ziyade soruna makul bir çözüm olduğunu gösterebiliyorsunuz.

En iyi örneğim, bir sınıfın staticçalışmasının bir zamanlar çalıştığım bir web uygulamasında olmasının yan etkilerini keşfetmektir . Bir örneğin devam etmesinin ve uygulamanın tüm kullanıcıları arasında paylaşılmasının ne kadar kötü olacağını bilmiyordum ama ondan öğrendim ve zaman içinde düzeldi. Bazen bir şey bulunur ve büyük düzeltmeler yapılması gerekebilir. Bir zamanlar çalıştığım hafıza sorunlarına neden olan dizi birleştirmelerini azaltmak için bir grup VBScript'i elemek zorunda kaldığım o kamptaydım. Uygulamanın bu bölümünde ~ 20 isteğe bağlı alana sahip olduğum için, dinamik olarak SQL'i oluşturmak zorunda olan bir müşteri kodunu bulduğumda 1998'de SQL enjeksiyonlarına karşı savunmasız olan kod yazdığımı bile hatırlayabilirim.


Mükemmeliyetçilik burada iki ucu keskin bir kılıç olabilir; bu, 3. yorumu nasıl gördüğümü ve aynı zamanda benim de olduğum gibi. Kötü, tüm bu hataların olduğunu ve hiçbir şeyin doğru olmadığını görmek. İşin iyisi, elinizden gelenin en iyisini elde etmek için, başkalarının sizden beklentilerini aşmama durumunda iyi bir buluşma olabilirsiniz. Sürekli gelişme, mükemmeliyetçiliği görmenin PC yolu olabilir ve ölçülü olma durumunda bunu iyi bir şey olarak görüyorum. Yapılan tüm hatalar için kodunuz üretime giriyor mu? İşi halleder mi? Bunlar, birisinin üzerinde bir şeyleri her zaman düzelttiği gibi düşünmek ya da o kadar kötü olmak istemeniz güzel mi, yoksa mükemmel olana kadar başka bir şey yapmamayı tercih ediyor musunuz? Pratik, işi daha iyi yapacak kalıpları bulmada yardımcı olmak için faydalı olabilir. Ancak,


Ben
Jon

Ben de benzer bir hata yaptım. Bir MVC uygulamasında statik bir sınıfı denetleyici olarak tutmaya karar verme. Prosedürel bir geçmişe göre, OOP düşüncem her gün gelişmektedir. Hala ne zaman soyutlanıp ne zaman karar vermeyeceğimize dair bir karar vermeyi öğreneceğimi düşünüyorum. miras ne zaman, ne zaman kompozisyon için gitmek. En kötüsü, vurulduktan sonra, zaman öğrenmeye harcıyorum ve bir süre sonra nihayet aldığımı hissediyorum ... tekrar vuruluncaya kadar.
user20358

Öğrenmeyi umursamıyorum. Sadece kaybettiğiniz itibar, her seferinde farklı olsalar bile hata yapmaya devam edersiniz. Etrafındaki herkes için hala pek çok hata yapmış gibi görünüyorsun. Her seferinde yeni bir tane değil, öğrendiğin ve daha iyi olduğun bir şey.
user20358
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.