Geliştirici Avukatı (Developer Advocate) Kimdir?

Standard

Merhabalar,

Birkaç haftadır taşıdığım bu ünvana dair birkaç kişiden “kimdir bu geliştirici avukatı?” ya da “oo savunucumuz olmuşsun ancak ne iş yapacaksın ki şimdi sen?” sorularının gelmesi üzerine özellikle ülkemizde “developer advocate” ünvanına dair bir bilgi eksikliği olduğunu farkettim. Ve madem böyle bir eksik mevcut “neden ben yazmıyorum ki ?” diye düşünerek şu an okuduğunuz bu blog yazısını hazırlamaya karar verdim…

Aslında henüz Türkiye’de yeni bir ünvan olduğu için dilimizde de tam bir karşılığı oluşmamış durumda. Bu yüzden ben Geliştiricinin avukatı demeyi tercih ettim, belki birkaç yıl sonra Geliştirici Savunucusu olur, zira o da kulağa gayet hoş geliyor 🙂

Peki, kimdir bu “geliştirici avukatı” ?

Eskiden geliştiriciler ve son kullanıcı arasında hiçbir katmana ihtiyaç duyulmuyordu. Çünkü geliştirici ya da bir firma, herhangi bir ürün geliştirmeye karar verirse bu ürünün teknik kısmı için geliştiriciler toplanır, kullanılması gereken ürünü tespit eder, teknik yol planını oluşturur ve uygulamaya başlanırdı. Zaten yapılacak işlemler için yaygın teknolojiler belirli ve kısıtlıydı. Web için PHP, masaüstü için C#, mobil için android ya da IOS, sistem tarafı için sıklıkla GNU/Linux, veri tabanı için başka şeyler…

Sonrasında yıllar geçti ve günümüzde artık her ürün için her alanda en az bir elin parmağı kadar alternatif mevcut. Web sitesi mi yayınlayacaksınız? Python kullanarak Django’mu kullanmak istersiniz, yoksa Java kullanarak Spring MVC mi denersiniz? Onu da beğenmediyseniz C# kullanarak .NET MVC yazın? Diyelim ki bir backend teknolojiyi seçtiniz, peki sadece GNU/Linux mu bunu barındıracağınız hosting sistemi? Bu seferde karşınızda AWS servisleri, Google Bulut çözümleri ve daha birçokları karşımıza çıktığında işler bir yerden sonra arap saçına dönerken, geliştirici de hangi birinin dökümantasyonunu okuyup öğreneceğini şaşırabiliyor…

İşte bu noktada, eskiden ihtiyaç olmayan ancak günümüzde ihtiyaç duyulan Geliştirici Avukatlığı devreye girmekte, en temel ifadesiyle, GA, bir firmanın ürettiği teknolojiyi ilgili kişilere anlatmakta ve uygulanmasında yetkin kişilere denmektedir. Hadi biraz daha bu kavramları genişletelim;

GA’nın iş tanımını önce başlıklar olarak listelersek;

Geliştirici Avukatı Ne iş Yapar?

  1. Çalıştığı Şirketin Geliştiricisi ya da Destekçisi Olduğu teknolojileri Tanıtmak
  2. Bu Teknolojiler Hakkında Makale/Blog Yazıları Hazırlamak
  3. Tanıtmakla Sorumlu Olduğu teknolojiler için Yaygın Kullanım Alanlarını Tespit Ederek, Danışmanlık Sunmak
  4. Sorumlusu olduğu teknolojilere geçiş sürecine karar veren kişi ya da kurumların uygulama sürecinde yardımcı olmak
  5. Sorumlusu olduğu teknolojiler hakkında online platformdaki soruları ve yaşanan sorunları cevaplandırmak
  6.  Sorumlusu olduğu teknolojiler hakkında etkinliklerde, organizasyonlarda sunum ve tanıtımlar yaparak, ürünün bilinirliğinin artırılmasını sağlamak
  7. Sürekli olarak güncel ve trend olan teknolojileri takip etmek ve yeni teknolojiler öğrenmek

Bunlarla beraber aslında bir noktada geliştirici ile kullanıcı arasında köprü olarak, doğru bir şekilde geri dönüşleri toplayabilmekte bir GA’nın kritik görevleri arasında yer alıyor.

