İçeriğe Atla
Mustafa Erbay
Kariyer · 4 dk okuma · görüntülenme Read in English

20 Yıldır IT'deyim. İşte Hâlâ Bilmediğim Şeyler

20 yıllık sistem mimarisi ve operasyon tecrübemle IT dünyasında hâlâ keşfettiğim ve bilmediğim pek çok şey var. Bu yazıda bunlardan bazılarını ve nedenlerini…

100%

Kariyerimin en pahalı hatası bir kod satırı değildi; bir “evet”ti. 2006’dan beri bu alanda çalışıyorum, sistem mimarisi, network altyapıları, kurumsal yazılım geliştirme ve operasyonlar derken zaman hızla akıp gitti. Bu süreçte sayısız proje, yüzlerce incident ve bitmeyen bir öğrenme eğrisiyle karşılaştım. Her ne kadar saha tecrübemle gurur duysam da öğrendim ki, bilmediğim şeyler bildiklerimden çok daha fazla.

Bu yazıda, bu serüvende karşıma çıkan ve beni hâlâ şaşırtan, üzerine düşündüren bazı konuları paylaşmak istiyorum. Bunlar, kuru teknik bilgilerden ziyade, tecrübenin ve deneyimin bana öğrettikleri.

Belki de En Büyük Ders: İnsan Faktörü

Yıllar boyunca network güvenliği, sistem optimizasyonu, performans ayarlamaları gibi teknik konulara odaklandım. Firewall politikaları, routing algoritmaları, veritabanı index stratejileri… Hepsi önemliydi ve hâlâ da öyle. Ancak zamanla fark ettim ki, sistemlerin kalbinde her zaman insan var. Kötü tasarlanmış bir workflow, yetersiz iletişim veya yanlış anlaşılmış bir gereksinim, en parlak mimariyi bile çökertebilir.

Bir keresinde, büyük bir üretim firmasının ERP sistemini geliştirirken, sevkiyat raporlarının sürekli eksik gelmesiyle uğraşıyorduk. Saatlerce logları inceledik, database sorgularını optimize ettik, kodları adım adım takip ettik. Sonunda anladık ki, sorun yazılımda değil, depo operatörlerinin raporlama ekranını yanlış kullanmasındaydı. “Kullanıcı dostu” dediğimiz arayüz, aslında beklentilerimizi karşılamıyordu. Bu olay bana gösterdi ki, teknik çözümler ne kadar mükemmel olursa olsun, insan faktörünü göz ardı etmek felaketle sonuçlanabilir.

İletişimin Gücü ve Yanılgıları

Teknik dokümantasyon ne kadar detaylı olursa olsun, bir telefondaki basit bir konuşma veya kısa bir e-posta, bazen saatlerce süren bir debugging seansından daha etkili olabiliyor. Ancak tam tersi de geçerli; aceleyle verilmiş, tam anlaşılmamış bir “tamam” veya “hallederiz” cevabı, projenin seyrini tamamen değiştirebiliyor. Özellikle farklı departmanlar veya ekipler arasında köprü kurmaya çalışırken, terminoloji farklılıkları ve varsayımlar büyük engeller yaratabiliyor.

Örneğin çoklu ISP ile yük dengeleme ve yedeklilik kurarken, ağ ekibi ile sunucu ekibi arasında “bağlantı” kelimesi farklı anlamlara gelebiliyor: ağ ekibi için fiziksel katmandaki erişim, sunucu ekibi için servisin ulaşılabilirliği ve yanıt süresi. Bu tür temel yanılgıları gidermek, teknik çözümlerden daha fazla zaman ve çaba gerektirebiliyor.

Teknolojinin Sürekli Değişen Sahnesi

20 yıl boyunca pek çok teknolojinin doğuşuna, gelişimine ve hatta ölümüne tanıklık ettim. Bir zamanlar hayatımızın merkezinde olan teknolojiler, şimdi nostaljik birer anı olarak kalıyor. Bu sürekli değişim, hem heyecan verici hem de yorucu. Her yeni çıkan aracı, framework’ü veya konsepti öğrenmek için kendimizi sürekli güncel tutmak zorundayız.

