Mustafa Yemural

Yazılım Mühendisi

2006

Programlama ile Tanışma


Programlamaya olan ilk ilgim aslında “Oyunlar nasıl yapılıyor?” veya “Bilgisayardaki görsel programlar nasıl yapılıyor?” gibi sorularla başladı. O zamanlar sınırlı internet ile çaşitli yollardan Visual Basic ile GUI programlamayı öğrendim. Bu benim ilk programlama deneyimidi.

2006

2008

3D Game Studio ile Tanışma


Oyunların nasıl yapıldığını araştırıken önüme Game Maker isimli bir program geldi. Bu programı biraz kurcalayıp kendimce ufak tefek oyunlar çıkardım. Ancak bu bana yeterli gelmedi ve 3D oyunların nasıl yapılacağı ile ilgili araştırma yaparken 3D Game Studio ile tanıştım. Bu program oyunların programlaması için Lite-C isimli özelleştirilmiş bir C dili kullanıyordu. Buna benim C programlama dili ile ilk deneyimim de diyebiliriz.

2008

2009

C Programlama Dili


Bir yandan oyun yapımı tekniklerinde kendimi geliştirirken, diğer yandan da orijinal C programlama dilini öğrenmeye çalıştım. Bu yıllarda 3D Game Studio ile ilgili çeşitli forumlarda çalışmalar yapıp insalara yardımcı olmaya çalıştım. Ayrıca kendime bi blog sayfası açıp burada modelleme ve oyun yapımı ile ilgili çeşitli yazılar paylaştım.

2009

2010

Web Tasarımı ve PHP


2010’lu yıllarda Web tasarımı konusuna merak saldım. O zamanlar Microsoft Office’in içerisinde yer alan FrontPage ve Adobe Dreamweaver gibi yazılımlar ile çalıştım. Daha sonra HTML ve CSS öğrenerek sıfırdan çeşitli Web sayfaları yapmaya başladım. Bunun yanında PHP ile de uğraştım. Bütün bu bilgileri o zamanlar açtığım blog sayfama uyguluyordum. Bir yandan da oyun yapımı ile uğraşmaya devam ediyordum. Kişisel küçük projeler ile kendimi geliştirmeye çalışıyordum.

2010

2013

Java


Üniversite zamanına kadar nesne yönelimli programlama hakkında hemen hemen hiç bir bilgim yoktu. Üniversitede Java ile tanıştım. Bu dil ile ufak tefek uygulamalar yapıp nesne yönelimli programlama paradigmasını anlamaya çalıştım. Ancak dile olan ilgim fazla sürmedi ve yaklaşık 1-2 sene sonra kendime daha yakın hissettiğim C++ diline geçmeye karar verdim.

2013

2014

C++


C++ ile tanıştıktan ve yeteneklerini kavradıktan sonra bu dil ile devam etmeye karar verdim. Böylelikle hangi programlama dili üzerinde uzmanlaşacağım konusu kapanmış oldu. Yine bu yıllarda hem 3D Game Studio’nun yavaş yavaş desteğinin sonlanması hem de belki de çok fazla elle tutulur bir çalışma ortaya çıkaramamamdan dolayı oyun yapımına ara verdim.

2014

2015

Linux Dünyasına Geçiş


Aslında üniversite öncesinde de Pardus ve Ubuntu gibi çeşitli dağıtımları bilgisayarıma yükleyip kullanmıştım. Ancak üniversite yıllarında tam bir geçiş yapabildim. Artık C ve C++ öğrenimimi tamamen GNU/Linux dağıtımları üzerinde devam ettırecektim. Bu dönemde Ubuntu, Mint, CentOS, OpenSUSE ve Arch gibi çeşitli dağıtımları denedim. En fazla ilgimi çeken Arch Linux ve onun paket yöneticisi olan Pacman olmuştu.

2015

2016

Unity ve C#


Oyun yapımına 2 sene ara verdikten sonra Unity oyun motorunu denemeye karar verdim. Zaten biraz da C# bilgim vardı. Bunun üzerine Unity öğrendim ve bu bana hem ilk stajım hem de ilk işimde faydalı olacaktı. Bu esnada C ile Shell yazımı, Multithreading ve derleyici tasarımı gibi konularda da çeşitli çalışmalar yaptım. Arkaplanda C++ bilgilerimi geliştirmeye devam ediyordum.

2016

2017

Qt Framework


2017 yılımda ilk stajımı yapmıştım. Bıurada C++ dilini ve Qt Framework’ünü kullanarak JPEG Compressor/Decompressor projesi yapmıştım. Ayrıca Microsoft’un Kinect aracını kullanarak Unity’de çeşitli projeler gerçekleştirdim. Bu stajımda yine arttırılmış gerçeklik (AR) ve sanal gerçeklik (VR) alanları ile tanışmış oldum.

2017

2018

Makine Öğrenmesi ve Bitirme Projesi


Üniversitedeki bitirme projesini makine öğrenmesi üzerine yapmaya karar verdim ve aklıma FaceFill System adını verdiğim bir proje geldi. Bu projede ben ve iki arkadaşım çok çeşitli teknolojileri kullanarak hem pratikte güzel bir proje çıkardık hem de kendimizi geliştirdik. Bu proje Marmara Üniversitesi Bilgisayar Mühendisliği bölümünde 2018 yılının birinci bitirme projesi seçildi. Ayrıca bu proje ile TÜBİTAK etkinliklerine katılıp Marmara bölgesi genelinde de birincilik elde ettik. Projenin Client kısmında ağırlıklı olarak C++, Server kısmında ise Python kullandık.

2018

2019

İlk İş Deneyimi


Sektördeki ilk işim, ilk stajımı yaptığım yerdeydi. Burada yine C++, Qt (+QML), OpenCV, FFMpeg ve Unity gibi teknolojiler ile uğraştım. Ayrıca VR/AR ortamları için çok çelşitli uygulamalar tasarladım (VR ile bakım ve onarım sistemi, AR ile tarihi yapılan yeniden inşa edilmesi vb.). Burada 1 buçuk seneye yakın çalıştım. Son projem video konferans sistemi üzerineydi ve burada Docker ve Kubernetes teknolojilerini öğrendim. Ayrıca başka bir firmanın donanım ürününe QML ile bir mobil uygulama yazdım (hem Android hem de iOS için).

2019