2021 yilinda nasil yazilimci olunur
Bir çok insanın defalarca cevapladığı bir soruyu ben de eksik kalmayayım madem diyerek kendi bakış açımdan cevaplamaya çalışacağım.
Durduk yere esmedi aklıma tabii ki böyle bir konuda yazmak. Bir bilgisayar mağazasında alışveriş yaptığım sırada, görevli arkadaşla kısa bir muhabbetimiz oldu. Yaptığım işi öğrendikten sonra, “Ben de çok istiyorum ama yapamadım, vakit ayıramıyorum, nasıl ilerleyeceğim bilmiyorum.” dedi. Kendisini motive etmeye çalışıp, Adem İlter’in videolarını ve bir kaç farklı kaynak daha önerdim.
Fakat sonra bu konuda yazmamın da iyi olacağını düşündüm. Tekrar benzer duruma düştüğümde bu yazıyı gönderebilirim.
Takip edenlerin bileceği üzere alaylı, yani kendi çabasıyla bu işi öğrenmiş biriyim. Aldığım eğitim mobilya ve dekorasyon üzerine olmasına rağmen, mobilya eğitimi almaya başlamadan da öncesinden beri yazılım geliştiriciliği üzerine kendime yatırım yapmaya başlamıştım.
Benim 15-16’lı yaşlarıma tekabül eden zamanlarda, 56k internet hızları ve 18 yaşından küçüklerin internet’e erişmesindeki sıkıntıların üzerine bir de kişisel bir bilgisayarımın olmayıp, tamamen internet kafedeki imkanlardan faydalanmaya çalışmak eklenince, şu andaki yazılım öğrenmek isteyen gençlerin imkanlarına ağzımın suyu akarak bakıyorum.
En kötü telefonda dahi yazılım geliştirilebiliyor ve her ailede en az 2 akıllı telefon bulunuyor. (istisnalar mevcut olabilir) Bundan bahsetmek şu aşamada komik çünkü şu anda bu normal, ancak o zamanlar için normal değildi.
Yani yazılımcı olmak için güzel zamanlar.
Bu yıl da her yıl olduğu gibi yazılımcı olabilmek için ilk ihtiyaç duyduğunuz şey buna istek duyuyor olmanız. Eğer isteğiniz sizi motive edecek kadar güçlü değilse, alaylı bir yazılımcıya dönüşemeyeceksinizdir.
Sektördeki insan sayısı kadar farklı karakter sahip farklı yazılımcı türü mevcut. Bilgisayar mühendisliği okumuş birisiyle tanışabilirsiniz ve yazılım geliştirmeyi sevmiyor olabilir, ancak eğitimini edinirken ki motivasyonu bu işi yapmak değil okuluna devam etmekti. Bu yüzden bir alaylı olarak “isteksiz” bir şekilde bu işi yapmanız mümkün değil.
Tabi ki bu kuru bir “ben de kod yazmak istiyorum” demek değil. Bunu toplumumuzdaki gençlerin %60-80 arası daima tekrarlıyor.
Nasıl bileceksiniz isteği?
Benim formülüm şöyle;
- Bilgisayar başında sıkılmıyorsanız (sosyal medyada gezmiyorken ve film izlemiyorken)
- Hayatınızda karşılaştığınız sorunları çözerken hoşnutsanız.
- HTML biliyorsanız
Evet HTML biliyorsanız. Aksi durumda sizdeki istek değil, özentilik olur sadece.
- dipnot; web yazılımcısı perspektifinden bakıyorum, gömülü yazılım geliştiriciler için de arduino ile bir şeyler yapmayı denemişseniz diyebiliriz. -
Eğer 20 yaşındaysanız ve hala, ben de site yapmak istiyom da nasıl olcak bu işler diye soruyorsanız, sormayın. Oturun HTML (veya arduino) öğrenin. Masaüstü veya web programlama konusunda HTML, gömülü programlamada arduino sizin giriş kapınız olacak. Ya da daha basitini söyleyeyim, Scratch de müthiş bir giriş kapısı.
Birinci kapıdan girmeden, bu işi yapmak istediğinizi söyleyemezsiniz. Alaylı bir yazılımcı olarak ilk yapmanız gereken şey, ilk kapıdan içeri girmek.
Korkmayın, öğrenmek istediğiniz ve vazgeçmediğiniz halde öğrenemediğiniz bir şey oldu mu? Bu da böyle olacak, 1 ay istikrarlı çalışma sonunda, yazılımcı olmak isteyip istemediğinize emin olabileceksiniz.
İlk kapıyı geçmişler ve bu işi yapmaya baş koyanlar için ne diyelim?
İngilizce’ye hazır olun. Hiç bilmiyorsanız bile, artık hayatınızda ikinci diliniz olarak sizinle beraber olacak. Kendinizi eğittiğiniz süreç boyunca mümkün olduğu sürece ingilizce kaynaklardan bilgi edinmeye çalışın. Google translate kullanın, arkadaşlarınıza sorun, ama ingilizce literatürü öğrenmeye çalışın.
İngilizce olarak forumlarda goygoy yapabilecek seviyede olmasanız da olur, kelimeleri telaffuz etmeyi beceremeseniz de olur. Ancak İngilizceyi hayatınıza alın, kaçmayın. Türkçe içeriklerde kaybolmayın, kodunuzda Türkçe kelimeler kullanmaya kasmayın.
Yazılım dünyasının da lingua franca’sı İngilizce. Bununla savaşmayın.
Tamam kabul, peki sonra?
Buradan sonrası biraz şans, biraz bilinç ile ilerleyecek. Öncelikle önerim kendize sanal veya yakın çevrenizde yazılımcı arkadaşlar edinmeniz, ustaları takip etmeniz. Sadece teknik değil, usta olarak gördüğünüz kişilerin, yazılım dışı yazılarına da göz atıp, mental genişlemeye fırsat vermeniz önemli.
Siz, ne kadar isterseniz isteyin, yazılım dili seçemezsiniz. Dil sizi seçecek. Ve bu sadece ilk diliniz için geçerli.
Yazılım dilleriyle ilgili incelemeler okuyun, mümkün mertebe farklı yazılım dilinde kendinize ufak tefek, eğitim metni takip ederek dahi olsa uygulamalar yazın.
Yazılım diline düşmenin bir kaç faktörü var. Ana diliniz olacak yazılım dilini ilk işiniz belirleyebilir, hayran olduğunuz bir usta belirleyebilir, şansına o gün o dille ilgili dehşet bir dökümana denk gelmiş ve sevmiş olabilirsiniz. Ancak bunların hiçbiri planlı olmayacak, o yüzden denemekten çekinmeyin.
Burada hızlı bir kaç tavsiye vereyim;
- bir dil öğreneyim her şeyde kullanayım diyorsan, javascript’e bakabilirsin.
- soyut düşünmeyi çok seviyorum, matematikle de aram fena değil diyorsan, hem web hem masaüstü uygulama geliştirmek için haskell’e bakabilirsin
- çok başım ağrımasın, hevesim kaçmasın, hızlı bir şeyler yapayım ekmeğime bakayım diyorsan sadece web backend için PHP ve web backend ile windows için masaüstü uygulamalar yazmak için C# a bakabilirsin.
- akademik dünyada da yer alıyorum, istatistik de çalışayım, ekmek de kazanayım, hızlı da birşeyler yapabileyim diyorsan python’a bakabilirsin.
Bunlar benim ilk aklıma gelenler, yazılım geliştiriciliği alt dallara da ayrılıyor bu yüzden hangi tarafta ne iş yapmak istediğine göre de hayatı paylaşacağın dil değişecektir. Ama hiç bir fikrin yoksa, yukarıdaki önerileri dikkate alabilirsin.
İlk dilin seninle buluştuğunu hissettiğinde peşinde koş, youtube’da videolar izleyerek, yazılara okuyarak, pratik yaparak devam et. Bir yazılım dili bıraktığın anda elinden kayıp gidecektir. Ruby ve Go da yazmış olmama rağmen, çok uzun süredir dokunmadığım için hatırlaması şu anda benim için çok zor oluyor.
İyi bir yazılım geliştirici bile olsan, sen bırakırsan dil de seni bırakıyor.
Sürekli gelişime hazır ol. Öğrendikçe içinde büyüyecek olan “ne kadar az şey biliyorum” duygusuna hazır ol.
Bu yazıda, seninle bağlantılar paylaşıp şunları oku bunları dinle demek yerine, bu şekilde bir yönlendirme yapmak istedim. Bunlar dışında kalan konularda çok fazla kaynak bulacaksın. İsteğinden emin ol, ingilizceye hazır ol, dilini yakala ve devam et. Gerisi gelecek.
Ufak bir motivasyon olması adına şunu belirteyim; eğer istikrarlı olursan 6 aylık süreç sonunda ilk işini alabilirsin.
– ön not; Eğer lisede veya daha küçüksen sana ek bir tavsiye; bilgisayar mühendisliği, yazılım mühendisliği veya başka bir mühendislik , temel bilim veya matematik üzerine bir üniversite okuman olacak. Mühendislik disiplinin ve/veya temel bilim eğitimin ve/veya matematik eğitimin olursa çok daha kolay bir şekilde, çok çok daha iyi bir yazılımcı olursun. Alaylı yazılımcı olma yolu çok çetrefilli, çok fazla hata yapıp çok fazla zaman kaybediyorsun. Üniversite eğitimi, senin kaybedeceğin o zamanı korumuş olacak.
#tr #goygoy