Розробники, які використовують пробіли заробляють більше 😮

4 хв. читання

Ви використовуєте таби чи пробіли для відступу в коді?

Це такий собі «холівар» серед розробників ПЗ, який завжди був предметом багатьох дискусій та жартів. Я використовую пробіли, проте ніколи не думав, що це має практичне значення. Але сьогодні ми маємо вихідні дані від Stack Overflow 2017 Developer Survey і аналіз показує, що цей вибір має більше значення, ніж ми думали.

Пробіли роблять більше грошей ніж таби

Опитали 28 657 респондентів – професійних розробників. Вони обирали між табами та пробілами. 40,7% обрали таби, 41,8% – пробіли, 17,5% – обидві техніки. 12 426 респондентів надали інформацію про свою заробітну плату.

Аналіз даних призводить до цікавого висновку. Програмісти, які використовують пробіли для відступів заробляють більше грошей, ніж ті, які використовують таби, навіть якщо вони мають однакову кількість досвіду:

Розробники, які використовують пробіли заробляють більше 😮

Середня ЗП розробника, який використовує пробіли – $ 59140, спеціаліста, що використовує таби – $ 43750. Показники розробників, які обирали варіант «Обидві», як правило, нічим не відрізняються від тих, хто відповів «Таби».

Це кумедний, але не переконливий результат. Вперше виявивши ефект, я припустив, що він не враховує такі фактори, як країна або мова програмування. Розробники в країнах з низьким рівнем ВВП на душу населення можуть активніше використовувати таби, і тому вони, як правило, мають нижчі зарплати.

Але тенденція прослідковується незалежно від країни:

Розробники, які використовують пробіли заробляють більше 😮

Ефект майже непомітний в Європі та особливо відчутний в Індії, але він з'являється в кожній країні.

Ми знаємо, що різні типи розробників використовують різні відступи (DevOps активніше використовують пробіли, розробники мобільних додатків схильні використовувати таби), через те, що вони використовують різні редактори й мови. The Developer Survey запитав про те, яку мову програмування кожен респондент використовує (Python, JavaScript, і т.д.) і в якій сфері залучений (веб-розробник, embedded розробник і т.д.).

Хіба ми бачимо розрив в кожній з цих груп?

Розробники, які використовують пробіли заробляють більше 😮

Ефект існує в кожній підгрупі розробників. (при фільтрації розробників по конкретній країні, або з певним діапазоном досвіду, результат аналогічний). Респонденти могли обрати кілька мов, так що кожна з цих груп частково накладається одна на одну.

Я зробив кілька інших візуальних оглядів можливих спотворювальних факторів (таких, як рівень освіти або розмір компанії), і виявив, в основному аналогічні результати: пробіли переважають таби в кожній групі.

Оцінка ефекту

Якщо ми контролюємо всі фактори, що впливають на зарплату, який ефект матиме вибір між табами чи пробілами?

Щоб відповісти на це питання, я використав лінійну регресію, прогнозуючи зарплату на основі наступних чинників.

  • Таби або пробіли
  • Країна
  • Роки досвіду в програмуванні
  • Тип розробника і мова програмування
  • Рівень освіти (наприклад, бакалавр, магістр, докторський ступінь)
  • Чи роблять вони внесок в проекти з відкритим вихідним кодом
  • Чи програмування є хобі
  • Розмір компанії

Модель, коли використовують пробіли замість табів призводить до більшої на 8,6% зарплатні. (При прогнозуванні логарифма заробітної плати, ми змогли оцінити відсоток зміни кожного фактору, що сприяв заробітній платі, а не суму в доларах). Іншими словами, використовувати пробіли замість табів коштує стільки ж, як додаткових 2,4 року досвіду.

Висновок

Отже ... це, звичайно, дивовижний результат, який я не очікував отримати, коли починав вивчати дані. Так, надзвичайно складно враховувати всі спотворювальні фактори. Я намагався контролювати інші фактори опитування, крім тих, що згадані тут, але було важко зробити мінімізацію.

Якщо ви вчений, статистик, або аналітик, я закликаю вас завантажити вихідні дані опитування і вивчити їх для себе. Ви можете знайти код тут, якщо ви хочете повторити дослідження. У будь-якому випадку було б цікаво почути гіпотези про ці взаємозв'язки.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація