Yazılım Öğrenmeye Nasıl Başlanır?

Mesut Yılmaz
Jan 13 · 7 min read
Image for post
Image for post

Kendi çabanızla, doğru yol haritasını oluşturup Yazılım Öğrenmek imkansız değil. Tam da bu şiarla “Başlamak isteyenler için Yazılım Öğrenme Rehberi” kıvamında bir yazı hazırladım.

Bu konu hakkında yıllardır tonlarca şey yazıldı, videoları çekildi, her yerden her bakış açısıyla ulaşılabilir bir konu ama ben çoğu kaynağın, zaten başlamış olanlara yönelik olduğunu düşünüyorum.

Video eğitimlere bodoslama dalıp, konudan konuya savrulup, sonucunda hüsrana uğramayın. Bu yazıyı okumak ve 8 maddelik yönlendirme paragraflarını uygulamak hiç uzun ve/ya zor bir işlem değil.

Dolayısıyla konuya; bu yazının başlığını görünce hissettiğiniz duygulara değinerek bahsetmek niyetindeyim. Henüz “Yazılım Öğrenmek” ile ilgili karar bile vermediğinizi düşünerek başlıyorum.

Ajandanızı ve kaleminizi hazırlayın. Odaklanabileceğiniz bir ortamda olun ve lütfen odaklanın. Zira bu yazının üstün körü okuyanlar için hiç bir faydası olmayacak.

→ Biraz ön bilgi alalım;

Tamamen bambaşka sayılabilecek bir bölümde öğrenci olabilirsiniz, yeni bir sektör arayışınız olabilir, iş kurmak istiyor ya da sadece öğrenmek istiyor olabilirsiniz. Belki de sektörün “havalı” tabir edilen taraflarını görmüş olabilirsiniz. Ne sebeple olursa olsun bu yazıda bizi buluşturan bir şey var sonuçta. (dış minnaklar) İşte o “şey”in hiç bitmemesi umuduyla…

Image for post
Image for post

Bu güne kadar verdiğim eğitimlerde karşılaştığım öğrenen profillerini de göz önünde bulundurarak ilk parametrenin şu olduğu inancındayım; “Öğrenmeden önce öğrenmeyi öğrenmelisin!

Öğrenmeyi öğrenmenin de kendi içinde parametreleri var. Bu konuyla ilgili de bir sürü kaynak var ama sadece şu kısmı bile yeterli olacaktır şimdilik; “öğrenirken bir amacınız olmalı.
Amacı olmayan bir öğrenme süreci böyle bir sektör için size kötü bile hissettirebilir. Yazılım öğrenme sürecinde vazgeçenler genelde; amaçsızca, bir anlık bir gazla yada bunlara benzer bir duyguyla başlayanlar…

Yazılım zor, programlama yapanlar insan olamaz, yazılımcılar bu dünyadan değil gibi bir sürü söz duymuşsunuzdur. Bu sözlerden birini siz de söylemeden önce bir sorun kendinize; “gerçekten öğrenmek istiyor muyum?” yoksa bu sadece geçici bir merak duygusundan mı ibaret?

Açıklayacağım maddeler size bu süreçte hem rehber olacak hem de büyük resmi önceden görmenizi sağlayacak.

→ İşte Başlıyoruz

01 → Tasarım Bilgisi Temelleri

Yazılım öğrenme sürecinin başında bence az da olsa tasarım bilginiz olmalı. Renkler, tipografi gibi temel bilgilerle başlayın, zaten bunları öğrenmeye başlayınca kendinizi daha derine inmiş halde bulacaksınız. Bu konuları araştırırken eğer aklınıza bir şeyler takılıp daha derine doğru yol almıyorsanız en başta konuştuğumuz öğrenmeyi öğrenmek konusuna biraz daha kafa yormanız gerekiyor.

02 → Grafik Tasarım Programları Temelleri

Tasarım bilginizin temel seviyede de olsa var olduğunu düşünüyorum ve devam ediyorum; sonraki adım “Grafik Tasarım” bilgisi. Grafik Tasarım aslında başlı başına bir meslek, kocaman bir derya ama benim sizden bilmenizi istediğim; bir fotoğraf lazım olduğunda basit düzenlemeler yapabilecek kadar Adobe Photoshop, hazır vektörleri renklendirecek kadar Adobe illustrator bilgisi ve bir web sitesinin genel görüntü yapısını tanımlayabilecek kadar (header-content-sidebar-footer) Adobe XD.

Yazılım hayatınız boyunca detaylarla boğuşacaksınız! Küçücük bir noktalı virgül (;) bazen sizi uyutmayacak, bazen rüyalarınıza girecek.
Bu yüzden az önce bahsettiğim programları küçük derecede de olsa bilmeniz; size yazılım yazarken bir icon gerektiğinde onu nerede bulabileceğiniz yada nasıl oluşturabileceğiniz konusunda yardımcı olacak. Ayrıca o programların arayüzleri bile size işe yarar bir sürü bilgi verecek. Daha bir sürü sebebi var ama kendiniz keşfedip şaşırırsanız daha mutlu olacaksanız. Bu yüzden size bırakıyorum. :)

