Murat Yener - Android Developer Advocate @Google

Mobil yazılım dünyasının önde gelen isimleriyle gerçekleştireceğimiz mobil yazılım röportajlarımızı mobitalk köşemizden takip edebilirsiniz. Köşemizin ilk konuğu Google’da Android Developer Advocate pozisyonunda çalışan Murat Yener. Kendisiyle kariyer yolculuğunu ve mobil yazılım dünyasındaki gelişmeleri konuştuk.



Onur Karagünlü: Yoğun olduğunuzu bildiğimiz bu dönemlerde bize vakit ayırdığınız için öncelikle teşekkür ederiz. Biz sizin kim olduğunuzu biliyoruz ancak mobiler.dev okuyucularının da sizi tanıması açısından kısaca kendinizi tanıtabilir misiniz?


Murat Yener: Ben Murat :) Google’da Android Developer Relations ekibinde çalışıyorum. 2015’ten beridir California’da yaşıyorum. 2009 yılından beri hem Android’le hem de GDG komüniteleri ile iç içeyim. Kod yazmak en büyük hobilerimden biriydi ve bunun aynı zamanda işim olması çok büyük bir şans ve ayrıcalık sanırım.


Hobinizi meslek olarak edinmiş biri olarak mesleğinizin en sevdiğiniz ve en sevmediğinizi yönleri nelerdir?


Murat: Bilgisayar programcılığı kesinlikle sevmeden yapılabilecek bir iş değil. Her şey çok hızlı gelişiyor ve değişiyor. Eğer bu işi seviyorsanız bu hayatınızın tekdüze olmamasını sağlıyor ama eğer sevmiyorsanız, bunun anlamı yenilikleri takip etmeyi bıraktığınız anda bilginizin ve piyasa değerinizin çok hızlı biçimde azalması demek. Açıkçası ben kod yazmayı çok seviyorum ve bu yüzden bu yenilikler ve değişim çok hoşuma gidiyor.


Mobil yazılıma başlama hikayenizi kısaca paylaşabilir misiniz?


Murat: Aslında mobil ile J2ME döneminden beridir göz ucuyla ilgileniyordum. O dönem daha çok web/serverside uygulamalar yazıyor olsam da arada J2ME ile bir şeyler yapmaya çalışıyordum. J2ME’ye tam olarak ısınmam biraz da mobil cihazların cpu ve memory gelişiminin çok hızlı ilerlediğini gördükçe (ve tabii J2ME’nin de yeterince kuvvetli olmamasından) yakın zamanda full Java telefonlarda çalışacağını tahmin etmemdendi. Zaten birkaç yıl içinde önce iPhone sonra da Android cihazlar piyasaya çıkmaya başladı. Ben de kısa bir süre iPhone SDK ile oynadıktan sonra Android’te neler yapabilirim diye kurcalamaya başladım.


Bu süreç içinde hem android sdk hem de hybrid (phonegap, sencha, mgwt) platformlarla oldukça uğraştım. Tabii esas mobil hikayem Intel’de çalışmaya başlamam ve sonrasında Amerika’ya taşınmam ile başladı diyebilirim.


Peki bize biraz yurt dışına gitme serüveninizden bahsedebilir misiniz? Nasıl karar verdiniz?


Murat: O sıralar Intel’in İstanbul ofisinde çalışıyordum ve açıkçası daha çok aktif Android yazabileceğim projeler arıyordum. Türkiye’de bağlı bulunduğum yöneticim Aslı Arslan Esme’nin kafasını biraz fazla şişirmiş olacağım ki bana Amerika’da bir proje bulup oradaki ekiple uzaktan çalışmamı sağladı. Bu açıkçası benim için ciddi bir dönüm noktası oldu, tamamen farklı form faktördeki saat, gözlük gibi giyilebilir cihazlara uygulamalar ve hatta launcher’larımızı yazarken buldum kendimi. Zaten 4-5 ay uzaktan çalıştıktan sonra oradaki ekipte “sen aslında buraya gelsen” demeye başladılar. Çok kısa bir süre içinde H1B vizesi ile uğraşmadan şirket içi transfer vizesi ile Intel’in Santa Clara’daki ofisinde buldum kendimi.