Bir keresinde, kendi geliştirdiğim bir finansal hesaplayıcı uygulamasının backend’ini PostgreSQL ile optimize ederken, indeksleme stratejilerimle ilgili derinlemesine bir araştırma yapmıştım. B-tree, GIN, BRIN indeks türlerinin performans üzerindeki etkilerini karşılaştırdım. Sonrasında bu indekslerin çalışma prensiplerini tam olarak kavramak, PostgreSQL’in “cost-based optimizer”ının nasıl çalıştığını anlamak, bana bambaşka kapılar açtı. Ancak bu derinlikte bir konuyu öğrenmek, diğer pek çok öğrenilmesi gereken şeyi ertelemem anlamına da geliyordu.

Öğrenme Hızının Getirdiği Zorluklar

Her sabah yeni bir CVE (Common Vulnerabilities and Exposures) bildirimiyle uyanmak, yeni bir güvenlik açığına karşı tetikte olmak anlamına geliyor. Aynı şekilde, her yeni çıkan AI modeli veya distributed systems pattern’i, mimari kararlarımızı etkileyebiliyor. Bu hızda öğrenme baskısı, bazen “ne kadarını bilmek yeterli?” sorusunu sorduruyor. Kendi geliştirdiğim Android spam engelleyici uygulamamda, her yeni Android sürümüyle birlikte gelen API değişikliklerine uyum sağlamak bile başlı başına bir mücadeleydi.

Bu tempo içinde, “en iyi” teknolojiyi seçmek yerine, “doğru” teknolojiyi seçmenin önemini daha iyi anlıyorum. Projenin gereksinimleri, ekibin yetkinliği ve uzun vadeli sürdürülebilirlik gibi faktörler, sadece popüler diye bir teknolojiyi seçmekten çok daha değerli. Ancak bu dengeyi kurmak, sürekli bir öğrenme ve adaptasyon süreci gerektiriyor.

Yönetimsel ve Organizasyonel Karmaşıklık

Teknik olarak bir sistemi tasarlamak veya kurmak bir yana, onu bir organizasyonun parçası haline getirmek bambaşka bir disiplin. Yazılım mimarisi çoğu zaman, yazılımdan çok organizasyonel akışla ilgilidir. Bir projenin başarısı, sadece kod kalitesiyle değil, aynı zamanda paydaşların beklentilerini yönetmek, bütçeleri takip etmek ve ekibin motivasyonunu yüksek tutmakla da doğrudan ilişkilidir.

Örneğin tedarik zinciri entegrasyonunda departmanlar arası veri akışını yeniden tasarlamak, çoğu zaman sadece teknik bir veritabanı replikasyonu veya API entegrasyonu değildir; aynı zamanda satın alma, üretim planlama ve lojistik departmanlarının iş yapış şekillerini de değiştirmeyi gerektirir. Bu tür projelerde “event sourcing” veya “CQRS” gibi mimari desenleri uygulamak teknik olarak mümkün olsa da, organizasyonun bu değişikliklere ne kadar hazır olduğu sorusu her zaman gündemde olur.

Trade-off’ların Kaçınılmazlığı

Her kararın bir trade-off’u vardır. Hızlı bir deploy stratejisi (rolling update) seçtiğinizde, potansiyel bir geri alma (rollback) riskini kabul edersiniz. Monolit bir yapıyı seçtiğinizde, mikroservislerin getirdiği ölçeklenebilirlik avantajlarından vazgeçersiniz. Bu trade-off’ları doğru yönetmek, tecrübenin en önemli göstergelerinden biri.

