Olumsuz staj deneyimlerim gerçek dünyayı mı temsil ediyor? [kapalı]


85

Stajyer olarak şu anki deneyimlerimin gerçek sektörün temsilcisi olup olmadığını merak ediyorum.

Geçmiş olarak, iki bilgisayar uzmanının ve büyük bir üniversitedeki matematik bölümünün daha iyi bir bölümünden geçiyorum; Her sınıfa katıldım ve hepsine hayran kaldım, bu yüzden programlamada kötü olmadığımı düşünmek istiyorum. En büyük yazılım şirketlerinden biriyle staj yaptım ve şimdiye kadar yarı yolda olağanüstü düşük kod kalitesinde şok oldum. Yorumlar yok, hepsi spagetti kodu ve yanlış olabilecek her şey daha da kötü. Bir ton özel ders / TAing yaptım, bu yüzden kötü kod okumaya çok alışkınım, ama en büyük endüstri ürünlerini görüyorum. Günde 10-12 saat çalışıyorum ve hiçbir yere gitmiyormuşum gibi hissetmiyorum, çünkü Belgelenmemiş bir API bulmaya veya (tamamen belgelenmemiş) ürünün başka bir bölümünün davranışını belirlemeye çalışmak için sonsuz saat. Her gün bugüne kadar işten nefret ederek işten ayrıldım ve umutsuzca ömrüm boyunca saklanıp saklanmadığını bilmek istiyorum.

Stajlara kısa bir pipet çektim mi?


22
Olması gerekenden daha yaygın. Birçok yer tam anlamıyla hiçbir şeyi doğru yapma konusunda cahildir.
Wayne Molina,

35
Negatif olarak gördüğünüz şey aslında olumludur, gerçek dünya deneyimini daha sonra ertelemek için daha iyidir ve deneyimlediğiniz şey, büyüklük derecelerine göre akademik deneyiminizden daha gerçek bir dünyadır.

69
Programcıların çoğunlukla diğer programcı kodlarından nefret ettiğini unutmayın. Daha sonra yazdığınız kod üzerinde çalışan kişilerin aynı şeyleri söyleyebileceği ihtimali. İyi bir programcı olduğunu düşündüğünüzü biliyorum ve olabilirsiniz, ancak düşündüğünüz kodu yazan kişi için çok yüksek oranlar var. Ama hayır, her zaman tarif ettiğiniz kadar kötü değildir. Kısmen, gerçek dünya kodunu doğru bir şekilde okumayı ve değerlendirmeyi henüz tam olarak öğrenmemiş olabilirsiniz ve bir kez sahip olduğunuzda biraz daha iyi görünecektir.
psr

22
Üniversitede gördüğünüz kod düşük kaliteli spagetti kodu değilse , deneyimleriniz benimkinden farklıydı ... Akademik projeksiyonlardaki kodların çoğu, ne olursa olsun, bakım gerektirmeyecek bir kavram kanıtı olarak ortaya çıkıyor.
Michael Borgwardt

10
@psr: Programcıların genel olarak diğer programcıların kodlarından nefret ettiğini kabul etmiyorum. Okunabilirlik, iyi belgeler, basitlik, vb. Gibi bazı kalite parametreleriniz varsa, kodlama stilleri sizinkinden farklı olsa bile, bir başkasının kodunda bile değer verebilirsiniz. Öte yandan, karmaşık, karmakarışık, doğaçlama bir kod görürseniz, başka birinin kodu olduğu için beğenmezsiniz. BTW, ayrıca aceleye bir şeyler yazmak zorunda kaldığımda ve sonuçta kalite standartlarıma uymadığı zaman kendi kodumdan nefret ediyorum .
Giorgio

Yanıtlar:


128

Bir nedenden dolayı Real World ™ diyorlar.

Gerçek kurumsal dünyada karşılaşacağınız şeylerin% 99'u saçmalık olarak kabul edilecek ve iyi bir nedenle açıklayacağım. Berbat sayılmayan% 1 sonuçta berbat olacak.

# 1 Yazma Kodu, # 2 ????, # 3 Kar!

İşletmelerin kar açmak için var kapalı Birincisi, do not mükemmeliyettedir altın depolarında muhafaza mükemmel teorik olarak tasarlanmış, temiz ve bozulmamış akademik kod dağlar oluşturmak için vardır. Yakın bile değil, ürettikleri kaynak kodu satma işinde olanlar bile değil.

İş dünyasında kod sona ermek için bir araçtır . Bazı kodlar bir işletme sorununu çözerse ve yaratmanın ve sürdürmenin maliyetinden daha fazla para kazanıyorsa, bu işletme için arzu edilir. Sizi kod yazmanız, işletmenin kod almasının yalnızca bir yoludur.

Teori 0 - Uygulama ∞

İdeal olarak bakım daha çok endişe verici olmalı, ancak genellikle değildir, çünkü kısa vadede finansal olarak kazanmaz. Uzun vadede, yazılım genellikle nispeten kısa bir yaşam döngüsüne sahiptir, özellikle web tabanlı uygulamalar, hızla kullanılmakta ve daha sık tekrar yazılmaktadır.

Evde iş uygulamaları, pek çok momentum sebebi nedeniyle sonsuz zombi projeleri olarak algılanan şey olarak çalkalananlar. Bu projeler aslında devam ettikleri başarılar çünkü işi kâr etmeye devam ediyorlar.

Teoride teori ile pratik arasında bir fark yoktur. Uygulamada var. - Yogi Berra

Teorik olarak kusursuz bir şekilde tasarlanan tamamen temiz bozulmamış kod bazları% 100 kod ortalamalarına sahip şirketlerden tasarruf etmeli, uygulamada geçerli bir yatırım getirisine yakın herhangi bir şey sunmaya bile yaklaşmıyor.

Yazılım Yaşam Döngüsü Fiziği

Ayrıca yazılım dünyasında işte süper güçlü bir entropi kuvveti vardır. Tüm yazılımı bir Büyük Çamur Topuna dönüşmeye mahkum eden kaçınılmazlığın kara deliğidir .

Bir BBM'den ne kadar uzağa giderseniz o kadar iyidir, ancak her yazılım sistemi sonunda oraya yeterince zaman verilir. % 100 entropiye ne kadar çabuk yaklaşacağınız, nereden başladığınız ve teknik borcunuzu ne kadar çabuk yatırdığınız ve buna olan ilginin ne kadar yüksek olduğu ile belirlenir.

