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

Bir Sistem Mimarı Olarak Keşke Daha Erken Öğrenseydim

20 yıllık kariyerimde en değerli derslerden birini, teknik bilginin ötesinde, kendi sınırlarımı ve 'evet' demenin bedelini anlamakla ilgili öğrendim.

100%

Kariyerimin en büyük ve en maliyetli hataları, bir kod satırında ya da yanlış bir network konfigürasyonunda gizli değildi. Aslında, en pahalı derslerimi, bir işe “evet” demenin ya da bir sorumluluğu üstlenmenin getirdiği dolaylı sonuçlardan aldım. Bir sistem mimarı olarak, keşke daha erken öğrenseydim diye düşündüğüm en önemli şeylerden biri buydu: her şeye yetişemezsin, ve yetişmeye çalışmak en büyük teknik borçtan bile daha fazla hasar verebilir.

Yıllardır sistemler ve ağlar arasında mekik dokurken, birçok karmaşık sorunla karşılaştım. PostgreSQL WAL bloat’larından tutun da, üretim ERP’sinde AI ile üretim planlama algoritmalarına kadar, teknik yığınların derinliklerine indim. Ancak, bu süreçte fark ettim ki, teknolojinin kendisi kadar, onu kullanan ve yöneten insanların iletişim şekli, beklentileri ve sınırları da bir o kadar kritik.

Her Şeye ‘Evet’ Demenin Bedeli

Yıllar içinde, birçok projede kendimi buldum. Özellikle bir üretim firmasının ERP’sini geliştirirken, her yeni talep geldiğinde, “evet, yaparız” demek adeta bir refleks haline gelmişti. Müşteri memnuniyeti, esneklik ve hızlı adaptasyon adına alınan bu kararlar, kısa vadede işe yarıyor gibi görünse de, uzun vadede projenin temel mimarisini ve ekibin enerjisini sinsi sinsi kemiriyordu.

Bu yaklaşım, SystemD unit’lerinin reliability sorunları gibi küçük aksaklıklardan, PostgreSQL’de partition stratejilerinin yetersiz kalmasına kadar birçok teknik probleme yol açtı. Her “evet”, aslında farkında olmadan yeni bir teknik borç, yeni bir bakım yükü ve en önemlisi, ekibin motivasyonunda bir düşüş demekti.

Teknik Borçtan Daha Ağır Bir Yük: İletişim Borcu

Çoğu zaman teknik sorunlarımızın kökeninde, aslında iletişim ve beklenti yönetimi eksikliği yatıyor. PostgreSQL’de N+1 sorgu sorunlarıyla boğuşurken, ORM’i suçlamak kolaydır. Ama çoğu zaman, bu sorunlar, iş biriminin ne istediğini tam olarak anlatamaması ya da bizim o isteği teknik olarak doğru anlayamamamızdan kaynaklanır.

Karmaşık BGP routing decisions ve VLAN tagging yapılandırmalarıyla uğraştığım kurumsal projelerde de gördüğüm şuydu: sistemin en büyük darboğazı çoğu zaman teknik değil, farklı departmanların ihtiyaçlarını ve önceliklerini doğru bir şekilde yansıtamayan, yetersiz bir iletişim zinciri oluyordu. Teknik mimari ne kadar sağlam olursa olsun, iletişimdeki aksaklıklar sistemi felç edebiliyordu.

Kendi Sınırlarımı Tanımak

Yıllar geçtikçe, kendi fiziksel ve mental sınırlarımı tanımam gerekti. Bir gece geç saatlerde, kendi yan ürünümün backend’inde Redis OOM eviction policy yüzünden sistem patladığında, aslında her şeyi tek başıma yapma ısrarımın bir bedeli olduğunu fark ettim. Bu durum, sadece teknik bir hatadan ibaret değildi; kendi sınırlarımı zorlamanın ve yardım istememenin bir sonucuydu.

Bu tür olaylar, bana sadece teknik çözümlerin değil, aynı zamanda kişisel zaman yönetimi, delege etme ve “hayır” diyebilme becerilerinin de bir sistem mimarının envanterinde olması gereken kritik yetkinlikler olduğunu öğretti. Bir sistemin sürdürülebilirliği, onu inşa eden ekibin sürdürülebilirliği ile doğru orantılıdır.

Pragmatizm ve Mükemmeliyetçilik Arasındaki Dans

