Yazılım Mühendisliğinde Yapılan Hatalar

☁️ Ümit Eroğlu 🌍🛰
4 min readMay 7, 2024

--

1. Kitaplardaki Tasarım Desenlere Takılmak
2. Mentorluğun Faydalarını Göz Ardı Etmek
3. İşleri Basit Tutmayı Unutmak (Keep it Simple)
4. Zorlayıcı Projeleri Seçmeyip, Rahatlığı Tercih Etmek
5. Henüz İşin Başındayken Soyutlama (Abstractions) Yapmaya Çalışmak
6. Yalnızca Bir Programlama Dili veya Yığınına (Stack) Bağlı Kalmak
7. Planlama Aşamasını Atlamak
8. Çözümleri Aşırı Karmaşık Hale Getirmek
9. Kod İncelemelerini (Code Reviews) İhmal Etmek
10. Yeterince Test Yapmamak
11. En Son Teknolojiye Çabucak Kapılmak
12. Dokümantasyonu Hafife Almak
13. Ölçeklenebilirliği Unutmak
14. Eski Kodu (Legacy Code) Göz Ardı Etmek
15. Yardım İstememek
16. Baştan Versiyon Kontrolü Yapmamak
17. Konfor Alanında Sıkışıp Kalmak
18. Daha Baştan, Performansı Fark Etmemek
19. Bakım Aşamasının (Maintenance Phase) Değerini Azımsamak
20. Erişilebilirliği Göz Ardı Etmek (Web)
21. Makul Olmayan Son Tarihler (Deadlines) için Acele Etmek
22. Ağın (Network) Gücünü İhmal Etmek
23. Bazı Becerilerin (Soft Skills) Önemini Göz Ardı Etmek
24. Net Hedefler Belirlememek
25. Değişimi Kabul Etmemek
26. Yeniden Düzenleme (Refactoring) Sürecini Atlamak
27. Hatalardan Öğrenmemek
28. Çerçeve ve Kütüphanelere (Framework & Library) Aşırı Güvenmek
29. Fonksiyonel Olmayan Gereksinimleri Göz Ardı Etmek
30. Proje Sonrası Değerlendirmeleri İhmal Etmek (Project Post-Mortems)
31. Hayat ve İş Dengesini İyi Ayarlayamamak
32. Hata Ayıklama (Debugging) Araçlarını Etkili Kullanmamak
33. Eski Kodu (Legacy Code) Silmekten Korkmak
34. Sürekli Öğrenmenin (Continuous Learning) Önemini Anlamamak
35. Veri Gizliliğini (Data Privacy) Küçümsemek
36. Teknik Borcun (Technical Debt) Etkisini Azımsamak
37. Egoyu İlerlemenin Önüne Koymak
38. Yalın Kodu (Code Simplicity) Göz Ardı Etmek
39. Kodlama Standartları (Coding Standards) Belirlememek
40. Sistem Yedekleme (Backup) Prosedürlerini Atlamak
41. Özellikler ile Performansı Dengede Tutmamak
42. Gerçek Dünyada Test Etmeyi Atlamak
43. Geribildirim Döngülerini (Feedback Loops) Göz Ardı Etmek
44. Kullanıcı Geribildirimini (User Feedback) Göz Ardı Etmek
45. Güvenlik Güncellemelerini (Security Updates) Öncelikli Hale Getirmemek
46. Ekip Olarak Öğrenme ve Paylaşımı Teşvik Etmemek
47. Elle Yapılan Süreçlere Aşırı Güvenmek
48. Kullanıcı Deneyimini Kişiselleştirmemek
49. Aktiviteyi Verimlilikle Karıştırmak
50. Desen ve Uygulamaları (Patterns & Practices) Yanlış Uygulamak
51. API’leri Doğru Şekilde Güvence Altına Almamak
52. Uzaktan Çalışmanın (Remote Work) Zorluklarını Küçümsemek
53. İş Bağlamını (Business Context) Dikkate Almamak
54. Uyumluluk ve Yönetmelikleri (Compliance & Regulations) Unutmak
55. Kod Biçimlendirici (Code Formatter) Kullanmamak
56. Çözümleri Probleme Uyarlayamamak
57. Trendlerin Peşinde Koşarken Temelleri Unutmak
58. Performans Profilini (Performance Profiling) Yeterince Kullanmamak
59. Son Hedefi Gözden Kaçırmak
60. Temel Komut Satırı (Command Line) Öğrenmekten Kaçınmak
61. Felaket Kurtarma Planına Sahip Olmamak (Disaster Recovery Plan)
62. Estetik Kodu Fonksiyonel Kodun Önüne Koymak
63. Kod Tabanlarındaki (Codebases) Tutarsızlığı Değerlendirmemek
64. Altta yatan mekanizmaları anlamadan hazır çözümlere aşırı güvenmek
65. Kariyerinizle İlgili Proaktif Olmamak
66. Çok Fazla Kod Yorumu (Code Comments) Yazmak
67. Hiçbir Şeyi Günlüğe (Logging) Kaydetmemek
68. Tek Harfli Değişken Adları (One Letter Variable Names)
69. Yerelde Test Etmeden Kodu Yüklemek
70. Klavye Kısayollarını ve Verimlilik Araçlarını Yeterince Kullanmamak
71. Hız İçin Birim Testlerini Atlamak
72. Tüm Geribildirimin (Yapıcı Değil) Negatif Olduğunu Varsaymak
73. Teknik Projelerde Alan Bilgisini (Domain Knowledge) Göz Ardı Etmek
74. Uzmanlık Alanınızın Dışında Sürekli Öğrenmeye Katılmamak
75. Fiziksel İyiliğin Zihinsel Keskinliği Etkilediğini Unutmak
76. Eski İşlerdeki Alışkanlıkları Yeni Pozisyonlara Aktarmak
77. Yapılacaklar Listesinin Net Olmaması
78. Geçerli Noktalarınız Varken Toplantılarda Susmak
79. Gereksiz Kodu “Bir İhtimale Karşı” Kod Tabanında Bırakmak
80. Soru Sormayı Zayıflık Göstergesi Gibi Algılamak
81. Diğerlerine Mentorluk Yapma Şansını Kaçırmak
82. Karar Alırken Analizlerden Yararlanmamak
83. Pratik Uygulama Olmadan Yalnızca Çevrimiçi Öğreticilere (Tutorials) Güvenmek
84. Teknik Blog veya Makale Yazmaktan Kaçınmak
85. Yan Projelerin Öğretme Potansiyelini Reddetmek
86. Teknik Projelerdeki Teknik Olmayan Geribildirimleri Göz Ardı Etmek
87. Portföy Projelerinde Miktarın Kaliteden Daha Önemli Olduğunu Düşünmek
88. Varsayılan Olarak Toplantıları Verimsiz Bulmak
89. Karmaşıklığı Bir Başarı Ölçüsü Olarak Kullanmak
90. Fikirleri İyileştirmeye Odaklanmak Yerine Savunmaya Çalışmak
91. Küçük Takımların Gücünü Küçümsemek
92. Adlandırılmış Sabitler (Named Constants) Yerine Sihirli Sayıları (Magic Numbers) Kullanmak
93. Sonradan Değişebilecek Değerleri Koda Sabitlemek
94. Veritabanı Dizinlerini ve Hız Üzerindeki Etkilerini Atlamak
95. Veri Yapılarını (Data Structures) Doğru Kullanmayı Bilmemek
96. İlk Çözümün En İyi Çözüm Yolu Olduğunu Düşünmek
97. Kodlarken Yalnızca Mutlu Yolu (Happy Path) Düşünmek
98. Monolitik Mimarilerin Her Zaman Kötü Olduğunu Düşünmek
99. Problemi Tam Anlamadan Kodlamaya Başlamak
100. Küçük Değişiklikler Yaparken Büyük Resmi Göz Ardı Etmek
101. Nesne Yönelimli Prensipleri Aşırı Kullanmak İşleri Karmaşık Hale Getirebilir
102. “Bilmiyorum” Demenin Gücünü Göz Ardı Etmek
103. Araçlara ve Otomasyona (Anlamadan) Aşırı Güvenmek
104. Çalışma/İş Yükünü (Workload) Düşünmeden Her Şeye Evet Demek
105. Gereksinimleri (Requirements) Tartışmaya Yanaşmamak
106. Not Almadan Her Şeyi Hatırlayabileceğini Düşünmek
107. Yazılım Geliştirmenin Sadece Kod Yazmak Olduğunu Düşünmek
108. Proje Sorunları Hakkındaki Zor Konuşmalardan Kaçınmak Onları Kötüleştirebilir
109. Sorunu Önleyebilecekken Çözmeye Çalışmak
110. Projenin İş Yönünü (Business Side) Anlamamak
111. Mükemmel Kodun (Perfect Code) Var Olduğunu Düşünmek
112. Kullanıcı Deneyimi Yaratırken Yeni Keşifler Üzerine Çok Düşünmek
113. Biletler ve PR’lerde Belirsiz Açıklamalar Yazmak
114. Bir İşi Sadece Para İçin Seçmek

Yazının İngilizcesi:

Kaynak:

--

--