{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "xzJRGBM0BNrr" }, "source": [ "# Part 1 – Imports and setup" ] }, { "cell_type": "markdown", "metadata": { "id": "e68abf09" }, "source": [ "#### Load Stack Overflow Developer Survey Data\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Google Colab Setup\n", "\n", "Run the cell below if you are on **Google Colab** — it installs `kagglehub` and enables inline plots. On a local machine this cell is a no-op." ] }, { "cell_type": "code", "execution_count": 152, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Local environment detected.\n" ] } ], "source": [ "%matplotlib inline\n", "%config InlineBackend.figure_format = 'retina'\n", "\n", "# ── Colab compatibility ───────────────────────────────────────────────────\n", "try:\n", " import google.colab\n", " IN_COLAB = True\n", " import subprocess\n", " subprocess.run(['pip', 'install', '-q', 'kagglehub'], check=True)\n", " # To authenticate Kaggle on Colab, run once:\n", " # from google.colab import files; files.upload() # upload kaggle.json\n", " # import os; os.makedirs(os.path.expanduser('~/.config/kaggle'), exist_ok=True)\n", " # !mv kaggle.json ~/.config/kaggle/ && chmod 600 ~/.config/kaggle/kaggle.json\n", " print('Google Colab detected -- kagglehub ready.')\n", "except ImportError:\n", " IN_COLAB = False\n", " print('Local environment detected.')" ] }, { "cell_type": "code", "execution_count": 153, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 707 }, "id": "e05bf83a", "outputId": "066ab01c-5ef4-4f2e-84fc-ab3f210e7610" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "First 5 records:\n" ] }, { "data": { "text/html": [ "
| \n", " | ResponseId | \n", "MainBranch | \n", "Age | \n", "EdLevel | \n", "Employment | \n", "EmploymentAddl | \n", "WorkExp | \n", "LearnCodeChoose | \n", "LearnCode | \n", "LearnCodeAI | \n", "... | \n", "AIAgentOrchestration | \n", "AIAgentOrchWrite | \n", "AIAgentObserveSecure | \n", "AIAgentObsWrite | \n", "AIAgentExternal | \n", "AIAgentExtWrite | \n", "AIHuman | \n", "AIOpen | \n", "ConvertedCompYearly | \n", "JobSat | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "I am a developer by profession | \n", "25-34 years old | \n", "Master’s degree (M.A., M.S., M.Eng., MBA, etc.) | \n", "Employed | \n", "Caring for dependents (children, elderly, etc.) | \n", "8.0 | \n", "Yes, I am not new to coding but am learning ne... | \n", "Online Courses or Certification (includes all ... | \n", "Yes, I learned how to use AI-enabled tools for... | \n", "... | \n", "Vertex AI | \n", "NaN | \n", "NaN | \n", "NaN | \n", "ChatGPT | \n", "NaN | \n", "When I don’t trust AI’s answers | \n", "Troubleshooting, profiling, debugging | \n", "61256.0 | \n", "10.0 | \n", "
| 1 | \n", "2 | \n", "I am a developer by profession | \n", "25-34 years old | \n", "Associate degree (A.A., A.S., etc.) | \n", "Employed | \n", "NaN | \n", "2.0 | \n", "Yes, I am not new to coding but am learning ne... | \n", "Online Courses or Certification (includes all ... | \n", "Yes, I learned how to use AI-enabled tools for... | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "When I don’t trust AI’s answers;When I want to... | \n", "All skills. AI is a flop. | \n", "104413.0 | \n", "9.0 | \n", "
| 2 | \n", "3 | \n", "I am a developer by profession | \n", "35-44 years old | \n", "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", "Independent contractor, freelancer, or self-em... | \n", "None of the above | \n", "10.0 | \n", "Yes, I am not new to coding but am learning ne... | \n", "Online Courses or Certification (includes all ... | \n", "Yes, I learned how to use AI-enabled tools for... | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "ChatGPT;Claude Code;GitHub Copilot;Google Gemini | \n", "NaN | \n", "When I don’t trust AI’s answers;When I want to... | \n", "Understand how things actually work, problem s... | \n", "53061.0 | \n", "8.0 | \n", "
| 3 | \n", "4 | \n", "I am a developer by profession | \n", "35-44 years old | \n", "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", "Employed | \n", "None of the above | \n", "4.0 | \n", "Yes, I am not new to coding but am learning ne... | \n", "Other online resources (e.g. standard search, ... | \n", "Yes, I learned how to use AI-enabled tools for... | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "ChatGPT;Claude Code | \n", "NaN | \n", "When I don’t trust AI’s answers;When I want to... | \n", "NaN | \n", "36197.0 | \n", "6.0 | \n", "
| 4 | \n", "5 | \n", "I am a developer by profession | \n", "35-44 years old | \n", "Master’s degree (M.A., M.S., M.Eng., MBA, etc.) | \n", "Independent contractor, freelancer, or self-em... | \n", "Caring for dependents (children, elderly, etc.) | \n", "21.0 | \n", "No, I am not new to coding and did not learn n... | \n", "NaN | \n", "Yes, I learned how to use AI-enabled tools for... | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "When I don’t trust AI’s answers | \n", "critical thinking, the skill to define the tas... | \n", "60000.0 | \n", "7.0 | \n", "
5 rows × 170 columns
\n", "| \n", " | ResponseId | \n", "MainBranch | \n", "Age | \n", "EdLevel | \n", "Employment | \n", "EmploymentAddl | \n", "WorkExp | \n", "LearnCodeChoose | \n", "LearnCode | \n", "LearnCodeAI | \n", "... | \n", "AIAgentOrchestration | \n", "AIAgentOrchWrite | \n", "AIAgentObserveSecure | \n", "AIAgentObsWrite | \n", "AIAgentExternal | \n", "AIAgentExtWrite | \n", "AIHuman | \n", "AIOpen | \n", "ConvertedCompYearly | \n", "JobSat | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "I am a developer by profession | \n", "25-34 years old | \n", "Master’s degree (M.A., M.S., M.Eng., MBA, etc.) | \n", "Employed | \n", "Caring for dependents (children, elderly, etc.) | \n", "8.0 | \n", "Yes, I am not new to coding but am learning ne... | \n", "Online Courses or Certification (includes all ... | \n", "Yes, I learned how to use AI-enabled tools for... | \n", "... | \n", "Vertex AI | \n", "NaN | \n", "NaN | \n", "NaN | \n", "ChatGPT | \n", "NaN | \n", "When I don’t trust AI’s answers | \n", "Troubleshooting, profiling, debugging | \n", "61256.0 | \n", "10.0 | \n", "
| 1 | \n", "2 | \n", "I am a developer by profession | \n", "25-34 years old | \n", "Associate degree (A.A., A.S., etc.) | \n", "Employed | \n", "NaN | \n", "2.0 | \n", "Yes, I am not new to coding but am learning ne... | \n", "Online Courses or Certification (includes all ... | \n", "Yes, I learned how to use AI-enabled tools for... | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "When I don’t trust AI’s answers;When I want to... | \n", "All skills. AI is a flop. | \n", "104413.0 | \n", "9.0 | \n", "
| 2 | \n", "3 | \n", "I am a developer by profession | \n", "35-44 years old | \n", "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", "Independent contractor, freelancer, or self-em... | \n", "None of the above | \n", "10.0 | \n", "Yes, I am not new to coding but am learning ne... | \n", "Online Courses or Certification (includes all ... | \n", "Yes, I learned how to use AI-enabled tools for... | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "ChatGPT;Claude Code;GitHub Copilot;Google Gemini | \n", "NaN | \n", "When I don’t trust AI’s answers;When I want to... | \n", "Understand how things actually work, problem s... | \n", "53061.0 | \n", "8.0 | \n", "
3 rows × 170 columns
\n", "| \n", " | missing_count | \n", "missing_pct | \n", "
|---|---|---|
| AIAgentObsWrite | \n", "23271 | \n", "99.22 | \n", "
| SOTagsWant Entry | \n", "23190 | \n", "98.87 | \n", "
| SOTagsHaveEntry | \n", "23166 | \n", "98.77 | \n", "
| AIModelsWantEntry | \n", "23136 | \n", "98.64 | \n", "
| AIAgentOrchWrite | \n", "23108 | \n", "98.52 | \n", "
| JobSatPoints_15_TEXT | \n", "22973 | \n", "97.95 | \n", "
| SO_Actions_15_TEXT | \n", "22942 | \n", "97.81 | \n", "
| AIModelsHaveEntry | \n", "22901 | \n", "97.64 | \n", "
| AIAgentKnowWrite | \n", "22896 | \n", "97.62 | \n", "
| AIAgentExtWrite | \n", "22815 | \n", "97.27 | \n", "
| CommPlatformWantEntr | \n", "22671 | \n", "96.66 | \n", "
| CommPlatformHaveEntr | \n", "22471 | \n", "95.80 | \n", "
| TechOppose_15_TEXT | \n", "22466 | \n", "95.78 | \n", "
| DatabaseWantEntry | \n", "22400 | \n", "95.50 | \n", "
| OfficeStackWantEntry | \n", "22387 | \n", "95.45 | \n", "
| TechEndorse_13_TEXT | \n", "22235 | \n", "94.80 | \n", "
| DevEnvWantEntry | \n", "22014 | \n", "93.86 | \n", "
| DatabaseHaveEntry | \n", "21913 | \n", "93.43 | \n", "
| WebframeWantEntry | \n", "21625 | \n", "92.20 | \n", "
| OfficeStackHaveEntry | \n", "21606 | \n", "92.12 | \n", "
| DevEnvHaveEntry | \n", "21562 | \n", "91.93 | \n", "
| AIAgentObserveSecure | \n", "21489 | \n", "91.62 | \n", "
| LanguagesWantEntry | \n", "21465 | \n", "91.52 | \n", "
| PlatformWantEntry | \n", "21223 | \n", "90.48 | \n", "
| WebframeHaveEntry | \n", "21120 | \n", "90.04 | \n", "
| AIAgentKnowledge | \n", "21077 | \n", "89.86 | \n", "
| LanguagesHaveEntry | \n", "20860 | \n", "88.94 | \n", "
| AIAgentOrchestration | \n", "20821 | \n", "88.77 | \n", "
| AIAgentImpactStrongly disagree | \n", "20627 | \n", "87.94 | \n", "
| PlatformHaveEntry | \n", "20547 | \n", "87.60 | \n", "
| \n", " | YearsCode | \n", "WorkExp | \n", "ConvertedCompYearly | \n", "
|---|---|---|---|
| count | \n", "23353.0 | \n", "22999.0 | \n", "23455.0 | \n", "
| mean | \n", "17.7 | \n", "13.7 | \n", "88219.8 | \n", "
| std | \n", "11.0 | \n", "10.1 | \n", "69256.1 | \n", "
| min | \n", "1.0 | \n", "1.0 | \n", "65.0 | \n", "
| 25% | \n", "9.0 | \n", "6.0 | \n", "39313.0 | \n", "
| 50% | \n", "15.0 | \n", "11.0 | \n", "75320.0 | \n", "
| 75% | \n", "25.0 | \n", "20.0 | \n", "120000.0 | \n", "
| max | \n", "100.0 | \n", "100.0 | \n", "440856.0 | \n", "