Bu hikayeyi her düşündüğümde aslında oldukça şaşırıyorum. Türkiye’de bir mühendisin ben daha iyi işler yapmak istiyorum demesi ve bunu yöneticisi ile konuşması adeta bir suç. Halbuki iyi bir yöneticinin sen nasıl yaptığın işi beğenmezsin diyeceğine, çalışanın kariyeri ve istekleri doğrultusunda hareket edip ona mutlu olacağı bir çalışma ortamını sunması lazım. Sanırım biz mühendis yetiştirmekten çok yönetici yetiştirmeyi beceremiyoruz :)


Amerika’da silikon vadisinin kalbinde yaşamak bir geliştirici olarak size neler sağlıyor?


Murat: En önemli konu tabii ki imkanlar. Elinizin altında dünyanın en iyi teknoloji şirketleri, en ilginç projeler ve neredeyse sonsuz imkan var. Bir projeden memnun değilseniz her zaman şirket içi başka bir projeye geçebiliyor hatta yeni bir dil ile işinizi yapmaya devam edebiliyorsunuz.

Ciddi bir kültür farkı da var tabii.



Herhalde en garip gelen şey yaptığım her işten sonra birinin gelip sanki o iş için para almıyormuşum gibi teşekkür etmesi olmuştu. Tabii bu konuda da her şirketin kendi tarzı ve kültürü var ama yine de Türkiye ile kıyaslandığında “sana para veriyoruz o yüzden bu saatler bizim” anlayışından farklı, çalışana, isteklerine ve kariyerine çok daha büyük saygı ve ilgi var.


Kuşkusuz yazılım geliştiricilerin birçoğu Google’da çalışmak ister. Bu yüzden herkesin merak ettiği Google mülakatlarından biraz bahsedebilir misiniz, hazırlık süreci nasıldı?


Murat: Muhtemelen duyduğunuz şeyler büyük ölçüde doğru :) Öncelikle Google ya da herhangi bir teknoloji şirketine girmek istiyorsanız mülakat sırasında algoritma ve veri yapıları ağırlıklı sorulara kod yazarak cevap verebiliyor olmalısınız. Türkiye’de 10 küsür yıl çalıştıktan sonra en ilginç gelen şey belki de bu olmuştu benim için. Ben gerçek hayatta hashmap, tree gibi şeyleri yazmıyorum, öğrenmek de istemiyorum, kullanır geçerim diyorsanız işiniz zor. Bunları anlamadan da gerçekten iyi programcı olmak da aslında çok kolay değil. Sorting algoritmalarının nasıl çalıştığını ve farklarını bilmediğiniz zaman framework ile gelen Array.sort()’un arkada ne kullandığını, hangi durumda iyi çalışmayacağını da anlayamıyorsunuz. Dolayısıyla daha iyi ne yapabileceğinizi de bilmiyorsunuz. Coursera’da, Youtube’da ve diğer eğitim sitelerinde çok iyi ve ücretsiz algoritma ve veri yapıları dersleri bulunmakta. Dünyanın en iyi üniversiteleri derslerini artık online olarak herkese açtılar. Bugüne kadar herhalde 5-6 farklı algoritma dersi almışımdır. Hepsinde de birbirinden değerli şeyler öğrendim. Youtube’da Google’ın yayınladığı örnek mülakat videoları bulunmakta. Bunlar yaklaşık olarak ne ile karşılaşacağınızı en güzel gösteren kaynak sanırım.


İnsanların bir diğer merak ettiği konu da Google’daki çalışanların iş yaşamı. Biz de size soralım: Bir Android Developer Advocate olarak tipik bir gününüz Google’da nasıl geçiyor?


Murat: Büyük ölçüde neler yaparız da Android developerların canını nasıl daha az sıkarız diye düşünmekle geçiyor :). Yeni yayınlanan özellik ve API’lar için eğitim ve örnek kod hazırlıyoruz. Eğer bir API değişecekse, mevcut uygulamalara nasıl daha az zarar verir, developerlara nasıl daha kolay bir geçiş sağlarız, bunu anlamaya çalışıyoruz.


Aslında kabaca tam olarak işim yeni geliştirmelerin en sıkıntısız bir biçimde yayınlanabilmesi için bu geliştirmeleri yapan ekiplerle, dışarıdaki developerlar arasında bir köprü kurmak. Developer feedback’lerini içerideki takımlara, içerideki geliştirmelerin neden bu şekilde yapılmakta olduğunu da dışarıdaki developerlara anlatmak. Tabii bunu yaparken örnek kodlar, eğitimler, videolar, sunumlar gibi aklınıza gelebilecek her tür iletişim yöntemini kullanmaya çalışıyoruz.


