Yazılım Öğrenmeye Nereden Başlanmalı?

0
128
views

“Yazılım öğrenmeye nereden başlanmalı?” sorusu kolay da bu soruyla ilgili bir yazıya nereden başlanmalı? Asıl mesele bu. Çünkü yazılım dediğimiz alan çok fazla alt dalı kapsıyor. Anlayacağınız bu yazılım işi derya deniz. Dünya üzerinde hiç kimse bütün yazılım dillerini öğrenip hepsini istekleri doğrultusunda kullanamaz. Bu Dünya’ da konuşulan 6000 dili öğrenip hepsini konuşabilmek ile eşdeğer bir zorlukta, belki de daha zor. Çünkü 6000 farklı dili konuşan insanla beden dili ile anlaşabilirsiniz, ama yazılım dillerinde konuşup anlaşmanız gereken kişi bilgisayar olduğu için, beden dili falan kurtaramaz. Bir sistem ve algoritma doğrultusunda kodlarınızı yazmalısınız. Ama önce bu işe neden başlayacağınızı düşünüp karar vermelisiniz.

Yazılım öğrenmeyi neden düşündünüz? Aklınızda bir proje var onu gerçekleştirmek için mi? Yazılım Mühendisliğini geleceğin mesleği olarak gördüğünüz için mi? İlginizi mi çekti yazılım? Hobi olarak mı yapacaksınız yazılımı? Yoksa bir anlık heves mi bu sizdeki? Bu sorulardan kendinize yanıt aramalısınız, yanıtınızı bulup karar verdiyseniz hazırlanın, çünkü uzun ve bitmek bilmeyen bir yolculuğa çıkıyoruz.

Yazılımcı olmaya karar verdiniz, tamam. Peki ne yapacağınıza, bu yola ne için çıktığınıza karar verdiniz mi? Bir masaüstü yazılımı mı yapacaksınız? Mobil uygulama mı? Yoksa web sitesi mi? Bununla ilgili sağlam bir araştırma yapmanız lazım fakat ben gene de size bu alanlarla ilgili bir kaç şeyden bahsedeyim.

Yazılımcı olmaya karar verip yola çıktığınızda ve bu yolda tek başınızaysanız kesinlikle masaüstü yazılımlarına yönelmeyin. Çünkü bence içlerinde en zahmetlisi masaüstü yazılımlarıdır. Benim en büyük hatam tam anlamıyla ilk girdiğim alanın masaüstü yazılımları olması ve ilk öğrendiğim dilin Visual Basic.Net olmasıydı. Evet bana çok şey kazandırdı bu dili öğrenmek ancak bu dil isteklerimi ne yazık ki karşılayamadı. Çünkü ben daha büyük kitlelere ulaşmak onların hayatını kolaylaştırmak istiyordum fakat tek başıma masaüstü yazılımı yazarak olacak iş değildi bu. Masaüstü programları ekip işidir, ortaya sağlam bir ürün koymak istiyorsanız sağlam da bir ekibiniz olmalıdır. Diyelim ürünü zor da olsa tek başınıza ortaya koydunuz. Bir de bu işin piyasası var, ürününüzü hangi platformlarda nasıl satmayı düşünüyorsunuz? Biz en iyisi masaüstü yazılımı yapmayı büyük firmalara bırakalım da kendimize başlamak için biraz daha kolay bir yer seçelim.

Mobil uygulama.. Hmm… olabilir tabii, neden olmasın? Sonuçta şuan akıllı telefon kullanımı milyarlarca bireye ulaşmışken mobil uygulama yapmak biraz daha mantıklı sanki masaüstü yazılımlarına göre. Pazarı bütün geliştiricilere açık, uygulaman hazır mı? Koy AppStore’ a Google Play Store’ a, indirilmeye başlansın. Hem mobil uygulama yapmak için de temelinde tek bir dil yatar, o da JAVA! Ama sakın aklınıza sadece Java ile her şeyi yapabilmek gibi bir fikir gelmesin, Java’ yı bir binanın temeli gibi düşünün, üstüne bir şeyler koyabilmek için biraz daha bilgi edinmek lazım sanırım, gene bir yerlerde eksiğimiz var ne yazık ki…

İşte böyle eksiklerimiz olmaması için temeli sağlam atıp emin adımlarla isteklerimiz doğrultusuna yönelebilmemiz için ben yazılıma daha yeni başlayacak olanlara web alanından başlamalarını tavsiye ediyorum. Hatırlarsınız belki, ilkokulda bilgisayar dersinde bize <html> <head> gibi basit kodlar öğretip ortaya giriş seviyesi websiteleri yapmayı öğretmişlerdi. Kolay bir dil olduğu buradan belli işte. Siz yazılım meraklıları için Web alanından bu işe başlamak çok temiz bir başlangıç olacaktır. Çünkü web siteleri yaparken hem programlama mantığını kavramış olacaksınız, hem de birkaç yazılım dilinde kendinizi geliştirmiş olacaksınız. Yeteri kadar gelişip artık ortaya bir ürün koyabiliyorsanız işiniz çok kolay. Freelance alanda kapı kapı dolaşıp firmalara, lokantalara, kafelere, vakıflara ve benzeri yerlere web sitesi yapabilirsiniz. Ekip arkadaşına ihtiyacınız olmadan solo takılabilir, programlama öğrenirken çektiğiniz sıkıntının karşılığını almaya başlayabilirsiniz.