Yazılım sistemleri , yoksunluğu nedeniyle değil bakım nedeniyle çürür ve çürür . Tanımlı olarak kod değişikliği yapmadan yıllarca süren bir sistem tüm gereksinimlerini ve hedeflerini karşılar ve bir başarıdır.

Onların maksimum entropi daha yakın başlayan sürekli dürttü ve kışkırtılması kişilerdir çünkü sürekli değişim gerektiren sistemler ve olduğu bakım negatif değişikliği hızlandırır.

Yeterince iyi Yeterince iyi

Sürekli değişen web siteleri gibi kısa yaşam döngüsü sistemleri, pahalı dev ön tasarımlardan% 100 kod kapsamı kapsamından faydalanmamaktadır, çünkü itfa süresi, maliyetleri karşılamak için çok kısadır.

Yukarıda belirtilen dahili iş uygulamaları dizisi gibi uzun ömürlü sistemler de,% 100 kod kapsamındaki birim testlerinin büyük yatırımlarından gerçekten faydalanmamaktadır, çünkü projenin ömrü boyunca değişim oranı sıfıra yakın bir sabite yaklaşmaktadır. doğrusal olmayan moda.

Bu yüzden hayat sonu planları daha önemlidir ve yedek sistemleri şey o kadar yeni bir sistem yerine koştu gereken bir kaç yıl asal ve desteklenemez bunu geçti zaman değil, piyasaya sürülüyor gibi planlanmalıdır.

Bildiğim kadarıyla BBM hakkında bir şey öğretmiyorlar, ne olduğunu bilen bir CS mezunuyla daha önce hiç karşılaşmadım.

Yeterince İyi, Yeterince iyi , bu yüzden az ya da çok değil.

Yazılım Slumlords

Bir nedenden ötürü emlak gecekondu mahalleleri var, sahip oldukları yıkık gecekondu binalarından kar ediyorlar. Malların tükenme özelliğinin artımlı bakımı için harcadıklarından daha fazla kâr elde edin. Yapmasalardı, binayı yıkıp değiştireceklerdi. Fakat yapmazlar, çünkü artan maliyetler tüm binayı elden geçirmekten veya değiştirmekten çok daha azdır. Tükenmiş mülk için ödeme yapmak isteyen müşteriler (kiracılar) da vardır.

Hiçbir bina sahibi, gecekondu mahallesi değildir ya da olmasın, ilgili maliyetten önemli bir kar elde etmeyen bazı akademik mükemmellik nosyonları nedeniyle bir mülke para harcamaz.

Hiçbir müşteri, kendilerine uygun bir şekilde çalışan bir yazılım sistemine yükseltmeler için ödeme yapmaz. Hiçbir işletme maddi bir kazanç sağlamak için sadece kod yazıp parayı yeniden harcayamaz.

Microsoft en baskın ve başarılı yazılım varoluş orada var. Windows çok yakın zamana kadar önemli yeniden yazmalara başlamamıştı. Ve hala bütün eski kodu çekirdekten çıkarmamışlar. Onlar için iş anlamında bir anlam ifade etmiyor, insanlar son on yılda belirledikleri düşük beklenti beklentisini kabul etmeye istekli değiller.

prognoz

Bu, 20 + yıldan beri yazılım geliştirmede bulunduğum bir kalıptı. Yakında hiçbir zaman değişmeyecek. Bu, insanların bazı inanç sistemlerinden çıkmasını istediği yol değil, bir işletme üzerindeki dış güçlerin bir gerçeğidir. İşler karar vermeyi yönlendirir, karlar maaşınızı ödedikleri için kötü değildir, kısa vadeli veya uzun vadeli vizyonun önemi yoktur, bu, tanımı gereği kısa süreli sürekli değişim endüstrisidir. Kâr sağlayacak kadar iyiye karşı savunan kimse işi anlamıyor.

15 yıl boyunca danışmanlık yaptım ve çok çabuk öğrendim ki yeterince iyi , sadece başka bir şey bana mal oldu. Evet, her şeyin mükemmel olmasını istedim, ancak bir kod tabanını satmıyorsanız, ki bu zamanın% 99.99999'unda bir çözüm satıyorsanız , tüm bu temiz ve düzenli şık kod kaybolur ve sadece zamanınızı boşa harcıyorsunuz. .

İlerleme ve Umut

Çevik metodolojiler, en azından felsefi olarak, doğru yönde iyi bir adımdır. Kaosa hitap ediyor ve birinci sınıf vatandaş olarak sürekli değişiyor ve onu kabul ediyorlar. Metodolojilerin ve uygulamaların gereklilikler ve teknolojilerin yanı sıra değişmesi gerektiğini kabul ederek dogmatik uygulamaları reddediyorlar.

Bunlar zaman veya gereksinimleri değişen eksikliği, değişen personel tarafından tanıtıldı Entropiyi kabul canlılık teknik borcun konseptli bir yazılım sisteminin.

Ancak Çevik bir derde deva değil, fiziğin temel yasalarını değiştirmeyecek ve kod tabanları ne olursa olsun çürür. Tamamen ele geçmeden ve yönetilemez hale gelmeden önce çürümeyle başa çıkmayı planlamak yönetimin görevidir.

Çevik olarak yapıldığında çeviklik, entropiyi yönetmeye yardım eder, yavaşlatır, izler, ölçer ve planlı bir şekilde halleder. Durmayacak!

Kariyer Kararı

Bu sizin için gerçek bir felsefi sorun ise, muhtemelen diğer kariyer seçimlerini göz önünde bulundurmalısınız, çünkü işler böyle yürüyor. Açık Kaynak projeleri daha iyi bir sicile sahip değildir ve çoğu durumda kod, gördüğüm çoğu kurumsal koddan bile daha kötüdür.


2
Onunla felsefi sorunum yok, hiçbir yere varamamak sinir bozucuydu. Ancak, bu kesinlikle mantıklı;
Ele aldığım kodların çoğu

8
“mükemmel bir altın depoda yer alan mükemmel teorik olarak temiz tasarlanmış ve bozulmamış akademik kodun dağlarını oluşturmak için yoklar.”: Ancak, geliştiricilere kodlarını temizlemek için daha fazla zaman vermeleri durumunda ne kadar para kazanacaklarını bilmiyorlar. daha sonra hiç kimsenin artık anlamadığı bir hata veya kod yazmak için haftalar geçirmek zorunda kalmayacaklarını söyledi. Bence pek çok şirketin bu kısa vadeli düşüncesi uzun vadede karlarını azaltıyor. Ancak bu IMO'ya kötü yönetimin bir işaretidir.
Giorgio

