Nasıl Freelance Yazılımcı Olunur ?

Freelance yazılımcı olmanın adımlarının başında temel yazılıma hakim olmanızdan geçer. Bu konuyu daha derinlemesine anlamanız için aşağıda adım adım nasıl bir yol izleyebileceğinize dair detaylı bilgiler verdim. Yazılım kariyerinde sağlam bir temel atmana ve ilerleyen süreçte daha karmaşık konuları rahatça kavramana yardımcı olması için bir rehber niteliğinde içerikler oluşturduk. 

İçeriğe geçmeden önce de freelance yazılımcı olabilmek için iyi bir çevrenizin olması size avantaj yazacaktır. Freelance yazılımcı olma yonunda Google GDG topluluğu, konferanslar, akademiler sayesinde network elde edebilirsiniz.

Doğru Programlama Dilini Seç 

Temel yazılım öğrenmeye başlarken, hangi dilin senin hedeflerine uygun olduğuna karar vermelisin. Günümüzde pek çok genç bu alana daha fazla para kazanmak için giriyor a bazı işler vardır ki tutkudur. Adımlamaları kolay değildir. Süreç ve zaman ister. Bu nedenle hayatta acınızın paradan ziyade başarı, anı biriktirmek, keyif aldığınız işi, aktiviteleri yapmak olmalıdır. 

Bu arada popüler yazılım dillerini incelemeden önce size sektörden birkaç bilgi daha veriyim. Yazılım çok geniş kapsamlıdır ve hem iyi hem de kötü açlar için kullanılabilir. Bu noktada girdiğiniz sektörde lütfen iyi açlara ve projelere hizmet edin. Kendi geliştirdiğiniz yapılarda da aynı konu geçerli olsun. 

İçerik hırsızlığı, başka sitelere, yapılara ya da kullanıcılara doğrudan veya dolaylı yoldan dokunan özelliklerde kodlama yapmak ve bunu zarar vermek veya çıkar elde etme acıyla yapmak kesinlikle kabul edilebilir bir şey değildir. 

Yazılıma En Kolay Nasıl Başlanır 

Şimdi hazırsanız size yazılım sektöründe içerden bilgiler vereceğim. Eğer kodlama alanıyla ilgili en hızlı şekilde meydana bir şeyler çıkarmak isterseniz Web alanı size göredir. Ancak kendinizi geliştirmeye devam etmelisiniz. 

HtTrack uygulaması sayesinde web sayfalarının ön yüzünü yani front kodunu çekebiliyorsunuz. Bunun üzerinden düzenlemeler ile kurumsal web sayfalarını statik formatta yapabilir ve internete bir domain alarak yükleyerek meydana içerikler çıkarabiliyorsunuz.  

Bu konuyla ilgili ihtiyacınız olan şeyler hosting, domain, HTTRACK, VSCode, fileZilla uygulamasıdır. Ht Track ile bir web sayfasının ön yüz kodunu kopyalayın. Size HTML formatta ön yüz kodunu içeren klasör verecektir.  

Daha sonra bu klasörü VS Code üzerinden açmalısınız ve gerekli değişiklikleri yaptıktan sonra FilzeZilla ile siteyi hostinge yükleyerek internette gösterebilirsiniz. Bunun için aldığınız alan adını hostinge bağlayın.  

DNS yönlendirmesini yapın ev bağlantıyı sağlayın. Daha sonra sunucunuza FileZilla üzerinden yükleyerek internette bir web sitesi sunabilirsiniz. 

Şimdi bazı yazılım dillerini inceleyelim. 

Python 

  • Kullanım Alanı: Web geliştirme, veri bilimi, yapay zeka, otomasyon. 

  • Neden Seçilmeli?: Python, kolay öğrenilebilir ve esnek bir dil. Özellikle başlangıç seviyesinde çokça tercih edilir çünkü basit sözdizimi ve geniş kütüphane desteğiyle her tür projeye uyarlanabilir. 

  • Başlarken: Temel algoritma ve veri yapıları gibi konulara odaklan. Ayrıca Django ve Flask gibi web framework’leri öğrenmeye başlayabilirsin. 

JavaScript 

  • Kullanım Alanı: Web geliştirme (front-end ve back-end), mobil uygulama geliştirme. 

  • Neden Seçilmeli?: JavaScript, hemen hemen tüm web projelerinde kullanılıyor. Tarayıcıda çalıştığı için kullanıcı tarafında interaktif uygulamalar oluşturmak için vazgeçilmezdir. Node.js ile de arka plan işlemleri yapılabilir. 

  • Başlarken: Temel JavaScript sözdizimini öğrenip, ardından React veya Vue.js gibi modern front-end framework'lerine yönel. Ayrıca back-end kısmında Node.js öğrenebilirsin. 

 

Şunu da eklemek isterim ki mobil uygulama alanında Flutter kullanımına biraz daha sıcak bakmanızda yarar görüyorum. Diğer teknolojiler de var elbette ancak hem İOS hem de Android için eş zamanlı bir uygulama geliştirmek için kullanabilirsiniz. Hem de hizmet verirken güzel projelere dahil olabilir veya güzel iş talepleriyle freelancer yazılım geliştirme kariyerinizle karşılaşmanıza olanak tanıyabilir. 