03 → İnternet Bilgisi Temelleri

Yazılıma başlamadan önce internetin nasıl çalıştığını bilmek durumundasınız. Öğrenmeye başlayanlar sadece siyah ekranda kodlarla haşır neşir olacaklarını sanarak başlıyorlar. Bu; öğrenmenin ilk aşamalarında merak duygusu tazeyken güzel hissettiriyor olabilir ama sonrasında o meşhur bıkkınlık süreci beraberinde geliyor.
Öncelikle internet nasıl çalışır? Bir web sitesinin yaşam döngüsü nedir? sorularını cevaplayın. Bunun yanında internet protokollerini öğrenmeniz faydanıza olacaktır ama hiç altyapınız yoksa boğulmayın. İnternetin ve web’in nasıl çalıştığını öğrenin, mantığını kavrayın yeter. :)

Hazırlıkları yaptık, ilk 3 maddede bahsi geçen konuları farklı kaynaklardan araştırdık, notlar aldık…

04 → Kod Yazmaya Hazırız!

Kod yazmadan önce üstünde durmak istediğim kritik gördüğüm bir nokta var. Kodlamaya C#, C++, php, asp, phyton, javascript, java vs. gibi programlama dillerinin hiçbirinden başlamayın! Bu işin sonunda çip de yazacaksanız, arayüzle yada görüntü (frontend) kısmıyla hiç işiniz olmayacaksa bile HTML / CSS bilmeden sakın geçmeyin. Bu da doğru öğrenme sürecinin bir aşaması.

Image for post
Image for post
Pes etmemesi mükemmel ve şaşılası…

Biz bu rehberin başında; temelde lise düzeyinde de olsa Matematik, Türkçe dil bilgisi ve yine çok temel düzeyde İngilizce bildiğinizi varsayarak başladık. Sonra sektör hakkında temelleri öğrenerek ilerledik.

Şimdi kodlamaya giriyoruz ve bunun da kendi içinde temelleri var. Bu temellerin çoğunu ilk 3 maddeyi doğru öğrenerek aldınız zaten. Html ve css ile devam edelim.

05 → Ortamınızı Hazırlayın

Bilgisayarınızın özelliklerinin çok yüksek olmasına gerek yok. Çevrelerimizde bu işlerle ilgilenenlerin bilgisayarlarının çok iyi olduğunu görüyoruz evet ama bu onların yaptıkları projelerle, işlerine saygılarıyla, ekmek teknelerini iyileştirmeleriyle falan alakalı bir durum. Html bundan yaklaşık 30 sene önceki teknolojilerle bile yazılabiliyordu.

Bilgisayarınızda en azından masaüstünüzü temiz tutmanız, çalışmalarınızı ayrı klasörlerde tutmanız motivasyonunuz ve dizin mantığını erken kavramanız açısından yararlı olacaktır.

Not aldığınız bir ajandanız ve kaleminiz zaten olmalı ama kodları deftere yazmakla uğraşmayın. Kervan — yol muhabbetinin ilham olacağını düşünerek söylüyorum; sadece kritik yerleri not alın yeter. Gerisini işi yaparak öğrenin. Bu önemli.

Dikkatinizi dağıtacak şeylerden uzak durun, masanızdan ve çevrenizden uzak tutun.

Bir çok html/css eğitiminde notepad gibi yardımcılar kullanılıyor, bunlarla da yapılacağını bilin ama motivasyon önemli, bu yüzden Visual Studio Code programını indirin ve bilgisayarınıza kurun. Siyah ekranda renkli kodlar hem zevkli hem de hatalarınızı görmede yardımcıdır.

06 → HTML / CSS

Html programlama dili değil, zengin metin işaretleme dili diye geçiyor literatürde ama kavramlarda çok boğulmanıza da gerek yok. Biz html ve css ile görebildiğimiz veya çize bildiğimiz her şeyi web ortamına taşıyabiliyoruz.

En basit mantığıyla; mesela Html + Css ile güzel bir buton oluşturabilirsiniz ama bu oluşturduğunuz butonun işlevine programa dilleri karar verir.

Html/Css öğrenmek size programlama dillerini öğrenmeden önce bir sürü yeni yetenek ve tavır kazandıracak. Tag mantıkları, basit dosya/dizin işlemleri, bir kodun en basit haliyle nasıl çalıştığı, neyin nereye nasıl etki ettiği, hatta araştırmayı seviyorsanız web ve mobil trendleri, güncel kalmayı, kodlarken bilgisayar başında ne kadar kalabildiğiniz, kodlarken not alma eğilimleriniz, notlarınızı değerlendirirken eğilimleriniz ve daha bir sürü fark etmeden kazanacağınız yeti var. Bu yüzden her aksiyonunuzu anında sonuca dönüştürüp görebileceğiniz html/css’i en başta öğrenmek çok iyi bir yol. :)