22
Tuhaftır, o çalıştığım şirket gibi görünüyor yapar biraz daha yavaş gidebilir başlayan gelişmede vb son derece yüksek kod kapsama, titiz kod inceleme, günlük 30 dakikalık tasarım oturumları sahip üzerine YG elde, ama bu on kat döndürülür Aksi takdirde kod temeli başka türlü hantal hale gelirse.
Maksimum

4
Cevabınızın doğru olmadığını bilmek için yeterli proje başarısızlığı gördüm. Sektördeki çoğu insanın neye inandığını açıklarsınız. İnanç, bir mühendislik dünyasında, özellikle bilim uzun zaman önce bu tür bir inancı yanlış kanıtladığında, iyi bir kalite değildir.
deadalnix

27
-1 Bazı noktalar geçerli olsa da, birçok hata var. Örneğin, "tamamen teorik olarak temiz tasarlanmış" hakkında bir şey açık bir saman adam; refactor yerine yeniden yazmayı planlamak iyi bir fikir değildir ve sektördeki birçok kişi bunu anlar. Kod tabanları kaçınılmaz olarak çürümez, bakım eksikliği nedeniyle çürürler.
sleske

44

Stajyer olarak şu anki deneyimlerimin gerçek sektörün temsilcisi olup olmadığını merak ediyorum.

Hayır öyle değil. Kariyer seviyenizi ve deneyiminizi temsil eder. İşletmelerin iç kalite kontrol perspektifinden nasıl çalıştığını öğrenmenin bir parçası.

Arka plan olarak, iki bilgisayar dalının ve büyük bir üniversitedeki matematik bölümünün daha iyi bir bölümünden geçiyorum; Her sınıfa katıldım ve hepsine hayran kaldım, bu yüzden programlamada kötü olmadığımı düşünmek istiyorum. En büyük yazılım şirketlerinden biriyle staj yaptım ve şimdiye kadar yarı yolda olağanüstü düşük kod kalitesinde şok oldum.

Becerileriniz, deneyiminiz, eğitiminizin, başkaları tarafından yapılan işlerin kalitesi üzerinde etkisi yoktur. Sadece bu uygulamaları değiştirme yetkiniz olmadığı için. Üniversitede iyi ya da kötü olmanız önemli değil. Bu, şu an için çalıştığınız şirketin çalışma şeklini değiştirmiyor. Bu harika olsa da, bütün bu geçmişe sahipsin. Bu gerçekten sizin kendi yararınıza değil, sizin yararınız için. Bu yüzden sevdiklerinizi incelemek önemlidir.

En büyük yazılım şirketlerinden biriyle staj yaptım ve şimdiye kadar yarı yolda olağanüstü düşük kod kalitesinde şok oldum. Yorumlar yok, hepsi spagetti kodu ve yanlış olabilecek her şey daha da kötü. Bir ton özel ders / TAing yaptım, bu yüzden kötü kod okumaya çok alışkınım, ama en büyük endüstri ürünlerini görüyorum.

Yıllarca süren programlamada öğrendiğim şey, "kod kalitesi" ile "kabul edilebilir kod" arasında bir fark olduğu. Gerçek şu ki, otoriteye sahip biri kaynak kodunu kabul edilebilir durumda bulur veya kabul edilemez fakat gerekli bulur. Katıldığımız projeleri temizleyebilseydik iyi olurdu. Bu işi yapmak için kaynak tahsis etmek genellikle işletmelerin çıkarları ya da bütçeleri değildir. Ertesi gün güneş doğana kadar neden düzeltmek için iyi bir şey olacağına dair mantıksal argümanlar yapılabilir, ancak yönetim mevcut durumun “kabul edilebilir” olduğuna karar verdiğinde çok az şey yapılabilir. Her şey işleri yürütenle doğrudan ilgilidir. Ya iyi bir iç kaliteye değer verirler ya da vermezler. Açıkça değer veriyorsunuz ve bu nedenle bu mevcut durum sizi rahatsız ediyor.

Herhangi bir sektörde iç kalite kontrolüne bağlı olan bu türden problem örnekleri bulacaksınız. Yazılım geliştirmeden üretime kadar. Bunu bir problem olarak değil, sadece kaynak kodlarının mevcut durumu olarak görmeyi öğrenmelisiniz. Bu şekildedir, bir şeyi bulmak X dakika, bir şeyi düzeltmek X dakika sürer.

İş bu fazladan süreyi umursamıyor ya da kabul edilebilir buluyor.

Günde 10-12 saat çalışıyorum ve hiçbir yere gitmediğimi asla hissetmiyorum, çünkü belgelendirilmemiş bir API'yi bulmaya çalışmak veya (tamamen belgelenmemiş) ürünün başka bir bölümünün davranışını belirlemeye çalışmak sonsuz saatler. Her gün bugüne kadar işten nefret ederek işten ayrıldım ve umutsuzca ömrüm boyunca saklanıp saklanmadığını bilmek istiyorum.

Bir konuyu okumak için üniversitede uzun saatler koymak senin için neden kabul edilebilirdi, ama şimdi kaynak kodunu okumak için uzun saatler koymak kabul edilebilir değil mi? İşverenin seni işe almasının sebebi, başa çıkabileceğini düşündüklerinden eminim.

Sana bir tavsiyede bulunayım. İyi geliştiriciler, takip eden takım arkadaşlarından ne zaman yardım isteyeceklerini bilir. Cevapların her zaman kodda olduğunu sanmayın. İnsanlara birkaç soru sorarak kendimi saatlerce kurtardım. Hızlanmak için yardıma ihtiyacın var gibi.

İkincisi, çalışma koşullarını bilmiyoruz. Uzun saatler çalışmak, birçok sektörde yaşamın bir gerçeğidir. Kendi kendine çözmen gerekiyor, ama sana söyleyebilirim. İşinden nefret etmek asla iyi bir işaret değildir. Bu duygu ile başa çıkmalı ve onun kökenine gitmelisin. Bu deneyimi olumsuz bulduğun için üzgünüm.

Stajlara kısa bir pipet çektim mi?

Okulda çok iyiydin ama şimdi bir stajyerin var ve o kadar iyi değilsin. Zaten gerçek dünyada gibisin. Bu hayatın bir parçası. Sorun şu ki, bu konuda ne yapacaksınız? Bu arkadaşım, önemli olan tek şey. Size ne yapacağınızı söyleyemeyiz. Kendi kararını vermelisin.

Size, yaşınızdaki deneyiminizin sahip olduğum fırsatlardan çok daha iyi olduğunu söyleyebilirim. 90'lı yıllarda benim için hayat kira ödemek ve bir sonraki sözleşmemi bulmak için bir mücadele oldu. Kendini şanslı say.


