date=”10.03.2016″ destination=”New York City”

En son yazımda hayatımla ilgili verdiğim önemli bir karardan; kariyer değişikliğimden ve bunun getirdiği belirsizlikten bahsetmiş; programlama alanında alacağım eğitim için önümde uzunca bir araştırma süreci olduğunu yazmıştım.

21.07.2016 tarihi itibariyle aldığım kabul mailiyle araştırma süreci tamamlanmış; bu “belirsizlik sisi” biraz aralanmış bulunuyor: 3 Ekim tarihinde, New York’ta “Android Development Immersive” programına başlıyorum!

Sayısız Olasılık: Eğitim Kurumları, Programlar ve Ülkeler/Şehirler

İnsanın kendine tamamen yeni bir şeye başlarken yaşadığı en büyük problem kuşkusuz bilgisizlik ve kararsızlık. Kariyer değişikliği konusunda kararlı olmama rağmen; programlamanın hangi kısmı üzerine eğitim almam gerektiği konusunda tabiri caizse “cahildim”. Programlama da; kullanılan diller açısından kendi içinde onlarca alt kırılıma ayrıldığından; kendime en uygun dalı bulmak çok da kolay olmadı.

Bunun üzerine bir de hangi seviyede bir programa katılmak gerektiği, (BS, MS, sertifika vs.) eğitim ücreti, hangi ülke/şehirde hayat masraflarının en uygun olduğu ve mezuniyet sonrası hangi ülke/şehirde iş bulma olasılığının en yüksek olduğu gibi parametreleri de eklediğimizde iş içinden çıkılmaz bir hal alıyor.

Bu durumda benim yaptığım ise; diğer tüm faktörleri denklem dışında bırakıp öncelikli olarak ne yapmak istediğimi belirlemek oldu. Tüm bu kariyer değişikliğini uygulama geliştirmek için yapıyordum; dolayısıyla çoğunlukla uygulama geliştirme üzerine odaklanmış bir program benim için en uygunu olacaktı. Bu kararı verdikten sonra ise hangi dili öğrenmek istediğimiz sorunu çıkıyor karşımıza. Neyseki buradaki seçim çok daha kolay ve limitli: Android üzerine odaklanmak istiyorsanız Java & XML, iOS üzerine odaklanmak istiyorsanız ise Swift öğrenmeniz gerekiyor. Uygulamalarımın ilk versiyonlarını hep Android’de çıkardığım ve Android üzerine çalışmak -nedense- hep daha az yorucu geldiği için; burada biraz daha duygusal bir karar ile Android üzerine yoğunlaşmayı seçtim. (2015 verilerine göre Dünya genelinde aktif olarak kullanılan 1.4 milyar Android cihaz bulunması da bu romantik kararımı bir miktar etkilemiş olabilir.)

Android_Logo_09

Geriye kalan; kendime maddi açıdan uygun, yaşamak isteyeceğim bir ülkede; iyi bir eğitim kurumu bulmak oldu ki; bu bölüm en can sıkıcı geçen kısımdı diyebilirim.

Araştırmalarıma ilk başladığımda en çok hoşuma giden program Vancouver – Kanada’da bulunan Vancouver Film School’un sunduğu “Programming for Games, Web + Mobile”  sertifika programıydı. Ancak hem programın ücreti, hem de programın birbiriyle çok alakası olmayan birden çok niş konuyu paketleyip sunması sebebiyle; bir süre sonra bu seçenek aklımdan çıktı. Bu aşamadan sonra ne kadar eğitim kurumu, program araştırdığımı gerçekten bilemiyorum; ancak hiçbiri gerçek anlamda içime sinmedi. Ta ki General Assembly’ye rastlayana kadar…

General Assembly, New York City

General Assembly programlama, kullanıcı deneyimi & dizayn, pazarlama vb. konularda eğitim veren, 2011 yılında hayatına start-up olarak başlamış; ancak aldığı yatırımlar ile dünya genelinde farklı ülke ve lokasyonlarda merkezler açarak hızlıca büyümüş bir eğitim şirketi. Daha detaylı bilgi isteyenleri şuraya alalım.

