Yeni Başlayanlar İçin: Yazılımcının Galaksi Rehberi! - SiberMega - Basit Yazılım ve Tasarım Eğitimleri

Popüler Yazılar

Post Top Ad

Responsive Ads Here

Post Top Ad

Responsive Ads Here

29/01/2023

Yeni Başlayanlar İçin: Yazılımcının Galaksi Rehberi!

 

Başlamadan Önce

  • Öğrenmek hiç bitmiyor. Yazılım bir zanaat ama diğer bir çok zanaattan farklı olarak öğrendiğiniz şeylerin sizi bir ömür idare etmesi mümkün değil. Hayatınızın büyük bir kısmı bundan sonra sürekli yeni şeyler öğrenmekle geçecek. Çoğu zaman özel hayatınızdan bu öğrenme sürecine vakit ayırmanız gerekiyor. Teknolojiler, yöntemler çok hızlı gelişiyor ve değişiyor. Buna ayak uyduramayacağınızı düşünüyorsanız yazılım geliştiricilik sizin için uygun bir meslek olmayabilir.
  • İnanılmaz bir adanmışlık ve tutku istiyor. Bu işi sevmiyorsanız yapmakta çok zorlanabilirsiniz. Yeni şeyler öğrenmek bir zorunluluk evet ama öğrenmek için öğrenmeye herzaman hevesli olmalısınız, öğrenmekten keyif almalısınız.
  • Uykusuz gecelere ve sürekli problem çözmeye hazırlıklı olmalısınız. Bazen çok basit bir sorunu çözmek için bile saatlerinizi, günlerinizi vermeye hazır olmanız lazım. Çoğu zaman yetişmeniz gereken deadline’lar olabilir, şirkette uzun saatler geçirmeniz gerekebilir. Stres yönetiminizin iyi olması gerekiyor.
  • Ömrünüzün önemli bir bölümü artık bilgisayar başında geçecek. Bunun getireceği belli başlı sağlık problemlerinden kaçınmak için ekstra çaba sarf etmeniz lazım.
  • Öğrenmeyi öğrenmeniz gerekiyor. Elbetteki çevrenizde size yardımcı olacak kişiler olacaktır. Ama çoğu zaman kendinizi sizden başkası geliştirmeyecek. O yüzden öğrenmeyi, araştırma yapmayı öğrenmeniz elzem. Deneme yanılma hayatınızın bir parçası olacak, sabırlı olmanız gerekiyor.
  • İngilizce öğrenmeniz bir noktadan sonra zorunluluk. En azından teknik makaleleri, blog yazılarını, youtube video’larını veya eğitim video’larını anlayacak kadar İngilizcenizin olması gerekiyor. Türkçe kaynaklar çok kısıtlı ama İngilizce öğrendiğiniz zaman çok fazla kaynağa ulaşabiliyorsunuz.

Sözlük

Sektöre Genel Bir Bakış ve Roller

Front-End (Ön yüz) Developer

Günümüzde Front-End Geliştiricilik

Back-End (Arka yüz) Developer

.NET ve .NET Core

Platform: .NET
Framework: ASP.NET (Web uygulamaları ve API geliştirmek için bir framework)
Yazılım Dili: C#

Java

Platform: Java
Framework: Spring Boot (Java dünyasında Microservice geliştirmek için kullanılan bir framework)
Yazılım Dili: Java

Node.js

PHP

Ruby

Python

Go

Bonus: SQL (Structured Query Language)