Sektörün kalbinde çalışan biri olarak mobil uygulama geliştirmenin geleceğini nasıl görüyorsunuz?


Murat: Aslında uygulamaları mobil ve diğer platformlar şeklinde ayırmak çok doğru mu emin değilim. İşin sonunda kullanıcılar için hayatlarını kolaylaştıracak uygulamalar yapıyoruz ve bu uygulamaları farklı platformlarda çalıştırıyoruz (mobil, web, masaüstü...). Sorunlar da çözümler de hatta yanlışlar da çoğu zaman birbirinin aynı. Örnek vermek gerekirse hemen hemen her platformda ekran boyu ve çözünürlüğü değişebiliyor, yine benzer biçimde her platformda internet bağlantısı kesilebiliyor. Kesin olan şey belki de uygulamaların çalıştığı cihazların form faktörünün belirli aralıklarla değişmesi. Masaüstünden dizüstüne, dizüstünden de mobile bu değişikleri geçtiğimiz yıllarda yaşadık. Mutlaka ki mobil cihazlarda da bu form faktör değişikliği yaşanacak ama sonuçta uygulama geliştirenler için yine benzer sorunlar ve geliştirme döngüsü devam edecektir.


Android dışında da aktif olarak geliştirme yaptığınız başka bir platform var mı?


Murat: Programcılığa aslında daha çok serverside’da başlayıp sonra web’e kaymıştım. Hala bu iki platformda bazen işim gereği bazen de zevk için bir şeyler yazıyorum. Her yeni raspberry pi çıktığında bir şeyler yaparım deyip sonra kenara atıyorum :) Sanırım hardware ile direkt temasta olmadığımız platformlar daha favorim :)

Akıllı cihazlar ve onların asistanlarla entegrasyonu (ki Google’daki ilk işim) herhalde şu an mobilden sonra en çok ilgimi çeken şeylerden biri.


Biraz da komüniteler üzerine konuşalım. GDG İstanbul’un kurucusu olduğunuzu biliyoruz. GDG İstanbul’u kurmaya nasıl karar verdiğinizden bahsedebilir misiniz?


Murat: GDG İstanbul, o zamanki adıyla GTUG İstanbul aslında en eski GDG’lerden biri. 2009 yılında (halen İstanbul’dayken) o zamanki çalıştığım işten çok sıkılıp, kendime bir JavaOne bileti alıp San Francisco’ya geldim. Tabii cebimden uçak, otel, konferans bileti o kadar para harcayıp gelmişken başka neler yapabilirim diye araştırdıkça önce Google I/O sonra da bir GTUG etkinliği keşfettim. Hemen GTUG etkinliğine kayıt olup 5 dakikalık bir sunum yaptım. Tabii uçaktan iner inmez, hem jetlag hem heyecan oldukça kötü bir sunum oldu. İşin ilginci birkaç gün sonra Google I/O’da insanların gelip “aa sen şöyle bir şey anlatmıştın” diye benimle konuştuklarını görünce aslında tam olarak böyle bir komünitenin parçası olmak istediğimi fark ettim.


O zaman İstanbul’da pek böyle komüniteler olmadığı için nerede toplanılır, bize kim sponsor olur gibi konularda da hiçbir bilgim yoktu. Açıkçası GTUG İstanbul’un kaydını yaptığımda, toplanıp bir şeyler yapabilecek miyiz bile emin değildim. Her şey oldukça basit başladı aslında. Çevremde bir şeyler yapan kimi görsem gel çık bize anlat diye kolundan tutup sahneye çıkarıyordum. Konuşmacı bulamadığım konuları da öğrenip kendim anlatıyordum. Derken sık gelip gidenler olaya dahil olmaya ve organik biçimde gerçekten bir ekip oluşmaya başladı.


Komüniteler konusunda tecrübeli biri olarak komunitilerin ekosisteme katkısı hakkında ne düşünüyorsunuz?