3
Görüşünüz için teşekkür ederiz! Sızma veya iddialı sesler duyduğum için beni affet, çok şanslı olduğumu ve hala öğrenecek çok şeyim olduğunun farkındayım. Ve sanırım yeterince iyi yapıyorum (muhtemelen tam zamanlı bir teklif alıyorum), bu deneyimin beni başka bir yere bakmaya ikna edebileceğini bilmiyordum. Endüstriyi daha iyi anladığınız için teşekkür ederim!
deneklikAtAnonymity

9
Babam bana başladığımda söylediğim gibi. "Başka yere bakmayı asla bırakma". Her zaman sektördeki diğer insanlarla ağ kurmalısınız. Özgeçmişinizi daima güncel tutun ve daima yeni programlama dillerini inceleyin. Hayatını işsizmişsin gibi yaşa ve her zaman iyi çalışacaksın.
Reactgular

Şu an ne kadar hoşlandığım göz önüne alındığında sürekli ders çalışamadığımı göremiyorum. Bana yardım etmesi gerektiğini duyduğuma sevindim!
deneklikAtAnonymity

5
+1 "İyi geliştiriciler, takip eden takım arkadaşlarından ne zaman yardım isteyeceklerini bilir." Küçük bir şirkette çalışıyorum ve yalnızca programlama deneyiminde benim için oldukça küçük olan 1 takım arkadaşım var, ancak sık sık sıkışıp kaldığım bir konuda netlik kazanacak. SOR!
TecBrat

2
@Jodrell "çalışma" kodunu değiştirmek çok büyük bir risk, "temizlik", iyi niyetli bir değişimdir, ancak cehenneme giden yol iyi niyetlerle döşenmiştir. Çok az sayıda ürün sahibi / proje yöneticisi, sadece değişiklikler uğruna değişiklik yapmayı kabul eder, çok fazla risk.

25

25 yıl ve çeşitli şirket ve sektörlerden sonra şunu söyleyebilirim:
Evet, oldukça yaygın.
Bu nedenle mühendislere genellikle oldukça iyi para ödeniyorlar, dağınık çit bölmeleriyle karşılaşmakta başarılı olmalılar ve tüm kahrolası şeyi yeniden ateşlemek ve gerçekte ne olması gerektiğini bulmak için baskı arzusuna direnirken hala değişiklik yapabiliyorlar. yapıyor. Buradaki duyguyu sizin için içine attım - karşılaştığınız kod hakkında böyle hissetmek normaldir!

Gördüğünüz kod, farklı yaklaşımlar ve standartlar ile farklı adlandırma kuralları, vb. Gibi farklı programcılar tarafından sonsuz yinelemelerden geçmiştir.

Yine de, $ baskısının her zaman açık olduğu gibi. Kodun uzun vadede tek yolun neden ve neden daha iyi olduğunu açıklamak her zaman cazip gelir, fakat birçok işte zamanın kısa vadeli hızlı bir çözüm için geçiyor. Bir projedeki standartları yok etmek sadece 1 mühendisten kısa sürüyor. Bunu nasıl önleyeceğini bilen ve gerçekten ele almak için doğru olanı (makul bir şekilde mümkün olduğunda) savunan çok iyi bir yönetici gerekir.

Kesin olan bir şey var ki, 'iyi kod' terimi faydalı olamayacak kadar özneldir. Elbette sizin için öznel değil, belirli nedenleri / öğeleri listeleyebilirsiniz. Bununla birlikte, diğer insanlar, bazıları teknik değil , önemli olduğunu düşündükleri farklı öğeleri ve öncelikleri listeler ve bu nedenle özneldir.

Drekka gibi, bu da moral bozucu geliyor, bu yüzden biraz daha olumlu olmaya çalışmama izin verin, çünkü kesinlikle doğru:

  • Genellikle doğru şeyleri yapan en büyük teknik bileşenlere sahip kuruluşlar vardır .
  • Yeni şirket ... ve kod ... Bu temizleyici eğilimi olması. spagetti zaman ve insan nedeniyle büyür.
  • Bazı insanlar TDD ve BDD yapar, bazıları değildir. Menzil büyük.
  • Yaklaşık 10 yıl sonra, şu anda, tüm teknoloji tabanı değişiyor, böylece sektörde kalanlar yeniler kadar yetişmekte zorlanıyorlar.

Son olarak, Anthony Blake'in belirttiği gibi, her zaman 3 faktör vardır - zaman, maliyet ve kalite.
İlgili ifadeyi beğendim: "2 seç ! "


Diğer insanların böyle hissetmesine sevindim, haha. Bunun normal olduğunu anladığımda, kesinlikle buna daha fazla tolerans göstermeye çalışacağım. Teşekkür ederim!
deneklikAtAnonymity

6
"Seçim 2" yi alırsanız, şanslısınız , "Seçim 1" normal olarak daha sıktır.

"İyi kod" un öznel olduğunu sanmıyorum. Projeye ortalama bir değer girin ve onlardan sıkça istenen bir özelliği oluşturmalarını isteyin. Saatler sürerse kodunuz iyi. Günler (veya haftalar) sürerse, kodunuz kötüdür.
kubi

Kubi, bunun iyi bir kural olduğunu sanmıyorum. Biri neyin üretildiğini hesaba katmalıdır. Daha yavaş kodun bir örnek olarak daha birçok testi olabilir. Hızlı kod olabilir (her zaman olmasa da) büyük bir dolu bakım baş ağrısı.
Michael Durrant

Ayrıca 'ortalama dev' çok öznel ...;)
Michael Durrant

16

Bu konuda birçok görüş var çünkü herkesin deneyimleri farklı.

Benimki şu ki, karşılaştığım geliştiricilerin yaklaşık yarısı iyi niyetli, ancak ortalama yetenekli. Üstte küçük bir grup parlak insan ve altta çalışan küçük bir grup var ama temelde başka bir şey yapmalılar çünkü gerçekten anlamadılar. Maalesef, diğerlerinden daha akıllı olduklarını düşünen ve genellikle onları nasıl takip etmeniz gerektiği konusunda yüzünüze oturan küçük bir beceriksiz aptallar grubu da var.

Akıllıca bir proje, birçok işe girdim ve derhal bir takım kurduğu projeye "bakmam" istendi, genellikle bu, üzerinde çalıştığı son geliştiriciyi kaybettikten sonra gerçekten ihtiyacı olan şeyi keşfetti. Genellikle tam olarak yukarıda ana hatlarıyla belirtilmiş olanı buluyorum - belgesiz, fazla işlenmiş, buggy spagetti. Bazen düzeltebilirim, bazen tekrar başlarım. Eski kod olması bile gerekmiyor, bunu da "yardım etmem" istendiği yeni projelerde buldum.

Çoğu şirketin stajyerlere bu berbat işleri vereceği gerçeğinden haberdar olmalısınız. Eğlenceli olanlar iki şeyi yaptıktan sonra gelir: 1 - kendini kanıtlamış ve 2 - başkalarının hatalarını düzelten başka şeyler üzerinde çalışmak için biraz zaman harcadı. Başka bir deyişle, yetenek ve inisiyatif göstermelisiniz.

Kötü kodu ele almanın asıl püf noktası, neyin kurtarılabilir olduğunu ve neyin olmadığını anlamaktır. Bu deneyim ve araştırmadan geliyor.

Sahip olduğun diğer kariyer seçeneği, yerleşik şirketler için çalışmayı bırakmak ve yeni başlayanlar için çalışmak. Öyleyse sürdürülecek bir eski kural olmayacak, böylece daha iyi bir şey yapmana yardım etme şansın olacak. Dezavantajı, başlangıç ​​projelerine yerleştirilen baskının, genellikle kısayolların ve saldırıların, kullanılmaması gereken durumlarda kullanılması anlamına gelmesidir.

Programcıların çoğu, erken veya zamanında teslimat yapmak için teknik borç almaya çok isteklidir. Ne yazık ki bu teknoloji borcunun etkisi genellikle, çok geç oluncaya ve başları belaya girinceye kadar, geliştiriciler ve yönetim tarafından aydınlatılır, küçültülür, göz ardı edilir veya kovulur.

Üzgünüm, bu karartıcı geliyorsa. Eminim başkası daha olumlu bir parça yapabilir. :-)


Hiç üzücü değil, bu deneyim kaçınılmaz ve kalıcı olmadığını bilmek güzel!
deneklikAtAnonymity

8
başlangıç, henüz önemsiz sayılmayan bir kod yaratıyor ...

Doğru :-) ve ben de başlamak için çok fazla crap kodu oluşturan bahsettiğim beceriksiz aptallardan bazılarıyla dolu bir başlangıçta çalıştım.
drekka

12

Burada bazı harika cevaplar var, fakat benim bitimi ekleyeyim;

Gerçek dünyaya hoş geldin - ne yazık ki bu çok yaygın.

Aşağıdaki şemaya bakınız;

görüntü tanımını buraya girin

Kurumsal yazılımla, yalnızca 2 veya daha fazlasını seçebilir ve birini feda etmeniz gerekir.

Gördüğünüz gibi, kurumsal dünyanın çoğunluğu hız ve fiyatla gidiyor.


17
Aslında 2 tane bile alacağın için şanslısın, çoğu yer sadece 1
softveda

1
Nitekim, bu üçten daha fazlası var - sadece birkaç isimde kapsam (aka özellikler), uyumluluk, güvenlik, kullanılabilirlik de var. Her zaman olduğu gibi, iyi bir sonuç almak, en iyi uzlaşmayı seçmekle ilgilidir (tıpkı her zaman olduğu gibi ...).
sleske

Her iki yorum ile aynı fikirdeyim, ancak bu çok yüksek bir örnek. Bu örnekte sadece "kalite" başlığı altında kapsam (aka özellikler), uyumluluk, güvenlik, kullanılabilirlik koymak isteyebilirsiniz.
AnthonyBlake

1
@AnthonyBlake: Evet, biliyorum. Güzel bir örneği mahvetmek istemedim, üzgünüm :-).
sleske

Benim için bu rakip cevap için +1. Zaman, Maliyet ve Kalite hatırlanması gereken önemli bir üçgendir. Üç kelimeyi kullanmak, tanıtmayı ve paylaşmayı ve başkalarıyla tartışmayı kolaylaştırır.
Michael Durrant,

6

Sektörün göstergesi değil, sınırlı deneyimimden 5+ yıl. Stajınızla çalışır ve deneyimden alabildiğiniz kadar ders alırım. İşaretleri ve göstergeleri arayın. Örneğin, bir sonraki pozisyonunuz için, bir dizi röportajdan kuşku duymak zorunda kalmayacaksınız. Bu süreç iki yönlü bir yoldur ve size bir şirket hakkında fikir edinme şansı verir. Bu hayati öneme sahiptir ve büyük olasılıkla kendi mutluluğunuza ve mutluluğunuza yol açacaktır.

Her şeyi özetlemek için, masal anlatım işaretlerini anlatın;

  • Şirketi kim yönetiyor? Tek bir yönetici mi, pazarlama ekibi (eğer öyleyse uzak durun), geliştirme ekibi, vb.
  • Teknik bir takdir var mı? Takımın yönetimi, amiri ve üyelerinin birbirlerine nasıl davrandıklarına bakın. Teknik lider konuşmaya başladığında yöneticilerin her türlü kaş hareketini yaptığı bir röportajdaydım. Ondan sonra ve öğrenme onlar kaynak kontrolünü kullanmadılar - bana yeterince hızlı bir şekilde kapıyı gösteremediniz.
  • İş hedefi? Şirket günlük finansal hedeflerde olduğu gibi günden güne yaşıyor mu yoksa parçası olduğun uzun vadeli bir plana sahip mi? Yazılım geliştirme genellikle aylar boyunca yapılır, bu nedenle şizofrenik yapıya sahip bir şirkete sahip olmak genellikle dağınık yazılıma yol açar.
  • Ağır bir şekilde kazın - teknik sorular sorurken ve insanların karışıp karışmadığını görün. Kaynak kontrolü, doküman kontrolü, sürüm süreci, hata raporları, yönetim stili, Şartlar ve Koşullar, vb.

Öyleyse yaşa ve öğren ve bir sonraki rolünü düşün. Kötü bir deneyime sahip olmak o kadar da kötü değil, çünkü iş ve iş dünyası hakkında daha iyi eğitimli olacaksınız.


4

İşimdeki ikinci on yılıma koşuyorum ve size mükemmel temiz kodun çok nadiren gerçekleştiğini söyleyebilirim ve bu gerçekleştiğinde, bu şekilde kalmaz. Geniş çapta kendinizi geçmişin hatalarını sürekli olarak tamir etmeye çalışırken, (ne yazık ki) zamanın kısıtlamaları ve mevcut liderlik hatalarını yerine getirmek için zayıf liderlik tarafından zorlanırken bulacaksınız.