generalassembly-open-graph

General Assembly’nin benim için en “seksi” yanı ise; Android eğitim müfredatının tamamiyle Google ile birlikte oluşturulması ve bu sebeple Google onaylı nadir eğitim merkezlerinden biri olması. Bu, hem alacağım eğitimin güncelliğinin ve kalitesinin bir garantisi, hem de daha sonra staj/iş ararken “etiket” değeri yüksek bir özellik.

general-assembly-04

General Assembly New York Ofisi

Kabul Süreci

Eğitim paralı olunca; insan genelde “paraya basar girerim” gibi komik ve gerçek dışı bir yanılgıya düşebiliyor; ancak daha önce Sabancı MBA’ye kabul edilirken de gördüğüm üzere; sadece maddi anlamda eğitim masrafını karşılayabiliyor olmak, kursta yerinizi garantilemek için yeterli olmaktan çok uzak. General Assembly programa katılımcı sayısını sınırlı tuttuğu için sizi bir dizi mülakata sokuyor:

  1. Telefon mülakatı
  2. Programlama ödevi
  3. Görüntülü mülakat

Telefon mülakatı daha “soft” geçen; karşınızdaki arkadaşın; neyi neden ve gerçekten ne kadar istediğinizi tartıp anlamaya çalıştığı bir mülakat.

Bu mülakatı geçtiğiniz takdirde size bir programlama ödevi veriliyor. Burada “Ben programlama bilmiyorum; neyi nasıl yapacağım?” tarzı bir endişe kapılmaya gerek yok; çünkü ödevden önce yaklaşık 4-5 saat süren bir html & css eğitim sürecinden geçiyorsunuz ve ödev olarak, istenilen özelliklerde bir web sayfası kodluyorsunuz. Buradaki amacın sizin kodlama yaparkenki tarzınızı ve entellektüel merakınızı anlamak olduğunu düşünüyorum; yoksa kimse sizin ne kadar optimize kod yazdığınız veya sitenin dizaynı tarzı detaylara girmiyor.

Web sayfanızın kodunun beğenilmesi durumunda son olarak Skype veya Google Hangout üzerinden görüntülü mülakat yapılıyor. Bu mülakatta da sayfanızın kodu ile ilgili detaylı sorular ve “Sayfayı daha da geliştirecek olsanız neler yapardınız?” tarzı sorular yer alıyor. Bu aşamayı başarılı bir şekilde atlatabilirseniz; General Assembly’den resmi kabul mailinizi ve sonrasındaki süreci içeren bir mail alıyorsunuz.

Bundan Sonrası

Şu anda programla ilgili gerekli legal dokümanları dolduruyorum. Akabinde ise kalacak yer ve vize işlemleri ile uğraşacağım. Kalacak yer için General Assembly’nin önerdiği “adult dorm” konseptinde yerler mevcut; ancak orası olmazsa Airbnb’de uzunca bir araştırma süreci beni bekliyor demektir.

Yazının başında da söylediğim gibi; “belirsizlik sisi” artık yavaş yavaş çözülmeye başlıyor. Sonunda içime sinen bir program bulduğum ve buradan da kabul aldığım için gerçekten çok mutlu ve heyecanlıyım. Bundan sonraki süreçte de yaşadıklarım ve tecrübelerimle ilgili yazılar yazacağım.

Başka yazılarda görüşmek üzere…

gty_new_york_city_jef_130409_wmain

Lisanssız (Korsan) Game Maker: Studio ile Üretilen APK Google Play’e Yüklenebilir Mi?

Game Maker: Studio (GM:S) ve kendi oyunum Lost Aliens (Süper Uzaylılar) ile ilgili yazılarıma bu geçen altı ay içinde en çok gelen yorum programın lisanssız (korsan) versiyonları ile üretilen APK’ların Google Play’e konulup, konulamayacağı ve eğer konulursa herhangi bir problem ile karşılaşılıp, karşılaşılmayacağıydı.

