Yazılımcılar Neden Kariyer Yolunu Proje Yöneticiliğine Doğru Çevirmeli?

Photo by Mikhail Nilov on Pexels.com

Teknoloji dünyası hızla değişiyor. Yapay zekânın yükselişinden çevik (agile) yöntemlerin baskın hale gelmesine kadar, yazılım geliştirme ekiplerindeki roller giderek daha dinamik bir hal alıyor. Bu ortamda yazılımcılar için en stratejik geçişlerden biri, kodlamadan proje yönetimine yönelmek olabilir. İlk bakışta teknik dünyadan uzaklaşmak gibi görünse de, bu geçiş hem doğal hem tatmin edici hem de etkili bir kariyer adımıdır.


1. Büyük Resmi Görme Yeteneği

Bir yazılımcı olarak genellikle belirli problemleri çözmeye veya özellikler geliştirmeye odaklanırsınız. Ancak bir proje yöneticisi (PM) olduğunuzda, tüm bu görevlerin nasıl bir stratejiye hizmet ettiğini görmeye başlarsınız. Kodlamadan gelen biri olarak, teknolojik sınırları, yazılım geliştirme sürecinin hızını ve mantığını bildiğiniz için planlamada ve takımla iletişimde büyük avantaj sağlarsınız.


2. Teknik ve İş Dünyası Arasında Köprü Olmak

Birçok proje, teknoloji başarısız olduğu için değil, iş gereksinimleri doğru anlaşılmadığı için başarısız olur. Kodlamadan gelen bir Proje Yöneticisi, teknik ve teknik olmayan dünyalar arasında mükemmel bir çevirmen olur. Hem iş birimlerini hem geliştiricileri anlayarak gereksiz karmaşayı önler, netlik sağlar ve gerçekten ihtiyaç duyulan ürünlerin ortaya çıkmasına katkı sunar.


3. Kariyer Gelişimi ve Etki Alanının Artması

Bir yazılımcı olarak derinleşmediğiniz sürece kariyeriniz bir noktada tıkanabilir. Ancak proje yöneticileri için kariyer yolu genellikle daha açık ve yukarı doğrudur: Program Yöneticisi, Ürün Sahibi, Mühendislik Direktörü hatta CTO gibi roller. Çünkü bu pozisyonlar, sadece teknik değil, aynı zamanda zamanlama, insan yönetimi ve iş sonuçları gibi konularda da yetkinlik gerektirir.


4. Teknolojiden Anlayan PM’lere Artan Talep

Şirketler, kodlama bilen proje yöneticilerinin ne kadar değerli olduğunu artık daha iyi anlıyor. Bu kişiler hem geliştiricilerle anlamlı teknik tartışmalar yapabilir, hem de sorunları daha çıkmadan fark edip çözüme kavuşturabilir. Kodlama yeteneğinizi tamamen bırakmanız gerekmez – hala kodları okuyabilir, mimari kararlar alabilir ve teknik hedeflerle iş hedeflerini buluşturabilirsiniz.


5. Zor Bilgilerle Yumuşak Becerileri Birleştirme

Yazılımcılar olarak zaten analitik düşünceye, detaylara dikkat etmeye ve sorun çözmeye alışıksınız. Proje yönetimi ise bu becerilerin üstüne iletişim, müzakere, liderlik, risk yönetimi ve paydaşlarla ilişki kurma gibi soft-skill’leri (yumuşak beceriler) eklemenizi sağlar. Bu yetkinlikler, ister teknik ister yönetici olsun, tüm üst düzey rollerde hayati öneme sahiptir.


6. Hâlâ Sorun Çözüyor Olacaksınız – Sadece Daha Geniş Ölçekte

Proje yöneticileri sadece takvimleri yönetmez. Sorunları önceden fark eder, öncelikleri dengeler, krizleri önler. Kod yazmanın zevkinden uzaklaşmak istemeyen yazılımcılar için Proje Yöneticiliği hâlâ problem çözme işidir – ama bu kez takımların ve süreçlerin karşılaştığı sorunları çözersiniz.


