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.
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.
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
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.