Üniversitede öğrendiğimiz teorik bilgilerin gerçek projelerde nasıl hayat bulduğunu görmek, sanırım benim gibi her yazılımcı adayının en büyük motivasyonlarından biridir. Benim staj serüvenim de tam olarak bu hayalin gerçeğe dönüştüğü, kod satırlarının ötesinde bir "takım" olmayı öğrendiğim noktada başladı. Bu yazımda, staja ilk adım attığım günlerdeki izlenimlerimi, şirketin çalışma kültürüne nasıl adapte olduğumu ve edindiğim en büyük farkındalıkları sizlerle paylaşmak istiyorum.
Stajımın ilk günlerinde beni en çok etkileyen ve şirket kültürünün temelini oluşturduğunu fark ettiğim şey, ekibin iletişim dinamikleri oldu. Burada her iş gününe sabah saat tam 10:00'da "Daily" (Günlük) toplantılarımızla başlıyoruz. İlk başlarda sadece bir durum güncellemesi gibi görünen bu toplantıların aslında proje yönetiminin kalbi olduğunu çok çabuk anladım. Herkes sırayla dün ne yaptığını, bugün ne yapmayı planladığını ve eğer varsa karşılaştığı engelleri şeffaf bir şekilde anlatıyor. Öğrenciyken genelde kendi başıma çalışmaya alıştığım için, bu düzen sayesinde bir ekibin parçası olarak senkronize hareket etmeyi ve sorunları birlikte çözme refleksini edindim. Karşılaştığım bir zorlukta ekibin anında destek olabileceğini bilmek, adaptasyon sürecimdeki tüm stresi alıp götürdü.
Bu takım çalışması ve senkronizasyonun teknik tarafında ise beni en çok aydınlatan konu versiyon kontrol sistemleri oldu. İtiraf etmeliyim ki; staja başlamadan önce GitHub benim için sadece projelerimi kaybetmemek adına kullandığım basit bir "yedekleme diski" veya "depo"dan ibaretti. Kendi kodlarımı oraya atar ve işimi bitirirdim. Ancak profesyonel şirket ortamına girdiğimde GitHub'ın gerçek vizyonuyla tanıştım. Devasa bir projeyi birden fazla kişinin aynı anda, kodlar birbirine girmeden nasıl geliştirebildiğini deneyimlemek benim için tam bir ufuk açıcı andı. Kendi açtığım branch üzerinden çalışmayı, kodlarımı commit'leyip ana yapıya Pull Request atmayı ve takım arkadaşlarımla aynı dosya üzerinde eşzamanlı çalışmayı öğrenmek, bana amatörlükten profesyonel yazılım geliştirme sürecine geçtiğimi hissettirdi.
Özetle, stajımdaki ilk haftalarım sadece uzaktan çalışma disiplinine alışmak veya günlük commit hedeflerini tutturmaktan ibaret olmadı; kurumsal düzeyde takım olarak düşünmeyi, iletişimi ve profesyonel araçları ekibin bir uzantısı olarak kullanmayı öğrendim. İlk izlenimlerimin bana kattığı bu sağlam temel, projenin teknik kısımlarına ve kod mimarisine dalmayı daha keyifli hale getirdi.