Kendi geliştirdiğim ve farklı AI modelleri (Gemini Flash, Groq, OpenRouter) için fallback mekanizmaları içeren bir sistemde, latency ve maliyet arasındaki dengeyi kurmak sürekli bir mücadeleydi. En hızlı ve en ucuz modeli her zaman seçemiyorduk; bazen ek maliyetle daha güvenilir bir çözüm tercih etmek gerekiyordu. Bu tür kararlar, “mükemmel” bir çözüm yerine “en uygun” çözümü bulma yolculuğunun bir parçası.

Sonuç olarak, bunca yıldır bu alanda olmama rağmen, her gün yeni bir şeyler öğreniyorum. Belki de IT dünyasındaki en büyük gerçeklerden biri, sürekli bir öğrenme ve adaptasyon içinde olmamız gerektiği. Bilmediğimizi kabul etmek, ilk adım. Sonra bu bilinmezliğin üzerine giderek, kendimizi sürekli geliştirmek.

Sen ne düşünüyorsun? 20 yıllık tecrübene rağmen hâlâ seni şaşırtan veya “keşke daha önce öğrenseydim” dediğin konular neler? Yorumlarda paylaşır mısın?

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

Sıkça Sorulanlar

Bu makale ile ilgili okurların sorduğu yaygın sorular.

20 Yıllık IT Tecrübemde En Büyük Dersimi Neler Öğrettir?
Benim için en büyük ders, insan faktörünün sistemlerin kalbinde her zaman var olduğunun anlaşılmasıydı. Yıllar boyunca teknik konulara odaklandım, ancak zamanla fark ettim ki, kötü tasarlanmış bir workflow, yetersiz iletişim veya yanlış anlaşılmış bir gereksinim, en parlak mimariyi bile çökertebilir. Bu nedenle, insan faktörünü göz ardı etmemek ve ona göre sistemleri tasarlamak çok önemlidir.
İnsan Faktörünü Göz Önünde Bulundurarak Sistemleri Tasarlamak İçin Hangi Araçları Kullanmalıyım?
Ben, insan faktörünü göz önünde bulundurarak sistemleri tasarlamak için, kullanıcı deneyimini (UX) ve insan-makine arayüzü (HCI) ilkelerini dikkate alıyorum. Ayrıca, müşteri gereksinimlerini iyi anlamak için etkili iletişim araçları ve yöntemlerini kullanıyorum. Bunlar, sistemlerin daha有效 ve kullanıcı dostu olmasını sağlar.
Bir Projede Hata Olursa Ne Yapmalıyım? Deneyimlerim Neler?
Bir projede hata olduğunda, ben ilk önce sakin kalmaya ve problème kök nedenini anlamaya çalışıyorum. Daha sonra, hata hakkında detaylı bir analiz yapıp, gerekli düzeltmeleri yapıyorum. Deneyimlerim, hızlı ve etkili bir şekilde hata düzeltilmesi için, iyi bir planlama, iletişim ve problem çözme becerilerinin importantes olduğunu gösteriyor.
Sistem Mimarisi ve Operasyonlarda En Çok Karşılaştığım Mitler Nelerdir?
Benim deneyimimde, sistem mimarisi ve operasyonlarda en çok karşılaştığım mit, teknolojinin her sorunu çözebileceği inancıdır. Ancak, teknoloji, insan faktörünü göz ardı etmemek koşuluyla, sistemlerin effective bir şekilde çalışmasını sağlar. Bir diğer mit, daha fazla kaynak eklemenin her zaman daha iyi sonuçlar doğuracağı inancıdır. Oysa, kaynakların efektif kullanılması ve optimize edilmesi daha önemlidir.
ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

✉️ Ücretsiz · Spam yok · İstediğin an çık

Yeni yazılardan haberdar olun

Yeni içerikler ve teknik notlar e-postanıza gelsin.

  • 📌
    Haftanın en iyisi Sadece okumaya değer tek yazı
  • 🔧
    Alet çantası Bu hafta kullandığım araçlar
  • 🧠
    Perde arkası Blog'a girmeyen notlar

Spam yapmıyoruz. İstediğiniz zaman ayrılabilirsiniz. · Sadece Umami (self-hosted, Google yok) ile takip.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar