Legacy, 'çok iyi yazılmış değil' yorumunuza dayanarak her şey anlamına gelebilir. Legacy'nin 'kötü' veya en azından 'güncel olmayan' teknolojiler ve kalıplar anlamına geldiğini varsayacağım. Eski kod iyiyse, geri durmayın ve her satırını öğrenin.
Kariyerinizi yönlendiren ve bugüne kadar bu iş parçacığında değersiz lavabo deliklerine sıkışmış olan iş ve projelere karşı yeterince açık uyarı olduğunu sanmıyorum.
Spor benzetme uyarısı: NFL'deki bir çizgi destekçisinin en kötü rekor veya en iyisi olan takımda oynayarak daha fazla öğrenip daha değerli hale geldiğini düşünüyor musunuz? Cevabım: Sadece en iyi takımlar için oynadıkları için daha değerli değil, aynı zamanda en iyi uygulamaları ve bilgileri de aldılar ve kariyer sonu uygulamalarını ve tutumlarını almaktan kaçındılar.
Aslında iş için çalışan ve dev maaşları çok ödeyen bir sürü korkunç anti-desen kodu var. 'Doğru' şekilde yapılan yeterli kod görmemiş bir geliştirici, bir sorun için meşru bir çözüm için anti-desen kodu hata olabilir öneriyoruz. İş, çözümün işe yaradığını söyleyebilir, ancak özgeçmişinizde istediğiniz veya diğer geliştiricilere övüneceğiniz biri değil. Bu, yalnızca kişisel büyüme yolunuz mühendislik akranlarınıza saygı duymayı ve yalnızca çalıştığınız şirketin gelirini geçici olarak artırmayı içermiyorsa da geçerlidir (Kulağa kötü geliyor, ancak sonunda en iyi mühendislik kesinlikle en fazla IMO'yu kazanıyor) .
Ne yazık ki, teknoloji borcu açığa çıkmadan önce çok fazla kod ve zaman geçebilir. Ve bu teknik borç genellikle çok geç olduğunda muhasebeleştirilir. Kim daha önce teknik borcu veya anti-desenleri durdurmaya çalışmış olabilir, algılanan ekstra masraf veya ölçeklenebilirlik vb anlayış eksikliği nedeniyle dikilmiş olabilir. Mühendisler olarak teknoloji borcunu hemen ortaya koymak bizim görevimizdir. Deneyimli mühendisleri olmayan projeler, bir noktada bir tuğla duvara çarpma tehlikesi altındadır, aslında tüm yetenekli geliştiricilerle bile tüm projeler. Çoğu işletme 'bir noktayı' daha sonra düzeltmek için bolca zaman olarak görür. Bu, gelecekteki geliştiriciler için iş seçimlerini çok karmaşık bir konu haline getiriyor. Ayrıca, geliştiriciler ve işletmeler arasındaki tamamen farklı hedeflere ve zihniyetlere ve boşluğu kapatmanın ne kadar karmaşık olduğuna da dikkat çekiyor.
Mühendislerin amacı, gerçek bilimsel çalışmaları ve tasarım düşüncesini 'dahil etmek', işin amacı ise gereksiz maliyet ve zamanı 'hariç tutmak'. Mühendisler genellikle son durum tamamlanana kadar çaba ve zaman seviyesinin ne olduğunu bilmediğinden, yazılım geliştirme, çevik, scrum ve kanban gibi başrollerde rol oynayan iyi bir drama gibi oynar.
Bir take away 'bozuk' için yeterince iyi kod görene kadar kötü kod uzak kalmak olabilir. Üst düzey geliştiricilerin karmaşık sorunlara basit çözümler yarattığını söylemeyi seviyorum. Bilge gibi, orta seviye orta düzey geliştiriciler de basit ve karmaşık problemler için karmaşık çözümler yaratır.
Başka bir götürmek, anlayış kazanmak için farklı noktalarda iyi VE kötü kod üzerinde çalışmanız gerekebilir. Eğer ikisini de yapmadıysanız, bunun için gidin ve daha iyi bir sistemle karşılaştığınızda hepsini öğrenmeye hazır olun. Bu muhtemelen çoğu geliştirici için daha yaygın bir yörünge olduğunu düşünüyorum.
Bu yıl önyargılıyım çünkü son derece karmaşık bir 'gizli sos' dağına tırmanıyormuş gibi hissediyorum. Şimdiye kadar gördüğüm en kötü kalıpların bazılarını deşifre etme yeteneğimi artıracak olsam da, o kadar 'özel' ve 'bir defalık'.
Aklımı korumak için, sadece istikrarlı bir hızda ilerliyor ve her yol bloğunu kurs için eşit olarak kucaklıyorum. Bu eski delikten kazmayı da içeren yıllık hedeflerimi patronumla birlikte gözden geçirdikten sonra, bunun fedakar bir tırmanış olabileceğini düşünüyorum. Sürece kötü eleştiriler ve algılanan yavaşlama ile hayatta kalabilir. Bu, hangi işi alacağınızı merak edenlere gerçekçi ve ön plana çıkan bir uyarıdır.
Feragat: Bu yazı benim düşüncelerimden çok daha uzun yaşayacak, bu yüzden onu bir tuz tanesi ile alın. Yarın eski kodu sevebilirim! (Şüphe edin).