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.
 
Hocam rehber için elinize sağlık öncelikle. Sonralıkla da şunu sormak istiyorum asıl ilgi alanım Web sitesi yazmak ve bunun Front-End kısmını da gayet güzel halledebiliyorum yavaş yavaş. Ama ben yapay zeka kodlama tarzı şeyler de öğrenmek istiyorum. Bunun için bana Youtube üzerinden bir ders anlatımı atabilir misiniz?
 
Hocam rehber için elinize sağlık öncelikle. Sonralıkla da şunu sormak istiyorum asıl ilgi alanım Web sitesi yazmak ve bunun Front-End kısmını da gayet güzel halledebiliyorum yavaş yavaş. Ama ben yapay zeka kodlama tarzı şeyler de öğrenmek istiyorum. Bunun için bana Youtube üzerinden bir ders anlatımı atabilir misiniz?

Front end çalışan arkadaşlara ciddi saygı duyuyorum, görsel zevk isteyen bir alan, tebrik ederim.

Hocam ben size ne önersem boş. Bana hoş gelen size anlamsız gelebilir. Kendiniz deneyerek bulursanız çok daha anlamlı ve faydalı olacaktır.
 
Son düzenleme:
Forumda takibe değer bir yazılım mühendisi daha bulmak gerçekten harika. Yazınızın başlayanlara & başlamak isteyenlere oldukça faydalı olacağını düşünüyorum. Elinize sağlık Fatih Hocam.
 
Forumda takibe değer bir yazılım mühendisi daha bulmak gerçekten harika. Yazınızın başlayanlara & başlamak isteyenlere oldukça faydalı olacağını düşünüyorum. Elinize sağlık Fatih Hocam.
Böyle düşünmenize çok sevindim, umarım faydalı olur, fayda görürüz. Teşekkür ediyorum.
 
Arkadaşlar herkese merhaba,

Ben Fatih aktürk, yazılım mühendisiyim, siber güvenlik, görüntü iş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;
alaylı: bu alan ile alakalı herhangi bir okul okumadan kendisini geliştiren ve yazılımcı olarak geliştiren/çalışan kişilerdir.

kolejli: 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. şahsi fikrimdir.

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.

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

Hocam merhaba, birkaç sorum olacaktı. Ortalama bir yazılım dilini internetten (YouTube vs) ögrenmek ne kadar zamanımı alır? Bir de dil ögrenmek için illa iyi bilgisayar lazım mı? Çünkü benim laptopum patates. Cevap verirseniz sevinirim.
 
Son düzenleyen: Moderatör:
Hocam merhaba, birkaç sorum olacaktı. Ortalama bir yazılım dilini internetten (YouTube vs) ögrenmek ne kadar zamanımı alır? Bir de dil ögrenmek için illa iyi bilgisayar lazım mı? Çünkü benim laptopum patates. Cevap verirseniz sevinirim.
Merhabalar,

Öncelikle herhangi bir süre belirtmek doğru olmaz. Çünkü bir dili tam anlamıyla öğrenmenin mümkün olduğuna inanmıyorum.

Bir dilde bir işi onlarca farklı yol ile yapabilirsiniz, mühendislik burada devreye girer, işlemi sunucuyu en az yoracak şekilde tasarlamak gerekir. Çok sevdiğim bir söz var burada, bir yemeği herkes yapar ama en iyi aşçı yapar.

Kendinizi geliştirme için sürekli proje yapmanız lazım, doğru yanlış demeden ısrarla kod yazmanızı öneriyorum, bu süreçte sizi kod yazmak değil hatalar ile karşılaşmak geliştirecektir.

Bilgisayarınızın özelliklerini bilmeden birşey söylemek pek mantıklı değil ancak temel seviyede bir çok işlemi basit bilgisayarlar ile yapabilirsiniz. Sadece ssd muhakkak öneriyorum.

İyi bilgisayar genellikle oyun yazımlarında, ağır veritabanı ile çalışırken lazım olacaktır.
 
Merhaba, yazınızı okudum, içerik olarak eleştirilmesi gerekiyor.

Yazılıma nereden başlanır sorusunun yani asıl konunun cevabı yok, clickbait gibi kalmış bu sebeple.

Mühendis gibi düşünmek için mühendislik eğitimi almalısınız tavsiyesi de yazılıma nereden başlanır sorusu ile alakalı bir soru değil. Mühendis mantığıyla yazılım geliştirmenin önemini vermeniz güzel, "herkes mühendis olamayabiliyor, o zaman mühendis mantığıyla düşünmeyi öğrenmelisiniz" diyorsanız da mühendislik eğitiminde geçen temel şeylerden bahsedilmeli, mesela input output, dosya açma/yazma, veri yapıları... vb. gibi temel şeylerden bahsedilmeliydi. Mühendis gibi düşünmenin eğitimi yoktur deniyor, mühendislik fakülteleri bu eğitimi veriyor işte.

Ya da bu mantığı anlatmak için şöyle çok basic bir örnek verilebilir;
Mesela alan hesaplama ile ilgili bir alanHesapla(Integer en, Integer boy) methodu olsun

alanHesapla(Integer en, Integer boy){
Integer alan = en * boy;
return alan;
}
bu kod çalışan bir kod ama mühendis gözüyle incelenirse "int alan" değişkeninin gereksiz olduğu görülür, bu gereksiz sistem kaynağı yer, bu method çok kullanılırsa önemsiz gibi görünen şey sorun yaratabilir. Onun yerine,

alanHesapla(Integer en, Integer boy){
return en * boy; -> gereksiz değişkenden kurtulduk.
}
En ya da boy değerleri negatif gönderilirse ya da tamsayı değil de virgüllü sayı gönderilirse, sıfır gönderilise, null gönderilirse vb. durumları da düşünmemiz gerekir vb. diye vurgulanabilir.

Neyse, ilgi/hobi için yazılım öğrenmek istiyorum diyen bir kişiye zaten nereden başlanır bilgisi hiç verilmemiş, "öğretmenseniz ders programınızı gösteren bir mobil uygulama yazmak isteyebilirsiniz" örneği var ya mesela, bu öğretmen ne yapacak, nereden başlayacak, bir bilgi yok, siz karar verin gelişirsiniz diye geçiyor rehberde.

Para kazanmak için, yazılımı meslek olarak ele alacak arkadaşlara piyasanın talebine uygun backend/frontend nedirin anlatılması güzel. Ancak en sonunda elimize, forumun kısır döngüsü olan hangi dili öğrenmeliyim mezvusundan başka bir şey geçmiyor, bin tane konu başlığı zaten mevcut bu konu üzerine, buradaki rehber de conceptleri, paradigmaları öğrenmeden dil öğrenmeye sevk ediyor, ya da siz dil öğrenin, bunları da bir şekilde öğrenirsiniz diyor.

Burada da mesela şu verilebilir, diyelim ki frontend developer olmak istiyorsunuz, dil öğrenmeden önce öğrenmeniz gereken şeyler nedir (browser bu html denen şeyle ne yapar, arayüzde çalışan script nedir, veri nereden gelir, nereye gider vs.), backend geliştirici ne yapar, frontend geliştirici ne yapar hakkında bilgi verilebilir (arabanın motoru değil de somutlaştırılmış bir örnek ile devam yani, ör: bir online alışveriş firmasındaki backend geliştiricisi oldunuz, neler yapar da para kazanır bu adam) sorumlulukları nelerdir, ülkemizde iş imkanları nelerdir (madem para kazanma hususu açıldı), para kazanabilmek için ne kadar öğrenmek, tecrübe kazanmak lazım, yazılımdan para kazanmak bu kadar kolay ise neden herkes bir dil seçip biraz if-else biraz for döngüsü falan öğrenip para kazanmıyor vb. diye gider. Siz yüksek yapıyormuşsunuz, eğer bir yandan da çalışıyorsanız; öğrencilik sürecinizden, nasıl iş bulduğunuzdan, ne yaptığınızdan örnekler verebilirsiniz, frontend backend dışında sizin alanlarınızdan, yani siber güvenlik, yapay zeka vb. bahsedebilirsiniz.

Özetle bu rehber temel yazılım genel kültürü (alaylı, okullu, backend, frontend nedir) dışında bize yazılıma nereden başlanır konusunda çok bilgi vermiyor. Yani şöyle bir akış var;

