Topluluk Biliminde Yükselen Trend: Yazılımcı Toplulukları

Topluluk dendiğinde ilk akla gelen meslek topluluklarından olan yazılımcı topluluklarını bir de bu toplulukları yönetmiş olan uzmanlarımızdan dinleyin. Keyifli okumalar!

Ilker Akansel
CMX Istanbul
5 min readNov 30, 2021

--

Google öncesindeki Internet dünyasını hatırlayanlar, bu yılların ‘tarayıcı’ savaşlarının Navigator ürünüyle meşhur olan önemli aktörlerinden Netscape’i de hatırlayabilir. Netscape’in kurucusu ve günümüzün önde gelen teknoloji yatırım organizasyonlarından Andreessen-Horowitz’in ortaklarından Marc Andreessen’in 2011 yılında Wall Street Journal’da yayınladığı ve o günlerde büyük yankılar uyandıran ‘Why Software is Eating the World — Yazılım Dünyayı Neden Yiyip Bitiriyor’ isimli makalesinin vurucu cümlesini 2021 yılının bu son günlerinde hatırlayalım:

‘’Yazılım Dünyayı yiyip bitiriyor…Gelecek 10 yıl içinde bir çok sektörün daha yazılım tarafından büyük değişimlere uğratılacağını, ve bu değişimin çoğunlukla yeni ve dünyayı dize getirecek Silikon Vadisi kuruluşları tarafından yapılacağını öngörüyorum.’’

Üretimin, pazarlamanın ve yönetimin görece geleneksel yöntemlerle yapıldığı o günlerde sektörün bir kısmının umursamadığı bu söylemin ve zamanında kuruluşların maliyet yükü olarak görülen yazılım ve veri kavramlarının, bu kehanetin gerçekleştiği 10 yıl gibi kısa bir sürede kuruluşların en ihtimam gösterdiği, olmazsa olmaz kavramlar haline geldiği günümüze geri dönelim.

1996 yapımı Jurassic Park filmindeki Dennis Nedry veya 2000 yapımı The Matrix’teki Neo karakterleri gibi içine kapanık, anlaşılması güç birer ‘simyacı’ olarak görülen yazılım geliştiriciler, günümüzde birden bire kuruluşların operasyonel ve rekabet yeteneklerini artıran önemli bileşenler ve gözde bir meslek grubu haline geldiler. Peki topluluklar bu konunun neresinde?

Fotoğraf: Alex KotliarskyiUnsplash

Yazılım Geliştirme ve Yazılım Geliştiriciliği

Yazılımcıların topluluklar ile olan ilişkisini ve toplulukların yazılımcılar için önemini anlamak için ‘yazılımcılığın’ ve ‘yazılım geliştirme’nin ne olduğuna biraz daha derinlemesine bakmamız gerekiyor.

‘Yazılım geliştirme’, uygulamaların, çerçevelerin (framework) ve diğer yazılım bileşenlerinin meydana getirilmesi ve sürdürülmesi ile ilgili düşünme, tasarlama, programlama, belgeleme, test etme ve hata düzeltme süreçlerinin tamamıdır.

Yazılım geliştirme, temelde kaynak kodunun yazılması ve sürdürülmesi sürecidir, ancak geniş açıdan bakıldığında istenen yazılımın fikir aşaması ile son haline gelmesi arasındaki tüm süreçleri kapsar. Bu süreç, ayrıca araştırma, geliştirme, prototip hazırlama, güncelleme, tekrar kullanma, yeniden yapılandırma (re-engineering), sürdürme (maintenance) veya bir yazılım ürünü sonucu çıkaran tüm diğer aktiviteleri içerebilir.

Peki, bu tanım doğrultusunda ‘yazılım geliştirici’ kimdir? Bir tanıma göre yazılım geliştirici, tipik olarak kullanıcıların ihtiyaçlarını analiz eder ve bu ihtiyaçları karşılayan yazılımları tasarlar, test eder ve geliştirir, Müşterilerin mevcut programları ve sistemleri üzerindeki yazılımların güncellenmesi ile ilgili tavsiyelerde bulunur ve bir sistemin veya uygulamanın tüm parçalarını tasarlar ve bu parçaların birlikte nasıl çalışacağını planlar.

Yazılım geliştirici, bu süreci icra ederken girdiği akışta şu üç evreyi yaşar:

Fikir Oluşturma Evresi (Ideation): Fikirlerin ve kavramların mantık ve yapı haline gelmesi

Yaratıcı Evre (Creation): Kodun yazılması, test edilmesi, deploy edilmesi

Sorun Çözme Evresi (Problem Solving): Geliştiricinin ilerlemesinin hata veya belirsizlikten dolayı etkilenmesi

Buradaki önemli nokta, Yaratıcı Evre tek başına icra edilirken Fikir Oluşturma ve ve Sorun Çözme işbirliği halinde (collaborative) olarak yapılır. Yazılım geliştiricinin bu evrelerden geçerken kullandığı en önemli araç diğer geliştiriciler ve uzmanlardan aldığı geri bildirimler ve yönlendirmelerdir. Topluluklar, işte bu noktada yazılımcı için çok büyük önem kazanırlar.