Html ve Css konularını youtubeda ücretsiz sunan bir sürü kanal var. Anlatımı hoşunuza giden birini gözünüze kestirin ve ilerleyin. Eğitmenin çok kaliteli olması önemli değil, amacınız; nedir bu html ve css? Yenilir mi içilir mi? sorularını cevaplamak. Ezber yapmanıza gerek yok, mantığını kavrayın yeter.

Hemen sonra www.w3schools.com/html adresine bir göz gezdirin. Eğitimde izlediğiniz html kodlarının tamamını hatta daha fazlasını sizin için toparlayıp örnekleriyle ve kullanım örnekleriyle birlikte sunan bir platform.
Ayrıca www.w3schools.com/css adresinde de css kodları ve kullanımları mevcut.
Bu dökümanları da ezberlemenize gerek yok, istediğiniz zaman ulaşabilirsiniz. Sadece sitenin; örnekleri açıklama mantığını öğrenin, aradığınızı kolayca bulabiliyor olana kadar inceleyin. Bu size documentation okuma alışkanlığı kazandıracak. Programlama yaparken bu alışkanlığa ihtiyacınız olacak, bu yüzden şimdi yavaş yavaş alışmalısınız.

07 → Bootstrap

Artık html ve css konusunda bir şeyler yapabiliyorsunuz. Bu konuyu hızlıca ileri seviyeye taşımak, tabiri caizse bir üst seviyeye atlamanın hazzını almak istiyorsanız buradaki derslerle devam edin. Sadece işinize yarayacak bilgileri veren bu eğitim sonunda yaptıklarınızı görünce motivasyonunuz artacak.

Tebrikler! Artık kodlama yapabiliyorsunuz. Html ve Css ile neler yapabileceğinizi görüp, bu işi bootstrap kütüphanesi kullanarak bir üst seviyeye taşıdınız ki bu size oldukça hız kazandırdı. Hemen en yakın Starbucks’a gidin ve kod ekranının göründüğü bir story atın instagrama.:)

08 → PSD to HTML

Öğrendiğiniz bilgileri pekiştirin. Pekiştirdiğiniz bilgilerin üzerine google’dan bir soru işareti yardımıyla eklemeler yapın. Bizim sektörde her kapının anahtarı soru işareti… ( ? )

Şimdi sıra; herhangi bir tasarım programıyla (photoshop, xd, sketch … ) çizilmiş bir tasarımı, şimdiye kadar öğrendiğiniz bilgileri ve yetileri kullanarak html ve css’e çevirmeye geldi.

Bu işlem için de 07. Maddede verdiğim kaynaktan ulaşabileceğiniz bir eğitim serisi var. İster oradan isterseniz başka bir youtube kanalından anlatımını beğendiğiniz bir eğitimi izleyin.
Burada uymanız gereken tek kural şu; önce eğitimi baştan sona kadar izleyin, sonra başa dönüp izlerken uygulayın.

Bu işlemden keyif alacağınızı umuyorum, bu yüzden farklı bir örnekle bir daha tekrarlayın. İyice pekiştirin, bir kere sağlam öğrenin, programlamaya geçtiğinizde sadece programlamaya odaklanın. Bu konuyu iyice öğrenmeyince programlamada daha fazla efor sarf etmeniz gerekebilir.

Bu 8 maddelik eğitim rehberini gerçekten harfiyen ve inanarak tamamladıktan sonra yapabileceklerinize siz de inanamayacaksınız. Bu durum zaten sizi öğrenmeye, daha çok öğrenmeye ve araştırmaya itecek. Bir bakacaksınız ki geceler kısacıkmış :)

Benzer konuları yazmaya devam edeceğim. Bu konular başlangıç konuları olduğu için ve yazılım sektöründe Türkçe kaynak teşkil etmesi açısından Türkçe yazmayı tercih ediyorum.

Umarım bu rehber size yazılım öğrenmenin doğru yolu izleyince çok da zor olmadığını gösterir. Umarım bu rehber içinizdeki o kıvılcımı ateşe döndürür.

Hayat mücadelesi arasında yazmaya çalışacağım, rehber niteliğinde olmasını ümit ettiğim yazıları konuları ilerleterek devam ettireceğim.

Sonraki yazılarda görüşmek dileğiyle,
Muğla’dan selamlar… :)

Image for post
Image for post
Web site adresimden Sosyal Medya hesaplarıma kolaylıkla ulaşabilirsiniz.

Türkçe Yayın

Düşünce ve fikir hürdür.

Sign up for Türkçe Yayın E-bülten

By Türkçe Yayın

‘Her düşünce, hür düşünce!’ diyerek çıktığımız yolda buluşmalarımız, kulüplerimiz ve yeni yazılar aracılığıyla daha fazla hayata dokunmaya çalışıyoruz. Bültenimize üye olup bize kapıyı aralık bırakın. Take a look

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy practices.

Check your inbox
Medium sent you an email at to complete your subscription.

Mesut Yılmaz

Written by

Full Stack Developer — Creative Designer

Türkçe Yayın

Düşünce ve fikir hürdür. 'Türkçe Yayın' her düşünce ve fikri duyurmayı amaçlayan özgür blog ailesidir.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store