Yazılım Geliştiricilere Öneriler

AntriKod ekibinden herkese merhaba;

Çokça sorulan sorular üzerine bu yazıyı kaleme alma ihtiyacı duydum. “Bir yazılımcı olarak ne veya neler yapmalıyız?”. Bu soruya cevabı elimden geldiğince açıklayıcı bir şekilde cevaplamaya çalışacağım.

Birinci önceliğimiz her zaman öğrenmek olmalı. Öğrenmeye açık değilseniz en baştan bu işi bırakın derim. Bu camia her zaman dinamik bu yüzden yazılım mimarileri, kütüphaneler, sistemler durmadan gelişmekte. Bu sebepten dolayı sizde buna ayak uyduramazsanız pek de iç açıcı durumlar sizi beklemez.

Peki ne öğrenmeliyim?

İşte yazılımcının serüveni şimdi başlamaktadır. Üniversitelerde hep bizlere o zamanın revaçta olan yazılım dillerini bize öğrettiler. Bunlar arasında C,C++,C#,Java, Pyhton vs dilleri yer almıştır muhakkak. Üniversiteler bize sadece yazılım dilini öğretti ama yazılım mantığını öğretmedi. Bu yüzden dolayı detaya inin ve o işin mantığını anlayın ilk önce. C++, Java ya da C# arasında bir farkın olmadığını işte o zaman anlayacaksınız.

Bunu bir örnekle açıklamak istiyorum. Siz yazılımda veri yapılarına hakim değilseniz bu sizin yazılımcı olduğunuz anlamına gelmez. Yaptığınız şeylerin mantığını bilmeden yaparsınız. Nesneye Yönelik Programlama(OOP) mantığını bilmiyorsanız üst seviye dillerde verimli yazılımlar geliştiremezsiniz. OOP biliyor olsanız C++,Java,C# gibi dillerin sadece mantıksal olarak sysntax farklılığı olduğunu anlayacaksınız. Oturun OOP çalışın derim.

Takip edin;

Öncelikli olarak alanınızla ilgili bilgi paylaşımı yapan haber siteleri, bloglar, seminerler vs bunları takip etmenizi öneririm. Fırsat buldukça zaman ayırıp incelemenizi öneririm ki yeni gelişmelerden, teknolojilerden haberdar olun. Konferans ve seminerleri takip edin ve katılım sağlamaya çalışın. Bakış açınız değişecektir.

Bolca pratik yapın;

Projeler üretin derim. Örnekleri iyice irdeleyerek kodlar yazın ve bu kodlar üzerinde kendinizi zorlayın bu koda ne ekleyebilirim farklı ne yapabilirim gibi bir yaklaşımla sınırlarınızı zorlayın.

Versiyon Kontrolü;

Yazılım yapacaksanız birinci önceliğiniz versiyon kontrol sistemini öğrenmeniz olsun. Linux’ün yaratıcısı Linus Torvalds tarafından geliştirilmiş olan Git dağıtık versiyon kontrol sistemini kullanmanızı öneririm. Kodlarınızı usb bellekte taşımanın çok daha ötesi bir güzelliği var. Lütfen yenilikçi olun ve bu versiyonlama sistemini öğrenin. Git’le ilgi detaylı bilgiyi buradan bulabilirsiniz.

Kod inceleyin;

Evet kod incelemenin çok faydalı olduğunu düşünenlerdenim. Sizden mutlaka daha iyi birileri vardır bu camiada bundan dolayı yazdığı koddaki bir algoritma sizin ufkunuzu genişletecektir. Diyeceksiniz ki kodları nereden bulacağız. Onunda kolay yolu var elbette. Yukarıda bahsettiğim “versiyon kontrolü” bölümündeki GİT’i kullanarak gitlab, github, bitbucket gibi sitelerde rahatlıkla bulabilirsiniz. Buralar kendinizi çok daha hızlı geliştirebileceğiniz bir mecradır bilginize.

Paylaşın;

Evet doğru anladınız paylaşın. Çükü en iyi öğrenme ve geliştirme yolu ise bildiğinizi aktarmaktır. Kodlarınızı yazıp yukarıda bahsettiğim github,gitlab,bitbucket gibi sitelerde yayınlayın. Çünkü buralar sizin ne yapıp yapmadığınızı gösteren referanslarınız olacaktır. Blog ve web sitesi yazmak da bunların arasında yer alır ama yazdığınız kodları mutlaka git versiyon kontrol sistemi kullanarak paylaşmaya özen gösterin. Bilgi paylaşıldıkça çoğalır.

Katkı sağlayın;

Bu kısımda sizi geliştirecek en önemli kısım. Katkı sağlayındaki asıl amaç açık kaynak projelere destek vermektir. Github’da açık kaynak projelerini takip edip onlara contributor olmanız sizi daha da ileriye götürecektir. Açık kaynak projelerde yer alarak yazılım süreçlerini kontrol etmiş olursunuz ve üretkenliğiniz artar aynı zaman da geliştirilen kütüphanelerde sizin de payınız olmuş olacak. Bu kısım daha da heyecan verici.

Elimden geldiğince açıklamaya çalıştım. Umarım faydalı olmuştur.

Bir sonraki yazımızda görüşmek dileği ile…