Yazılım geliştirmede yaşam boyu beceriler
tarafından David Vallejo, ESI-UCLM'de Üniversite Profesörü.
“Okumayı sevene kadar sevdiğiniz şeyi okuyun.” Naval Ravikant'tan gelen bu ünlü alıntıyı içeren öneri, birkaç yıl önce beni Morgan Housel'la buluşturdu. Kendisi artık en sevdiğim yazarlardan biridir. Morgan, küçük öykülerle iç içe geçirdiği fikir ve argümanlarla, insanların yaşamları ve davranışlarıyla ilgili pek çok konu hakkında düşünmenizi sağlama konusunda inanılmaz bir yeteneğe sahip.
adlı son kitabı Her zamanki gibi, hiçbir zaman değişmeyen şeylerin bilgisine odaklanırken çoğumuzun genel eğilimi, giderek bilinmeyen bir gelecek hakkında belirsiz tahminlerde bulunmaktır.
Podcast'inin yine şiddetle tavsiye edilen bölümlerinden birinde Morgan, süresi dolan veya sona eren beceriler ile kalıcı olan beceriler üzerine düşünüyor.
W süresi dolan beceriler Çok fazla dikkat çekme eğilimindedirler. En azından geçici olarak. Onlar olma eğilimindedirler sıcak konular kısa vadeli performansın iyileştirilmesi için endüstri tarafından talep edilmektedir. Ayrıca FOMO etkisi yaratma eğilimindedirler (eksiklik korkusu).
Buna karşılık, kalıcı beceriler Onlar farklı. Onlar her zaman oradaydı ve her zaman da orada olacaklar. Bunlar basit. Bunlar temeldir. Hatta sessizler. Ancak uzun vadede fark yaratırlar. En saf haliyle bileşik faiz.
Bütün bunlar beni yazılım geliştirme açısından yaşam boyu beceriler hakkında düşünmeye yöneltti. Ve bu makalede özellikle alakalı olduğunu düşündüğüm 7 tanesini listeleyeceğim.
- 1 numaralı beceri. Biraz sahip olmanın farkına varın sağlam programlama temelleri temel taşını temsil eder. Bu, bir evin üzerine inşa edilecek iyi bir temele sahip olması kadar önemlidir. Teknik borç birçok programlama projesinde tekrar eden bir sorundur. Bunu azaltmak için iyi bir yazılım tasarımı önermelisiniz. İyi bir tasarım önermek için sağlam programlama temellerine sahip olmanız gerekir. Üzgünüm ama programlamayı 21 günde öğrenemezsiniz.
- 2 numaralı beceri. Yeteneğine sahip olmak soyutlamaları ele almakTekrarlanan sorunlara mevcut çözümleri uygulamak. Bire bir aynı; Muhtemelen şunu düşünüyorsunuz: tasarım desenleri. Tekerlek zaten var, onu sürekli yeniden icat etmeyin. İyi test edilmiş ve işe yarayanları kullanmak zamandan tasarruf sağlar ve teknik borçlarla mücadele eder.
- 3 numaralı beceri. Karmaşıklığı tanımlayın ve kaçınılmaz olduğunda bunu alçakgönüllülükle kabul edin. KISS ilkesi (Basit, Aptal Olsun) sizin ebedi müttefikinizdir, ancak doğası gereği karmaşık olan projeler de vardır. Bazen karmaşıklıkla baş etmekten başka seçenek yoktur ve basitleştirmek gerçekçi değildir.
- 4 numaralı beceri. Yapabilmek çevik bir şekilde prototipler oluşturunBöylece geliştirme paradigması veya kullanılan teknoloji önemli bir engel oluşturmaz. Ararım likidite yazılımı. Araçlar, teknolojiler, diller ve hatta paradigmalar sürekli değişiyor. Kısa sürede nasıl çalıştıklarını anlayıp pratik ve çevik bir şekilde kullanabilmek çok önemli. 1 numaralı beceriyi almadan önce 4 numaralı beceride ustalaşın.
- 5 numaralı beceri. Sorunu anlayın Müşterinizin çözmesi gereken bir sorun. Yazılım tasarımı ve geliştirmesinden önceki bu adım, başarılı bir sonuca ulaşmak için çok önemlidir. Müşterinizle etkileşim kurma ve onu anlama yeteneğinin yeri doldurulamaz. Neredeyse beklentileriniz (belirtilen gereksinimler) gerçeği (mevcut kaynaklar) aştığında hayır diyebilme yeteneği kadar.
- 6 numaralı beceri. Aşırı optimizasyon yapmayın. Ekonomi, kıt kaynaklar için tahsis politikalarının tanımı olarak anlaşılabilir. Bu aynı zamanda yazılım geliştirme için de geçerlidir. Unutmayın: “zaman en değerli varlığınızdır.” Negatif rota kavramı. Bir iş arkadaşının “pekala, işte buradayız” ifadesini kullandığı her seferde devreye giren uyarı.
- 7 numaralı beceri. cömert ol. Bu, herhangi bir insani veya profesyonel alana uygulanabilecek kalıcı bir beceridir. Yazılım geliştirme ortak bir çalışmadır. Bir geliştiricinin yazdığı kodun diğer meslektaşları tarafından anlaşılması ve kullanılması gerekir. Hediyeler ve gelecekler. Aynı şey, tek kişilik projelerde bile kod dokümantasyonunda da olur: "Belgeleme, gelecekteki kendinize yazdığınız bir aşk mektubudur." ChatGPT'nin bunu sizin için yapabileceğini düşünüyorsanız, kendinize gerçekten onu sizin için bir aşk mektubu yazması için görevlendirip görevlendirmeyeceğinizi sorun.
Referanslar
- almanak Deniz Ravikant.
- Her zamanki gibi. Morgan Housel.
- Morgan Housel Podcast'i.
- Siyah Kuğu. Nassim N. Taleb.
- Bırakın: Ne Zaman Uzaklaşacağınızı Bilmenin Gücü. Annie Duke.