Rehber Yazılıma nereden başlanır?

Arkadaşlar herkese merhabalar,

Ben Fatih AKTÜRK, Yazılım Mühendisiyim, Siber Güvenlik, Görüntü İşleme ve Yapay Zeka alanlarında ortak bir çalışma yürüten Yüksek Lisans eğitimindeyim.

Forumda ve diğer platformlarda sıklıkla karşılaştığım bu sorunun cevabını, naçizane cevaplamak için bir rehber hazırlamak istedim.

Sevgili arkadaşlar,

Yazılım ülkemizde hemen herkesi iştahlandıran bir sektör haline geldi. Bu alana gerek maddi kazanç gerekse ilgi yönünden çok fazla yoğunlaşan insan var.
Konuya başlamadan önce, kendimizi tanımamız gerekiyor. Bu alana neden yöneliyoruz? Para kazanmak mı? İlginiz var ve keyfî öğrenmek için mi? Yoksa her ikisi de mi?

Bu sorunun cevabını verebildiğiniz takdirde, yolun büyük bir kısmını geçmiş oluyorsunuz.

Alana yönelim nedenimizi ele aldıktan sonra alana hakimiyet konusunu ele alalım;

Günümüzde yazılımcılar ya alaylı ya da kolejli olarak kendini ayırmaktadır.

Bunlar;
ALAYLI: Bu alan ile alakalı herhangi bir okul okumadan kendisini geliştiren ve yazılımcı olarak geliştiren/çalışan kişilerdir.

KOLEJLİ: Bu alan ise yazılım ile alakalı üniversite okuyan kişilerdir. Bu kısımda ikiye ayrılır, kolejliler ya Bilgisayar Programcılığı, Web Tasarım Kodlama gibi iki yıllık bölüm okuyanlar ile Yönetim Bilişim Sistemleri gibi 4 yıllık bölüm okuyanlar ve Bilgisayar, Yazılım vb. Mühendislik okuyanlar olarak bilinir.

Bu tanımlar genel ekseriyetle böyledir.

Bazı alaylılar gerçekten ciddi manada bir çok kolejliyi cebinden çıkartabilir iken bu çok nadir görülen bir durumdur.

Şahsi önerim mühendislik eğitimini muhakkak almalısınız. Okumayın diyenlere asla kulak asmayın. Okulda size kodlama öğretmezler, bakış açısı öğretirler. ŞAHSİ FİKRİMDİR.

Ben bu metnin üzerinde kalan ve altta yazacağım her şeyi, hem alaylı, hem 2 yıllık hem 4 yıllık mühendislik bitirmiş bir kolejli olarak kendi yorum ve gözlemlerime yaptım ve yapacağım.


Herkes mühendis olamayabiliyor. Alaylı bir yazılımcı olduğunuzu kabul edeceksek, kesinlikle ama kesinlikle mühendis gibi düşünmeyi öğrenmeniz gerekmektedir. Bunun bir eğitimi yoktur, tecrübe, ilgi ve bakış açısı ile alakalıdır. Gerçekleştikçe kendiniz fark edeceksiniz.

Gelelim sorumuzun asıl cevabına;
Yukarıda belirtilen durumlara göre kendimizi bir yere koydu isek devam edelim.

Yazılım bir ağaç gibidir. Temelde birbiri ile bağlantılı konular birbirinden ayrılarak ilerler. Bunlara mobil uygulama, web uygulaması, masaüstü uygulama, oyun ve benzeri gibi örnekler verebiliriz.

İlgili olarak bu alana yöneldiğinizi farz edersek, eğer bir oyuncu iseniz oyun yazmak istersiniz, eğer bir öğretmenseniz ders programınızı gösteren bir mobil uygulama yazmak isteyebilirsiniz. Bu örnekler çoğaltılabilir. Tamamen keyfiniz ve zevkinize kalmış şeylerdir ve çok keyiflidir.

Burada sizin çözmeniz gereken işte budur. Ben ne yapmak istiyorum? Bunun cevabını verdikten sonra ciddi bir gelişim göstereceksiniz.