7. Teknikten Uzaklaşmak Zorunda Değilsiniz (İsterseniz)

Özellikle çevik yapılarda, birçok proje yöneticisi hâlâ teknik süreçlerin içinde yer alır. Teknik Proje Yöneticisi ya da Mühendislik Yöneticisi gibi pozisyonlar, teknik kararlarla iç içe kalmanıza olanak tanır. Yani “koddan uzak kalacağım” endişesi taşımadan hibrit bir rol üstlenebilirsiniz.


8. Farklı Rollerle Empati Kurmayı Öğrenirsiniz

Proje yöneticisi olduğunuzda sadece yazılımı değil, tasarımcıları, testçileri, pazarlama ekibini, hukuk ve uyum süreçlerini de tanımaya başlarsınız. Bu rollerin ne kadar karmaşık ve kritik olduğunu anlayarak, daha güçlü bir iletişim kurar ve daha sağlıklı ekip çalışmaları yürütürsünüz.


Bir Yön Değişikliği Değil, Stratejik Bir Adım

Proje yöneticisi olmak, kodu bırakmak değil – bir orkestrayı yönetmek gibi, artık sadece bir enstrümanı değil tüm yapıyı yönetiyorsunuz. Teknik bilginizi stratejik düşünce, liderlik ve iş zekâsıyla birleştirdiğinizde, sadece kod yazmakla kalmaz, projeleri ve ekipleri yönlendiren kişi olursunuz.

Eğer sistem düşüncesine sahipseniz, takım çalışmasına değer veriyorsanız ve daha büyük etki yaratmak istiyorsanız, yazılımcılıktan proje yöneticiliğine geçiş sizin için mükemmel bir adım olabilir.


İstanbul Kurumsal Gelişim olarak her türlü Proje Yönetimi kariyer yolculuğunuzda sizlerle birlikteyiz. http://www.projeyonetimi.com

Proje Yöneticileri için Python #6

Buğday Taneleri

Photo by Pixabay on Pexels.com

Giriş

Uzun zaman önce, akıllı bir hizmetkâr bir prensin hayatını kurtarmış. Kral, ona istediği her şeyi vereceğini söylemiş. Hizmetkâr da kralın satrancı çok sevdiğini bildiğinden, buğday tanesi istemiş. “Satranç tahtasının ilk karesine 1 tane, her sonraki kareye de öncekinin iki katı kadar buğday koyun” demiş.

Talimatlar

Bu görevde, satranç tahtasındaki buğday tanelerinin sayısını hesaplaman gerekiyor.

Bir satranç tahtasında 64 kare vardır.

  • 1. kare: 1 tane
  • 2.kare: 2 tane
  • 3.kare: 4 tane
  • 4.kare: 8 tane

Şu kodları yazmanız bekleniyor:

  • Belirli bir karede kaç tane buğday olduğunu hesapla
  • Tüm tahtadaki toplam buğday sayısını hesapla

Hata mesajları

Bazen bir şeyler yanlış gittiğinde programı durdurup hata göstermek gerekir. Bunu yaparken, hatanın neden kaynaklandığını açıklamak önemlidir.

Bu görevde, kare numarası 1 ile 64 arasında değilse şu kodla hata vermelisin:

raise ValueError("square must be between 1 and 64")

Bu, kodunun anlaşılmasını kolaylaştırır ve hataları düzeltmeyi kolaylaştırır.


CEVAP

square_no = int(input("Give the number of square: "))

if square_no < 1 or square_no > 64:
    raise ValueError("square must be between 1 and 64")
total = 0
for i in range(0, square_no):
    total += 2**i
print(total)

Proje Yöneticileri için Python #2

proje yöneticileri python ile kod yazıyorlar.