Murat: Komüniteler bir ekosistem için belki de en önemli güç ve araç. Başarılı programlama dillerine, sdk’lara ve platform’lara baktığınızda arkasında ciddi bir komünite desteği (stackoverflow, open source kütüphaneler) ve aktivitesi (etkinlikler, yazılar…) göreceksiniz. Komünitelerin düzenlediği etkinlikler, eğitim programları ile hiç kod yazmamış insanların kod yazmaya hatta gelip o komüniteyi yürüten organizatörler arasına girdiğine defalarca şahit olduk. Bir komüniteye dahil olmak, sunum yapmak, içerik üretmek, hatta organizasyona yardımcı olup belki bir sandalye taşımak bile gerçekten birilerinin hayatını değiştirmek için yapabileceğiniz en güzel şey.


Tekrar mobil dünyaya dönecek olursak Türkiye ve Dünya’da mobil sektörünün yerini nasıl görüyorsunuz?


Murat: Bugün mobil cihazlar inanılmaz yaygınlaşmış durumda. Bilgisayarların kullanımı ve erişilebilirliği ile kıyaslandığında aslında mobilin ne kadar önemli olduğu daha da ortaya çıkıyor. İşin ilginci hala da mobil cihazların yeterince yaygınlaşmadığı ülke ve coğrafya sayısı bir hayli fazla. Kısacası mobil sektörün uzun bir süre daha uygulamalar ve firmalar için birincil öncelik olarak kalacağı kesin.


Türkiye’de oldukça canlı ve aktif bir mobil yazılım geliştirme sektörü bulunmakta. Bunda bence iş verenler ve firmalar kadar mobil ekosistemin, etkinliklerin, açık kaynaklı projelerin, hatta freelance/remote iş olanaklarının etkisi büyük. Türkiye’de sektör büyük ölçüde telekom, bankacılık ve e-ticaret üçgeninin içine hapsolmuş durumda. Bu sektörlerdeki şirketler de aslında teknolojiyi daha muhafazakar ve dikkatli kullanmak zorundalar. Farklı business’ların ve startup’ların ortaya çıkıp teknoloji ihtiyaçlarını zorlaması mobil sektörünün daha pozitif yönde gelişmesine yardımcı olacaktır.


Son olarak mobil uygulama geliştirmek isteyen insanlara tavsiyeleriniz nelerdir? Güncel kalmak için hangi kaynakları/kişileri takip etmeliler?


Murat: İşim ve uzmanlığım gereği biraz daha Android spesifik cevaplayayım. Öncelikle Youtube üzerinden Android Developers kanalını takip etmenizi öneririm. Bu kanalda birçok yeniliği duyurduğumuz gibi, Google I/O ve Android Developer Summit’teki sunumları da yine bu kanal üzerinden yayınlıyoruz. Bu iki etkinlikten sonra bir hafta evde ya da işte oturup ben de baştan sona yayınlanan videoları takip etmeye çalışıyorum. Bir diğer önemli kaynak Android Developers Medium kanalı. Burada da benzer biçimde en güncel içeriği bulmanız mümkün. Açıkçası benim kendimi geliştirmek için en faydalı bulduğum kaynaklardan biri Google Codelab’ler. Yeni, eski bir çok konuda güncel yüzlerce codelab'imiz bulunmakta. İlginizi çeken, öğrenmek istediğiniz konudaki codelab’i bulup adım adım uygulayarak öğrenmenizin mümkün olduğu gibi, direkt koda dalıp ihtiyacınız olan noktaları bulmanız da mümkün. Ayrıca takıldığınız noktada her zaman uygulamanın tamamlanmış haline göz atma şansınız da var.


Onur: Google deneyiminizi ve mobil yazılımla ilgili tecrübelerinizi okurlarımızla paylaşmanız bizim için çok değerliydi. Bu nedenle bize zaman ayırıp sorularımızı yanıtladığınız için çok teşekkür ederiz.


#mobitalk #muratyener #röportaj


Komünite

Platform

Mobiler.dev Anasayfa
  • Twitter
  • Instagram
  • development_düzenlendi_düzenlendi
  • Youtube
  • slack-icon-black_edited_edited_edited
  • Gri LinkedIn Simge
JetBrains Hakkında Detaylı Bilgi Alın

© 2020 by mobiler.dev

mobilerdevLogo.jpg
Yazarlık Başvurusu Hakkında Bilgi Alın, Başvuru Yapın.
Topluluk Yazarlarını Tanıyın