Skip to content
Bloga dön
Kariyer GitHub Kariyer Portföy Yazılım Geliştirme DevOps

GitHub Profilini Teknik Portföye Çevirmek: Sadece Kod Değil, Yetkinlik Sergileme Rehberi

Boş bir GitHub profili yerine işe alım yöneticilerinin ve teknik liderlerin dikkatini çekecek, gerçek dünyadaki problemleri çözme yeteneğinizi gösteren profesyonel bir teknik portföy oluşturma rehberi.

Caner Serbest

Sistem ve Altyapı

4 dk okuma

GitHub Profilini Teknik Portföye Çevirmek: Sadece Kod Değil, Yetkinlik Sergileme Rehberi

Yazılım dünyasında iş arama süreçleri yıllar içinde büyük bir değişim geçirdi. Artık sadece şık bir özgeçmiş (CV) hazırlamak, teknik mülakatları geçmek için yeterli değil. Teknik liderler, mülakat masasına oturmadan önce adayların dijital ayak izlerini inceliyor. Bu dijital ayak izinin merkezi ise şüphesiz GitHub profili.

Birçok geliştiricinin profiline baktığımızda iki uç nokta görüyoruz: Ya bomboş, sadece birkaç fork edilmiş projeden ibaret terk edilmiş hesaplar ya da düzenli commit’lerden oluşan ancak projenin ne işe yaradığını, hangi problemi çözdüğünü anlamanın imkansız olduğu karmaşık repolar. GitHub profilinizi sadece bir kod deposu olmaktan çıkarıp yaşayan, bakan kişinin sizinle ilgili teknik olgunluk seviyesini hemen görebileceği bir teknik portföye dönüştürmek kariyeriniz için yapabileceğiniz en stratejik yatırımlardan biridir.

Bu yazıda, profilinizi işe alım yöneticilerinin gözünden nasıl optimize edebileceğinizi, hangi projelere odaklanmanız gerektiğini ve kodunuzu dünyaya sunarken dikkat etmeniz gereken pratik adımları ele alacağız.


1. İlk İzlenim: Profil README Dosyası (Profile README)

GitHub, kullanıcıların hesap ana sayfasında özel bir README dosyası sergilemesine izin veriyor. Bu alan, dijital kartvizitinizdir. Ancak burayı gereksiz ikonlarla, sürekli hareketli istatistik barlarıyla veya okunması güç animasyonlarla doldurmak profesyonel bir izlenim bırakmaz.

Profil README dosyanızda şu unsurlar net bir şekilde yer almalıdır:

  • Kısaca Kimsiniz?: Hangi teknolojilerle çalışıyorsunuz? Odaklandığınız alanlar nelerdir? (Örn: “Sistem mimarisi, Linux altyapıları ve otomasyon süreçleri üzerine çalışan bir DevOps Mühendisiyim.”)
  • Uzmanlık Alanlarınız: Hangi araçları, dilleri ve bulut sağlayıcılarını aktif olarak kullanıyorsunuz?
  • Öne Çıkan Projeleriniz: Profilinizdeki yüzlerce repo arasından, en çok gurur duyduğunuz ve teknik derinliğinizi en iyi yansıtan 3 projeye doğrudan bağlantı verin.
  • İletişim: LinkedIn, kişisel web siteniz veya e-posta adresiniz.

Örnek Profil README Yapısı

### Merhaba, Ben Caner 👋

Sistem yönetimi, otomasyon ve sürdürülebilir altyapılar kurma odaklı çalışıyorum. Linux ekosistemi, konteyner teknolojileri ve CI/CD süreçleri günlük odak noktalarım arasında yer alıyor.

#### 🛠️ Yetkinlikler ve Araçlar
- **Diller & Scripting:** Bash, Python, JavaScript
- **Altyapı & Konteyner:** Docker, Nginx, UFW, Systemd
- **Bulut & İzleme:** AWS, Cloudflare, Prometheus

#### 📌 Öne Çıkan Çalışmalarım
- [Log-Analyzer-Toolkit](link): Linux sistem loglarını parse edip anomali tespiti yapan hafif CLI aracı.
- [Docker-Compose-Production-Templates](link): Üretim ortamları için optimize edilmiş, güvenlik sıkılaştırması yapılmış şablonlar.

2. Portföyde Yer Alması Gereken Proje Tipleri

Her gördüğünüz “To-Do List” veya “Weather App” projesini GitHub’a yüklemek portföyünüzün değerini artırmaz, aksine kalabalık yaratır. Bir teknik liderin görmek istediği şey, sizin gerçek dünyadaki karmaşık problemleri nasıl ele aldığınızdır.

İyi bir teknik portföyde şu üç kategoriden projeler bulunmalıdır:

A. Problem Çözen Otomasyon Araçları

