Sosyal'de neredeyse her gün yazılıma nasıl başlanacağı hakkında yeni konu açılıyor. Açıkçası her gördüğümde önceki konulara neden bakılmıyor diye şaşırıyorum. Yazılım, günümüzde çok fazla ilgi görüyor. Ben de yıllardır yazılımla ilgilendiğim için gereken tecrübeye sahip olduğumu ve rehberlik edebileceğimi düşünüyorum. Pekala, o halde ilk olarak yazılım ne olduğunu öğrenelim.
Aslında bilgisayar bu kodu compile edip öyle çalıştırıyor.compile etmek demek, kodu 0 ve 1'e, yani bilgisayarın diline çevirmek demektir.
Peki yazılım alanları neler? İşte en popülerleri:
Front-End ile Back-End ayrımı genellikle web site geliştirmede kullanılıyor. Zira mobil geliştiricilerin %90'ı Full-stack çalışıyor. Masaüstü uygulaması geliştirmeyi aslında yok dahi sayabilirsiniz. Çünkü günümüz yazılım alanlarında artık adı geçmiyor denebilir. Genellikle okullardaki yazılım eğitimlerinde, mantığı anlatmak ve öğrencinin özgüvenini yükseltmek için öğretilir. Tabii mesela Spotify, slack gibi şirketlerin de masaüstü uygulaması var. Ancak bu gibi yazılımlar, genellikle web sitelerini programa yansıtırlar. Yani yalnızca masaüstü uygulaması için çok fazla bütçe ayırmazlar.
Öncelikle dediğimiz gibi yazılım, birden fazla alanı temsil eden bir terimdir. Bu da demek oluyor ki bir alan seçmelisiniz. Örneğin web site tasarımı, mobil uygulama veya oyun geliştirmek gibi. Daha çok ilginizi çeken bir alanı seçmenizi şiddetle tavsiye ederim. Zira bir süre sonra zevk alamayacaksınız. Yapmanız gerekenleri adım adım anlatacak olursak:
Öncelikle yazılıma başlayan insanların %90'ı sıkılıp geri bırakıyor. Rica ediyorum yalnızca bilgisayarınız var yazılım öğrenmeyi şart koşmayın. Her bilgisayarı olan yazılım öğrenecek diye bir şey yok. İşin iyi, kötü yanlarını araştırın, meslektekilerin ne yaptığına bakın ve ilginizi çekerse yazılım öğrenin. Şunu bilmenizi isterim ki: Sırf yazılım öğrenmek için öğrenenler, meslekten dışlanıyor. Hatta meslek haini dahi deniliyor. Şahsen haklı olunduğunu düşünüyorum çünkü sadece öğrenmek için öğrenenlerin piyasaya mahvettiğini düşünüyorum. Demem o ki: Gerçekten ilginizi çekiyorsa bu işe başlayın. Öğrenmek için öğrenmeyin. Zaten bir süre sonra sıkılacaksınız. Ancak gerçekten ilgisini çeken birisi sıkılmaz.
Ek olarak: Hata aldığınızda korkmanıza gerek yok. Aldığınız hatayı binlerce kişi aldı ve illaki birisi internet forumlarından yardım istedi. Hatayı araştırın. Bunların dışında bilmeniz gereken bir diğer önemli madde ise İngilizce konusu. Sektördeki birçok kişi yazılımda ingilizcenin önemli olduğunu söylüyor. Aslında bakacak olursak, %100 gerekli bir şey değil. Yalnızca okuduğunu anlama ve problemini anlatabilmeniz yeterli olacaktır. Zira kendim de 4 yıldır yazılımla ilgileniyorum ve okuyup, derdimi anlatabilecek seviyedeyim. İleri seviye ingilizceye ihtiyaç duymadım. Ancak yine de kültür ve dünya yazılımcılarıyla iletişime geçmek için öğrenmenizi tavsiye ederim.
Bunların dışında merak ettikleriniz olursa çekinmeden sorabilirsiniz. Rica ediyorum gelip de yazdıklarımı okumadan "yazılım alanı tavsiye eder misiniz?" diye sormayın. Alan öneriye göre değil, ilgiye göre seçilmelidir.
"Yazılım" nedir?
Aslında yazılımın birçok anlamı var ancak bizim kullanacağımız anlam, programlama. Aslında yazılım, bilgisayarla sohbet etmektir. Hatta bir programcının "kodlama, aptal bir bilgisayara ne yapacağını tek tek anlatmaktır" diye bir sözü dahi var, söyleyen kimdi hatırlamıyorum. Yani şu: Yazdığınız kodlarla, bilgisayara komut veriyorsunuz. Verdiğiniz komutlarla bir yazılım oluşturuyorsunuz. Bu komutlar ise makine kodları sayesinde bilgisayarın anlayacağı dile çevriliyor. Mesela şu koda bakacak olursak:
Python:
print("Hello, World!")
Aslında bilgisayar bu kodu compile edip öyle çalıştırıyor.compile etmek demek, kodu 0 ve 1'e, yani bilgisayarın diline çevirmek demektir.
Yazılım ve alanları
Yazılım, genel bir kullanımdır. Birisine "ben yazılım öğreneceğim deyince" kişinin aklına makine de gelebilir, mobil uygulama da. O yüzden bir alan seçmeli ve o alana göre ilerlemeniz gerekir. Peki tüm yazılımı öğrenemez miyim? Mantıkla düşünecek olursak hayır. Çünkü yazılım içerisinde onlarca alan var ve hepsi de farklı diller kullanıyor. Yani minimum 20 tane dil ve algoritma yapısı öğrenmeniz gerekiyor.Peki yazılım alanları neler? İşte en popülerleri:
- Web tasarım.
- Web geliştirme.
- Mobil uygulama geliştirme.
- Oyun geliştirme.
- Masaüstü uygulaması geliştirme.
- Robotik kodlama.
Front-End ile Back-End ayrımı genellikle web site geliştirmede kullanılıyor. Zira mobil geliştiricilerin %90'ı Full-stack çalışıyor. Masaüstü uygulaması geliştirmeyi aslında yok dahi sayabilirsiniz. Çünkü günümüz yazılım alanlarında artık adı geçmiyor denebilir. Genellikle okullardaki yazılım eğitimlerinde, mantığı anlatmak ve öğrencinin özgüvenini yükseltmek için öğretilir. Tabii mesela Spotify, slack gibi şirketlerin de masaüstü uygulaması var. Ancak bu gibi yazılımlar, genellikle web sitelerini programa yansıtırlar. Yani yalnızca masaüstü uygulaması için çok fazla bütçe ayırmazlar.
Yazılıma nasıl başlanır?
Öncelikle dediğimiz gibi yazılım, birden fazla alanı temsil eden bir terimdir. Bu da demek oluyor ki bir alan seçmelisiniz. Örneğin web site tasarımı, mobil uygulama veya oyun geliştirmek gibi. Daha çok ilginizi çeken bir alanı seçmenizi şiddetle tavsiye ederim. Zira bir süre sonra zevk alamayacaksınız. Yapmanız gerekenleri adım adım anlatacak olursak:
- Alan seç.
- Uygun dil tercih et.
- Dili öğren.
Diğer bilinmesi gerekenler
Öncelikle yazılıma başlayan insanların %90'ı sıkılıp geri bırakıyor. Rica ediyorum yalnızca bilgisayarınız var yazılım öğrenmeyi şart koşmayın. Her bilgisayarı olan yazılım öğrenecek diye bir şey yok. İşin iyi, kötü yanlarını araştırın, meslektekilerin ne yaptığına bakın ve ilginizi çekerse yazılım öğrenin. Şunu bilmenizi isterim ki: Sırf yazılım öğrenmek için öğrenenler, meslekten dışlanıyor. Hatta meslek haini dahi deniliyor. Şahsen haklı olunduğunu düşünüyorum çünkü sadece öğrenmek için öğrenenlerin piyasaya mahvettiğini düşünüyorum. Demem o ki: Gerçekten ilginizi çekiyorsa bu işe başlayın. Öğrenmek için öğrenmeyin. Zaten bir süre sonra sıkılacaksınız. Ancak gerçekten ilgisini çeken birisi sıkılmaz.
Ek olarak: Hata aldığınızda korkmanıza gerek yok. Aldığınız hatayı binlerce kişi aldı ve illaki birisi internet forumlarından yardım istedi. Hatayı araştırın. Bunların dışında bilmeniz gereken bir diğer önemli madde ise İngilizce konusu. Sektördeki birçok kişi yazılımda ingilizcenin önemli olduğunu söylüyor. Aslında bakacak olursak, %100 gerekli bir şey değil. Yalnızca okuduğunu anlama ve problemini anlatabilmeniz yeterli olacaktır. Zira kendim de 4 yıldır yazılımla ilgileniyorum ve okuyup, derdimi anlatabilecek seviyedeyim. İleri seviye ingilizceye ihtiyaç duymadım. Ancak yine de kültür ve dünya yazılımcılarıyla iletişime geçmek için öğrenmenizi tavsiye ederim.
Bunların dışında merak ettikleriniz olursa çekinmeden sorabilirsiniz. Rica ediyorum gelip de yazdıklarımı okumadan "yazılım alanı tavsiye eder misiniz?" diye sormayın. Alan öneriye göre değil, ilgiye göre seçilmelidir.