gibi sorular son dönemlerde oldukça arttı. Bunun kesin bir cevabı yok, bunu ders programı yapmak gibi düşünün, ben sizi tanımadan, sizin için bir program hazırlarsam sizin çalışma şeklinize uymayabilir. Bu yüzden nereden başlamanız gerektiğini öncelikle siz keşfetmelisiniz.
Yazılım dediğimiz bu kavram, kendi içinde onlarca alana ayrılır. Bunlardan siz ilgi çekici gelen, hatta hayaliniz olan alanı seçip, onun sahip olduğu diller arasında da belli başlı seçimler yapmanız gerekecek.
Bunlar yazılım alt dallarının en çok bilinen alanları. Buradan birisini seçin ve devam edelim. Şimdi en kritik noktaya geliyoruz. Dil seçimi. Öncelikle bu alanlarda tek bir dil kullanılmadığını söyleyelim. Kendi içinde birçok dil ile geliştirilebilen alanlar mevcut. Bunları kendiniz araştırıp, eksilerini ve artılarını tartarak bulmalısınız.
Bir alan seçtikten sonra ise öğreneceğinizden çok daha önem arz eden ALGORITMALAR geliyor.
Algoritma, bir problemi çözmek için sırasıyla takip etmeniz gereken adımları içeren yol haritasıdır.
Örneğin, Kitap Okumak. Kitabı al, rahat bir yere otur, kapağını aç, okumaya başla.
Yazılımda algoritmalar çok önemli olduğu için, Yazılıma Nereden Başlamalıyım sorusunu cevaplandırabilmemiz için algoritmaları iyi bir şekilde kavramak ve anlamak gerekir. Algoritmalar konusunda ÜCRETSİZ bir kurs önereceğim, kursu almak için buraya tıklayın.
Araştırma Yapmamak Bir hatayla karşılaştığınızda bu sorunu çözebilmek için nerede hata yaptığınızı tespit etmeye çalışmanız gerekir. Hata kodunu Google üzerinde aratmak yerine, yazılım gruplarına atmak tamamen vakit kaybı ve gereksiz bir eylemdir. Türkçe sonuç bulamadığınızda basit İngilizce kalıplarla çözüme ulaşabilirsiniz. Bkz: How to fix Syntax Error? Her ne kadar bunu yapmaya üşeniyor olsanız bile araştırma yetisi kazanmamak sizde negatif bir oluşturacaktır. Baktınız, Google amca, Stackoverflow vesaire sorununuzu çözemedi gidip yardım isteyebilirsiniz bilenlerden. Ayrıca projenin aciliyeti varsa araştırmayla çözemem diyorsanız o anlığa mahsus başka yolları tercih edebilirsiniz ancak kendinizi bunlara alıştırmayın.
Google üzerinde aratarak 1 dakikadan daha kısa sürede erişebileceğiniz sorulan sorup , gereksiz vakit kaybı yaratmayın, insanları meşgul etmeyin. Google gibi bir nimet varken neden daha karmaşık yollar?
A: X markalı cihazın bataryasını nereden bulabilirim?
B: googledaariyim.com/?q=x+pc+bataryası
Yazılım, kod yazmaktan çok hatalarla ve kodun derlenmesiyle geçer. Android Studio kurulumlarını yaparken bu işten anlatamayacağım kadar çok nefret etmiştim. Sonuca 3 kez tekrar kurulum yaparak ve bir sürü hata çözerek ulaştım. İlk takıldığınız yerde bırakırsanız, hiçbir deneyim sahibi olamazsınız. “Herkes hata ayıklamanin en başta bir program yazmaktan iki kat daha zor olduğunu biliyor. Bu yüzden, yazarken olabildiğince akıllıysanız, nasıl hata ayıklayacaksınız? -Brian W. Kernighan Gülü Seven Dikenine Katlanır, Katlanamayacaksanız Bu İşe Girmeyin. Çünkü Sabretmek ve Tekrar Tekrar Denemek Çok Önemli!
Yazılım piyasasında kimi geliştirici yeni başlayanlara kötü örnek olarak, soğutma çabasına giriyor. İster mizahi, ister ciddi olsun. Piyasadan adam elemeye çalışan insanlar, siz ya kendinizi yeni başlayan birinin seviyesinde görüyorsunuz ya da bulunduğunuz yazılım seviyesinden alçaktaki kişilerin zarar vereceğini sanıyorsunuz. Hayır. Piramit örneği üzerinde durulabilir. Temele eklenen yeni katmanlar en üstteki katmanları daha da üstlere çıkarır. Örneğin Türkiye’de nitelik olarak geliştiriciler arasında ilk 10 bin içerisinde iseniz, yeni başlayan kitlenin artışıyla nitelikli yazılımcı yüzdesi azalır. Konumunuz 10 bin`den binlere inebilir. Kimseyi takmayın, yolunuzu doğru çizin ve ilerleyin. Gayenizin peşinden gidin, onun bunun lafıyla ancak kendinizi üzersiniz. Herkes Kendi İşine Baksın.
Yazılımda belirlediğiniz hedeflerde net ve tutarlı olun. Bir gün Game Developer ertesi gün Mobile App Developer olmayı düşünmeyin. İmkanlarınıza ve sizin ilgi duyduğunuz en doğru gelen alanı araştırın ve “yapmaya başladığınızda gerçekten de ondan zevk alabileceğinizi” düşündüğünüz alanı seçin ve o alandan ilerleyin. Algoritma ve İngilizce bilginizi olabildiğince geliştirin. Problem çözmede ve hata çözmede bunlar çok önemlidir.
Hedefinde tutarlı olmamanın faydaları :
Değişin, Gelişin, Tutarsız Olmayın.
Düşününce en zorundan başlamak kolayını da yapabilir çıkarımı yapılabilir.(NOT: Eğer bir alan seçtiyseniz bu kısmı atlayın..) Zordan başlamayıp önce zevk alabileceğiniz şeyler yapmak daha iyi olur. Mesela HTML & CSS ile biraz uğraşıp kendinizi fazla sıkmadan bir şeyler üretirsiniz, sonrasında Web’e ilgi duyarsanız PHP ve JavaScript gibi Backend dillerini öğrenerek devam edebilirsiniz. Web ilginizi çekmediyse Python gibi sade söz dizimli dilleri öğrenebilir, sonra daha zor(kime göre neye göre?) dillere(C,C++,C#,Java, Dart vb..) geçebilirsiniz.
Yazılımda diller genel bir çerçeve halindedir. Bütün dillerin bir söz dizimi vardır ve bunların çoğu benzerdir. Asıl marifet, kod yazmaktan öte sabretmek ve hatalara fısıldayabilmektedir.
Yorum Satırı dediysek de her yere yorum satırı koyulmaz.
Mesela; // bu kod X ile Y ‘yi toplar | YANLIŞ
Başkasının okuduğunda karmaşa oluşması muhtemel, kritik öneme sahip bölümlerde yorum satırının etkin bir şekilde kullanımı şarttır. Üşengeçlikle, kodu basitliğe indirgemek, bazen başkası tarafından anlaşılabilse bile çoğu zaman sadece zaman kaybı ve sorun yaratır.
Belki 1 sene sonra açtığınızda anlayamayacaksınız. Yorum satırı eklememek sırf üşengeçliktir ve aşılması gerekir. Özellikle open-source kaynaklarda böyle bir kod yazmak başlı başına bir hatadır.
Kodlarınızın Tercümanı Olabilecek Kadar Açıklayıcı Olun.
2014 yılından beri yüzlerce dijital projeye katkı sağlamış olan Codlio ekibi olarak, yaptığımız birçok çalışmada hep insan odaklı hareket ederiz. Kalbimizle hisseder, düşünür ve ellerimizle hayata geçiririz.
İletişime Geç!YouTube kanalınıza özel URL nasıl oluşturulur? Daha profesyonel ve hatırlanabilir bir görünüm için adım adım rehber. ...
Sosyal medya taraması nasıl yapılır? Marka görünürlüğünüzü artırmak ve rakip analizi için etkili adımlar. Detaylı rehbe...
A/B testi nedir ve nasıl yapılır? İki farklı versiyon arasında karşılaştırmalı testlerle daha etkili sonuçlar elde edin...
Facebook dinamik ürün reklamlarıyla ilgili bilmeniz gerekenler. Ürün kampanyalarınızı optimize etmek için etkili ipuçla...