Subscribe:

11 Ağustos 2014 Pazartesi

Microsoft'ta Yazılım Mühendisi Olmak

Microsoft Türkiye açık akademi yaz okulu için bu yıl da sektördeki başarılı kişileri eğitim vermek üzere misafir ediyor. Bu eğitimlerden biriside 8 Ağustos tarihinde, "Microsoft'ta Yazılım Mühendisli Olmak" konuş başlıklıydı.
Microsoft'un ana merkezi olan Seattle Redmond'da, Office 365 Ürün geliştirme takımında yer alan Yazılım mühendisleri Deniz Demircioğlu ve Furkan Fidan sunumlarında ve soru-cevaplarda bilgilendirmelerde bulundular. Aklımda kaldığınca ve aldığım notlarla sizlere aktarmaya çalışacağım.
Microsoft'un dünya genelinde 90 bin çalışanı ve bağlantılı olduğu bir kitle var. Office geliştirmede ise 5 bin kişinin çalıştığını belirttiler. Konuşmada ilgimi çeken nokta ise 5 bin kişinin içerisinden excel takımında sadece 30 kişinin olması. Nedeni sorulduğunda ise excelin temelinin sağlam olduğu geliştirilecek birçok şeyin geliştirildiği ve gelişiminin diğer ürünlere göre daha kolay olduğu daha az işgücü gerektirdiği.
Deniz Demircioğulu ise one note geliştirme ekibinde çalıştığını belirtmişti. Ayrıca office geliştirilirken hangi programlama dili kullanılıyor sorusuna "C++ kullanılıyor" diye belirtmişti.

Microsoft'ta mühendislik rolleri Program Yöneticisi(Program Manager),Yazılım Geliştirici(Developer) ve Kalite Sorumlusu(Tester-Quality Assurance) şeklinde geniş anlamda 3 kategoriye ayrılıyor.
Program Yöneticisi'nin kapsadığı başlıklar:
  • Feature (Özellik) dizaynı
  • Kullanılabilirlik
  • Müşteriye yakın çalışma
  • Bir miktar bilgisayar mühendisleri, ama yelpaze geniş
  • Ana Ürün: Spesifikasyon (Spec)
Yazılım Geliştiricinin kapsama alanı
  • Ürünün kodlaması
  • Birim testleri (Unit tests)
  • Entegasyon Süreçleri
  • Ağırlıklı olarak bilgisayar ve yazılım mühendisleri
  • Ana Ürün: Dizayn dökümanı, Kod
Tester
  • Ürünün spesikasyona uygunluğu
  • Senaryo Testleri
  • Entegrasyon Süreçleri (Diğer ürün birimleriyle uyumluluk)
  • Çoğunlukla bilgisayar mühendisleri, ama yelpaze geniş
  • Ana Ürün: Test dökümanı, Uyumluluk belgesi
 Microsoft'un yeni sisteminde Yazılım Geliştirici ve Kalite Sorumlusu "Mühendis" başlığında birleştiriliyor.

Şirket içerisinde yukarıda saydığımız farklı rollerin baskın olduğu farklı gruplar yer almakta. Mesela konuşamacıların da aralarında olduğu son kullanıcı ağırlıklı bir ürün olan Office grubunda genellikle program managerlar yer alıyormuş. PM her Bug'ı kontrol edip üzerinde yorumlarda yapıyormuş.
SQL/DevDiv gibi yazılımcının müşteri ağırlıklı olduğu ürünlerde de genellikle yazılım geliştiriciler baskınmış. Bu ürünlerdeki program yöneticileri ise üstün derecede teknik bilgiye sahip kişilermiş.
Microsoft'ta ürün geliştirme süreçleri, bizim derslerde gördüğümüz klasik süreçlere oldukça benzer:
  • Planlama
  • Kodlama
  • Entegrasyon
  • Test
  • Stabilizasyon
  • Dizayn Değiştirme İstekleri (Design Change Requests – DCRs)
Yazılım geliştirme süreçlerinde kullanılan birtakım araçlara da değinecek olursak; mesela bug yönetiminde "Product Studio" adında bir araç kullanıyorlar. Kaynak kod yönetiminde ise Source Depot,branchlar ve TFS kullanılıyormuş. Ara verildiğinde bu tür programlara dışarıdan erişebiliyor muyuz, yani msdn ve dreamspark gibi hesaplarda varmı diye sorduğumda bu saydıklarımın sadece çalışanlara özel olarak tasarlanan araçlar olduğunu belirtmişti Deniz Bey. Kaynak kod yönetiminde ise TFS kullanmamızın fazlasıyla yeterli olacağını belirtti.
Sunumda Microsoft'taki kıdemlerede değinildi:
  • SDE
  • SDE2
  • Senior
  • Principal
  • Partner
  • Distinguished Engineer
  • Technical Fellow
İş ortamı oldukça rahat. 5 gün, günde 8-9 saat çalışılıyor. İşini iyi yaptıktan sonra, çalışma saatleri, kurallar oldukça esnek. Bazı günler evden çalışmak mümkün. Herkesin birbirine saygı duyduğu güzel bir ortam var. Kampusta herkes çok farklı. Yerel kıyafetiyle bir Hintliyi, ya da Çinli'yi görmek sıradan. Kafeteryada Meksika'dan Uzakdoğu'ya, Ortadoğu'dan Hindistan'a değişik ülkelerin yemekleri bulunabiliyor. Vejetaryen, helal, koşer, diyet yiyeceklere kadar her şey düşünülmüş. Bisikletle gelenler için duş, öğle saatlerinde spor yapabilecekleri alanlardan kitap ya da örgü kulübüne, sinevizyona salon tahsis etmeye dek değişik ihtiyaç ve hobileri destekleyen olanaklar mevcut.
MS’de çalışanlar sanılanın aksine, işten başka bir şey düşünmeyen, hayata tek bir çerçeveden bakan insanlar değil. Zeki, esprili ve eğlenceli kişilikleri onların ne kadar sosyal olduğunun da göstergesi. Çünkü MS’de hedef “hayatı kolaylaştırmak için ürün geliştirmek”. Ve onlara göre de bu ancak her yönüyle hayatın içinde olan kişilerle oluyor.


0 yorum:

Yorum Gönder