Sıkıcı teknolojinin (boring tech) anlamı
- NetBSD'nin "sıkıcı" olması, alınabilecek en büyük iltifattır
- Sistem yöneticilerinin istediği şey sürpriz değil, öngörülebilirliktir
- Bir teknolojinin sıkıcı olması, onun yüksek güvenilirliğe sahip olduğu anlamına gelir
- Bunun nedeni, çok sayıda kişi tarafından test edilip optimize edilmiş olmasıdır
- Beklenmedik davranışlar veya yetersiz dokümantasyon sorunları yaşanma olasılığı düşüktür
- Bir sorun çıktığında yardım alınabilecek bir topluluk veya kaynaklar vardır
Teknoloji ortamının karmaşıklığı
- Teknoloji tek başına var olmaz; çeşitli sistemlerle etkileşim içinde çalışır
- Bileşen sayısı arttıkça beklenmedik sorunların ortaya çıkma olasılığı da artar
- Yeni teknolojiler her zaman en iyi seçenek değildir; kanıtlanmış ve istikrarlı teknolojiler daha iyi bir tercih olabilir
- Kubernetes kümesini birkaç sanal makineyle değiştirip kararlılığı artıran örnekler vardır
"Sıkıcı teknoloji"ye yönelik itirazlar ve yorumlar
- Robert Roskam'ın görüşü
- "Sıkıcı" teknoloji = uzun süredir var olan teknoloji varsayımı yanlış olabilir
- Yaygınlık, mutlaka anlaşılmış olmayı garanti etmez
- Eski teknoloji her zaman bakımı kolay değildir (ör. COBOL sistemleri)
- Karşı argüman
- Eski olması bir teknolojiyi sıkıcı yapmaz (ör. Oracle karmaşıktır ve bakımı zordur)
- BSD sıkıcı bir teknolojidir, ancak Linux kadar yaygın değildir
- Önemli olan yaşı değil, olgunluğudur (maturity)
Sonuç: sıkıcı teknoloji = olgun teknoloji
- Eski teknoloji ≠ olgun teknoloji
- Olgun teknoloji = kodu, dokümantasyonu, topluluğu ve operasyonel deneyimi birikmiş teknoloji
- NetBSD'nin sıkıcı olması, yüksek güvenilirlik ve kararlılık anlamına gelen en büyük övgüdür
5 yorum
"Sıkıcı teknoloji" ifadesi biraz olumsuz bir his verebilir; bu yüzden "olgun" ifadesi kulağa daha uygun geliyor.
Oracle karmaşık ve bakımı zor :(
Sıkıcı ilişkiler eski değil, olgun ilişkilerdir
Bu bana daha önce GeekNews'te yayımlanan
Sektörde 10 yıl geçirdikten sonra fikrimin değiştiği yazılım geliştirme konuları (https://tr.news.hada.io/topic?id=19081) başlığını hatırlatıyor.
Java sıkıcı olduğu için, aksine harika bir dildir.
Hacker News görüşleri
Sıkıcı teknolojiyi iyi bulmamın nedeni, ürünün gerçek teknolojisine odaklanabilmemi sağlaması. Bir SaaS uygulaması işletirken, ürünle ilgili birçok alanda en ileri düzey işler yaptığımı düşünüyorum. Veritabanı ya da backend framework'ü gibi "arka planda" çalışan şeyleri mümkün olduğunca sıkıcı ve kararlı tutmayı tercih ediyorum. Bir projede tek başıma çalışırken zamanım çok kısıtlı oluyor. Müşterinin umursamadığı kısımları kurcalamak yerine, ürün için ilginç yeni özellikler geliştirmeye zaman harcamak istiyorum. Müşteri benim Node yerine Deno ya da Bun, NPM yerine pnpm kullandığımı bilmiyor ve umursamıyor. Onlar uygulamamın ne kadar iyi çalıştığını ve hangi özelliklere sahip olduğunu biliyor
Bu görüşe katılıyorum ama kişisel deneyimimden bunun ters yönünde bir bakış sunmak istiyorum. Pek çok durumda biri kendi yaklaşımının, yani organizasyonun kendi kişisel yazılım tercihlerini seçmesinin peşindeyken buna "sıkıcı" tercih diyor. Buna sıkıcı diyerek kendi tercihini çoğunluğun kabul ettiği olgun ve apaçık bir karar gibi çerçeveliyor, diğer seçenekleri ise sadece parlak şeylerin peşinden koşan yazılım mühendisleri gibi gösteriyor. Gerçek neredeyse her zaman daha karmaşık. Her iki çözümün de artıları ve eksileri var. Farklı insanlar için daha çok ya da daha az anlam ifade eden değerler arasında takas yapılıyor. "Sıkıcı ve bu yüzden doğal olarak daha iyi" iddiasına karşı dikkatli olmalıyız. Bu, derinlikli bir tartışma olmadan başkasının tercihini kendi tercihinle değiştirme yöntemi haline gelmemeli. Aksi halde, esaslı bir argüman sunmadan tartışmayı kazanmaya çalışan başka kibirli girişimlerden farkı kalmaz
"Sıkıcı" teknolojiye bir de "istikrarlı" olma özelliğini eklemek isterim. Özellikle burada "istikrarlı" derken "çökmüyor" değil, "değişmiyor" anlamını kastediyorum. Bunu genelde eski ve yerleşik şeylerde görürüz. Ama bunu garanti eden bir şey yok. Bu çoğu zaman teknolojinin bakımını yapanların belirli davranışları benimsemesinin sonucudur. Bu da çoğu zaman geriye dönük uyumluluk açısından açıklanabilir. İstikrar elde etmek için izlenebilecek açık bir davranıştır. Ama aynı zamanda kapsamı ciddi biçimde sınırlamak olarak da görülebilir. Örneğin ölçek hakkında konuşmayı seviyoruz, ama asla görmeyeceğimiz bir ölçek için tasarlayıp inşa etmek zorunda değiliz
Bitmeyen tartışma eskiye karşı yeni, sıkıcıya karşı ilginç olan değildir. Olgunluk, yaştan bağımsız olarak olgunluktur. Bağımlılıkları güncellediğinizde sistemi bozan, belirsiz varsayılanlarla beklenmedik davranışlar getiren ya da sizi soyutlama katmanlarında gezinmeye zorlayan bir sistem olgun değildir... (Spring ve Java ekosistemine bakıyorum), bu sadece eski ve dengesizdir. İstikrar, öngörülebilirlik ve iyi tasarlanmış sadelik olgunluğu tanımlar; tek başına yaş değil. Python olgun ve sıkıcı mı? Toolchain sorunları ve türlü türlü baş ağrıları var... Go ya da Rust gibi daha yeni diller tüm bu toolchain sorunlarını çözüyor ve onları en iyi anlamda gerçekten sıkıcı hale getiriyor
İş aramıyorsanız sıkıcı olmak iyidir. Sıkıcı teknolojilere takılı kalırsanız zamanla kendinizi iş piyasasının dışına itme riski büyüktür. Bir sonraki işvereniniz, ne kadar iyi iş değeri ürettiğinizi umursamaz. Çoğu parlak ve yeni olanı ister. Mevcut işverenimin ilanlarını okuduğumda, bugün başvursam işe alınacağımı sanmıyorum
GitHub'da bir projenin olgun mu yoksa ölü mü olduğunu ayırt etmek zor. Commit'ler her ne için olursa olsun, birinin projeyi izlediğinin, bakım yaptığının ve yeni sorunların hızlı çözülebileceğinin işaretidir. Bu da yeni olanın her zaman burada bir avantaja sahip olacağı anlamına geliyor
Sıkıcı teknoloji kullanarak terfi alan ya da işe alınan kimse yok. Birçok iş başvurumun yanıt almamasının sebebinin, yaptığım işlerin büyük kısmının "sıkıcı" olması ve yazdığım açık kaynak kodun büyük kısmının shell script olması olduğunu düşünüyorum. Her şey harika çalışıyor, hiç bug yok, bakım maliyeti de yok, ama çekici görünmüyor. Entelektüel elitizm rolümü tanımladı ("DevOps Engineer" kelimenin tam anlamıyla "buluttaki sistem yöneticisi" demek, ama sistem yönettiğimizi söylemekten <i>utanmamız</i> gerektiği için böyle diyemiyoruz); özgeçmişimde "Python ve Shell" yerine daha çok "Go ve Rust" yazsaydı anında işe alınacağıma eminim
Sıkıcı teknolojiler işi bitirir ve bizi çözmeye çalıştığımız probleme odaklar; gereksiz işlerle uğraştırmaz
Bu konuda bir Ask HN açmayı düşünüyordum ama bu gönderinin sorumu sormak için harika bir yer olduğunu düşünüyorum. Sizin için artık kullanılamayacak kadar sıkıcı olan teknolojiler hangileri? Ne kadar süre kullandınız? Benim için Vim, C, Python, Fedora, mutt gibi şeyler var ve bunları 25-30 yıldır kullanıyorum. Ya siz?
Yeni bir teknolojinin faydası riskinden ağır basıyorsa onu kullanırım. Asıl zorluk, kanıtları değerlendirmektir. Yeni teknolojiler avantajlarını yüksek sesle anlatır, ama dezavantajları aynı şekilde reklam edilmez ve çoğu zaman ancak yatırım yaptıktan sonra ortaya çıkar. "Sıkıcı" ya da "ilginç" yanlış bir çerçevedir