ben deminki örnekteki mobil app yapmak isteyen öğretmenim
-(para için mi ilgi için mi yazılım) ilgi için
-(alaylı nedir, kolejli nedir) kolejli değil alaylı olduğumu öğrendim
-(mühendislik eğitimini muhakkak almalısınız) hobi için kendime mobil app yapacağım ben
-(kesinlikle ama kesinlikle mühendis gibi düşünmeyi öğrenmelisin o zaman) zevk için yapacaktım ben
//diğer para kazanma ile ilgili conditionlara girmiyor farkındaysanız direkt sonuca gidiyor
-Yazılıma nereden başlanır sorusunun cevabı: Mobil: C#, Java, Dart //nereden başlanır, C#tan başlanır, tamam

ben para kazanmak isteyen liseye giden bir öğrenciyim
-(para için mi ilgi için mi yazılım) para için
-(alaylı nedir, kolejli nedir) kolejli değil alaylı olduğumu öğrendim
-(mühendislik eğitimini muhakkak almalısınız) tamam o zaman ben şimdi yazılıma başlamamalıyım, üniversite sınavına çalışmalıyım değil mi? bilgi alabilir miyim?
-(kesinlikle ama kesinlikle mühendis gibi düşünmeyi öğrenmelisin o zaman) nasıl, kimden, nereden??
-(frontend ve backend nedir) siber güvenlik diye bir şey duymuştum ama rehbere göre yazılımda backend ve frontend var. backend komplike bir alanmış ve mühendis bakış açısı gerekiyormuş. ben yazılıma daha yeni başlamaya çalışan biri olduğuma göre yazılıma backend ile başlamamalıyım, frontendden başlıyorum
-Yazılıma nereden başlanır sorusunun cevabı: ??
//farkındaysanız diller bölümünde frontend için bir sonuç yok, yani klişe olarak frontend-> html, css, javascript gibi bir şey bekliyordum ama yok

Uzun bir rehber ama yeterli olmadığı gibi sıkıntılar barındırıyor. Terimlerden, konseptlerden bahsedilmemiş tamam ama yazılıma başlama rehberinde algoritma kelimesi geçmiyor mesela ona şaşırdım. İlerde daha güçlü, yazılıma merak salmış arkadaşlara çok daha yararlı bir içerik hazırlayabileceğinizi düşünüyorum, emeğinize sağlık.
 
Son düzenleme:
Merhaba, yazınızı okudum, içerik olarak eleştirilmesi gerekiyor.
Merhaba, teşekkür ederim, inceleyelim eleştirinizi.

Yazılıma nereden başlanır sorusunun yani asıl konunun cevabı yok, clickbait gibi kalmış bu sebeple.
Bu yorumunuza cevabı alt satırlarda daha iyi aktarabileceğimi düşünüyorum.

Mühendis gibi düşünmek için mühendislik eğitimi almalısınız tavsiyesi de yazılıma nereden başlanır sorusu ile alakalı bir soru değil. Mühendis mantığıyla yazılım geliştirmenin önemini vermeniz güzel, "herkes mühendis olamayabiliyor, o zaman mühendis mantığıyla düşünmeyi öğrenmelisiniz" diyorsanız da mühendislik eğitiminde geçen temel şeylerden bahsedilmeli, mesela input output, dosya açma/yazma, veri yapıları... vb. gibi temel şeylerden bahsedilmeliydi. Mühendis gibi düşünmenin eğitimi yoktur deniyor, mühendislik fakülteleri bu eğitimi veriyor işte.
Mantığımı beğenmenize müteşekkirim, ancak sizin kaçırdığınız şey şu, ben burada standart "yazılıma nereden başlanır" sorusunu ve klasik cevaplarını tenkit etmiş durumdayım. Mühendislik fakültelerinden mezun olup, mühendis gibi düşünemeyen ne yazık ki bir çok gencimiz var. Mantığını kavrayabildiğinizi düşünmüyorum. Ayrıca, yazılıma nereden başlarım sorusu soran bir insana, ağır terimler yüklemenin hiç bir mantığı olduğunu düşünmüyorum.

Ya da bu mantığı anlatmak için şöyle çok basic bir örnek verilebilir;
Mesela alan hesaplama ile ilgili bir alanHesapla(Integer en, Integer boy) methodu olsun
İstirham ediyorum, yazılıma nereden başlayayım sorusunu soran bir insana kod örneği vermenin açıklaması nedir? Lütfen yapmayınız.

