Adam Wolf, Bloomberg’in mühendislik departmanındaki yazılım altyapı grubunu yönetiyor. Ekibi, 5.500’den fazla geliştiricinin uygulamalarını oluşturduğu temeli geliştirmekten ve müşteri iş akışlarına anında entegre olan yeni kodu dağıtmaktan sorumludur.
ZDNet’e finans ve veri devinin küresel finans piyasalarındaki müşterilerinin ihtiyaçlarını karşılamak için bilgi paylaşımından “loncalar” kurmaya ve açık kaynağı benimsemeye kadar çeşitli yazılım geliştirme tekniklerini nasıl kullandığını anlatıyor.
Bloomberg’in iş akışları, gerçek zamanlı piyasa verilerinden ve analitikten kazançlara, hisse senetlerine, para birimlerine ve emtialara kadar tüm finansal hizmetler yelpazesini kapsar. Adam Wolf, “Bütün bunları yapmaya çalışmak, verimli olmamızı ve aynı zamanda yalın olmamızı gerektiriyor” diyor.
Sonuncusu, 15 yılını Bloomberg’de geçirdi ve burada iletişim ve mobil ekiplerin yanı sıra bilgi mühendisliği biriminde çeşitli teknik ve liderlik rollerini yönetti. Ayrıca, Bloomberg Terminal’in e-posta ve anlık mesajlaşma hizmetleri, araştırma ve finansal büyük veri platformlarını kapsayan temel, çok sınıflı uygulamaları ve platformları anlamına gelen Çekirdek Uygulamaları yönetti.
Bloomberg terminalinin kısa bir tarihi
en Bloomberg Terminali finansal hizmetler uzmanlarına Bloomberg finansal verilerine, analist tahminlerine, mesajlaşma ve ticaret hizmetlerine erişim sağlayan hepsi bir arada bir bilgisayar sistemidir. Bloomberg’in ürün portföyünün çekirdeğini oluşturuyor ve dünya çapında 325.000 kullanıcıya hizmet veriyor.
Yirmi yıl önce, Bloomberg terminali tam anlamıyla bir bilgisayar terminaliydi. Daha sonra bir Windows masaüstü uygulaması haline geldi ve bugün Adam Wolf’un açıkladığı gibi, “Bloomberg Terminali bir tarayıcı görevi görüyor, ancak özel bir tarayıcı ve bir sürü pencereleme bileşeni, yeniden gruplandırma ve sabitleme var”.
Adam Wolf’un yaklaşık 1.700 geliştiriciyi içeren mühendislik birimi, esasen tüm Bloomberg organizasyonu için bir platform ekibi olarak hizmet veriyor ve yazılım geliştirme yaşam döngüsü araçları ve çerçevelerinden kullanıcı arayüzü, yönetilen hizmetler, analitik ve veri bilimine kadar her şeye hizmet ediyor.
“Gördüğüm kadarıyla takımımın işi mühendisleri desteklemek. Bu mühendislerin çoğu burada çalışıyor ve birçoğu da müşterilerimiz için çalışıyor” diye açıklıyor Adam Wolf. “Yüzlerce borsaya bağlanmanız ve her türlü veriyi normalleştirmeniz gerekiyor. Bu bir nevi varoluş sebebimiz. »
Paylaşıma dayalı bir felsefe
Bilgiyi ve en iyi uygulamaları paylaşmak, Bloomberg’in geliştirici ortamının merkezi bir parçasıdır. Bunu başarmak için örgüt, “loncalar” oluşturmak belirli teknolojiler ve teknik kavramlar konusunda uzmanlaşmıştır. Bu loncalar, ilham aldıkları ortaçağ konsepti gibi, sorunları çözmek ve ticaretin püf noktalarını değiştirmek için bir araya gelirler.
Bugün Bloomberg’in mühendislik departmanında C++, JavaScript ve Python gibi programlama dillerinin yanı sıra makine öğrenimi, doğal dil işleme ve ön uç web geliştirmeyi kapsayan 10 loncası var. Adam Wolf, “Amaç gerçekten organizasyonun farklı bölümlerinde derin uzmanlığa sahip insanları bir araya getirmek, bazı durumlarda platforma yatırım yapmak ve ortak standartlar ve yaklaşımlar geliştirmek” diyor.
Adam Wolf, bu çalışmaların bir kısmının içsel olduğunu ekliyor. Örneğin, Bloomberg’in kod tabanını yükseltmek için yeni programlama dili standartlarından nasıl yararlanılabileceğine bakmakla ilgilidir. Bazen loncalar da teknolojinin yönünü daha genel olarak ele almaya çalışırlar. Örneğin, Bloomberg’in JavaScript ekosisteminde son beş yılda yaptığı ve kuruluşun henüz JavaScript ekosistemine entegre edilmemiş olan gizlilik koruma işlevlerini savunmayı başardığı bir durum söz konusudur.
Adam Wolf, “Sunucu tarafında devasa bir JavaScript kod tabanı çalıştırıyoruz ve JavaScript gerçekten kapsüllemeyi mümkün olan en iyi şekilde desteklemiyordu” diyor. “Onu yaratmaya çalışan bir şey inşa ettik, ancak dilin resmi bir parçası değildi. »
Açık kaynak projelerine bağlılık
Teknoloji topluluğuyla etkileşim, yalnızca Bloomberg’in geliştirme ekosisteminin yararı için değil, aynı zamanda daha geniş geliştirme topluluğunun yararı için Python gibi açık kaynak projeleri için de önemlidir.
Adam Wolf, açık kaynak söz konusu olduğunda, “kaputun altına girmeye ve işleri herkes için daha iyi hale getirmeye istekli olmalısınız” diyor. “Neler olduğunu anlamamız gerekiyor. Bunu nasıl geliştirebileceğimizi bulmalıyız ve bence bu neredeyse bir iş gerekliliği. Sadece açık kaynak kullanamaz ve ona bir kara kutu gibi davranamazsınız. »
Örneğin, yeni bir özellik eklemek için kod tabanına girmek, bu özellik topluluğa geri katkıda bulunmayacaksa ve geliştirme ekipleri için daha fazla baş ağrısına neden olacaksa anlamsızdır. “Bizim için nadiren geçerli olan, işletmenizin temel bir mülkiyet özelliği olmadıkça, tekrar katkıda bulunmak ve diğer insanların bunun üzerine inşa etmesine izin vermek istemez miyiz?” Artık işe alım maliyetiniz daha düşük olduğundan, işleri halledebilirsiniz, diğer insanların girdilerinden faydalanabilir ve daha iyi hale getirebilirsiniz. »
Tabii ki, açık kaynağın dezavantajlarından biri, bakım iş listeleri, kod temeli çatalları ve katkıda bulunanlar arasındaki farklı öncelikler ile genellikle geliştirmeyi yavaşlatan yeni özelliklerin ne kadar yavaş eklendiğidir. Açık kaynak kodunu korumak ve yeni özellikler yayınlamak arasında bir denge bulmak söz konusu olduğunda, Adam Wolf birinin birine veya diğerine öncelik verebileceği fikrinin “yanlış bir seçim” sunduğuna inanıyor.
“Performans veya yeteneklerin sınırındaysanız… yeni ticari özellikler sunabilmenizin tek yolu, bakım yapmaya ve en son sürümlere yükseltmeye devam etmektir” diyor. “Bence biri ya da diğeri değil. Bakım, yükseltme, yeniden entegrasyon ve yukarı akış yamalarının işletme maliyetinin bir parçası olduğunu düşünüyorum. Bu bir seçim değil. »
Kaynak: ZDNet.com