Java 

  • Kullanım Alanı: Büyük kurumsal uygulamalar, mobil uygulamalar (Android), web geliştirme. 

  • Neden Seçilmeli?: Java, güçlü bir dildir ve çok sayıda büyük ölçekli projede kullanılır. Android geliştirme yapmak istiyorsan, Java vazgeçilmez bir dildir. 

  • Başlarken: OOP (Object-Oriented Programming) yani Nesne Yönelimli Programlama mantığını öğren. Java ile Android Studio kullanarak mobil uygulamalar geliştirmeye başlayabilirsin. 

2. Yazılım Temellerini Öğren 

Dil seçimi yaptıktan sonra, sadece dil öğrenmek yeterli değil. Yazılımın temel yapı taşlarını anlamalısın: 

Veri Yapıları ve Algoritmalar 

  • Neden Önemli?: Yazılım geliştirme sırasında verilerin nasıl organize edileceği ve bu veriler üzerinde yapılacak işlemlerin verimli şekilde nasıl gerçekleştirileceği, başarılı bir yazılımcı olmanın temelidir. 

  • Başlarken: Linked lists, arrays, queues, stacks gibi veri yapılarını ve binary search, sorting algoritmaları gibi temel algoritmaları öğren. Bu konular her yazılım geliştirme alanında karşına çıkacak. 

OOP (Nesne Yönelimli Programlama) 

  • Neden Önemli?: Modern yazılım geliştirme projelerinde nesne yönelimli programlama mantığı çok yaygındır. OOP, yazılımını daha düzenli ve modüler hale getirir. 

  • Başlarken: Sınıflar, nesneler, kalıtım, kapsülleme, polimorfizm gibi OOP kavramlarını anla ve bunları projelerinde nasıl uygulayabileceğini öğren. Çoğu dil, özellikle Java ve Python, OOP'yi destekler. 

3. Yazılım Araçlarını Öğren 

Temel bir dil öğrendikten sonra, yazılım geliştirme sürecini hızlandırmak için kullanabileceğin araçlar hakkında bilgi edinmen gerekiyor: 

Git ve GitHub 

  • Neden Önemli?: Git, sürüm kontrol sistemi olup projeni izlemek ve hatalardan geri dönmek için kullanılır. GitHub ise projeni çevrimiçi paylaşmanı sağlar ve diğer yazılımcılarla iş birliği yapmana olanak tanır. 

  • Başlarken: Git’in temellerini öğrenip kendi projelerini GitHub’da depolamaya başla. Branch oluşturma, commit yapma, pull request gibi komutları aktif kullanmayı öğren. 

IDEs (Integrated Development Environment) 

  • Neden Önemli?: IDE'ler yazılım geliştirme sürecini hızlandıran araçlardır. Kod yazarken hata kontrolü, otomatik tamamlama ve proje yönetimi gibi özellikler sunar. 

  • Başlarken: PyCharm (Python için), VSCode (her dil için), IntelliJ IDEA (Java için) gibi popüler IDE’leri kullanmayı öğren. Kendi ihtiyacına en uygun IDE’yi seç ve ona alış. 

4. Proje Tabanlı Öğrenme 

Teori ne kadar önemli olsa da yazılım, pratiğe dayalı bir alandır. Öğrendiklerini hemen projelere dökerek ilerlemelisin. İşte proje tabanlı öğrenme adımları: 

Küçük Projelerle Başla 

  • Neden Önemli?: Küçük projelerle başlamak, öğrenme sürecini kolaylaştırır ve öğrendiğin her şeyi uygulamalı olarak görmeni sağlar. 

  • Başlarken: Kendi kişisel blog sayfanı oluşturmak, basit bir hesap makinesi yapmak ya da hava durumu uygulaması geliştirmek gibi projelerle başlayabilirsin. 

Açık Kaynak Projelere Katıl 

  • Neden Önemli?: Açık kaynak projeler, hem pratik yapmana hem de diğer yazılımcılarla iş birliği yapmana olanak tanır. Aynı zamanda gerçek dünya projelerine katkı sağlayarak deneyim kazanırsın. 

  • Başlarken: GitHub’da açık kaynak projelere göz at ve ilgi duyduğun projelerde katkı sunmaya çalış. Küçük hata düzeltmeleri ya da yeni özellik ekleme ile başlayabilirsin. 

5. Sürekli Öğrenme ve Gelişme 

Yazılım dünyası sürekli gelişiyor. Yeni teknolojiler, diller ve framework’ler ortaya çıkıyor. Bu yüzden bir yazılımcı olarak sürekli öğrenmeye açık olmalısın: 

Kaynaklar 

  • Online Kurslar: Udemy, Coursera, edX gibi platformlardan sürekli yeni konuları takip et. 

  • Bloglar ve YouTube: Stack Overflow gibi forumlar ve YouTube kanalları üzerinden sorularını çözebilir, yeni trendleri takip edebilirsin.