Eğer para kazanmak isterseniz, günümüz için bazı önerilerde bulunacağım. Günümüzde her firma, kurum vb. hem mobil hem web uygulaması yazmaktadır. Dolayısı ile iki alana da yönelmeniz faydanıza olacaktır. Bu alanlar "Front End" ve "Backend" olarak ikiye ayrılır, adı üzerinde front uygulamaların tasarım kısmını oluşturan bölümler iken back kısmı ise arka planda, kullanıcıların birebir şahit olmadığı, uygulamanın planlandığı yerdir.

Araba gibi düşünürsek front, aracın rengi, tipi vb. iken back ise aracın motoru, yağı, suyu vb.'dir.

Backend komplike bir alandır ve ciddi mühendislik (eğitim olarak değil bakış açısı olarak) ister.

Buraya kadar geldiysek dil öğrenme kısmı burada devreye girecektir. Genel olarak her dil ile her şeyi yapabiliriz. Ancak buna şöyle örnek vereyim, daha iyi anlaşılsın. Normal bir araç ile ana yollarda gezebilirken dağ, tepe vb. gibi çıkması zor yerlerde SUV bir araç ile bunu çok rahat yapabilirsiniz. İkisini de istediğiniz yerde kullanabilirsiniz. Ancak konfor farkı olacaktır. Diller ve amaçlarını genel olarak böyle tanımlarım ben. Ama yazım açısından hemen hepsinin mantığı aynıdır.

Arkadaşlar, yazılımcı bilgisayarla konuşan kişidir. Siz bir çocuk gibi programınızı, bilgisayarınızı eğitirsiniz ve ondan istediği şeyleri yapmasını sağlarsınız.

Bu bakış açısını kazanırsanız eğer kendinizi daha iyi konumlandırırsınız.

Hangi dili öğrenmeliyim konusuna gelecek olursanız;

Yukarıda kendinizi bir yere koyduysanız eğer burayı okumanızı tavsiye ederim.
  • Yazılım ve bilgisayar temelleri için: Assembly, C
  • Web uygulamaları: Java, C#
  • Oyun: C#, C++
  • Mobil: C#, Java, Dart
  • Veri çekme ve işleme: Python
  • Temel yapay zeka: Python
Bu yazdıklarımın dışında bir çok dil bulunmaktadır ancak genel olarak aklıma gelenler ve en kolay kaynağa erişim olanları yazdım. Zaten yazılıma nereden başlamalıyım sorusunun cevabı bence asla bir dili öğrenmek değildir. 😊

Ayrıca soru olarak yazarsanız buradan cevaplarım.

Umuyorum ki faydalı olmuştur, sürç-i lisanım oldu ise affola,

Sorunuz, öneriniz varsa muhakkak dinlemek isterim,

Özel ise özelden de yazabilirsiniz, seve seve cevaplarım.

Saygı ve sevgilerimle, başarılar.
 
Öncelikle emeğinize sağlık hocam, ben de bu tarz konulara belki binlerce kez aynı cevabı vermişimdir, kesinlikle ve kesinlikle alaylı olmayın ve mühendislik fakültesini okuyun, çok yetenekli alaylı yazılımcılar var fakat bu gerçekten nadir, mühendis düşünce yani analitik düşünme becerisi olmadığı için zaten hangi dili öğrenmeliyim tarzı konular sürekli açılıyor, ben mühendislik bitiren ya da mühendislik okuyan kişilerin de bu soruyu yönelttiğini pek görmedim, en azından 3. Ve 4. Sınıflar açısından. Alaylı olmanın kesinlikle bir diğer eksisi de sektör artık o kadar rekabetçi bir noktaya geldi ki İK’ler diplomasız kişilere bakmıyor bile çoğu zaman. Üstüne yazılıp çizilecek daha çok satır var aslında fakat kurslar konusunda da bir eleştiri yapıp mesajımı bitireyim, Udemy tarzı platformlarda her dil için eğitim var fakat asla Mühendis gibi düşünme: mühendislik disiplini veyahut temel mühendislikle alakalı bir eğitim yok, alaylı olarak bu işi yapmak isteyenlerin en büyük eksiği ve aradığı şeylerin bu olduğunu söyleyebilirim, umarım bu eğitimleri de görmeye başlarız çünkü yabancılarda bu tarz eğitimler İnternette mevcut iken İngilizce bilmeyen kişiler bunlardan faydalanamıyor.
 

Yeni konular

Geri
Yukarı