Ders Konumuz: Temel Veri Tipleri ve Değişkenler — Sayılar (int, float, complex)

Python programlamaya yeni başladıysanız, ilk anlamanız gereken kavramlardan biri veri tipleridir. Bu bölümde, sayı veri tiplerine odaklanacağız. Python’da sayılar üç ana kategoriye ayrılır:

  • int — Tam sayılar
  • float — Ondalıklı sayılar
  • complex — Karmaşık sayılar

Ayrıca bu sayı türlerinin nasıl kullanıldığını, aralarında nasıl dönüşüm yapılacağını ve temel matematiksel işlemleri Python’da nasıl gerçekleştireceğimizi göreceğiz.

📌 Lütfen Google Colab’ı açın ve aşağıdaki örnekleri kendiniz deneyin. Python ile Kodlamaya başlamak için ilk yazımı aşağıdaki linkten okumanızı tavsiye ederim:


1. int (Tam Sayılar)

Tam sayılar virgül içermez ve negatif ya da pozitif olabilir.

number1 = 10
number2 = -42
number3 = 0

Python çok büyük tam sayıları da destekler:

big_number = 123456789012345678901234567890

Sık kullanılan işlemler:

x = 5
y = 2
print(x + y)   # Toplama → 7  
print(x - y)   # Çıkarma → 3  
print(x * y)   # Çarpma → 10  
print(x // y)  # Tam bölme → 2  
print(x % y)   # Mod alma → 1  
print(x ** y)  # Üs alma → 25

2. float (Ondalıklı Sayılar)

Ondalık içeren sayılar float tipindedir.

pi = 3.14
negative = -12.5
decimal = 0.0

📝 Not: Ondalık ayırıcı olarak nokta (.), virgül (,) değil kullanılır.

float ile işlemler:

a = 7.5
b = 2
print(a + b)  # 9.5  
print(a / b)  # 3.75

int ve float birlikte kullanılabilir. Sonuç genellikle float olur:

print(4 + 2.0)  # 6.0

3. complex (Karmaşık Sayılar)

Python, ileri düzey matematikte kullanılan karmaşık sayıları destekler. Sanal kısmı belirtmek için j kullanılır (i değil).

z = 3 + 4j
print(type(z))  # <class 'complex'>

Gerçek ve sanal kısımlar:

print(z.real)  # 3.0  
print(z.imag)  # 4.0

Karmaşık sayılarla işlemler:

a = 2 + 3j
b = 1 - 1j
print(a + b)  # (3+2j)  
print(a * b)  # (5+1j)

Tür Dönüşümü (Type Conversion / Casting)

Farklı sayı türleri arasında dönüşüm yapmanız gerekebilir. Python bunu kolaylaştırır:

x = 10
print(float(x))      # 10.0

y = 3.7
print(int(y))        # 3 (ondalık kısmı atılır)

z = 5
print(complex(z))    # (5+0j)

Veri Tipini Öğrenmek için 

type()

 Fonksiyonu

print(type(7))       # <class 'int'>  
print(type(2.5))     # <class 'float'>  
print(type(3 + 1j))  # <class 'complex'>

Gelişmiş İşlemler için “math Modülü

Python’un yerleşik math modülü, özellikle float tipleriyle çalışırken gelişmiş fonksiyonlar sunar:

import math

print(math.sqrt(16))     # Karekök: 4.0  
print(math.pow(2, 3))    # Üs alma: 8.0  
print(math.pi)           # Pi sayısı  
print(math.floor(4.9))   # Aşağı yuvarlama: 4  
print(math.ceil(4.1))    # Yukarı yuvarlama: 5

Uygulama Görevi

Bilgisayarınızda aşağıdaki örneği çalıştırın ve çıktıyı gözlemleyin:

a = float(input("Birinci sayıyı girin: "))
b = float(input("İkinci sayıyı girin: "))
print(f"Toplam: {a + b}")
print(f"Fark: {a - b}")
print(f"Çarpım: {a * b}")
print(f"Bölüm: {a / b}")

Ödevler

Alıştırma 1 — Veri Tipini Belirle

Aşağıdaki değişkenlerin veri tipini type() ile yazdıran bir Python betiği yazın:

a = 17
b = 3.14
c = -5
d = 2 + 3j
e = 0.0

Beklenen çıktı:

<class 'int'>
<class 'float'>
<class 'int'>
<class 'complex'>
<class 'float'>

Alıştırma 2 — Temel Aritmetik İşlemler

İki sayı alın, dört temel işlemi yapın: toplama, çıkarma, çarpma, bölme. Sayılar ondalıklı olabilir.

Örnek çıktı:

Birinci sayı: 8.5  
İkinci sayı: 2  
Toplam: 10.5  
Fark: 6.5  
Çarpım: 17.0  
Bölüm: 4.25

Alıştırma 3 — Tür Dönüşümü

Aşağıdaki dönüşüm sonuçlarını tahmin edin ve her değişkenin değeri ile tipini yazdırın:

x = 5
y = 3.8

x_float = float(x)
y_int = int(y)
z_complex = complex(x)

print(x_float)
print(type(x_float))
print(y_int)
print(type(y_int))
print(z_complex)
print(type(z_complex))

Alıştırma 4 — Karmaşık Sayılarla İşlem

Aşağıdaki karmaşık sayıları toplayan ve çarpan bir Python betiği yazın:

z1 = 4 + 2j
z2 = 1 - 5j

z_sum = z1 + z2
z_product = z1 * z2

print(f"Toplam: {z_sum}")         # (5-3j)
print(f"Çarpım: {z_product}")     # (14-18j)

Alıştırma 5 — math Modülü Kullanımı

Aşağıdaki işlemleri yapan bir program yazın:

  • 25’in karekökü
  • 3.2 sayısını aşağı yuvarlama
  • 6.8 sayısını yukarı yuvarlama
  • 2 üzeri 5
  • Pi sayısını yazdırma

İpucu: import math komutunu unutmayın.


Cevaplar

Alıştırma 1

a = 17
b = 3.14
c = -5
d = 2 + 3j
e = 0.0

print(type(a))  # <class 'int'>
print(type(b))  # <class 'float'>
print(type(c))  # <class 'int'>
print(type(d))  # <class 'complex'>
print(type(e))  # <class 'float'>

Alıştırma 2

a = float(input("Birinci sayı: "))  # örnek: 8.5
b = float(input("İkinci sayı: "))   # örnek: 2

print(f"Toplam: {a + b}")         # 10.5
print(f"Fark: {a - b}")           # 6.5
print(f"Çarpım: {a * b}")         # 17.0
print(f"Bölüm: {a / b}")          # 4.25

📝 Not: Çıktı, kullanıcının girişine bağlı olarak değişecektir.


Alıştırma 3

x = 5
y = 3.8

x_float = float(x)
y_int = int(y)
z_complex = complex(x)

print(x_float)       # 5.0
print(type(x_float)) # <class 'float'>

print(y_int)         # 3
print(type(y_int))   # <class 'int'>

print(z_complex)     # (5+0j)
print(type(z_complex))  # <class 'complex'>

Alıştırma 4

z1 = 4 + 2j
z2 = 1 - 5j

z_sum = z1 + z2
z_product = z1 * z2

print(f"Toplam: {z_sum}")         # (5-3j)
print(f"Çarpım: {z_product}")     # (14-18j)

Alıştırma 5

import math

print(math.sqrt(25))     # 5.0
print(math.floor(3.2))   # 3
print(math.ceil(6.8))    # 7
print(math.pow(2, 5))    # 32.0
print(math.pi)           # 3.141592653589793

Artık Python’daki temel sayı türleriyle çalışmaya başlayabilirsiniz 👏

Proje Yöneticileri için Python #1

Yakın zamanda “Yeni Başlayanlar için Python” adlı bir kursa kaydoldum, ancak bu eğitime farklı bir bakış açısıyla yaklaşıyorum. Yazılım geliştirici olmak için değil, bir proje yöneticisi olarak kod yazmayı öğrenmek istiyorum.

Blog sayfam üzerinden ise öğrendiklerimi paylaşacağım — yalnızca ilerlememi belgelemek için değil, aynı zamanda öğrendiklerimi pekiştirmek ve üzerine düşünmek için.

Aynı zamanda amacım, proje yöneticisi rolümde kodlamayı bir araç olarak kullanmak — görevleri otomatikleştirmek, verileri analiz etmek ve yönettiğim sistemleri daha iyi anlamak.

Birinci derste şunları ele alacağız:

  • Python’un neden bu kadar popüler ve çok yönlü bir dil olduğu
  • Kodlama ortamınızın nasıl kurulacağı (Google Colab dahil)
  • İlk Python betiğinizin (script) nasıl çalıştırılacağı

Neden Python Öğrenmelisiniz?

Python, programlama dünyasının İsviçre çakısı gibidir. Milyonlarca insanın onu sevmesinin nedenleri:

  • Basit ve okunması kolay — Söz dizimi İngilizce’ye benzer.
  • Çok yönlü olması — Web geliştirme, veri bilimi, otomasyon, yapay zeka, finans, oyun geliştirme ve daha fazlasında kullanılır.
  • Büyük bir topluluk — Bol miktarda öğretici, kütüphane ve topluluk desteği vardır.
  • Harika iş fırsatları — Python, sürekli olarak en çok talep gören diller arasında yer alır.

Gerçek Hayattaki Kullanım Alanları

  • Veri Bilimi: Pandas, NumPy gibi kütüphanelerle veri analizi
  • Web Geliştirme: Flask, Django ile uygulama oluşturma
  • Finans: Risk modelleme, otomasyon, işlem botları
  • Otomasyon: Sıkıcı işleri sizin yerinize yapan betikler yazmak
  • Yapay Zeka & Makine Öğrenmesi: TensorFlow, PyTorch ile model eğitmek
  • Eğitim: Çocuklara kodlamayı öğretmek

Python Ortamınızı Kurmak

Python kodu yazmanın ve çalıştırmanın üç yaygın yolu vardır. Bunlardan sadece birine ihtiyacınız var ve biz yeni başlayanlar için Google Colab’ı öneriyoruz.

Google Colab (Yeni Başlayanlar için Önerilen)

  • Kurulum gerekmez
  • Tarayıcınızda çalışır
  • Kod yazmak, test etmek ve başkalarıyla paylaşmak için idealdir

Şuraya gidin: https://colab.research.google.com

“New Notebook”a tıklayın ve kodlamaya hazırsınız!


İlk Python Betiğinizi Çalıştırmak

İlk Python satırınızı yazalım ve çalıştıralım!

Google Colab kullanıyorsanız, aşağıdaki satırı bir hücreye yapıştırın ve Shift + Enter tuşlarına basın:

print("Hello, Python world! 🚀")

Çıktı olarak şunu görmelisiniz:

Hello, Python world! 🚀

Tebrikler! İlk Python programınızı yazdınız 🎉


Uygulamalı Mini Alıştırma

Aşağıdaki satırları yeni Colab kod hücrelerine yazıp çalıştırın:

# Python'da matematik
print(5 + 3)

# Basit bir mesaj
print("Learning Python is fun!")

# Metinleri birleştirme
print("Hello" + " " + "World!")

Özet

Artık şunları yaptınız:

✅ Python’un neden güçlü bir araç olduğunu öğrendiniz

✅ Python kodlama ortamınızı (Google Colab) kurdunuz

✅ İlk Python betiğinizi yazıp çalıştırdınız

Harika bir başlangıç yaptınız, tebrikler! 🚀👏