Konuyu bir başka şekilde ifade etmek gerekirse “Geliştiricinin konuşabileni, satıcının kod yazabileni.” demek yine doğru bir tanım olacaktır.

Konuyu biraz da özele indirgersek benim bu işe başlama hikayemi anlatırsam sanırım bu ünvanın ne olduğuna dair tanım zihninizde çok daha net oluşacaktır.

Ben Ne Yapıyorum?

Birkaç hafta önce kodun içerisine gömülmüş uğraşırken takım yöneticim beni çağırdı ve dedi ki “Sezer, Huawei mobil servisler üzerinde yoğunlaştı. Bu sistem içerisinde geliştirici olarak devam edebilir ya da DTSE olarak çalışmaya başlayabilirsin.”

Yakın zamanda Huawei Türkiye‘ye büyük bir yatırım yaptı. (detaylar için tık). Şu an Huawei mobil servisleri üzerinde 20’den fazla teknoloji mevcut ve bu teknolojiler hız kesmeden geliştirilmeye devam etmekte.

Benimde şu an ki görevim bu servisleri tanıtmak ve geliştiriciler için kendi uygulamalarını Huawei Mobil Servisleri’ne geçiş yaparken kolaylık sağlayarak danışmanlık yapmak olacak. Bir yandan da bu servisleri kullanarak kendi uygulamalarımı geliştirerek App Gallery Center‘da paylaşacağım.

Huawei özelinde bu göreve DTSE (Development Technical Support Engineer) denmiş olsa da globalde “Developer advocate” dendiği için ben de bu ünvanı kullanmanın daha doğru olacağını düşündüm.

Sorularınızı bu blog yazısı altında sormaktan çekinmeyin lütfen 🙂

Kaynaklar;
https://developer.microsoft.com/tr-tr/advocates/
https://www.quora.com/What-exactly-is-the-job-of-a-developer-advocate
https://medium.com/@ashleymcnamara/what-is-developer-advocacy-3a92442b627c
https://developer.huawei.com/en/

Print Friendly, PDF & Email

2 thoughts on “Geliştirici Avukatı (Developer Advocate) Kimdir?

  1. Can

    HMS takımı gerçek anlamda bir development yapıyor mu? Yoksa sadece open source bir uygulamayı Huawei Mobile Service çatısı altında transpile mı ediyor. Örneğin bugün bir Google Map uygulamasını sıfırdan yazmaya kalksan birkaç bayağı bir zaman vermek gerek. Fakat open source bir harita uygulamasını alıp HMS’e göre özelleştirmek daha hızlı bir çözümdür. Bu özelleştirme işlemini merak ediyorum. Bu işlem yapılırken ciddi anlamda hard code yazma durumu var mı? Yoksa sadece belli başlı editlemeler, paket isimleri değişiklikleri falan mı yapılıyor. Paket adı com.example yerine com.huawei yapıp bunu HMS servisi sunmak vs. gibi mi

    • Selamlar,

      HMS takımı aslında 2 ekipten oluşmakta. 1. ekip yani DTSE ekibi aplikasyonların entegrasyonları ve kitlerin sunumuyla ilgilenmekteler. Kullanım belgeleri ve döküman oluşturarak geliştiricilere yardımcı olmaktalar. 2. ekipse Core Development ekibi olarak Kitlerin geliştirmelerini yapmaktalar. Bahsettiğiniz Map Kit sıfırdan geliştirilmiş bir teknoloji. Yani herhangi bir yerden devşirme söz konusu değil. Bazen kolay olan ile doğru olan arasında bir tercih yapmak gerekiyor 🙂 Dolayısıyla herhangi bir transpile söz konusu değil. Huawei bu konuda tomtom firması ile anlaşıp harita verilerini Tomtom üzerinden sağlamakta. Özetle Kit tamamen hard code olarak yazılıyor. Paket adları ise benzer servislerden geçiş sırasında kolaylık sağlaması amacıyla mümkün mertebe aynı fonksiyon isimleri kullanılarak geliştiriliyor. Bu sayede entegrasyon süresince olası bir kod karmaşasasının önüne geçilmesi hedeflenmiş durumda.

      Mail adresi istememin sebebi de size bu cevabı döndüğümde size bildirim gidebilmesi içindir, ancak zorunluluk ibaresini kaldırabilirim, biraz kurcalamam gerekecek 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir