Ortalama bir insan ne kadar sürede çalışabilecek düzeyde yazılım bilgisi edinebilir?

Benim 4 yıl sürdü. Hâlâ daha çok yol var.

Orası ayrı konu önemli olan vakti verimli geçirebilmek adam 4 sene üniversite okuyor kendini geliştirmeden mezun olabiliyor hatta bunu 5-6 seneye uzatanlar da var. Sadece şunu söyleyeyim ben biraz blockchain ile uğraştım sadece blockchain altyapısı altında 10 sene çalışsan bile yine her şeyiyle bilemeyeceksin bunu anladım bunun gibi yüzlerce, binlerce farklı alan var.
 
Çalışabilecek düzeyde derken hangi alanda? Eğer webse 6-12 ay süre yeter. Cloud işin içine girerse biraz daha süre uzar. Eğer masaüstüyse platforma göre ve geliştirme yaptığın dile göre 10-18 ay arası sürebilir. Özellikle C# kullanarak başlayanlar, mantığı tam kavrayamadıkları için tasarımı falan statik yapıp, OOP mantığını da kavrayamadıkları için sınıflar ve fonksiyonlar yazmak yerine aynı kodu defalarca kez tekrar üzerine alışıyorlar.

Bu bahsettiğim süreler en düşük çalışma bilgisi için. Yani bu seviyelerdeyken çalışabilirsin, ama daha iyi maaşlar, daha iyi kod yazmaktan geçiyor. Bunun içinde biraz daha zaman gerekir. Yaklaşık, verdiğim sürelerin minimum 4 katı kadar bir süreden bahsediyorum. Eğer prodigy değilsen bu süreler daha aşağı inmez.
 
Neye göre süre belirtiyorsunuz ki? Şöyle yapalım, üniversite eğitimini baz alalım.
İlk alacağınız eğitim bilgisayar programlamaya giriş 101 dersidir.
Bu ders 2 döneme ayrılmış, 1 ve 2 olarak adlandırılır.
Bir dönemde 14 hafta var. Ve bu ders haftalık lab ile birlikte 6 saat olması lazım. O halde; 28 x 6=168 saat sadece programlama temel eğitimleri alman gerekiyor. Diyelim günde 5 saat ayır. O halde 1 ay gibi kısa sürede bir üninin eğitim programını bitirebilirsin. Buradaki 5 saatin 1/3 ü pratik yapmakla geçmesi gerekiyor. (ünide 4 saat teori 2 saat lab olduğu için)
Hafta sonları hiç teorik çalışma yapma. Full pratik yap. Bunları da baz alırsak, 1.5-2 ay gibi sürede temel programlama eğitimini tamamlıyorsun.

Diğer önemli eğitimleri sıralayalım ve hızlıca zaman hesabı yapalım.
- Calculus - lineer cebir - ayrık yapılar - diferansiyel denklemler
Çalışmak istediğin alana göre opsiyonel olabilir. Gerçek anlamda problemler karşına çıktıkça öğreniyorsun. Özellikle yapay zeka, oyun programlama gibi alanlarda aşırı karşına çıkar. Zaman hesabı yapmayacağım.
- İngilizce
Zorunlu değil ama zorunlu diyebiliriz. Kesinlikle zaman ayırman gerekiyor. Öğrenmek yıllar sürer. Hatta ömrün boyunca pratik yapcaksın. Yoksa unutursun.
- Veri yapıları
Tek dönemlik ders. 4 veya 5 saat olabilir. 5x14 = 70 saat.
- İleri algoritma
Algoritma kesinlikle çok önemli. Programlama temellerini alırken zaten algoritma nedir, bunu öğrenmiş olacaksın. Fakat search, sort gibi konularda önemli algoritmalar mevcut. Bunları kesinlikle öğrenmen gerekiyor.
4x14 = 56 saat.
- Nesne yönelimli programlama (oop)
Yine kesinlikle bilmen gereken bir konu. Belki uzmanı olmayacaksın ama göz aşinalığın olmalı. Sadece temelleri öğren yeterli.
4x14 = 56 saat.
- Network
Çalışmak istediğin alana göre şekillenir. Ama internet nedir nasıl çalışır. Bunlar hakkında bilgin olması lazım.
2x14 = 28 saat.
- Veritabanı
Yine olmazsa olmazlardan. Veri herzaman önemli. Veriyi saklama biçimi, veriyi kullanmak vs. Yine temellerini atsan bile yeterli.
2x14=28 saat.

Toplam, 406 saat vakit ayırman gerekiyor. 406 saat sadece bilmen gereken konuların temellerini almış olacaksın. Ve hiçbir alanda uzmanlaşmış olmayacaksın.

Not: Bu hesap, bir mühendis gibi yetişmeyi öngörür. Eğer çalışmak istediğin alan mevcutsa direkt olarak oraya odaklanabilirsin.

Tüm bu eğitimleri aldığında programlama alanında artık bir söz sahibisin. Daha sonra bir alan seçersin ve kolayca o alana adapte olursun.

Eğer konuları genişletmek istersen yazılım mühendisliği veya bilgisayar mühendisliği bölümlerinin müfredatını inceleyebilirsin. Mesela bulanık mantık, yapay zeka gibi derslerde var.
 
Neye göre süre belirtiyorsunuz ki?
2 senelik programlama bölümlerinde verilen eğitimi ortalama bir insanın öğrenmesi, haftalık ders programı ve calisabilmek için gerekli olmayan dersleri aradan cikardigimda web için gereken süre öğrenme hızına bağlı olarak 6-12 ay arası sürer. Bu tamamen tek bir alanda çalışma üzerine verdiğim örnek bir süre.

Mühendislik* öğrencileri 4 sene sonunda herhangi bir alanda* temel seviyede çalışabilecek bilgiyi almış oluyorlar. Sonrasında bir alanda uzmanlaşip kendini geliştiriyorsun. Ancak çalışmak için bir mühendislik öğrencisi gibi tüm alanları hedef almana gerek yok. Tek bir alanda çalışabilecek temel eğitimi almak yeterli. Bu süreleri bunlara göre veriyorum.

*: Yazılım mühendisliği öğrencileri ve yazılım alanlarından bahsediyorum.
 
Son düzenleme:

Yeni konular

Geri
Yukarı