CINXE.COM

Stack Overflow Insights - Developer Hiring, Marketing, and User Research

<!DOCTYPE html> <html class="html__responsive html__unpinned-leftnav"> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <head prefix="og: http://ogp.me/ns#"> <title>Stack Overflow Insights - Developer Hiring, Marketing, and User Research</title> <link rel="shortcut icon" href="./legacy-assets/Sites/stackoverflow/Img/favicon3804.ico?v=ec617d715196"> <link rel="apple-touch-icon image_src" href="./legacy-assets/Sites/stackoverflow/Img/apple-touch-icon452c.png?v=c78bd457575a"> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@StackOverflow" /> <meta name="twitter:domain" content="stackoverflow.com" /> <meta property="og:type" content="website" /> <meta name="description" content="Use Stack Overflow Insights and get information required to understand, reach, and attract developers.Improve tech hiring, recruiting, developer marketing, and and planning initiatives." /> <meta property="og:image" itemprop="image primaryImageOfPage" content="./legacy-assets/Sites/stackoverflow/Img/apple-touch-icon%4028a00.png?v=73d79a89bded" /> <meta name="twitter:title" property="og:title" itemprop="title name" content="Stack Overflow" /> <meta name="twitter:description" property="og:description" itemprop="description" content="Use Stack Overflow Insights and get information required to understand, reach, and attract developers.Improve tech hiring, recruiting, developer marketing, and and planning initiatives." /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script async src="./legacy-assets/Js/third-party/stacks/stacks.min06a9.js?v=636658ad2e24"></script><script id="webpack-public-path" type="text/uri-list">https://cdn.sstatic.net/</script><script src="./legacy-assets/Js/stub.encb1f.js?v=263a43986782"></script> <link rel="stylesheet" type="text/css" href="./legacy-assets/Shared/stacks9c0b.css?v=9b3c752346b4"> <link rel="stylesheet" type="text/css" href="./legacy-assets/Sites/stackoverflow/primarydf0f.css?v=7b2b38645ccd"> <link rel="stylesheet" type="text/css" href="./legacy-assets/insights/Styles/all.minb70e.css?v=37af5376790d"> </head> <body class="new-topbar"> <header style="border-top-color:rgb(231, 112, 13);border-bottom-color:rgb(214, 217, 220)" class="s-topbar bb bg-white bs-none h64 ps-absolute md:ps-static t0 r0 l0"> <div class="wmx12 w100 mx-auto d-flex ai-center ff-sans"> <a href="/" class="s-topbar--logo h:bg-black-050 bar-md pr0 py6"> <svg aria-hidden="true" class="svg-icon iconGlyph native" width="25" height="30" viewBox="0 0 25 30"><path fill="#BCBBBB" d="M21 27v-8h3v11H0V19h3v8z"></path><path fill="#F48024" d="M17.1.2 15 1.8l7.9 10.6 2.1-1.6zm3.7 14.7L10.6 6.4l1.7-2 10.2 8.5zM7.2 12.3l12 5.6 1.1-2.4-12-5.6zm-1.8 6.8 13.56 1.96.17-2.38-13.26-2.55zM19 25H5v-3h14z"></path></svg> </a> <span class="fc-black-700 fw-bold fs-body3 bl ml12 pl12 bc-black-200"> Developer Survey </span> <div class="s-navigation ml-auto"> <a href="https://trends.stackoverflow.co/" class="s-navigation--item">Tag Trends</a> <a href="https://survey.stackoverflow.co/" class="s-navigation--item is-selected">Developer Survey</a> </div> </div> </header> <script> StackExchange.ready(function () { StackExchange.topbar.init(); }); StackExchange.scrollPadding.setPaddingTop(50, 10); </script> <div class="container"> <div id="content"> <div class="hs4 mb16 sm:pl8 sm:pr8 ps-relative" id=""> <div class="d-flex flex__center pb8 h100"> <div class="flex--item ta-center wmx5"> <h1 class="fs-headline2 fc-blue-500 mb12">Stack Overflow<br />Annual Developer Survey</h1> <h2 class="fs-body3 fc-black ws4">Learn from the world's largest and most trusted community of professional software developers.</h2> </div> </div> <div class="z-base ps-absolute t0 r0 b0 l0" id="particles"></div> </div> <div class="w100 mt32 px16"> <div class="insights-survey-body"> <div class="content"> <div class="g-row"> <div class="gcol8"> <h4 class="subhead">Stack Overflow Annual Developer Survey</h4> <div class="copy-container"> <p class="year">2024</p> <p class="body-copy">In May 2024 over 65,000 developers responded to our annual survey about coding, working, AI and how they feel about all of those topics and more.</p> <p> <a href="https://survey.stackoverflow.co/2024" target="_blank">View Survey Results</a> &bull; <a data-year="2024" target="_blank" class="js-download-link js-gps-track" href="https://cdn.sanity.io/files/jo7n4k8s/production/262f04c41d99fea692e0125c342e446782233fe4.zip/stack-overflow-developer-survey-2024.zip" data-gps-track="insights.full_csv({year: 2024})">Download Full Data Set (CSV)</a> </p> </div> <div class="past-years"> <h5>Past Years</h5> <ul> <li class="w100"> <div class="year">2023</div> <div class="text"> <p> <a href="https://survey.stackoverflow.co/2023" target="_blank">View Results</a> &bull; <a data-year="2023" target="_blank" class="js-download-link js-gps-track" href="https://cdn.stackoverflow.co/files/jo7n4k8s/production/49915bfd46d0902c3564fd9a06b509d08a20488c.zip/stack-overflow-developer-survey-2023.zip" data-gps-track="insights.full_csv({year: 2023})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2022</div> <div class="text"> <p> <a href="https://survey.stackoverflow.co/2022" target="_blank">View Results</a> &bull; <a data-year="2022" target="_blank" class="js-download-link js-gps-track" href="https://info.stackoverflowsolutions.com/rs/719-EMH-566/images/stack-overflow-developer-survey-2022.zip" data-gps-track="insights.full_csv({year: 2022})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2021</div> <div class="text"> <p> <a href="2021" target="_blank">View Results</a> &bull; <a data-year="2021" target="_blank" class="js-download-link js-gps-track" href="https://info.stackoverflowsolutions.com/rs/719-EMH-566/images/stack-overflow-developer-survey-2021.zip" data-gps-track="insights.full_csv({year: 2021})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2020</div> <div class="text"> <p> <a href="2020" target="_blank">View Results</a> &bull; <a data-year="2020" target="_blank" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2020.zip" data-gps-track="insights.full_csv({year: 2020})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2019</div> <div class="text"> <p> <a href="2019" target="_blank">View Results</a> &bull; <a data-year="2019" target="_blank" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2019.zip" data-gps-track="insights.full_csv({year: 2019})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2018</div> <div class="text"> <p> <a href="2018" target="_blank">View Results</a> &bull; <a data-year="2018" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2018.zip" data-gps-track="insights.full_csv({year: 2018})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2017</div> <div class="text"> <p> <a href="2017" target="_blank">View Results</a> &bull; <a data-year="2017" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2017.zip" data-gps-track="insights.full_csv({year: 2017})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2016</div> <div class="text"> <p> <a href="2016" target="_blank">View Results</a> &bull; <a data-year="2016" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2016.zip" data-gps-track="insights.full_csv({year: 2016})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2015</div> <div class="text"> <p> <a href="2015" target="_blank">View Results</a> &bull; <a data-year="2015" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2015.zip" data-gps-track="insights.full_csv({year: 2015})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2014</div> <div class="text"> <p> <a href="https://stackoverflow.blog/2014/02/2013-stack-overflow-user-survey-results/" target="_blank">View Results</a> &bull; <a data-year="2014" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2014.zip" data-gps-track="insights.full_csv({year: 2014})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2013</div> <div class="text"> <p> <a href="https://stackoverflow.blog/2013/01/2012-stack-overflow-user-survey-results/" target="_blank">View Results</a> &bull; <a data-year="2013" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2013.zip" data-gps-track="insights.full_csv({year: 2013})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2012</div> <div class="text"> <p> <a href="https://stackoverflow.blog/2012/02/survey-results/" target="_blank">View Results</a> &bull; <a data-year="2012" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2012.zip" data-gps-track="insights.full_csv({year: 2012})">Download Full Data Set (CSV)</a> </p> </div> </li> <li class="w100"> <div class="year">2011</div> <div class="text"> <p> <a href="https://stackoverflow.blog/2011/01/11/survey-says/" target="_blank">View Results</a> &bull; <a data-year="2011" class="js-download-link js-gps-track" href="./datasets/stack-overflow-developer-survey-2011.zip" data-gps-track="insights.full_csv({year: 2011})">Download Full Data Set (CSV)</a> </p> </div> </li> </ul> </div> </div> <div class="g-col4 aside"> </div> </div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script> <script> (function () { var config = { "particles": { "number": { "value": 100, "density": { "enable": true, "value_area": 800 } }, "color": { "value": "#848D95" }, "shape": { "type": "circle", "stroke": { "width": 0, "color": "#848D95" }, "polygon": { "nb_sides": 5 }, "image": { "width": 100, "height": 100 } }, "opacity": { "value": 0.5, "random": false, "anim": { "enable": false, "speed": 1, "opacity_min": 0.1, "sync": false } }, "size": { "value": 3, "random": true, "anim": { "enable": false, "speed": 40, "size_min": 0.1, "sync": false } }, "line_linked": { "enable": true, "distance": 150, "color": "#848D95", "opacity": 0.4, "width": 1 }, "move": { "enable": true, "speed": 3, "direction": "none", "random": false, "straight": false, "out_mode": "out", "bounce": false, "attract": { "enable": false, "rotateX": 600, "rotateY": 1200 } } }, "interactivity": { "detect_on": "canvas", "events": { "onclick": { "enable": true, "mode": "push" }, "resize": true }, "modes": { "grab": { "distance": 400, "line_linked": { "opacity": 1 } }, "bubble": { "distance": 400, "size": 40, "duration": 2, "opacity": 8, "speed": 3 }, "repulse": { "distance": 200, "duration": 0.4 }, "push": { "particles_nb": 4 }, "remove": { "particles_nb": 2 } } }, "retina_detect": true } //For some reason, on the main page on local it doesn't load before a resize. TOOD: Investigate and confirm is local only. $(window).load(function() { particlesJS("particles", config); }); })() </script> </div> </div> <!-- <footer id="footer" class="site-footer js-footer" role="contentinfo"> <div class="site-footer--container"> <div class="site-footer--logo"> <a href="https://stackoverflow.com/"><svg aria-hidden="true" class="native svg-icon iconLogoGlyphMd" width="32" height="37" viewBox="0 0 32 37"><path d="M26 33v-9h4v13H0V24h4v9h22Z" fill="#BCBBBB"/><path d="m21.5 0-2.7 2 9.9 13.3 2.7-2L21.5 0ZM26 18.4 13.3 7.8l2.1-2.5 12.7 10.6-2.1 2.5ZM9.1 15.2l15 7 1.4-3-15-7-1.4 3Zm14 10.79.68-2.95-16.1-3.35L7 23l16.1 2.99ZM23 30H7v-3h16v3Z" fill="#F48024"/></svg></a> </div> <nav class="site-footer--nav"> <div class="site-footer--col"> <h5 class="-title"><a href="https://stackoverflow.com/" class="js-gps-track" data-gps-track="footer.click({ location: 0, link: 15})">Stack Overflow</a></h5> <ul class="-list js-primary-footer-links"> <li><a href="https://stackoverflow.com/questions" class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 16})">Questions</a></li> </ul> </div> <div class="site-footer--col"> <h5 class="-title"><a href="https://stackoverflow.com/?products" class="js-gps-track" data-gps-track="footer.click({ location: 0, link: 19 })">Products</a></h5> <ul class="-list"> <li><a href="https://stackoverflow.co/teams" class="js-gps-track -link" data-ga="[&quot;teams traffic&quot;,&quot;footer - site nav&quot;,&quot;stackoverflow.com/teams&quot;,null,{&quot;dimension4&quot;:&quot;teams&quot;}]" data-gps-track="footer.click({ location: 0, link: 29 })">Teams</a></li> <li><a href="https://stackoverflow.co/advertising" class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 21 })">Advertising</a></li> <li><a href="https://stackoverflow.co/collectives" class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 40 })">Collectives</a></li> <li><a href="https://stackoverflow.co/talent" class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 20 })">Talent</a></li> </ul> </div> <div class="site-footer--col"> <h5 class="-title"><a class="js-gps-track" data-gps-track="footer.click({ location: 0, link: 1 })" href="https://stackoverflow.co/">Company</a></h5> <ul class="-list"> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 1 })" href="https://stackoverflow.co/">About</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 27 })" href="https://stackoverflow.co/company/press">Press</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 9 })" href="https://stackoverflow.co/company/work-here">Work Here</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 7 })" href="https://stackoverflow.com/legal">Legal</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 8 })" href="https://stackoverflow.com/legal/privacy-policy">Privacy Policy</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 37 })" href="https://stackoverflow.com/legal/terms-of-service">Terms of Service</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 13 })" href="https://stackoverflow.co/company/contact">Contact Us</a></li> <li class="" id="consent-footer-link"><a class="js-gps-track -link js-cookie-settings" data-gps-track="footer.click({ location: 0, link: 38 })" href="#" data-consent-popup-loader="footer">Cookie Settings</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link: 39 })" href="https://stackoverflow.com/legal/cookie-policy">Cookie Policy</a></li> </ul> </div> <div class="site-footer--col site-footer--categories-nav"> <div> <h5 class="-title"><a href="https://stackexchange.com/" data-gps-track="footer.click({ location: 0, link: 30 })">Stack Exchange Network</a></h5> <ul class="-list"> <li> <a href="https://stackexchange.com/sites#technology" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 24 })"> Technology </a> </li> <li> <a href="https://stackexchange.com/sites#culturerecreation" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 24 })"> Culture &amp; recreation </a> </li> <li> <a href="https://stackexchange.com/sites#lifearts" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 24 })"> Life &amp; arts </a> </li> <li> <a href="https://stackexchange.com/sites#science" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 24 })"> Science </a> </li> <li> <a href="https://stackexchange.com/sites#professional" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 24 })"> Professional </a> </li> <li> <a href="https://stackexchange.com/sites#business" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 24 })"> Business </a> </li> <li class="mt16 md:mt0"> <a href="https://api.stackexchange.com/" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 24 })"> API </a> </li> <li> <a href="https://data.stackexchange.com/" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 24 })"> Data </a> </li> </ul> </div> </div> </nav> <div class="site-footer--copyright fs-fine md:mt24"> <ul class="-list -social md:mb8"> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 0, link:4 })" href="https://stackoverflow.blog/?blb=1">Blog</a></li> <li><a href="https://www.facebook.com/officialstackoverflow/" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 31 })">Facebook</a></li> <li><a href="https://twitter.com/stackoverflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 32 })">Twitter</a></li> <li><a href="https://linkedin.com/company/stack-overflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 33 })">LinkedIn</a></li> <li><a href="https://www.instagram.com/thestackoverflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 0, link: 36 })">Instagram</a></li> </ul> <p class="md:mb0"> site design / logo &#169; 2022 Stack Exchange Inc; user contributions licensed under <a href="https://stackoverflow.com/help/licensing">cc by-sa</a>. <span id="svnrev">rev&nbsp;2022.3.23.41750</span> </p> </div> </div> </footer> --> <!-- Removed for tracking compliance <script> (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject '] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m); })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-108242619-9', 'auto', { 'allowLinker': true //Accept cross domain linker parameters }); ga('require', 'linker'); //Include linker plugin ga('linker:autoLink', ['stackoverflow.blog', 'stackoverflow.com']); //Add linker when links found ga('send', 'pageview'); // legacy ga('create', 'UA-5620270-1', 'auto', 'legacyTracker'); ga('legacyTracker.send', 'pageview'); </script> <script type="text/javascript"> var utm = function (q) { var results = new RegExp('[\\?&]utm_' + q + '=([^&#]*)').exec(window.location.href); if (!results) { return undefined; } return decodeURIComponent(results[1]) || undefined; }; StackExchange.log_utm = function (eventName, customData) { var refererHost = $('<a>').attr('href', document.referrer)[0].host || undefined; var data = { referer_host: refererHost, utm_source: utm('source'), utm_medium: utm('medium'), utm_campaign: utm('campaign'), utm_content: utm('content'), utm_term: utm('term') }; if (customData) data = $.extend(data, customData); StackExchange.using("gps", function() { StackExchange.gps.track(eventName, data); }) }; </script> <script type="text/javascript"> StackExchange.log_utm('survey_home.view'); </script> --> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10