Metodoloji
Katılımcıların kapsamı
2020 Yazılım Geliştirici Ekosistemi Anketine 34.000'den fazla kişi katıldı. Bu rapor 18 ülkeden 19.696 yazılım geliştiricisinin yanıtlarına dayalıdır ve bu yanıtların ağırlığı aşağıdaki paragraflarda açıklandığı gibi belirlenmiştir. Rapordaki grafiklerin her biri, her konu için alınan en az 300 yanıta dayalı verilerle oluşturulmuştur.
Yanıt yükünü azaltma
Anketi kısaltmak ve yanıt yükünü azaltmak için, bazı bölümler katılımcılara rastgele gösterildi. Katılımcıların sadece iki tanesini görebildiği altı rastgele hale getirilmiş bölüm vardı:
- Sürekli Tümleştirme, Sorun İzleme araçları ve VCS
- Sınama
- DevOps ve Barındırma
- Statik analiz, Açık kaynak vb.
- Eğitim
- Platformlar arasılık ve Mikro hizmetler
Örneğin, bir katılımcı iş rolü olarak Test Görevlisi / KK Mühendisi veya DevOps Mühendisi / Altyapı Geliştiricisi rolünü seçtiyse, iş rolüne dair belirli bir bölüm ve rastgele seçilmiş bir diğer bölüm kesin olarak verilir.
Hedefleme
Potansiyel anket katılımcılarını anketi tamamlamaya davet etmek için Twitter reklamlarını, Facebook reklamlarını, Instagram'ı, Quora'yı, Vkontakte'yi, Codefund'ı, Baidu'yu ve JetBrains'in kendi iletişim kanallarını kullandık.
Reklam kampanyamızda, iki hedefleme dalgası kullandık. İlk dalga belirli ülkeleri hedeflerken ikincisi, nadiren kullanılan programlama dillerini hedefleyerek bu programlama dilleriyle ilgili bölümlerde sapmayı azaltmaya çalıştı. Ruby, Scala, Rust, Swift ve Objective-C dillerini hedef olarak aldık. Ayrıca katılımcılardan anket bağlantısını meslektaşlarıyla paylaşmalarını talep ettik.
Ülkeler
Arjantin, Belarus, Brezilya, Kanada, Çin, Fransa, Almanya, Hindistan, Japonya, Meksika, Polonya, Rusya, Güney Kore, İspanya, Türkiye, Ukrayna, Birleşik Krallık ve Amerika Birleşik Devletleri'nden yeterince büyük örnekler topladık. Dünyadaki yazılım geliştiricilerin yaklaşık %70'i bu 18 ülkede yaşadığından örneğimizin güncel Yazılım Geliştirici Ekosistemini temsil edebildiğini düşünüyoruz.
Yerelleştirme
İngilizce konuşmayan katılımcılara karşı olası önyargıları minimize etmek için, anket ek olarak 8 dilde daha sunulmuştur: Çince, Fransızca, Almanca, Japonca, Korece, Portekizce, İspanyolca ve Türkçe.
Örneklem taraflılığını azaltma
Bu rapor, taraflılığı en aza indirmek için Twitter reklamlarından, Facebook reklamlarından, Instagram'dan, Quora'dan, Vkontakte'den, Codefund'tan, Baidu reklamlarından ve katılımcı yönlendirmelerinden gelen yanıtlara göre ağırlıklandırılan verilere dayalıdır.
Ağırlıklandırma prosedürlerine dayalı sonuçlar oluşturmak için her katılımcının kaynağını tek tek hesaba kattık. Dünyadaki geliştirici nüfusunun daha az taraflılığa sahip bir panoramasını elde etmek için üç aşamalı bir ağırlıklandırma gerçekleştirdik.
İlk ağırlıklandırma durumu: 18 ülkedeki profesyonel yazılımcıların sayısı
İlk aşamada, farklı ülkeleri hedef alırken topladığımız yanıtları bir araya getirdik, daha sonra her ülkedeki profesyonel yazılım geliştiricisi nüfuslarına dair tahminlerimizi bu verilere ekledik.
Öncelikle, 18 hedef ülkede çeşitli sosyal ağlarda yayınlanan reklamlardan gelen profesyonel yazılım geliştiricilerinin ve çalışan öğrencilerin anket verilerini ve çeşitli meslektaş yönlendirmelerinden gelen verileri topladık. Daha sonra bu 18 ülkedeki profesyonel geliştirici nüfus tahminimize göre tüm bu yanıtlara bir ağırlık atadık. Böylece yanıtların dağılımının her bir ülkedeki profesyonel yazılım geliştiricilerine dair tahminlerimizle eşleşmesini sağladık.
İkinci ağırlıklandırma durumu: Şu anki çalışan ve işsiz yazılımcı durumu
İkinci aşamada, öğrenci ve işsiz katılımcı (aynı dış reklam kampanyalarıyla bize gelenler) oranını her ülke için %17'de tuttuk. Bunu önceki yılın metodolojisiyle tutarlılığı sağlamak için yaptık, zira nüfuslarına dair sahip olduğumuz tek tahmin budur.
Sonuç olarak, dış kaynaklardan, ülkeye ve çalışma durumlarına göre ağırlığı hesaplanmış 10.116 yanıtlık bir dağılımımız var.
Üçüncü ağırlıklandırma aşaması: istihdam durumu, programlama dilleri, JetBrains ürünlerinin kullanımı
Üçüncü aşama epey karmaşıktı ve denklem sistemlerinin çözümüyle elde edilen hesaplamalar içeriyordu. Bu ağırlıklı 10.116 yanıtı ele aldık. Her ülkeden geliştiriciler için, çalışma durumlarıyla birlikte, 30+ programlama dilinin her birinin paylarını ve "Şu anda JetBrains ürünleri kullanıyorum" ve "JetBrains'i veya ürünlerini hiç duymadım" yanıtlarını verenlerin paylarını hesapladık. Bu paylar, denklemlerimizde sabit sayılara dönüştüler.
Sonraki adım, diğer kaynaklardan iki yanıt grubu daha eklemekti: JetBrains sosyal ağ hesapları ve araştırma panelimiz gibi JetBrains dahili iletişim kanalları ve belirli programlama dillerinin kullanıcılarını hedef alan sosyal ağ reklam kampanyaları. Bu bize 9580 yanıt daha getirdi; tüm bu payları aynı tutabilmek için bunları ağırlıklı olarak hesapladık.
30'dan fazla doğrusal denklem ve eşitsizlik sisteminin çözümü
30+ lineer denklem ve eşitsizlik içeren bir sistem oluşturduk ve şunları açıkladık:
- Katılımcıların ağırlıklandırma katsayıları (örneğin, örneklemimizden Pierre Fransa'dan 180 yazılım geliştiricisini temsil ediyor).
- Yanıtların özgül değerleri (Pierre C++ kullanıyor, tam zamanlı çalışıyor ve JetBrains'i hiç duymamış).
- Yanıtlar arasında zorunlu oranlar (örneğin, geliştiricilerin %27'si, son 12 ayda C++ kullandı gibi).
Ağırlıklandırma katsayılarında minimum sapma (bu önemlidir!) ile bu denklemler sistemini çözmek için Goldfarb ve Idnani (1982, 1983) ikili yöntemini kullandık Bu yöntem katılımcılar için optimal bireysel ağırlıklandırma katsayılarını harmanlamamıza yardımcı oldu.
Devam eden taraflılık
Bu önlemlere rağmen muhtemelen bazı önyargılar yine de var, çünkü ortalama olarak JetBrains kullanıcılarının anketi tamamlamaya daha çok istekli olmaları gerekirdi.
Ayrıca, topluluk ekosistemimiz gelişiyor ve ağırlıklı hesaplama aşamalarımıza ve çabalarımıza rağmen verilerde dalgalanma olabilir. Örneğin, JVM için uygulamalarını derleyen Kotlin kullanıcılarının payı, Kotlin dilinin genel payında herhangi bir değişiklik olmamasına rağmen kaynaklarımızdaki Kotlin/JVM taraflılığından dolayı verilerimizde büyüdü.
Gelecekte ağırlıklandırma metodolojimizi güncellemeye ve geliştirmeye devam edeceğiz. DevEco 2021 raporumuz için takipte kalın!
Doğru aracı bulun
Zaman ayırdığınız için teşekkür ederiz!
Raporumuzu faydalı bulduğunuzu umuyoruz. Bu raporu arkadaşlarınızla ve meslektaşlarınızla paylaşın.
JetBrains Tech Insights Lab'e katılın
JetBrains ürünlerinin kullanımını daha kolay ve çok daha güçlü hâle getirmek için anketlere ve kullanıcı deneyimi çalışmalarına katılın. Araştırmamıza katılarak ödül kazanma şansına da sahip olursunuz.
Eğer herhangi bir soru ya da öneriniz varsa, bizimle surveys@jetbrains.com adresinden temasa geçebilirsiniz.