YAZILIMA BAŞLANGIÇ REHBERİ

        Frontend Development alanında 7 ayı geride bıraktım. Alaylı bir yazılımcı olarak yazılım dünyasına adım atmanın heyecanını ve zorluklarını yaşadım. Bu süreç boyunca edindiğim tecrübeler ve yanlışlar sayesinde kendimi geliştirme fırsatı buldum.

    Bu yazının özellikle yeni başlayanlar için rehber olmasını umuyorum. Tecrübelerim ve yanlışlarım üzerinden ilerleyerek verimli çalışmadan psikolojik olarak nasıl bir süreç olacağına kadar birçok konuya değineceğim. Amacım yazılım dünyasına yeni adım atan kişilere yardımcı olmak ve aynı hataları yapıp zaman kaybetmemeniz için size rehberlik etmektir. O zaman hazırsanız yolculuğumuz başlasın!

Çalışırken Verimli Olmak

    Yazılımda başarılı olmanın sırrı kendi verimli çalışma yönteminizi keşfetmekte yatıyor. Bunu nasıl öğrendim dersiniz? Aynı anda bir çok bilgiyi öğrenmeye çalışıp kendimi hızlı ilerlemeye zorlayarak tükenmişliğin içine girince öğrendim. Verimli çalışma yönteminizi belirlemenize ipucu olacak bazı yöntemlerden bahsetmek istiyorum:

1. Yol Haritası Belirlemek

    Yol haritası çizmek sadece Frontend özelinde değil aslında her işte ihtiyacımız olan bir yöntem. Seçtiğimiz alanla ilgili öğrenmemiz gereken teknik bilgiler nedir ve hangisine öncelik vermeliyiz buna karar verip kendimize yol haritası çizmeliyiz.(yol haritası için roadmap.sh)

2. Planlama

    Yazılım öğrenme süreci oldukça karmaşık olabiliyor. Bu yüzden çalışmaya başlamadan önce bir plan yapmak ve öncelikleri belirlemek uzay boşluğunda kaybolmamak için çok önemli, nereden bildiğimi sormayın. Planlama yapmak için yapılacaklar listesi oluşturabilirsiniz. Günlük planlama ve haftalık hedeflerim şeklinde planlama yapıp çalışmanın verimli ilerlememi sağladığını gördüm.

3. Kodlama ve Pratik Yapmak

    Evet şimdi derin bir nefes alın ve “Kimse benden dört dörtlük kodlama yapmamı beklemiyor.” cümlesini tekrar edin. Yazılıma ilk başladığımda temiz kod yazmayı öğrenmenin önünde tutmuştum ama doğrusunu öğrenmeden nasıl temiz kod yazabilirsin ki? İlk zamanlarda birbirini tekrar eden kodlar yazmanız oldukça normal çünkü önceliğimiz öğrenmek ve pratik yapmak olmalıdır. Alaylı olsun veya olmasın her yeni yazılımcının öğrendiklerini pratiğe dökmesi bilginin kalıcılığı açısından oldukça önemli. Öğrenme aşamasında ilerleme kaydettikten sonra “Temiz kodlama(Clean Code) prensiplerine uygun olarak nasıl çalışabiliriz?” “Nasıl anlaşılır ve sürdürülebilir kod yazarız?” hakkında araştırma yapıp buna göre kod yazmaya başlayabilirsiniz.

4. Araştırma

    Yazılım dünyası sürekli olarak gelişiyor ve yeni teknolojiler ortaya çıkıyor. Bu nedenle kendinizi düzenli olarak güncel tutmalısınız. Dokümantasyonları okumak ve yazılım topluluklarına katılmak bu konuda büyük avantaj sağlıyor. Alaylı olarak bu süreçte en çok “Yazılım Geliştirmenin Temelleri” hakkında Türkçe ve İngilizce kaynakları düzenli okumaya özen gösteriyorum. 5. Dil Öğrenme Birçok sektörde olduğu gibi yazılım sektöründe de İngilizce yaygın bir öğrenme ve iletişim dili. İngilizce bilmek dokümantasyon okuma, kaynak araştırması yapma ve uluslararası topluluklarla etkileşimde bulunma konularında size büyük bir avantaj sağlar. Ayrıca sektöre de daha geniş bir açıdan bakmanıza büyük fayda sağlıyor. 

krafttechnologie-1695215951989.png

Teknik Beceriler

    Yazılım öğrenme sürecinde dikkate almamız gereken bazı temel teknik becerilerden bahsetmek istiyorum:

1. Programlama Dilleri

    Yazılım geliştirmenin en temel becerisi kendinize bir dil seçip o alanda gelişmektir. Seçtiğiniz dilde gelişmek, sözdizimini(syntax) anlamak ve yapılarını öğrenmek önemlidir. Başlangıç olarak popüler dillerden birini seçip daha sonra yazmaktan keyif aldığınız dile yönelerek kendinizi geliştirebilirsiniz.