Burada olayın etik yanının muhakemesini yapmak istemiyorum; ancak teknoloji ve yazılım sektörünün içinde olan bir insan olarak korsan ürün kullanmanın karşısında olduğumu da belirtmeden geçemeyeceğim. Programın sahibi firma olan YoYo Games periyodik olarak üründe %50 oranın indirimler yapıyor. Ben de programın profesyonel versiyonunu böyle bir indirim zamanında almıştım.

Şimdi gelelim asıl konumuza:

Öncelikle şunu belirtmem gerekiyor. Bu konu ile ilgili kesin bir bilgiye sahip değilim; hem program hem de uygulama yükleme süreci ile ilgili deneyimim olduğundan mantık yürüteceğim. GM:S ve korsan yazılımlar ilgili kesin olarak bildiğim; birkaç yıl önce bir versiyonda korsan sürümlere önlem almak için şöyle bir yola gidilmiş:

Programa eklenen bir kod ile program, eğer korsan bir versiyon ise, bir şekilde bunu fark ediyor ve bunu fark ettiğinde üretilmiş tüm sprite’ları bir korsan bayrağı sprite’ı ile değiştiriyor. Nasıl çok haince; ancak bir yandan da çok dahice değil mi? Ancak maalesef evdeki hesap çarşıya uymuyor ve programı ücretini ödeyip, yasal olarak lisanslı alan müşterilerin birkaçının başına da bu olay geliyor. Bir gün uyanıp bilgisayarı açtığınızda tüm kodunuzun çöplüğe dönüştüğünü düşünün. İnsanın akıl sağlığıyla oynayacak kadar sinir bozucu bir durum! Bunun üzerine firma bu yoldan vazgeçiyor ve klasik DRM korumalarına geri dönülüyor.

Konuya direkt olarak giriş yapıyorum ve söylüyorum:

Hayır, korsan GM:S versiyonları ile ürettiğiniz APK’ların Google Play’e yüklenmesinde ve daha sonraki süreçte herhangi bir problem ile karşılaşacağınızı düşünmüyorum; çünkü aslında daha büyük bir sorun var. 

Uygulama geliştirme konusunda deneyimli olan arkadaşların da bileceği gibi Google ve Apple uygulama mağazalarının gereksinimleri konusunda sürekli olarak bir geliştirme ve değişim çabası içindedirler. Bu gereksinimler sizin uygulamanızın koduna, dizaynına ve diğer birçok parametresine müdahelede bulunur. Yaptığınız uygulama bu gereksinimlere uymak zorundadır; aksi halde ya reddedilir ya da kısa bir süre sonra mağazadan kaldırılır.

YoYo Games burada bahsettiğim parametreleri Google ve Apple’ın yayınladığı yönergelere göre ayarlayıp, sürekli olarak GM:S için güncelleme yayınlıyor ve sizin ürettiğiniz APK’ların bu kurallara uygun olmasını sağlıyor. Eğer korsan bir GM:S versiyonu kullanırsanız, sürekli olarak güncelleme şansınız olmayacağından ürettiğiniz uygulama belli bir süre için uygulama mağazalarının gereksinimlerini karşılasa da, bir zamandan sonra bu olanaksız olacağı için mağaza ile sürekli olarak problem yaşamaya başlarsınız. Örneğin Süper Uzaylılar için en son güncellememi 5 Mayıs 2014 tarihinde yapmıştım. Bu 7 aylık süreç içerisinde uygulama mağazasında yapılan değişiklikler yüzünden, kendi uygulamamı güncellemem gerektiğine dair 3 ayrı mail gelmiş. Eğer bir süre daha bu mailleri dikkate almazsam, uygulama mağazadan kaldırılacaktır.

Yani sonuç olarak toparlamamız gerekirse;

  • Lisanssız (Korsan) GM:S ile üretilecek APK’nın Google Play’e yüklenmesinde veya daha sonraki işlemlerde bir problem olacağını düşünmüyorum. 
  • Ancak uygulama yönetimi sürekli olarak güncellemeler gerektireceği için korsan ve güncellenmeyen bir GM:S sürümü ile başarılı ve stabil bir uygulama yönetimi yapılamaz.