Günlük işleri hızlandıran, manuel operasyonel yükü azaltan scriptler veya küçük CLI araçları. Örneğin; sunucu yedekleme süreçlerini otomatikleştiren bir Python scripti veya belirli log formatlarını tarayıp hata oranını raporlayan bir Bash aracı, sizin kod yazmanın ötesinde operasyonel verimlilik düşünebildiğinizi gösterir.

B. Üretime Hazır (Production-Ready) Mimari Örnekleri

Sadece lokalde çalışan değil; Nginx ters vekili (reverse proxy), çevre değişkenleri (environment variables) yönetimi, sistem servis yapılandırmaları (systemd) ve Docker entegrasyonu tam olan örnek bir web uygulaması veya servis mimarisi. Bu projeler, bir uygulamanın sadece geliştirme aşamasını değil, canlı ortama alınma sürecini de bildiğinizi kanıtlar.

C. Altyapı ve Güvenlik Konfigürasyonları

Her zaman kod yazmak zorunda değilsiniz. Linux kernel optimizasyonları, UFW güvenlik duvarı kuralları, Fail2ban senaryoları veya Ansible playbook’ları içeren bir repo, sistem ve altyapı bilginizi doğrudan ortaya koyar.


3. Repo (Depo) Kalitesi: Kod Yazmak Kadar Sunmak da Önemlidir

Harika bir kod yazmış olabilirsiniz, ancak reponuzda bir README.md dosyası yoksa ve kodun nasıl çalıştırılacağı belirsizse, bakan kişi o repoyu saniyeler içinde kapatacaktır. Her projeniz kendi başına bir ürün gibi düşünülmeli ve şu standartları karşılamalıdır:

Net ve Açıklayıcı README

Her reponun ana sayfasında şu başlıklar mutlaka yer almalıdır:

  1. Projenin Amacı: Bu araç hangi problemi çözüyor?
  2. Mimari / Çalışma Mantığı: Proje nasıl çalışıyor? Hangi bileşenler birbiriyle iletişim kuruyor?
  3. Kurulum ve Çalıştırma Adımları: Projeyi kendi makinesinde ayağa kaldırmak isteyen biri hangi adımları izlemeli?
  4. Kullanım Örnekleri: Komut satırı çıktıları veya ekran görüntüleri.

.gitignore ve Gizlilik Hassasiyeti

Canlı ortam şifreleri, API anahtarları veya veritabanı parolalarının yanlışlıkla GitHub’a yüklenmesi en sık yapılan ve en profesyonellik dışı görülen hatalardan biridir. Projelerinizde mutlaka doğru yapılandırılmış bir .gitignore dosyası kullanın ve hassas bilgileri çevre değişkenleri (.env) üzerinden yönetin.

Commit Geçmişinin Dili

git commit -m "ilk commit", git commit -m "düzeltme", git commit -m "asdasd" gibi commit mesajları, kodun geliştirme sürecinde disiplinsiz çalışıldığını gösterir. Anlamlı ve atomik commit mesajları yazma alışkanlığı edinin:

  • feat: Nginx rate limiting yapılandırması eklendi
  • fix: Disk doluluğu uyarısı gönderen scriptteki path hatası giderildi

4. Süreklilik ve Aktivite Grafiği

GitHub profilinin sağ köşesindeki yeşil kareler (contribution graph), uzun süredir yazılımcılar arasında bir tartışma konusu olsa da, işe alım süreçlerinde hâlâ bir referans noktasıdır.

  • Kalite Miktar Odaklıdır: Her gün yapay commit’ler (green square farming) atmak kimseyi kandırmaz. Teknik mülakatta o commit’lerin içeriği sorulduğunda zor durumda kalabilirsiniz.
  • Gerçek Çalışmalar: Düzenli olarak üzerinde çalıştığınız, açık kaynak projelere katkı verdiğiniz (pull request) veya kendi öğrenme süreçlerinizde yazdığınız küçük araçları paylaştığınız organik bir grafik, istikrarlı bir öğrenme alışkanlığınız olduğunu gösterir.

Sonuç

GitHub profiliniz, teknik dünyadaki özgeçmişinizden çok daha güçlü bir kanıttır. İşe alım yapan kişiler veya yöneticiler, iddialarınızı okumak yerine kodunuza, mimari kararlarınıza ve dokümantasyon kalitenize bakmayı tercih ederler.

Bugünden başlayarak profilinizi gözden geçirin: En zayıf dokümantasyona sahip repoyu seçin, detaylı bir README ekleyin. Kodunuzdaki karmaşık yapıları sadeleştirin ve gerçek dünya problemlerini nasıl çözdüğünüzü dünyaya gösterin. Unutmayın, iyi yazılımcı sadece kod yazan değil, yazdığı kodu anlaşılır kılabilen ve sürdürülebilir kılan kişidir.


Bu yazı Gemini ile otomatik oluşturulmuştur.