Neyse, ilgi/hobi için yazılım öğrenmek istiyorum diyen bir kişiye zaten nereden başlanır bilgisi hiç verilmemiş, "öğretmenseniz ders programınızı gösteren bir mobil uygulama yazmak isteyebilirsiniz" örneği var ya mesela, bu öğretmen ne yapacak, nereden başlayacak, bir bilgi yok, siz karar verin gelişirsiniz diye geçiyor rehberde.
Tekrar ediyorum, ben standart olandan bahsetmiyorum. "python öğren knk" demek işin kolayı, sevgili arkadaşım. Ben bu metinin özelinde, yazılıma başlamakta zor olan kısmın dil seçmek, öğrenmek değil kendini konumlandırabilmek ve kişinin ne istediğini anlayabilmesinin olduğunu açıklıyorıum.

Burada da mesela şu verilebilir, diyelim ki frontend developer olmak istiyorsunuz, dil öğrenmeden önce öğrenmeniz gereken şeyler nedir (browser bu html denen şeyle ne yapar, arayüzde çalışan script nedir, veri nereden gelir, nereye gider vs.), backend geliştirici ne yapar, frontend geliştirici ne yapar hakkında bilgi verilebilir (arabanın motoru değil de somutlaştırılmış bir örnek ile devam yani, ör: bir online alışveriş firmasındaki backend geliştiricisi oldunuz, neler yapar da para kazanır bu adam) sorumlulukları nelerdir, ülkemizde iş imkanları nelerdir (madem para kazanma hususu açıldı), para kazanabilmek için ne kadar öğrenmek, tecrübe kazanmak lazım, yazılımdan para kazanmak bu kadar kolay ise neden herkes bir dil seçip biraz if-else biraz for döngüsü falan öğrenip para kazanmıyor vb. diye gider. Siz yüksek yapıyormuşsunuz, eğer bir yandan da çalışıyorsanız; öğrencilik sürecinizden, nasıl iş bulduğunuzdan, ne yaptığınızdan örnekler verebilirsiniz, frontend backend dışında sizin alanlarınızdan, yani siber güvenlik, yapay zeka vb. bahsedebilirsiniz.
Yine, standart olandan bahsediyorsunuz. Bakınız bir yorumda benden hoca tavsiyesi istenildi, cevabım ise bunun herkese göre değişebileceği. Metnin tamamında, kişinin ne istediği, ilgisi, tavrının öneminden bahsediyorum. Yazılıma nereden başlayayım diyen birisine, yapay sinir ağları, makine görmesi vb. anlatmanın hiç bir mantığı yoktur. Bunlar tekdüzelikten öteye geçemeyecektir.

Uzun bir rehber ama yeterli olmadığı gibi sıkıntılar barındırıyor. Terimlerden, konseptlerden bahsedilmemiş tamam ama yazılıma başlama rehberinde algoritma kelimesi geçmiyor mesela ona şaşırdım. İlerde daha güçlü, yazılıma merak salmış arkadaşlara çok daha yararlı bir içerik hazırlayabileceğinizi düşünüyorum, emeğinize sağlık.
Teşekkür ederim, eleştiri her zaman iyidir. Ancak benim nazarımda birisini eleştirmek için en az onun kadar iş yapmış olmak gerekir (sektördeki işten değil, katkınızdan bahsediyorum.). Forumda size dair bir "Yazılıma nereden başlanır rehberi" göremedim.

Sizden bir ricamda şu olacak, bu yukarıda yazdıklarımı tekrardan okuyarak, bu yazdıklarımı bırakın, buna benzer söylemleri hangi hoca, akademisyen, yazılımcı, eğitimci vb. söylediğini söyler misiniz?

Standart rehberler gibi rehber hazırlamanın, Amerikayı yeniden keşfetmekten farkı ne?

Bu metni tekrar okuduğunuzda, bilen birisi olarak eleştirdiğim konuları anlayarak okumanızı rica edeceğim.

Ve lütfen sizde bir rehber hazırlayın (varsa ben göremedim, bildirirseniz sevinirim), eleştiri ve rekabet ışığında insanlara ve bu bilime faydamız olsun.

Sevgi ve saygılarımla.
 

Yeni konular

Geri
Yukarı