Yazılıma yönelmeyi düşünüyorum ama ne zaman ilerlemeye başlasam zorlanıp bırakıyorum.Bu sefer bırakmadan ilerlemede kararlıyım ancak yazılım konusunda bilgisi olanlardan nasıl ilerlemem gerektiği konusunda bir kaç fikir vermelerini rica ediyorum.
Yazılım konusunda daha derin bir bilgiye ve terübeye ulaşmak için mutlaka hedefleriniz olmalıdır. Örneğin şu an yapmakta zorlanacağınız bir zorlukta bir proje seçin bu projeyi daha kolay anlaşılır parçalara bölün ve her bir bölümü en iyi şekilde nasıl yapabileceğinizi internetten bol bol araştırın. Diğer arkadaşların aynı konu için yazdığı kodları inceleyin. Eğer google da yaptığınız sorgularda karşınıza sürekli stackoverflow.com gibi konusunda uzman siteler geliyorsa artık uzmanlaşmaya başlıyorsunuz demektir. Projenizin her bir parçasını en iyi şekilde yapabilmek için yaptığınız araştırmalar ve deneyimleriniz uzmanlığınızın en önemli tecrübelerini oluşturacaktır. Teorik bilgilere herkes bir şekilde vakıf önemli olan bir proje hazırlarken gerekli olacak pratik bilgilerdir. Her ne yaparsanız yapın mutlaka biri yada birileri bunu sizden önce düşünmüş yapmış ve internette paylaşmış olacaktır. En azından uzmanlığınızın ilk yıllarında bu durumu lehinize kullanmayı bilirseniz çok hızlı ilerlersiniz.
Daha somut örnekler vermek gerekirse programlamayı daha iyi öğrenmek için matematikte bildiğiniz tüm serileri (fibonacci, faktöriyel, asal sayılar gibi) öğrendiğiniz programlama dilinde oluşturmaya çalışın ve daha hızlı nasıl yapabileceğinizi araştırın.
Dil olarak tavsiyem eğer bir mikro denetleyici programlamayacaksanız daha çok arayüz ağarlıklı desktop, web yada mobile uygulamalar geliştirecekseniz size node.js yi önerebilirim. Bu platform hem desktop hem web hem de mobile uygulamalar geliştirmenize imkan sağlar. Bu yapı ile web servisleri de hazırlayabilirsiniz. Öğrenmesi çok kolaydır. Javascript dilini kullanır. Javascript i küçümsemeyin şu an en büyük projeler bu dili kullanarak hazırlanıyor. Node.js ayrıca öyle büyük bir platformdur ki hemen hiç bir konuda kod yazmak zorunda kalmazsınız mutlaka konu ile ilgili hazırlanmış npm paketleri vardır. Bunu bir dezavantaj olarak düşünmeyin hazırlanan her kütüphanenin kodu açıktır bakıp inceleyebilirsiniz. Bu çok büyük bir avantajdır.
Node.js ile desktop uygulama geliştirmek için electron, web uygulama geliştirmek için express ve mobile uygulama geliştirmek için cordova kullanabilirsiniz. Ayrıca TCP/IP, HTTP gibi en çok kullanılan protokolleri daha detaylı öğrenmiş olursunuz.