Hangi alandan başlayacağınıza karar verdiyseniz gelin şimdi bu alanlarda hangi programlama dilleri kullanılıyormuş onları inceleyelim. Ancak bir dile öğrenmeye başlamadan önce size algoritma kavramını okumayı ve öğrenmeyi öneriyorum. Bu yazılım dili öğrenmenizi daha da kolaylaştıracaktır. İlerleyen zamanlarda algoritma ve programlama dilleri ile ilgili yazılar da yazacağım, oralardan da birkaç bilgi öğrenebilirsiniz.

Web Tasarımcı olmayı düşünüyorsanız başlangıçta  HTML ve CSS kendinizi biraz geliştirdikten sonra Javascript, Jquery, PHP ve Bootstrap öğrenmeniz sizi bu alanda uzmanlığa yani “Web Master” olma yolunda sürükleyecektir.

Bir Web Tasarımcı olup iyi siteler ortaya koymak istiyorsanız yaptığınız site kullanıcıya hitap etmeli, gözü yormamalı, gereksiz şeylerden kaçınmalı, işlevsel ve basit olmalıdır. Kullanıcı aradığı şeyi bulmaya çalışırken sitede boğulmamalı istediğine saniyeler içinde ulaşabilmelidir. Bu da kullanıcının hoşuna gidecektir. HTML dilinde bir şeyler ortaya çıkarmak istiyorsanız Notepad bile kullanabilirsiniz ama ben size Notepad++ uygulamasını indirmenizi ve ilk kodlarınızı buradan düzenli bir şekilde yazmanızı tavsiye ediyorum.

Web Tasarımı öğrendiniz artık yazılımda alan değiştirmeyi ve bilginize bilgi katıp daha nitelikli bir yazılımcı olmayı düşünüyor ve Mobil Uygulama Geliştiriciliğine adım atmak istiyorsunuz. Ne mi yapacaksınız, öncelikle bir akıllı telefon sahibi olacaksınız. Şaka yapıyorum tabii ki, bu devirde 3 yaşındaki çocukların tableti varken yazılımcı bir bireyin akıllı telefonu hayli hayli vardır, istese canını bile… pardon, kaynak kodlarını bile okur o telefonun!

Mobil Uygulama Geliştiriciliğine geçtiyseniz yukarı da da bahsettiğim gibi öğrenmeniz gereken temel dil Java’ dır. Java biraz uzun ve öğrenmesi zor bir dildir. Ancak pes etmeyin, siz o kadar siteler yapmış bir yazılımcısınız, kim korkar Java’ dan? Java’ yı öğrenince zaten isteklerinizi karşılar gibi düşünüyorum ancak C++ gibi bir dil daha öğrenmek hem mobil uygulama da hem de masaüstü uygulamalarında size çok yardımcı olacak çok tatlı bir dildir. Tabii IOS için uygulama yapacaksanız Swift öğrenmeniz lazım, bu da önemli bir ayrıntı.

Pek desteklemiyorum ama Masaüstü Yazılım’ ı yapmaya karar verdiyseniz öğrenmeniz gerek diller eski bir dil olsa da Visual Basic.Net’ i öneririm, tabi daha önemlisi C#. Programlama yapan insanlar daha çok işlevselliğe önem verirler. Bunun nedeni arkaplanda yazılan kodlardır.Bu yüzden işlevselliğin yanında görsellik de katılması gereken bir alandır. C# ile bunu başarabilirsiniz. Hatta C# ile oyun, uygulama, tarayıcı vb. şeyler yapılabilir. C# ve Visual Basic.Net dillerini de Visual Studio denen platformda çalışmanız lazım.

Son olarak bir tavsiye daha vereyim, yazılım işine gerçekten başlamayı düşünüyorsanız, bu işe bir ekip olarak başlamanızdır. “Bir elin nesi var? İki elin sesi var.” demiş atalarımız. Ekibinizden bir kafa C#’ a çalışırken diğeri Java’ ya çalışır, bir diğeri iste HTML&CSS gibi web dillerine… Bu da aklınızdaki projeler için hep bir elden destek vererek daha hızlı ve sağlam bir şekilde yol almanızı sağlar. Umarım faydalı bir yazı olmuştur ve programlama dilleri hakkında ufak da olsa bilgi sahibi olmuşsunuzdur, sorularınızı yorum atarak belirtmekten çekinmeyin lütfen. Bol şans!

CEVAP VER

Please enter your comment!
Please enter your name here