Fotoğraf: Annie SprattUnsplash

Yazılımcılar ve Topluluklar

Yukarıda detaylarını verdiğimiz yazılım geliştirme süreci, yazılım geliştirme mesleğini en işbirlikçi ve paylaşımcı mesleklerden biri haline getirmiştir. Yazılımcılar, yazılım geliştiriciliğin bir ihtiyaç, ve dolayısıyla bir meslek, haline geldiği ilk günlerden bu yana birbirlerine destek olmuş, teknoloji şirketlerinin ve kariyerlerinin hız kazandığı 1970'li yıllardan bu yana kurulan topluluklarda ve bir araya gelinen etkinliklerde oluşan sinerjiler, günümüzün önemli şirketlerine ve teknik buluşlarına ön ayak olmuştur. Buna en güzel örneklerden biri olarak 1970'li yıllarda Kaliforniya’da aktif bir topluluk olan Homebrew Computer Club’da tanışan ve sonrasında günümüzün en değerli teknoloji şirketi olan Apple Computer’ı kuran Steve Jobs ve Steve Wozniak karşılaşması verilebilir.

1990'lı yıllarda son derece hız kazanan ve hayatımızın bir parçası haline gelen İnternet, yazılım geliştirme evrelerinden özellikle problem çözme evresinin hızlanmasına yardımcı oldu. GitHub ve Stack Overflow gibi platformlar bugün çok sayıda yazılım geliştiriciye büyük kolaylıklar sağlarken fiziksel ortamdan sanal ortamlara taşınan kullanıcı ve geliştirici grupları, bugün Google Developer Groups (GDG) gibi global yazılımcı topluluklar haline dönüşerek yeni veya tecrübeli tüm yazılımcılar için önemli bir mesleki ve sosyal gelişme ve beslenme platformu haline geldiler.

Fotoğraf: Christina @ wocintechchat.comUnsplash

Toplulukların Yazılım Geliştiricilere Sağladığı Olanaklar

Yazılımcıların topluluklarda geçirdiği zamanlar ve karşılığında aldığı faydalar, topluluklar ve topluluk platformları geliştikçe yazılım geliştirme sürecinin evrelerine desteğin ötesine geçmiştir. Bu yararların bazılarını şöyle özetleyebiliriz:

  • Teknik Destek/İşbirlikleri — Fikir oluşturma ve sorun çözme evrelerinde destek (Pair/Peer Programming — Tools — Code Reviews)
  • Mentorluk ve Kariyer Destekleri — Yazılımcı kariyer yolları / Roadmap
  • Proje veya Girişim Partnerlikleri — Girişim ve proje takımı kurma
  • Yönetim ve Beraber Çalışma Becerilerini Artırma (Soft Skills)- Organizasyon, etkinlik yönetimi, görev dağıtma ve alma (delegasyon), pazarlama, bütçe yönetimi, sponsor bulma
  • Parayla Satın Alınamayacak Deneyimler-özellikle teknoloji kuruluşları tarafından desteklenen topluluklarda aktif olarak rol alan topluluk üyeleri, bu kuruluşlar tarafından çeşitli şekillerde ödüllendirilmekte, ve bunların bir kısmını konferanslara davet veya ürün geliştirme ekipleri ile bir araya gelme gibi ‘para ile satın alınamayacak deneyimler’ oluşturmakta.
Fotoğraf: Martin ShrederUnsplash

Sonuç olarak yazılımcı toplulukları, bu güncel ve gözde mesleğin önemli bir katmanı ve başarılı yazılımcıların hem kıymet verdiği hem de katkıda bulunduğu önemli bir topluluk kategorisi olarak öne çıkıyor. Topluluk yönetimi sektörü de genellikle teknik altyapısı kuvvetli, ancak bunun yanında sosyal ve topluluk yönetimi bilgi ve algıları gelişmiş olan topluluk yönetimi profesyonellerini bu toplulukları en iyi şekilde yönetmek, desteklemek ve büyütmek adına bu topluluklara özel bilgiler ve yaklaşımlarla donatıyorlar.

Yazılımcı toplulukları ile ilgili bu ilk yazımızı beğendiniz mi? Yazılımcı toplulukları, yazılım topluluğu yöneticileri ve çok yakın çalıştıkları Yazılımcı İlişkileri (Developer Relations) ekipleri ile ilgili yazılarımızı takip etmek için Medium sayfamıza abone olmayı ve Türkiye’nin ilk profesyonel topluluk yöneticileri topluluğu olan CMX Connect İstanbul’u aşağıda bulabileceğiniz sosyal medya kanallarımızdan takip etmeyi unutmayın, toplulukla kalın!

Yeni içeriklerde görüşmek üzere! 🤓

CMX Connect İstanbul ekibinden İlker Akansel

🎉 Youtube / Instagram / Linkedin / Twitter/ Etkinlikler

--

--

Ilker Akansel
CMX Istanbul

Community builder & strategist - Sustainability, AI and Talent Communities