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

İster web programlama ister mobil programlama isterse de masaüstü programlama alanında yazılımcı olmak, yazılım geliştirmek ya da bir proje yapmak isteyen kişiler yazılım öğrenmeye nereden başlamalıdır?

Yazılım Öğrenme Kaynakları

Yazılımı çok farklı kaynaklardan öğrenilebilir. Bu kaynakların başlıcaları okul (lise, üniversite), özel kurslar, kitaplar, güncel görsel eğitim setleri, internet siteleri olarak sıralanabilir. Bu kaynakların bir tanesi genellikle yetersiz kalmaktadır. Kişi, bu kaynaklardan birden fazlası ile çalışmak zorundadır.

Önce Seçim Yapılmalı

Kişi, bir veya birden fazla yazılım dili öğrenmeye başlamadan önce hangi alan veya alanlarda yazılım geliştirmek istediğini, hangi alanda çalışmak istediğini veya çalıştığı kurumda hangi yazılım dillerinin kullanıldığını dikkate almalıdır. Bununla birlikte varsa programlama alt yapısına, özel yetenek ve ilgi alanlarını da öncelik vermelidir.

Günümüzde web platformu, Windows masaüstü uygulama platformu veya mobil platform için uygulamalar geliştirmek ve bu alanlarda yazılımcı olmak mümkündür. Bunun dışında veri tabanı yöneticisi olmak isteyen kişinin MySql, Ms-SQL Server, Oracle vb. gibi veri tabanı yönetim sistemlerinde kendisine bir yol çizmesi gerekir. Kişi eğer bir okulda okuyor ise genellikle temel seviyede verilen dersleri alır ama kendisini uzman seviyede görmek istiyorsa çok daha fazla çalışması gerekir.

Son yıllarda web ve mobil programlamaya olan talep gün geçtikçe artmasına karşılık masaüstü uygulamalar da değerini hiç yitirmemektedir.

Yazılımcı olmak isteyen kişinin hangi alanı seçeceğine, hangi alanda başarılı olacağına yetenekleri, tercihleri ve çevresi yol gösterecektir.

 Yazılıma Geçiş Aşaması

Web programlama alanında yazılım yapmanın en kolay yollarından biri temel seviyede de olsa HTML ve CSS öğrenmektir. Bu iki yazılım dili temel olarak kabul edilir. Kişi, eğer bu dilleri bütün çabalarına rağmen anlamıyorsa diğer konuları anlaması da zorlaşacaktır. Eğer HTML ve CSS 'i severek, merakla, zevk alarak ve sıfırdan basit bir web sayfası yapabiliyorsa diğer alanlara yönelebilir ve daha ileri seviyelere çıkabilir. Bir seviyeden sonra kendisini kimse tutamaz ve sürekli yeni şeyler öğrenme ihtiyacı hisseder.

Windows ve Mobil uygulama yapmak için HTML ve CSS bilmek hayati önem taşımıyor fakat bu durumda yazılım dili öğrenme süreci zora girebilir.

Windows ve Mobil uygulama geliştirmek için de temel algoritma mantığını ve veri tabanı mantığını çok iyi seviyede bilmek veya bu seviyeye çıkarmak için çaba sarf etmek, gerekli eğitimleri almak gerekir.

Yazılımda İlerlemenin İlk Anahtarı : Proje geliştirmek

Bir yazılımı öğrenmenin en doğru yolu proje geliştirmektir. Kişinin programlama seviyesi düşük olabilir ama bu durumda bile sıfırdan, tek başına basit bir proje geliştirerek yazılımı çok daha verimli bir şekilde öğrenebilir. Örneğin Web yazılım için sıfırdan bir web sayfası veya blog sitesi hazırlanabilir, mobil için bir test veya soru-cevap modülü hazırlanabilir, Windows uygulama için basit bir stok takip, adres-ajanda takip programı yazılabilir. Bu programların bir yerde kullanılması veya satışının yapılması önemli değil, önemli olan yazılım dilinin söz dizimine, temel programlama tekniklerine (tanımlamalar, karşılaştırma ve döngü yapıları, diziler, listeler, fonksiyonlar-metotlar, sıralama algoritmaları, veri tabanı vb.) alışmak ve bunları etkin kullanmaktır.

Tüm bu işlemler yapılırken hataların çıkması, programın çökmesi, yanlış sonuç üretmesi vb. kaçınılmazdır. Önemli olan bu hataları düzeltmek, yanlış sonuç veren kodları düzeltmek ve programın başka bir kullanıcı tarafından kullanılabilir kolaylıkta ve esneklikte hazırlamaktır.

Sonuç

Kişi, yazılıma başlarken öncelikle hangi alanda çalışacağına karar vermeli her şeyi öğrenmekten uzak durmalıdır. Sürekli olarak internette sörf yapıp bulduğu kodları bir yerlerde depolamak yerine ihtiyaç durumunda öğrendiklerini (bulduklarını) projesinde uygulamalıdır. Çok sayıda kitap takip etmek, çok sayıda web sayfasına girmek veya çok sayıda eğitim seti almak ve oradaki örnekleri yapmak yerine kendi projesini geliştirmelidir. Hazırlanan her projeye sürekli olarak yeni özellikler eklemek te öğrenme sürecini hızlandırır ve pekiştirir.

Kişi, yapmak istediğiniz işi mükemmel şekilde yapmaya gayret gösterirse, öğrenemediği veya bilmediği özellikler üzerinde sürekli çaba sarf ederse ve en önemlisi de pes etmezse öğrenme orta seviyede de olsa ileri seviyede de olsa mutlaka gerçekleşecektir.