Çok özel bir yazılım işinde olmadığınız sürece, işlevsel bir ürünü kapıdan çıkarma baskısı diğer tüm kaygıları geçersiz kılar ve belirli bir noktadan ötesi optimizasyon anlamsız olarak kabul edilir. Program 5 dakika içinde çalışıyorsa ve sadece 5 dakika içinde çalışması gerekiyorsa, çalışma süresini 2 dakikaya indirmeniz için kimse size birkaç hafta vermeyecektir.

Bazı mucizelere göre, yetkin yönetimin mükemmel bir birleşimine sahipseniz, net bir hedef, para, yetenek ve zaman ve temiz, üstün bir ürün üretiyorsanız ... Bu şekilde kalmanın tek yolu, asla dokunmamanız. yine . Bakım ve uzatma neredeyse her zaman çok düşük bir önceliğe sahiptir, her zaman etkili bir şekilde sıfır bildirimde değişiklik yapılması gerekir ve sonuçta kararsız bir şekilde sonuçlanır.

Dün bu projeyi düşünüyordum. Bu benim için bariz bir rüyaydı, kapıdan asgari derecede işlevsel bir bok sıçradım. Bunu zaman ve kaynak kaybı olarak gördüm.

Sürpriz, sürpriz, herkes onu sevdi ve iyi çalıştı. Böylece çizim tahtasına geri döndüm ve doğru yaptım. Ve yeni sürüm şaşırtıcıydı! Ama sonra yönetimde bir ciro vardı ve her şey "yeni bir işletme yönü" lehine hurdaya çıkarıldı.

İkinci yinelemenin şirkette gerçekten yarı-değerli bir konuşlandırması vardı ve bu konuda hiç bir şey duymadım, bu çok eğlenceli çünkü en az ~ 10 iş biriminin hala onu kullandığını biliyorum (işi yapmak için görevlendirdiğimiz yazılımı programın neredeyse 2 yıl gerisinde kalıyor) ve görünüşe göre hiç bozulmuyor.

Bu bizi son noktama getiriyor. Mucizevi bir şey üretseniz bile, o kadar iyi çalıştığı gerçeği, hiç kimsenin en azından biraz aşina olacağı ve kırıldığı zaman (genellikle aptalca bir şey yaptıkları için) adınızı onlardan daha kötü lanetleneceği anlamına gelir. Her üç Salı günü kıran o şeyi yazan aptalı lanet et.


2

Ne korkunç düşük kalite kodu düşündüğünüzü söylemek zor, ama evet, bazı programcılar çok iyi (tanımı gereği). Yazılım geliştikçe, insanlar hata yapar. Zamanla bu birikmeler ve işletme baskısı (ve programcı tembellik / cehalet) yeniden yapılanma yaratır ... Yaygın değildir.


Referans için normalde oldukça hızlı bir şekilde kod yazarım, ancak son 6 hafta içinde bir kod sayfası ürettim, çünkü kod tabanından herhangi birinin ne anlama geldiğini deşifre etmek çok uzun sürüyor. Yorum eksikliği, değişkenler ve işlevler için isteğe bağlı adlarla tamamlanır (Asya konumlarından sonra adlandırılan üye değişkenler en sevdiğim…).
girişimAtAnonymity

1
Ayrıca, yazılım geliştirmede 50-60 saat hafta standart mı?
deneklikAtAnonymity

2
Sadece kötü şirketlerde.
Wayne Molina,

2
Hiç de değil ve bu yüzden bu oldukça "bağlıdır" sorusu. Başlangıçlarda ve benzerlerinde? Elbette. Artı çok daha fazlası! Yüksek Öğrenim veya Hükümet'te, hayır. Danışmanlıkta evet. Artı daha. Hepsi diğer alanlarda ve avantajlarda ve tabii ki $ olarak değişiyor
Michael Durrant

1
evet, işyerinde farklı yaşam tarzı tazminat becerilerine ihtiyacınız olduğunu göreceksiniz. Sabit saatler, öğle yemeği, geç saatlere kadar kalmak çok farklı. Sınırlamalar dahilinde, zaman ve iyi bir tavır vereceğiniz zaman ve iyi bir tutuma yardımcı olacak ve hatırlayabilecek küçük şeyleri bulun ve zaman geçtikçe daha fazla saygı göreceksiniz ve kendi yolunda ve / veya değişiklik olsun.
Michael Durrant,

2

Gerçekten herkes için konuşamam ama işte diyebilirim.

Etki alanında 30 yıldan fazla bir süredir çalışmadım ancak birkaç şey söyleyecek kadar gördüm. Bir projenin bir insana benzeyen bir ömrü vardır. İlk tasarım, 20 yıllık gelişimden sonra bir proje söyleyebilmesi için mevcut ihtiyaçları karşılamayabilir. Bununla birlikte, bu kadar çok sayıda insan, onunla karıştırdığı kodu değiştirdi ve ilk başta mümkün olması gerekmeyen şeyler ekledi.

Eski projeler veya oldukça eski projeler için çirkin bir kod hayal etmek zor değil. Herkesin ilk tasarımları tam olarak anlamalarını bekleyemeyiz. Üzücü ama bu böyle.

Bununla birlikte, eski bir projeyi yeniden düzenlemenin her zaman mümkün olmadığını ve bazen de istenmediğini unutmayın. Üzerinde çalıştığım projenin yerini alacakları bir şirkette çalıştım. Yeni projeden daha iyi çalışacağı korkusuyla, projemi çok fazla etkilemem yasaktı. Bu projenin yeni bir projeden daha iyi çalışamamasına eminim. tabiri biraz daha "Bunu daha iyi yapma, sadece çalışmasını sağla" gibiydi.

Sonunda sık sık okuduğum ve dinlediğim gibi bu tür bir projeye sahip olmayacaksınız. Büyük şirketler yerine yeni firmalarla iş bulmaya çalışmalısınız. Yeni başlayanlar oldukça ilginç ve siz de istediğiniz gibi gitmediğini görürseniz eninde sonunda hızlı bir şekilde ilerleyebilirsiniz.

Ayrıca yapabileceğiniz bir şey var, gerçekten hiçbir şey için söz vermiyorum ama kodun gerçekten kötü olduğunu düşünüyorsanız ve yeniden düzenlemeye ihtiyacınız varsa. Takımla paylaş. Bu çirkin kodu yazanların sizinle çalışabileceğini unutmayın. Bu, insanların duygularını incitmekle ilgili değildir, ancak üzerinde çalıştığınız projenin bir süre sonra çökeceği ve insanlar onu geliştirmek yerine ne yaptığını anlamak için daha fazla zaman harcayacaklarını görürsünüz. Konuşmak ve sorunu iletmek, kendiniz için saklamaktan daha iyidir. Yeterince şanslıysanız, projeyi yeniden düzenlemeye başlayabilirsiniz.