2. Web Teknolojileri

    Eğer benim gibi Frontend alanıyla ilgileniyorsanız veya Full-Stack Development’a ilginiz varsa HTML, CSS ve JavaScript ile temel atarak bu sürece başlayabilirsiniz. Ardından popüler web framework’lerini öğrenerek becerilerinizi ilerletebilirsiniz.

3. Versiyon Kontrol Sistemi

    Yazılım projelerini etkili bir şekilde yönetmek ve işbirliği yapmak için versiyon kontrol sistemini kullanmak önemlidir. Git, en yaygın kullanılan versiyon kontrol sistemi olarak bilinir. Git’in temel işlemlerini (örneğin repo oluşturma, branch oluşturma, değişiklikleri taşıma) öğrenmek ve GitHub’ı aktif kullanmak projelerinizi daha düzenli ve izlenebilir hale getirecektir.

4. Algoritma ve Veri Yapıları

    Yazılım geliştirme sürecinde etkili ve verimli algoritmalar oluşturmak performansı arttırır ve problemleri daha iyi çözmenizi sağlar. Algoritma ve veri yapıları konusunda temel kavramları ve popüler algoritma türlerini öğrenmek, yazılım projelerinizde daha iyi performans ve verimlilik sağlamanıza yardımcı olur.

5. Hata Ayıklama

    Hata ayıklama becerileri, yazılım projelerinde karşılaşılan sorunları tespit etme ve çözme konusunda büyük öneme sahiptir. Yazılım öğrenme sürecinin başında hata ayıklama teknikleri hakkında araştırma yapıp bilgi sahibi olmak oldukça önemlidir

krafttechnologie-1695215939174.png

Yazılım Öğrenme Yolculuğunda Hislerimiz

    Yazılım öğrenme sürecinde en çok psikolojik açıdan yanlışlarım ve tecrübelerim oldu. Kötü haber: Yazılım öğrenme süreci size çiçekli bahçe olarak sunulmuyor. İyi haber: Yazılım öğrenme sürecini doğru yönetirseniz çiçekli bahçeye çevirmek sizin elinizde. Öğrenme süreci ilk başta oldukça karmaşık ve zorlu gelebilir. Alaylı olarak bu sürece başlamayı kendimiz tercih ediyoruz. Bu yüzden kendinize güvenmeli, sabırlı olmalı ve disiplinli çalışmayı elinizden geldiğince devam ettirmelisiniz. Kendinizi geliştirirken başarısız olma ve hata yapma hakkını kendinize vermelisiniz. Bu süreçte zorluklarla karşılaştığınızda yardım istemek oldukça önemlidir. Diğer yazılımcılarla bağlantı kurabilir, topluluklarda soru sorabilir veya mentorlük alabilirsiniz. Kendi deneyiminizi paylaşmak ve başkalarının deneyimlerini öğrenmek motivasyonunuzu arttırır ve ilerlemenizi destekler.

    Yoğun çalışma temposu, “Ne zaman başarılı olacağım?”, “Ne zaman bu sektörde yer alacağım?” faktörleri stres yaratabilir. Bu sürecin en yıpratıcı kısmı bence kıyas yapmak. Herkesin öğrenme kapasitesi, ayırdığı zaman ve süreci farklıdır. Herkesin öğrenme süreci kendine özeldir. Bu yüzden sadece kendinizi, yazılıma başlamadan önceki kendinizle kıyaslayıp gelişiminize yardımcı olacak özeleştiriler yapmalısınız. Stresle başa çıkmak için meditasyon, yürüyüş, nefes alma egzersizleri, hobilerle uğraşmak veya tercih ettiğiniz başka bir yöntemle stresi yönetebilirsiniz. Kendinize zaman ayırmak ve dinlenmek, zihinsel ve duygusal sağlığınızı korumanızı sağlar.

    Yazılım öğrenmek beraberinde birçok zorluğu getiren heyecan verici bir yolculuktur. Bu yolculukta size kendi tecrübelerimle rehberlik etmek istedim. Bu süreçte hatalar yapmak kaçınılmazdır. Hatalarınızı başarısızlık olarak değil öğrenme fırsatı olarak görün. Her hatadan bir şeyler öğrenmeye bakın. İçsel motivasyonunuz ve kendinize güvenmeniz çok önemli. Disiplinli ve planlı bir çalışmayla başarılı olmama ihtimaliniz yok. Emek verdiğiniz her şey doğru zaman gelince sizi başarıya götürecek. Bu süreçte yalnız değilsiniz. Sosyal medya sayesinde diğer yazılımcılara ulaşmak oldukça kolay. Tecrübeli kişilere soru sormaktan çekinmeyin. Yazılım sektörünün en sevdiğim yanı herkesin bilgisini paylaşmaktan ve yardımcı olmaktan keyif alması. Yazılım öğrenme tutkusu sizi bu süreçte hep ileriye taşıyacak ve motive edecek. Önemli olan başlamak, gerisini getirebilecek kapasiteye zaten sahipsiniz. Size beni motive eden bir söz bırakıyorum ve yazımı burada noktalıyorum. Bir sonraki yazıda görüşmek üzere.

krafttechnologie-1695215925728.png

Yazar : Dilara ULUTURHAN