Bu yazımda bu konu hakkındaki görüşümü paylaşacağım. Konumuz basit aslında "Yazılımcı Olmak İçin Çok Bilgi Mi Gerekir ?" yani yazılımcı olmak için çok bilmek mi gerekli ? onlarca metodu, fonksiyonu, sınıfları vs. vs. bilmek mi gerekir ? bence gerekmez. Yani gerekir aslında bilmek her zaman + avantajdır ama yazılımcı olmak için illa ki her şeyi bilmeniz gerekmez.
Malum devir internet devri (zaten böyle olmasa yazılımcı ne bunu bilmezdiniz ) hiçbir şekilde kod bilginiz yoksa sitelerde o hazır paylaşılan kodlara baktığınız zaman muhtemelen "off bune ya, amma çok kod var, oha onlarca satır kod, insanlar bunları nasıl ezberliyor... gibi tepkiler vermeniz normal. Ama emin olun yazılımcı olmak için onların hepsini bilmenize gerek yok sadece neyi nerede nasıl kullanacağınızı bilmeniz yeterli. Malum bir dünya kaynak mevcut örnek veriyorum "php ile 2 sayıyı toplama" uygulaması yapacağız ve bu konuda hiçbir bilgimiz yok. Aç kardeşim google amcanı yaz "php ile iki sayıyı toplama" diye en az yarım milyon sonuç çıkmazsa bu siteyi daha başlamadan kapatıp giderim kesin net söylüyorum. :) (çaktırmayın yazıyı yazarken aratıp kontrol ettim kat kat fazla sonuç ondan böyle diyorum)
Aslında yazılım dünyasına bakarsanız yazılımcıların çoğu hatta açıkça söylüyorum hemen hemen hepsi herşeyi bilmez daha doğrusu bilemez. Zaten milyonlarca yeni şey çıkıyor hepsini bilsek zaten atomu bile elimizle parçalarız. Hmmm o zaman bu işte demek ki her şeyi bilmemize gerek yok önce bunu anlamış olduk.
Ama kardeşim o zaman ben nasıl yazılımcı olacağım diye sorunu duyar gibiyim ?
Aslında cevap basit, bir yazılımcı daha projeye başlamadan önce kendi zihninde "Algoritma" kura bilmeli. Peki nedir bu ? kısaca özetliyecek olursak; nasıl çalışacağını, işe nereden başlayacağını vs.. çözebilmeli. Yukarıda bir örnek verdik iki sayıyı toplama diye hadi gelin bunu düşünelim, en basit halinden;
İlk birinci sayıyı almalıyım ki ikinci sayı ile toplayayım. Ardından ikinci sayıyı almalıyım, aldım peki iki sayının toplamı nedir ? Birinci sayı ile ikinci sayının toplamında ki çıkan sonuç. Öyle ise bu sonuç içinde bir şey gerekli, yani bir değişken daha ve sonra hepsini bu yeni sonuç yerine aktarıcağım.
Kardeşim iyi güzel böyle diyorsun hadi kurduk tamam nasıl yapacağımızı anladık ama kod olarak nasıl yapıcaz ?
Bunun cevabı da açık ve net olarak SORMAK ve SORGULAMAK'tan geçiyor. ilk olarak başlığınızı google amcanızda aratın eminim sonuç çıkacaktır. Hadi diyelim çıkan sonuçlardan birşey anlamadınız Facebook, Twitter, Instagram gibi sosyal medya sitelerinin yanında zibilyon tane webmaster forumları var. İlgili guruplara girin sorun misal facebook'ta PHP-TR grubuna girin sorunuzu ayrıntılı olarak sorun, adım kadar eminim ki illaki bir yorum gelecektir. Ama bu doğru demek değildir, yani tam sonucu alamazsınız. zaten. Farklı bir çift göz sizin kodunuzu nerden bilsin de cevabı net olarak söylesin ama yapacağı yorum size fikir verir ve siz de bu fikri geliştirerek sonuca ulaşabilirsiniz.
Yazılımda en güzel kaynaklar nerelerdir ? diye sorduğunuzu duyar gibiyim.
Unutmamanız gereken en önemli şey forumlarda, bloglarda, gruplarda, topluluklarda cevap yazan veya yazı yazan kişilerde sizin benim gibi insan. Onlarda yanlış bilebilir veya soruyu anlamamıştır yanlış cevap verir veya eksik cevap verir, bunlar çok normal. Bundan dolayı en iyi kaynak her zaman bir programlama dilinin kendi sitesidir dökümantasyodur. Nerede ise her programlama dilinin dökümanı vardır. (olmasa bu insanlar bu programlama dilini nereden öğrenecek sonuçta ?) eğer okursanız çok detaylı olduğunu anlarsınız.
Yani bilmediğinizi araştırarak çok rahat şekilde öğrenir yine işinizi tamamlarsınız zamanla deneyim kazanır bakarsınız ki binlerce satır kod dediğiniz aslında 5 6 döngüden ve sınıftan ibaretmiş.
Unutmayın ki yazılımcılarda insan makine değil ve hepsi anne karnında öğrenmedi bu işi. Hepsi okudu, araştırdı, hatalarla cebelleşti ve sonucunda tecrübe kazandı, mantığı kurdu bu noktalara geldi.