Projeyi yeniden düzenlemeyi bitirirseniz, kötü tasarım seçimleri için işaret ettiğiniz kişi olabilirsiniz! Ve sonra yeniden yapılanmanın neden bu kadar sık ​​olmadığını anlayabilirsiniz. İnşallah tüm takımın canlanmasına mecbur kalırsa, hiç kimse dikkatini çekti. Sadece herkesi kovacaklar =)


2

Bu soruların cevabını basit bir alıntı ile toplamaya çalışacağım:

All code turns to crap given enough time and hands.

Gerisi sadece hikaye ...


İşe yarayan kod, ne kadar çirkin olursa olsun, orijinal kodlayıcıların inandığından daha uzun süre üretimde kalacaktır.
Jennifer S

2

Kod Kalitesi temel olarak iki faktöre bağlıdır.

Birincisi daima paradır. Hayatta kalma baskısı yüksek olan şirketler genellikle düşük ücret öder, daha az deneyimli geliştiricilere katılırlar, sıkı programlara sahiptir ve geliştiricilerinden yararlanmak için ne zaman ne de para harcarlar.

İkincisi insanlar. Öncelikle bütçelere karar verenlerin kod kalitesinde harcama yapmayı seçmeleri ve ardından "yaşamak" isteyenleri meşgul etmeleri gerekiyor. Tahmin edebileceğiniz gibi, iyi ücretli elli yaşındaki, yukarıdan aşağıya Delphi programcısını (klişelemeye gerek yok, özür dilerim) CI'yi yapan ve üreten güncel bir Java Geliştirici programına dönüştürmek zor olabilir. gevşek bir şekilde birleştirilmiş kod. Birçok geliştiricinin (belki de daha genç) dostları tarafından derslere karşı bir istekleri vardır, havuzlarında balık avlamaktan hoşlanmazlar veya tahtlarını boğarlar.

Böylece, bunun yanı sıra, her şirketin yanında eski kodunuz olduğunu da göz önüne alarak, gerçek hayatta bunun çoğunu aldığınızı söyleyebilirim. Yapabileceğin tek şey bir erkek çocuğu gibi davranmak: Ormana gir, biraz çöp topla ve temizle. Bir dahaki sefere adım adım daha az karışıklığa sahip olacaksınız.


2

Bütçeyle kodlamaya hoş geldiniz! Kalkınmanın yönetim tarafından çok erken, planlama yapılmadan ve köşelerin kesilmesiyle yapılmasının zorlanması arasında büyük fark vardır. İlk programlama işimi üniversiteden çıkardığımda benzer bir gerçek dünya şoku deneyimim oldu. Belge yok! Zamanla çok fazla zaman öğrendim, resmi belgeleri yazmak ve güncel tutmak sadece zaman kaybı. Neyse ki benim için, bu harika bir takımdı. Ne yaptığını bilen bir adam tarafından yönetiliyordu ve diğer ekip üyeleri doğru şekilde kod yazmayı gerçekten önemsiyorlardı. O zamandan beri, deneyimlerim seninkilerle aynıydı. Çok sayıda korkunç kod, çok sayıda kötü kod, çok sayıda ipucu "geliştirici" var. Her iyi geliştirici için 100 kötü olan var.

Sonsuza dek işinden nefret etmeye mahkum değilsin. Sadece biraz ön yatırım yapmak isteyen uzun vadeli faydaları tanıyacak kadar akıllı bir şirket bulmanız gerekiyor. En hızlı yol yerine işleri doğru yoldan yapmanın fayda sağladığını ve çalıştığım firmalarda buna saygı duyulduğunu ve güven duyulduğunu kanıtladım. Zamanla, spagetti kodu sabittir veya eski hale gelir ve kodunuz devralınır. Sadece uzlaşmaya hazır olun. Bazen bir şeyi programlamanın en havalı ya da en sağlam yolu sadece gözden kaçan bir işlemdir ve hızlı ve kirli bir şekilde yapmanız uygundur.


1

En büyük yazılım şirketlerinden biriyle staj yaptım

Tüm şirketler aynı değildir. Birçok şirkette berbat takımlar ve berbat yazılım kodları bulacaksınız. Ancak harika takımlar ve harika kod üsleri de bulabilirsiniz.

Bence Solaris'teki adamlar büyük şirketlerde bulacağınız kod üsleri konusunda çok iyi ve dürüst bir açıklama yaptılar : http://hub.opensolaris.org/bin/view/Community+Group+on/dev_solaris

Her gün bugüne kadar işten nefret ederek işten ayrıldım ve umutsuzca ömrüm boyunca saklanıp saklanmadığını bilmek istiyorum.

Hayır, 15 yıldan fazla bir süredir kodluyorum ve hala seviyorum.

Bu her şeyin mükemmel olduğunu söylemek değildir. Bazı korkunç kod üsleri ve ayrıca bazı harika kodlar gördüm. İşin püf noktası sizin için doğru yeri bulmak.

Büyük bir şirket, küçük bir şirketten çok farklı. Aynı şirket takımı A içinde bazen çok farklı bir B takımıdır. Sizin için doğru dengeye sahip olanı bulun (ör. Zorlu projeler, zevk aldığınız bir kültür, iyi ödeme, vb.)

İyi şanslar!


Sadece tüm şirketler aynı değil, daha büyük firmalarda da tüm gruplar aynı değildir. Bazen, farklı gruplar tamamen farklı inceleme süreçleriyle bağlanır. Görüşme yöneticilerine (ve bunlara erişiminiz varsa görüşme programcılarına) ne tür en iyi uygulamaları takip ettiklerini açıkça sormanın uygun olmadığını unutmayın. (Patron onlarla birlikte odadaysa, programcı cevaplarının işe yaramayacağını unutmayın.)
Novak

1

Senin gibi benzer şeyler gördüm. Olay gerçekleştiğinde iki vaka deneyimim var.

  1. Gelişme çok proje odaklı olduğunda. Önemli olan tek şey zamanında işlevsellik sağlamak, sonra da imza atmak. Bir sonraki değişiklik başkası tarafından, başka bir ekip / proje yöneticisi tarafından yeni bir bütçeyle yapılacak.
  2. Bir yazılım parçası uzun bir süre boyunca sadece birkaç kişi tarafından muhafaza edildiğinde, geliştiriciler tembel olma eğilimindedir, çünkü zaten bir yazılım parçası bilmektedirler. Akademik ilkeler çok uzak.