Back-End vs Front-End ve Web Framework’ler

  • Eskiden bir web sayfasında bir yere tıkladığınızda sayfa yenilenir, sunucudan yeni HTML alınır ve gösterilirdi. Bir yere tıkladığınızda sürekli bir gidip gelme durumları olurdu. Tarayıcılar artık çok daha yetenekli. Masaüstü uygulamalarına benzer, kesintisiz ve akıcı uygulamaları tarayıcı tarafında da geliştirebiliyoruz.
  • HTML gönderip almak oldukça büyük miktarlarda data alışverişinin olmasına sebep oluyordu. Oysa uzun zamandır JSON gibi datanın boyutunu küçülten formatlar var.
  • Front-End geliştiriciler özellikle HTML ve CSS konusunda uzmanlar ve bu işi bizden çok daha iyi yapıyorlar. Bir back-end geliştirici olarak, 14 yıllık yazılım hayatımda daha bir label ile textbox’ı yan yana getirebilmişliğim yok. Çok şükür Twitter Bootstrap gibi CSS framework‘leri çıktı da kendimizi rezil etmeden birşeyler yapabiliyoruz.

Mobile Developer

Android

iOS

React Native

Diğer Alanlar

Takım çalışması ve Git

Peki yazılıma nasıl başlamalıyım, hangi dili öğrenmeliyim?

  • Yazılım geliştiriciler olarak varoluş sebebimizin problem çözmek, iş ihtiyaçlarını karşılamak için sistemler, uygulamalar geliştirmek olduğunu aklınızdan çıkarmayın.
  • Platformlar, framework’ler, diller bunların hepsi birer araç. Hiç bir zaman bir dilin fanatiği olmayın. Projenin ihtiyacı neyse o araçları kullanın.
  • Temel yazılım kavramlarını öğrenin. Örneğin seçtiğiniz dil Nesneye yönelik programlama (Object-oriented programming) paradigmasını ön plana çıkartıyorsa önce OOP öğrenin veya fonksiyonel programalama paradigmasıysa onu öğrenin. Ama günümüzde çoğu modern dil çoklu paradigma destekliyor o yüzden her iki paradigmaya da hakim olmakta yarar var.
  • Temel bilgisayar bilimi (computer science) konularını öğrenmeniz çok faydalı olacaktır. Bununla ilgili yerli kaynak çok yok ama İngilizceniz varsa youtube bunları anlatan derslerle dolu. Özellikle Harvard Üniversitesinin konuyla ilgili online derslerine bir göz atın.
  • Seçtiğiniz dili derinlemesine öğrenenin, zaten dili öğrenirken yanında yavaş yavaş sık kullanılan framework’lere ve platform’un kendisine de hakim olacaksınız. Seçtiğiniz dil ile ilgili olarak internette sayısız yerli, yabancı makale ve video bulabilirsiniz. Ama cüzi miktarlarda ödemeler yaparak Plurasight ve Udemy gibi platformlardan online eğitimler de satın alabilirsiniz. Kendinize yapacağınız yatırıma harcanan paranın karşılığını kesinlikle alırsınız.
  • En iyi kodlama öğrenme yöntemi başkalarının kodlarını okumaktır. O yüzden mutlak Github üzerinden başkalarının yazdığı projeleri inceleyin, ne yaptıklarını anlamaya çalışın, indirip çalıştırın ve üzerinde denemeler yapın.
  • Kendinize örnek bir proje seçin. Bu uzun süredir yapmak istediğiniz bir proje de olabilir veya internette gördüğünüz bir web sitesinin veya uygulamanın klonunu yapmak da olabilir. İnanın bu süreçte çok şey öğreneceksiniz.
  • Kendi geliştirdiğiniz projeleri, kodları Github’a mutlaka koyun. Yazdığınız koddan utanmayın. Github’a koyduğunuz her proje, iş başvurularında bir adım öne çıkmanızı sağlayacaktır.

Yazılım Toplulukları — Codefiction

Yazılım Toplulukları — Software Craftsmanship Türkiye

Yazılım Toplulukları — Devnot

Yazılım Toplulukları — Cloud and Serverless Turkey | Serverless Türkiye

Kommunity.com

Son Sözler

Kaynaklar:

Hiç yorum yok:

Yorum Gönder

Görüş ve Düşüncelerinizi Bizimle Paylaşmayı Unutmayın.

Post Top Ad

Responsive Ads Here