Bir sistem mimarı olarak, her zaman en mükemmel çözümü ararız. Ancak saha deneyimim bana öğretti ki, bazen “yeterince iyi” olan çözüm, “mükemmel” olana ulaşmak için harcanacak zaman ve kaynak israfından çok daha değerlidir. Güvenlik için karmaşık bir SELinux profili oluşturmak yerine, çoğu senaryoda basit fail2ban kuralları ve doğru Nginx reverse proxy yapılandırması çok daha hızlı ve etkili bir koruma sağlar.

Örneğin, bir VPN topolojisi tasarlarken, sıfır-güven (Zero-Trust) mimarisinin tüm katmanlarını uygulamak ideal olsa da, mevcut altyapı ve bütçe kısıtlamaları altında, segmentasyon ve routing authentication gibi daha pragmatik adımlarla da önemli güvenlik iyileştirmeleri yapabildik. Mükemmeliyetçilik, bazen en büyük düşmanınız olabilir; pragmatizm ise sizi hedefe ulaştırır.


Yirmi yıllık bu yolculukta, teknik detayların ötesinde, insan ilişkileri, beklenti yönetimi ve kendi sınırlarımı bilmek gibi “soft skills” olarak adlandırılan alanların, bir sistem mimarının başarısında ne kadar kritik olduğunu öğrendim. Keşke kariyerimin başında bu dersleri almış olsaydım, belki de çok daha az “disk yangını” ya da “WAL rotation alarmı” ile karşılaşırdım.

Peki, senin kariyerinde keşke daha erken öğrenseydim dediğin en önemli ders neydi? Yorumlarda paylaşmaktan çekinme.

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.

Bir sistem mimarı olarak, 'evet' demenin bedelini nasıl anlamaya başladım?
Ben, birçok projede 'evet' demenin bedelini deneyimledim. Bir üretim ERP'si geliştirirken, her yeni talep geldiğinde 'evet, yaparız' demek adeta bir refleks haline gelmişti. Ancak, bu yaklaşım projenin temel mimarisini ve ekibin enerjisini sinsi sinsi kemiriyordu. Bu deneyimler bana, her 'evet'in aslında farkında olmadan yeni bir teknik borç, yeni bir bakım yükü ve en önemlisi, ekibin motivasyonunda bir düşüş demek olduğunu öğretti.
Sistem mimarisi ve ağlar arasında çalışırken, en büyük zorluklar nelerdi?
Ben, sistem mimarisi ve ağlar arasında çalışırken birçok karmaşık sorunla karşılaştım. PostgreSQL WAL bloat'larından tutun da, üretim ERP'sinde AI ile üretim planlama algoritmalarına kadar, teknik yığınların derinliklerine indim. Ancak, bu süreçte fark ettim ki, teknolojinin kendisi kadar, onu kullanan ve yöneten insanların iletişim şekli, beklentileri ve sınırları da bir o kadar kritik. Bu nedenle, teknik sorunlara çözüm bulmak kadar, insan faktörünü de dikkate almak gerektiğini öğrendim.
Bir proje sırasında 'hayır' demenin avantajları nelerdir?
Ben, bir proje sırasında 'hayır' demenin avantajlarını deneyimledim. 'Hayır' demenin, projenin temel mimarisini koruma altına almasına, ekibin enerjisini korumasına ve motivasyonunu artırmasına yardımcı olduğunu gördüm. Ayrıca, 'hayır' demenin, teknik borcu azaltmasına ve bakım yükünü hafifletmesine de yardımcı olduğunu öğrendim. Bu nedenle, bir sistem mimarı olarak, 'hayır' demenin sometimes daha doğru bir karar olduğunu düşünüyorum.
Teknik borç ve bakım yükünü azaltmak için hangi stratejileri kullanmalıyım?
Ben, teknik borç ve bakım yükünü azaltmak için several stratejileri kullanıyorum. İlk olarak, her 'evet'in teknik borcu ve bakım yükünü dikkate alıyorum. Ayrıca, projenin temel mimarisini koruma altına almak için, düzenli olarak teknik borçları temizliyorum. Üçüncü olarak, ekibin enerjisini koruma altına almak için, iş yükünü dengeli bir şekilde dağıtıyorum. Son olarak, iletişim ve beklentileri net bir şekilde belirlemek için, düzenli olarak müşteri ve ekibimle toplantı yapıyorum. Bu stratejiler, teknik borç ve bakım yükünü azaltmak ve projenin başarıya ulaşmasına yardımcı olmak için etkili olduğunu düşünüyorum.
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