Üzücü, ama bazı yerlerde böyle.

Daha iyisi için küçük bir değişiklik yapıp yapamayacağınıza, buna alışacağınıza veya başka bir şirkete geçip değişmediğinizi görün, görüşme sırasında bir kod taramasını isteyin :-)


1

Bu kısa bir cevap olacak.

Eğitim sizi nitelikli ve idealist hissettirmek için çok kullanışlıdır. Bu iyi bir şey ve idealizmi korumaya çalışmalısınız.

Eğer hiç hedefiniz yoksa ve gelecekte kendi çalışmanıza bakabilirsiniz, bu çok tatmin edici bir deneyim olmayacak. Kendinize yalan söylemezseniz veya hiçbir şey öğrenmezseniz, yaptıklarınızı iyileştirmenin birçok yolunu göreceksiniz.

Genel olarak, bütün dünya bunu etrafınızda yapıyor. Yani, işe işe geçmişten baktığınızda, istisnalar bir yana, daha düşük ve iyileştirme ihtiyacı duyacaktır. Eğer böyle hissetmiyorsanız, yanlış iş yaptığınız ya da parasını ödediğiniz anlamına gelir.

İyi haber şu ki, diğerlerinin hatalarından ve geçmişle karşılaştırılmasından yararlanabilirsiniz. Tüm uygulamaların iyi çalıştığı ve yeni geliştiricilerin bakımı kolay olsaydı, gerekli olmazdı. Benim düşünceme göre, diğer bazı geliştiricilerin kırılmasını sağlamak yararlı bir öğrenme deneyimidir ve tüm mavi gökyüzü geliştiricileri için zorunlu bir eğitim unsuru olmalıdır.


1

Olumsuz deneyiminiz, çoğu geliştiricinin, ilk defada bir fırsatta çalıştıkları fırsattan çok daha fazla dikkatli ve titizlikle yaklaşmayı öğrendikleri, tanınmış büyük marka markalı şirketlerin tipik bir örneği. Temel olarak, sahip olduğunuz yönetim katmanları ne kadar fazlaysa o kadar sıradan olursunuz. Orta düzey yöneticiler, üst düzey yöneticilere kod kalitesini bildirmez. X zamanında teslim edilen özellikleri rapor ederler ve neato UI özelliği ile ilgili, onlarla başa çıkacak kadar uzun süren işler için powerpoint sunumları yaparlar. Her şey bir ay sonra kendiliğinden çökerse, bu genellikle başkasının problemidir ve bunu bilirler.

Bu yüzden evet, bu tür yerlerde çalışan devler çok fazla önemsemiyorlar. Yapsalardı orada hayatta kalamazlardı. Silikon Vadisi'nin dediğini duydum, tembel olmak istiyorsanız büyük isimlerden biri için çalışın. Heyecan verici işler istiyorsanız, henüz bir ev adı olmayan daha yeni bir başlangıç ​​arayın. Chicago'da çalışıyorum ve burada benzer bir fenomen için kefil olabilirim.

Genel bir kural olarak (pek çok istisna dışında, eminim), aynı zamanda kod yazmaya devam eden kişilerce daha küçük ve yönetilen veya sahip olunan şirketlerde kalite kodu için daha yüksek bir değer bulacaksınız. Tazminat genellikle daha azdır, ancak çalışma bence çok daha faydalıdır.

Giriş seviyesi bir gelişme olarak, ilk önce kimin için çalıştığınız üzerinde çok fazla kontrole sahip olma ihtimaliniz yoktur, ancak özgeçmişinizde bir yıl veya daha uzun bir süre boyunca büyük bir isme sahip olmanın kesinlikle işverenleri ve İK insanlarını heyecanlandırdığını söyleyeceğim. Ayrıca, ilk altı ayda tamamen korkunç biri için çalışmayı öğrenemeyeceğinizi biraz öğrenebilir ve aynı zamanda hangi en iyi uygulamaların gerçekten önemli olduğunu ve neden hangilerinin sadece teknik olduğunu daha iyi kavramanızı sağlar. yalanıdır.

Ve tabii ki daha çok popüler olan popüler kurumsal araçlarla çalışırken, ortanca yetenek seviyelerinin oldukça utanç verici olacağını fark edeceksiniz. Başlıca becerileriniz bir miktar Java ve C # kombinasyonuysa, ufkunuzu biraz genişletin. Orta seviye bir yazıyla Erlang veya Python'da daha mutlu bir niş bulabilirsiniz: veya JavaScript.

Ve kimsenin size farklı bir şey söylemesine izin vermeyin. Nasıl devam edeceğiniz konusunda bir seçeneğiniz olmayabilir, ancak kod çok pahalı!


-2

Sorunuz stajlara odaklandı. Programlama programım olmadı, fakat stajyerimi radyo istasyonunda yaptım, burada gerçekten geçerli değil.

Sorunuz ayrıca stajlarınızdaki deneyimlerinizden de bahsetti. Staj deneyimleriniz ve şu ana kadar aldığınız cevaplar, şu anki yirmi yedi yıllık yazım yazılımından sonra deneyimlerimi özetliyor (Haziran 1985'in ortasında başladı).

Eğitmenlerimiz kod yazmanın dışında bir düşünce olduğunu söylerken, okul boyunca hiç inanmadım. Onlar haklıydı. Ve eğer başkasının kodunu anlamaya çalışıyorsanız, yorum yapmadan daha kötü, yorumlarla neredeyse kötü. Ev yapımı bir belediye vergi tahsilâtı sistemini yorumsuz, dökümantasyon olmadan, resmi yapılama yapmadan ve kaynak kod kontrolü olmadan sürdürmeyi deneyin.

Doğrudan standart emirleri ihlal etmeden iyi bir şekilde ne zaman başarabilirseniz, o zaman iyi yapın. Her zaman hatırlayın, izin istemediğiniz bir şeyi yaptığınız için özür dilemenizin, izin vermemek ve doğrudan bir emre karşı gelmekten daha kolay olduğunu unutmayın.

Okulda öğretildiğin standartları unutma. Yararsız değillerdir, ancak bu standartların Calculus sınırlarındaki asimptottır. Onlara her zaman yaklaşmaya çalışabilirsiniz, ancak onların değerlerine asla ulaşamayabilirsiniz.

İyi şanslar.

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.