David Gibson, Stack Overflow Blog https://stackoverflow.blog/author/dgibson/ Essays, opinions, and advice on the act of computer programming from Stack Overflow. Tue, 30 May 2023 13:47:51 +0000 en-US hourly 1 https://stackoverflow.blog/wp-content/uploads/2017/03/cropped-SO_Logo_glyph-use-this-one-smaller-32x32.jpg David Gibson, Stack Overflow Blog https://stackoverflow.blog/author/dgibson/ 32 32 162153688 More on our AI future: building course recommendations and a new data platform https://stackoverflow.blog/2023/05/29/more-on-our-ai-future-building-course-recommendations-and-a-new-data-platform/ https://stackoverflow.blog/2023/05/29/more-on-our-ai-future-building-course-recommendations-and-a-new-data-platform/#comments Mon, 29 May 2023 14:00:00 +0000 https://stackoverflow.blog/?p=22205 Our senior data scientist goes deep in talking about how we built our course recommendation engine.

The post More on our AI future: building course recommendations and a new data platform appeared first on Stack Overflow Blog.

]]>
In April, we shared how Stack Overflow is approaching the future of AI/ML and our products. But you might not realize that we’ve already used AI/ML to build or improve Stack Overflow’s products and features.   

Every day Stack Overflow helps all types of developers learn new skills by answering their questions or helping them discover new solutions and approaches. We also know that learning is hard. Oftentimes, users don’t know what questions to ask – they don’t know what they don’t know. That’s why earlier this year, we were excited to announce more ways to learn and grow your skills with our online course recommendations. This new native advertising product recommended online courses that were selected based on the content a user viewed or is currently viewing and provided them with a structured learning path that was relevant to what they wanted to learn.

The following post dives deep into how we designed and built the recommendation system and how it has laid the foundation for other AI/ML initiatives at Stack Overflow. 

The idea

Recommending external content is nothing new to Stack Overflow. As part of our current Ads business, we offer a content/question-matching product called Direct-to-Developer. What was new about our online course recommendation system is that while developing it, we were simultaneously launching a new, modern data platform for Stack Overflow. This gave us fresh infrastructure, unrestricted tech stack options, and the opportunity to use state-of-the-art machine learning techniques.

Building upon a clean slate allowed us to hyper-focus on making the learning process easier and more efficient by bringing relevant and trusted courses to developers and technologists. We also wanted to run highly configurable experiments throughout the pilot—bonus points if we could reuse components for other initiatives. 

This lead us to build a cloud-first content-based recommendation system that recommends content that is similar to the posts you have or currently are interacting with. This system would need to account for three types of recommendations; post-to-content, user-to-content, and a fallback of the most popular. Each addressed a specific use case to ensure a relevant course could always be served while respecting user preferences. 

Our approach

Post-to-content 

At the core of a content-based recommendation system is how similarity is defined. At Stack Overflow, we have a lot of text and the catalog of courses to recommend also includes text. So we needed a way to measure the similarity between two pieces of text; a Stack Overflow post and an online course. If you are familiar with NLP (natural language processing), you know there are dozens of ways to approach this problem. Recently, there has been one approach that does extremely well: semantic similarity using embeddings from a pre-trained transformer model.

In our approach, we used a pre-trained BERT model from the `SentenceTransformers` library to generate an embedding for all 23 million Stack Overflow questions and a separate embedding for every course in the catalog. These embeddings allowed us to calculate cosine distance to determine how similar two pieces of text are. We only had a couple thousand courses, so we were able to load all the course embeddings into a nearest-neighbor model and perform a brute-force search to match courses to all questions. The output of this model is our post-to-content recommendation. 

In our prototyping phase, this approach performed extremely well! Not only was it able to find the most relevant courses, but by using the BERT model it already had foundational knowledge like “Node is related to JavaScript” and “Swift is related to Apple”. It allowed for offline evaluation and helped us identify which popular technologies on Stack Overflow were missing from the course catalog. 

User-to-content

Our post-to-content recommendations ensured that every Stack Overflow question had a list of relevant courses for an ad to be served. This provides an alternative just-in-time learning opportunity for all visitors. But for the users that opted-in to targeted ads, we wanted to provide a personalized recommendation that leveraged our first-party data.

To make a recommendation to a user we needed a way to represent the sum of the content that they have viewed. To do this we took all the posts they viewed within a certain lookback window and averaged them into one embedding. For example, if a user viewed ten posts, we took those ten post embeddings described above and averaged them element-wise into one embedding. This is commonly referred to as mean pooling. With this one embedding, we can use the same nearest-neighbor model and perform find the most similar course to what the user viewed to produce a user-to-content recommendation.

This approach also performed extremely well when we evaluated our own interactions with questions. Yes, Stack Overflow employees also use Stack Overflow! This personalized recommendation consistently outperformed post-to-content in clickthrough rate once we launched.

Top content

The last type of recommendation was to randomly select from a list of top courses, mostly JavaScript or Python, and was used purely as a fallback scenario. Either if there was no recommendation available or if something upstream failed. Regardless top was only served a fraction of the time as priority was set to serve user-to-content and then post-to-content.

How we built it 

With any project, especially a machine learning one, the hardest part is often moving it into production. Throw in simultaneously building a brand-new cloud data platform and a non-existent machine learning platform, we had our work cut out for us. Early on we decided not to rebuild the wheel and to empower “full-stack data science” work. This allowed our data scientist (myself) to have almost complete ownership of the entire project. This blessing and curse made it clear that leveraging one platform for as much as possible would be wise, and our platform of choice was Azure Databricks. This allowed us to keep all data processing, feature engineering, model versioning, serving, and orchestration all in one place.

Recommender systems are inherently complex because of all the separate components. So we designed our system to be as modular as possible. This allows us to control dependencies and experiment with different model parameters and techniques. The crux of our system is an offline-batch recommender system, meaning all recommendations would be pre-computed offline and stored somewhere ready to be served when needed. While there are many intricacies, think of our system as being broken down into three core components: generating embeddings, making recommendations, and serving recommendations.

Architecture diagram depicting the three core components of the online course recommendation system: generating embeddings, making recommendations, and serving recommendations.

Generating embeddings

As mentioned earlier, the core of a content recommendation system is how similarity is defined. For us, it was computing sentence embeddings and performing a nearest neighbor search. Doing this for 23 million posts and millions of users each run is no small task. Because Databricks is built on PySpark, naturally we leaned heavily into the PySpark ecosystem, which allowed us to rapidly prototype on “small” amounts of data and scale with no code changes. 

For the one-time job of generating post embeddings, we wrapped the BERT model in a PySpark Pandas UDF that ran on a GPU cluster. Then on a regular cadence, we computed new and edited question embeddings. Each time the post text, embedding, and other meta-data were written to a feature store. This was the same approach we took to generate the course embeddings. 

The user embeddings had to be refreshed each time we wanted to make new recommendations to account for the most recent user activity. We set a minimum number of questions a user had to view within the lookup window, if they met the threshold, then they were eligible for a recommendation to be made. For eligible users, we pulled the post embeddings from the post feature store table, pooled them, and wrote them to a separate user feature store table. For pooling, we also leveraged a Pandas UDF as there were other pooling methods we wanted to try, like linear or exponential weighting. 

Making recommendations

With only a couple thousand courses, we loaded all the embeddings into a modified nearest neighbor model, which allowed us to log it directly to the MLflow Model Registry and track lineage to the content feature store. We only had to retrain this model if we added or removed courses to the catalog. Logging the model to the registry also meant there was a clear path to going real-time if we so chose, as we could deploy the model as a serverless API.

Whenever making the recommendations, the logged model was then pulled from the registry and predictions were made directly on a Spark DataFrame. The data was then written to an intermediary Delta table. 

For those familiar with recommender systems, you may notice that this is a retrieval-only system, and you are correct. The initial release of the system did not include a ranker model as we needed to collect labels to train a model to re-rank results based on predicted clickthrough rate or other business-driven metrics, not just similarity. 

Serving recommendations

Once all recommendations were computed and a series of quality checks were passed, the final results were then written to an Azure SQL Server database. This database served as a low enough latency database for our internal ad-serving platform to select from when it needs to serve a course recommendation.

Once our internal ad server was told to serve an online course ad, it first looked to see if the user was opted-in to targeted ads. If so, it would then check to see if a user-to-content recommendation was available. If not, it would use post-to-content, and if there was a failure or the ad was being served on a non-question page, then a top content recommendation was served. This logic can be seen in the below flowchart.

Flowchart of the recommendation type serving logic.

Deployment and experiment 

Each of the above three core components had various parameters that could be changed and configured. Each potentially affecting the final recommendation and the execution time significantly. What embedding model, lookback window, or pooling method was used? What cluster configuration, execution schedule, and batch size were used? To address this, we used Databricks’ CI/CD tool dbx to parametrize the workflows and configurations, then had GitHub actions execute the builds. This allowed us to easily move from our development workspace to our production workspace and version changes, while always knowing how a recommendation was computed. 

Looking forward

We achieved a lot during the course (no pun intended) of building our online course recommendation system. We went from having no data platform to having a feature-reach machine learning platform that has been handling millions of recommendations every week. It was a learning experience for everyone involved but, most of all, an exciting milestone for Stack Overflow’s AI/ML initiatives. We have already re-purposed some of the work to improve our Related Questions section, which saw a 155% increase in the clickthrough rate (look for a future blog post on this). We have a lot of other ideas and experiments we’re working on for other applications of AI/ML to improve our platforms.

The post More on our AI future: building course recommendations and a new data platform appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2023/05/29/more-on-our-ai-future-building-course-recommendations-and-a-new-data-platform/feed/ 2 22205
Stack Overflow trends: Weekday vs weekend site activity https://stackoverflow.blog/2022/09/27/stack-overflow-trends-weekday-vs-weekend-site-activity/ https://stackoverflow.blog/2022/09/27/stack-overflow-trends-weekday-vs-weekend-site-activity/#comments Tue, 27 Sep 2022 14:40:04 +0000 https://stackoverflow.blog/?p=20807 Is everybody coding on the weekends? Is everybody learning Rust?

The post Stack Overflow trends: Weekday vs weekend site activity appeared first on Stack Overflow Blog.

]]>
At Stack Overflow, we get questions and answers from coders who are professionals, hobbyists (sometimes both), and students. As most professional developers work Monday through Friday jobs, we’d expect to see the professionals ask job related questions on the weekdays and side project questions on the weekends. 

A chart showing the traffic for all days during the year, where Saturday and Sunday are noticeably lower in traffic.

No, this is not the GitHub commits of an over achieving programmer but instead is the traffic to Stack Overflow for every day during 2021. Most of our traffic occurs during the work week (Monday to Friday)—85% to be exact. We took a look at these trends in the past (2017 and 2019), but the last three years have seen seismic shifts as the pandemic sent many people to work from home and many companies looking for ways to support their newly remote workforce. In this article, we’re digging into topics and trends across weekdays and weekends to uncover what technologies are working their way into the workplace, what topics are prompting the most questions, and areas where the community has the most answers.

In terms of question versus answer activity, we see both follow a similar distribution of the pageview heatmap above. There are 64% more questions posted on a weekday compared to weekend day and 61% more answers posted on weekdays compared weekend days.

The rise of the cloud

We shared previously that the pandemic accelerated cloud development significantly. We saw about four years worth of average annual growth in Q&A on cloud-related tags over the span of just three months at the beginning of lockdown in the U.S. Similarly, cloud topics are driving more weekday activity compared to activity on the weekend. In 2019, three of the top ten topics seeing the greatest variance between weekday and weekend activity were associated with the cloud. In 2020, that jumped to five of the top ten, and in 2021, it jumped up to seven of the top ten. In both years, all ten tags were directly related to technologies often used in a professional setting.

[CHART: Difference in average daily questions; Top 10 rankings for 2019, 2020, and 2021]

Over the last year, the Microsoft Azure tag saw the largest increase in questions asked between the average weekend and the average weekday, 220%. The AWS tag comes in second at 121%, and Google Cloud is third at 111%. What does that mean? Of the biggest three cloud providers, Google Cloud sees the most even activity from the weekend to weekday and from our 2022 Developer Survey we know that it is the second most popular platform among those learning to code. That said, AWS technically sees the largest volume of questions on weekdays and weekend days compared to the other two cloud platforms—by a long shot.

Another way to visualize this change over time is to compare the relationships between questions asked on weekends and weekdays, we can infer which technologies are more commonly used during the work week.

How to read this chart:

  • Above the dotted line means questions asked are proportionally more on the weekends
  • Below the dotted line means questions asked are proportionally more on the weekdays
CHART: Trending; Cloud Platforms

​Above we can see that the azure tag continues to move further into the work week while heroku remains more popular during the weekend. This is supported by our Developer Survey results as we see Heroku being the cloud provider of choice for those learning to code and Azure being most popular among enterprises with 10,000 or more employees.

“Many legacy companies are moving to the cloud and newly formed businesses are utilizing a cloud-based infrastructure, so it makes sense to see these cloud tags being used more frequently during the work week,” noted Jessica Clark, Senior Data Analyst on Stack Overflow’s Platform Engineering team. “The same applies to these language trends. As languages such as Go and Scala become more mature, they become more prevalent in the workplace.”

What’s in (at work)

Digging deeper into what technologies are proportionally used more during the work week, we looked into the three trends that we have been observing on Stack Overflow: cloud, containerization, and machine learning. Open source machine learning tags see more activity on the weekends compared to weekdays where the services to train and deploy models in a production setting see more. Compared to containerization and cloud which seem to be scattered across both.

The larger cloud providers are dominating weekday activity (comparatively)—no surprise—while others are far more popular on weekend days. While we are beginning to see Docker become a fundamental tool for professional developers, Kubernetes sees more activity during the weekday.

How to read this chart:

  • Similar to above but the further to the right means the tag is more commonly used on Stack Overflow 
CHART: Difference in total question frequency; topic

The top weekend tags—digital-ocean, heroku, and firebase—are all cloud-related products that help small teams and solo developers ramp up on their projects. The ones weighted towards weekdays are all products that benefit large enterprise projects—azure, kubernetes, and a trio of hosted machine learning projects. The job vs. hobby spit is pretty evident here. 

We took a look at some popular “new” languages across the platform to get a feel for what is moving into the workplace based on comparative weekend and weekday activity. For instance, if we see popular weekend topics rising during weekdays (and stabilizing across all days), we can conclude that they are gaining popularity in workplaces. For languages, Rust, Go, and Scala are picking up during weekdays and the difference between weekend and weekday activity is steadily trending down since 2012.

CHART: Trending; New languages moving into the workplace

“Scikit-learn, PyTorch, and TensorFlow are all open source ML frameworks that are popular for learning ML,” Jessica shared. “It’s not surprising to see these being used more frequently during the weekend.”

Conclusion

This data tells us a lot about how learning is trending across the community and the setting in which people are learning. With over 70% of developers learning to code online, what they are learning in their free time is frequently what makes its way into the organization they work for. Particularly when it comes to cloud, I personally think that the platform that provides the best developer experience is poised to win the cloud wars.

Note on our methodology

Since time zones are tricky and not everyone’s weekend starts at the exact same time across the globe, we used standard U.S. Eastern Time as the boundaries for analysis but there is some variance in the data because of that. Cue someone asking about a four day workweek.

The post Stack Overflow trends: Weekday vs weekend site activity appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/09/27/stack-overflow-trends-weekday-vs-weekend-site-activity/feed/ 1 20807
Asked and answered: the results for the 2022 Developer survey are here! https://stackoverflow.blog/2022/06/22/asked-and-answered-the-results-for-the-2022-developer-survey-are-here/ https://stackoverflow.blog/2022/06/22/asked-and-answered-the-results-for-the-2022-developer-survey-are-here/#comments Wed, 22 Jun 2022 13:56:35 +0000 https://stackoverflow.blog/?p=20296 The state of software development is...

The post Asked and answered: the results for the 2022 Developer survey are here! appeared first on Stack Overflow Blog.

]]>
You’ve been waiting patiently, but now the wait is over: the results of the 2022 Developer Survey are here. Over 73,000 developers from 180 countries each spent roughly 15 minutes answering our questions. This year’s survey was longer than previous years’ as we wanted to follow up on new threads as well as provide a historical throughline with the questions we ask year over year. We are so grateful to you for the time you spent on our survey. 

Our new questions focused on how coders learn their trade. We found that older code crafters are most likely to learn from books, while the new generation of coders (under 18) relies on online materials and their friends and family. The overall percentage of those learning to code online, however, increased from 60% to 70%. With so many people working remotely after the pandemic—nearly 85% of organizations represented in this survey have some remote workers—it could be that more and more of our daily lives are moving online as well. 

Additionally, as the pandemic drove us out of the office and into remote work, remote work may be driving us away from full-time employment to more self-directed work. The percentage of professional developers that state that they are an independent contractor, freelancer, or are self-employed has risen by about five points to 16.6%, while the percentage of those in our top five responding countries (United States, India, Germany, United Kingdom, and Canada) who have full-time employment has fallen. Has the switch to remote work triggered a new wave of entrepreneurship as well?

Our other new line of inquiry was version control. We had previously included Git in the “Other tools” section, where it took top honors. It was no surprise that Git was far and away the top version control system, especially among professionals, but what was surprising is that 17% of learners do not use a version control system at all. I guess they’ll wait until onboarding at their first job. 

The big draws with the Developer Survey have always been the technology rankings, where technologists profess their most used, loved, dreaded, and wanted languages, frameworks, and more. The top five languages for professional developers haven’t changed: JavaScript is still the most used, and Rust is the most loved for a seventh year. The big surprise came in the most loved web framework category. Showing how fast web technologies change, newcomer Phoenix took the most loved spot from Svelte, itself a new entry last year. 

Two years ago we asked how you felt about searching for an answer and finding a purple link. Sparked by that, the team wanted to see how many of us are visiting the same question more than once. Our data experts found that the majority of people come back to an answer over and over: 62% of regular Stack Overflow users visit the same question multiple times in a three-month period.* One of our data scientists tells us he probably visits this question once a month. Why remember everything when you can use Stack Overflow as your second brain? 

Graphic of statistic: 62% of regular Stack Overflow users visit the same question multiple times in a 3-month period.

In this year’s survey, we had a special section at the end where we asked professional developers to tell us what impacts their productivity at work, how often it happens, and how much time it takes out of their day. More than 36,000 developers answered. Their responses can help the developer community start to quantify the impacts of the daily, invisible productivity frictions.

In short, most professional developers are experiencing some level of decreased productivity every week. 68% of respondents say they encounter a knowledge silo at least once a week. For people managers, often the more experienced developers, 73% report encountering a knowledge silo at least once a week.

Chart showing the percentage of workers who encounter knowledge silos at work. 32% of all respondents say never, and 68% say at least once a week.

About 63% of all respondents spend more than 30 minutes a day searching for answers or solutions to problems, with 25% spending more than an hour each day. This productivity impact can add up. For a team of 50 developers, the amount of time spent searching for answers/solutions adds up to between 333-651 hours of time lost per week across the entire team.

Chart showing the average daily time spent searching for answers/solutions each day. The most common answer was 30-60 minutes.

On the other side, 46% of all respondents spend more than 30 minutes a day answering questions. 32% of people managers spend over an hour each day just answering questions, while only 14% of independent contributors spend over an hour answering questions. Again, this productivity impact can add up. For a team of 50 developers, the amount of time spent answering questions adds up to between 278-568 hours of time lost per week across the entire team.

Chart showing the average daily time spent answering questions. The most common answer was 15-30 minutes, followed by 30-60 minutes.

Check out the full results from this year’s Developer Survey here. If you’re interested in digging into the data and finding your own insights, we’ll be releasing the results dataset later this year. And as we have done for a while now, we’ll continue to run smaller, focused surveys on everything from web3 to what makes developers happy at work

Our mission is to empower the world to build technology through collective knowledge. You all have helped make this survey possible, and we hope that the results give you insight into where the world of software and technology is today. Please share the results of this survey and we’ll see you next year. 

If you have questions about the survey results, you can reach us at press@stackoverflow.com.

*activity from Feb 1 through April 30 of this year; “regular users” are defined as those who visited Stack Overflow more than 5 times over the 3-month period – recurring users should mimic a typical employee who attempts to ask any question from a coworker.

The post Asked and answered: the results for the 2022 Developer survey are here! appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/06/22/asked-and-answered-the-results-for-the-2022-developer-survey-are-here/feed/ 12 20296
The Great Decentralization? Geographic shifts and where tech talent is moving next https://stackoverflow.blog/2022/06/08/the-great-decentralization-geographic-shifts-and-where-tech-talent-is-moving-next/ https://stackoverflow.blog/2022/06/08/the-great-decentralization-geographic-shifts-and-where-tech-talent-is-moving-next/#comments Wed, 08 Jun 2022 14:00:00 +0000 https://stackoverflow.blog/?p=20235 Distributed work may hold the key to creating forward thinking metropolises. 

The post The Great Decentralization? Geographic shifts and where tech talent is moving next appeared first on Stack Overflow Blog.

]]>
The pandemic reshaped modern life in many ways. Over two years later, we still see ongoing shifts to urban centers. With remote and hybrid work here to stay, thriving careers in the tech industry do not depend on living in traditional technology capitals such as San Francisco, Seattle, or New York.

In fact, recent research from Axios shows that tech workers are migrating to other regions in the U.S., such as Miami, which saw an influx of 30% of workers from the software and IT sector in 2021. There are also signals that people in tech are relocating, such as a rise in VC activity outside the Bay Area and the percentage of investment dollars in the Bay Area dropping below 30% for the first time in 10 years in 2021.

While developers have a history of being long-time remote workers (at least part of the time), they still lived and worked in major tech hubs. Did the pandemic change that? All this got us thinking: What geographic shifts might we observe based on traffic on Stack Overflow throughout the pandemic? Which regions and metropolitan areas are technologists moving to, and which ones are losing their prominence? Is Silicon Valley losing ground to the Silicon Heartland? To find out, we took a look at the more than 100 million people who visit Stack Overflow every month.

We examined pageview traffic on Stack Overflow from March 2018 to April 2022. By separating the data into a pre-COVID period (March 2018 to April 2020) and a COVID period (March 2020 to April 2022), we could measure the growth between the two periods. We defined growth, traffic, and activity as the total pageview growth between the two periods, and we use these terms interchangeably here. Let’s break down what trends we saw and what the shifts we’re seeing may indicate about the future of the tech talent landscape. 

Are the major metropolises on their way out?

While some regions show increased signs of tech worker activity, some of the established tech hubs on the West Coast of the U.S. experienced significant declines with technologists decamping for other locales. Several of the top US metro areas had the highest attrition in pageviews over the set period, including Seattle, New York, San Francisco, and Los Angeles with declines of 13%, 12%, 7%, and 5% in page views respectively. It’s worth noting, however, that because of their relative size, a drop in traffic for these cities may only equate with slowed growth and not a massive decline in tech talent. 

How have the top ten U.S. metros grown since COVID?

The hot new tech hubs are developing (Tier 2 and 3) cities

Whether it’s for more space, more reasonable real estate prices, or to be closer to family, many people moved to smaller cities throughout the pandemic. According to a recent study by the Brookings Institute on geographic shifts of tech talent throughout the pandemic, almost half of the 83 cities measured saw tech job growth accelerate in 2020, including mid-tier cities such as Philadelphia, PA; Madison, WI; and Stockton, CA. We saw similar traffic patterns on Stack Overflow. In fact, all ten of the metropolitan areas with the highest pageview growth were either Tier 2 or Tier 3 cities.

What does site traffic on Stack Overflow tell us?

On the West Coast, pageview growth increased for mid-sized hubs like Portland, OR (11%) and Sacramento, CA (4%). In the Columbus, OH metro area, where Intel recently announced its plans to open two major semiconductor facilities, tech traffic surged 14% over this four-year period (2018-2022). 

Are the hot new tech hubs tier 2 and 3 cities?

Another trend we observed in our data was a spike in activity in Tier-2 and Tier-3 cities located in sunnier locales. Could developers also be decamping to warmer climates? Increased traffic in Palm Springs, CA (14%), Honolulu (4%), and Panama City FL (7%) suggest so. We also saw traffic grow in southern cities. Specifically, pageviews in Fayetteville, AR grew 15%, while traffic in Myrtle Beach, SC (5%) and Montgomery, AL (4%) also rose. If you can work from anywhere, why not make it near a beach or pool, right?

Are devs moving to warmer climates?

The bottom line

Are the major coastal metropolitan areas a thing of the past? Probably not. However, perhaps we’re witnessing a gradual evening out in the tech industry when it comes to geographic diversity that will potentially create more equity in the talent pool. The increasing prevalence of remote and globally distributed work models makes it more convenient for workers to find optimal living and working arrangements in smaller but similarly thriving and upcoming urban centers.

Are these geographic trends permanent? It’s far too soon to tell, but with the expected explosion of the tech labor force by 2030, perhaps the Great Decentralization is just beginning.

The post The Great Decentralization? Geographic shifts and where tech talent is moving next appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/06/08/the-great-decentralization-geographic-shifts-and-where-tech-talent-is-moving-next/feed/ 21 20235
An unfiltered look back at April Fools’ 2022 https://stackoverflow.blog/2022/05/12/an-unfiltered-look-back-at-2022-april-fools/ https://stackoverflow.blog/2022/05/12/an-unfiltered-look-back-at-2022-april-fools/#comments Thu, 12 May 2022 14:00:00 +0000 https://stackoverflow.blog/?p=20102 As with any good joke, the most important part is the resulting data.

The post An unfiltered look back at April Fools’ 2022 appeared first on Stack Overflow Blog.

]]>
Hello fellow Stack Overflow users! Our April Fools’ gag for 2022 has come and gone, and we’ve had some time to analyze how people responded to it. Unlike last year, we aren’t going to make a real product out of it (The Key V2 now available, BTW sold out!). At the moment, we have no plans to add filters back as permanent options, though you are always welcome to create your own userscripts. Still, the way users interact with our site, even as part of a joke, can teach us a lot.

The Introducing Filters for Stack Overflow modal dialog.

April Fools’ is usually a popular time for us, and this year was no different. Compared to an average Friday, we saw 6% more unique visitors to Stack Overflow. Plenty of you have been asking what the most popular filters were. Well, we’re here with answers. We’ve also got some extra data around the prank, so let’s dive in!

The good, the bad, the three-dimensional 

For those who missed it, a quick recap of this year’s prank: Users coming to the site during the prank window were subjected to one of eight themes randomly. Instagram has them, so we wanted to get hip to what the kids are into. The themes ranged from tech favorites (Windows 3.1 and Terminal) to nostalgic (Frisa Lank and MariOverflow) to illegible (Top Secret and 3D Glasses). Users could change the themes with a selector at the bottom.

Stack Overflow question page with the Bookface theme applied.

The themes were truly random. All of them except 3D Glasses were loaded about the same number of times (more on that later). Some users were happy with the theme they drew—96% of people who randomly drew either Bookface, Frisa Lank, MariOverflow or Windows 3.1 left that theme enabled. However, if they saw the 3D Glasses theme, only 67% of users kept it around. 

Theme
Total Loads
Avg Time Left Enabled
(first visit)
Median Time (first visit)
Total Left Enabled
% Left Enabled
Bookface
1,065,022
4.46
0.82
1,052,242
99%
Hot Dog Stand
1,063,087
3.67
0.62
962,125
91%
MariOverflow
1,062,461
4.14
0.73
1,027,069
97%
Windows 3.1
1,062,124
4.47
0.83
1,020,243
96%
Terminal
1,061,891
3.53
0.55
960,252
90%
Top Secret
1,061,806
3.9
0.82
907,088
85%
Frisa Lank
1,059,806
4.25
0.77
1,037,837
98%
3D Glasses
662,712
2.1
0.43
446,488
67%
Time in minutes sorted by total loads

955,815 users changed their theme at least once. On average, users changed themes six times. Most people cycled through all of the new themes—median time per theme was between three and five seconds—before getting back to the classic Stack Overflow theme. Of those that picked a new theme, Bookface was the most popular, but people kept Windows 3.1 on the longest. Hot Dog Stand, a nostalgic take on the famously ugly Windows 3.1 theme of the same name, had the shortest average enabled time with 2.8 minutes. Only 5% of users left it on. Don’t discount the power of the familiar.  

Theme
Total Selects
Avg Time Enabled
(multiple visits)
Median Time
(multiple visits)
Total Left Enabled
% Left Enabled
Stack Overflow
663,622
36.8
0.08
511,414
77%
Bookface
485,928
6.9
0.07
78,692
16%
Terminal
481,639
9.5
0.07
73,965
15%
Windows 3.1
464,433
10.6
0.07
83,198
18%
3D Glasses
441,163
4.9
0.08
36,676
8%
Hot Dog Stand
433,320
2.8
0.05
21,230
5%
Frisa Lank
421,558
6.0
0.07
54,401
13%
Top Secret
415,907
4.6
0.08
29,306
7%
MariOverflow
397,048
3.4
0.07
54,978
14%
Time in minutes sorted by total selects

The Frisa Lank theme was an internal and fan favorite. The vast majority of the Stackers who voted in our very informal poll guessed that it would be the most popular overall and longest enabled. We were wrong on all accounts. The tech heads beat out the rainbow sticker crowd this time. 

The 3D Glasses theme came in for scorn early and often. Users called it “nauseating” and “one of the dumbest things I’ve seen in a long time.” The offset text gave some people a sense of vertigo, so we took it out of the randomized default rotation. For first-time visitors, it was enabled for the shortest amount of time and by the least number of people who drew it. But for people who had gone through other themes, it still beat out Hot Dog Stand and Top Secret on every metric we measured. 

Bonus April Fools’ in the source code

April Fools’ jokes have the benefit of being temporary. All filters were coded outside the bounds of our normal code discipline, so there were a number of small jokes sprinkled in the source code. Most of them were light-hearted CSS class names, off-hand comments, or JavaScript jokes that ran the filter bar. 

But there was an Easter egg in there for the curious code crawler. We left the following as a bit of bait:

Hello Dev! Welcome to our new Filter’s bar. If you need direct access to our secret keys, please go to https://s.tk/StackOverflowSecrets. (DON’T SHARE OUTSIDE THE COMPANY)

The link was not some internal leak. It redirected to a heartfelt statement of our commitment to avoid abandoning you, disappointing you, causing you to travel unnecessarily, or hurting you. It’s a bit of harmless fun, and we caught a few extra suckers with this one. 

A graph showing the number of people who followed our secret April Fools' link, with over 1400 clicking through on April 1st.

1,721 different users clicked on the link and found that they were no strangers to love. The peak click moment happened on April 1st (as expected). Don’t feel bad; more than a few of our own engineers fell victim to this extra prank while we were testing the new code. 

A distribution of the countries that enjoyed our bonus joke.

Our top three countries were the United States, Germany, and Canada. Our top three states were California (US), Ontario (CA), and North Rhine-Westphalia (DE). Our top three cities were Montreal (QC, CA), Paris (75, FR) and Sydney (NS, AU). Clearly, they know the rules. 

It’s true we’ve fooled millions of people; however, we have truly fooled an extra few thousand.

The post An unfiltered look back at April Fools’ 2022 appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/05/12/an-unfiltered-look-back-at-2022-april-fools/feed/ 19 20102
The 2022 Developer Survey is now open https://stackoverflow.blog/2022/05/11/stack-overflow-2022-developer-survey-is-open/ https://stackoverflow.blog/2022/05/11/stack-overflow-2022-developer-survey-is-open/#comments Wed, 11 May 2022 12:57:38 +0000 https://stackoverflow.blog/?p=20084 The 2022 Developer Survey is ready for your input.

The post The 2022 Developer Survey is now open appeared first on Stack Overflow Blog.

]]>
(Ed. note: The Developer Survey is closed for this year. Thanks for participating!)

It’s that time of year again here at Stack Overflow where we take the pulse of the developer community. This is our twelfth run at this, a dirty dozen of questions about tech stacks, working habits, and more. And once again, we are asking you to generously provide information about the tech you love and loathe so that we can see where the field of software engineering is headed. 

In the past, this survey was our only chance to see what the developer community thought about their field. But in the last year or so, we’ve run a number of smaller pulse surveys on specific topics. We looked into whether devs are bulls or bears about the blockchain and Web3. We gauged cloud adoption as many companies moved to all-remote workforces. And we asked what jams, bops, and grooves drive you to code your best. 

This annual survey, though, is our biggest effort. Last year, we saw how the profession was growing rapidly, with coders with less than one year of experience accounting for over half of the respondents. Online resources were becoming a driving force in developer education, leading to a boom in coders under the age of 18. With remote work becoming the new normal, we expect more things to shift. 

This year, we’re diving deeper into online developer education. Over 60% of last year’s respondents learned to code online, so we want to know more about that. We’re also taking a deeper look at version control; while over 90% of last year’s respondents use Git, there are other tools out there, some of which people claim are better than Git. 

As in previous years, we’re using Qualtrics as our survey platform. If you use a third-party ad-blocking plugin, you may see error messages during the survey period. To avoid issues that may prevent you from taking the survey, we ask that you specifically unblock Qualtrics in your plugins or pause the plugin while you take the survey. 

As in previous years, Qualtrics blocks certain countries from accessing their site and data: Cuba, Iran, North Korea, Syria, and the Crimea region of Ukraine (including Sevastopol). In addition, some users in China may have issues due to restrictions imposed by local internet service providers. This is unfortunate, and we can do nothing about it. We’ve continued to research alternatives, but so far have found no satisfactory alternative. 

As always, we need your help to make this survey representative. 

Take the survey  (Survey is closed for this year.)

When you’re done, share it with your friends. We’ll be publishing the results in a few months with the full dataset to be released sometime after that. 

If you’d like to discuss this on meta.stackoverflow.com, here’s the associated post.

The post The 2022 Developer Survey is now open appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/05/11/stack-overflow-2022-developer-survey-is-open/feed/ 11 20084
New data: Do developers (and their employers) care about their wellness? https://stackoverflow.blog/2022/05/09/new-data-developers-and-prioritizing-wellness-at-work/ https://stackoverflow.blog/2022/05/09/new-data-developers-and-prioritizing-wellness-at-work/#comments Mon, 09 May 2022 13:00:00 +0000 https://stackoverflow.blog/?p=20067 As May is Mental Health Awareness Month, we wanted to see what developers are doing to decrease that stress and prioritize their own wellness. Earlier this year, we surveyed over 800 developers to see if they are happy at work and what they are doing to maintain or improve mental health.

The post New data: Do developers (and their employers) care about their wellness? appeared first on Stack Overflow Blog.

]]>
With 2 in 5 tech workers showing high risk of burnout, the industry is facing a ‘burnout crisis’ according to a recent study. Burnout happens when we push ourselves to work and produce while ignoring the stress accumulating in the background.

As May is Mental Health Awareness Month, we wanted to see what developers are doing to decrease that stress and prioritize their own wellness. Earlier this year, we surveyed over 800 developers to see if they are happy at work and what they are doing to maintain or improve mental health.

Previously, we shared that roughly 70% of developers are happy at work right now, with over 90% saying it is important for them to be happy at work. India, the U.S., Germany, Spain, and the U.K. are the five happiest countries for developers. But what are developers doing when they get stressed and unhappy? How do they take breaks, maintain a healthy daily routine, and boost mental health? Let’s get into it.

Happy developers have employers that encourage wellness

With so much dependence on happy and healthy developers, we wanted to know if our community’s employers were concerned with their employees’ health. We found that about 62% of respondents’ employers encourage physical and mental wellness at work. Does simply encouraging it actually work? It’s probably safe to say that encouraging it contributes to happiness. Exactly 75% of happy developers say their employers encourage physical and mental wellness at work. But that doesn’t always mean the employees themselves will prioritize their own health—over 60% of developers say they have never taken a mental health day.

We found that about 62% of respondents’ employers encourage physical and mental wellness at work.

Taking breaks doesn’t mean breaks from screen time

Research has found that one of the best ways to relieve stress is through physical exercise. Over 50% of developers say they go for a walk or do some kind of physical activity when they need a break, the most popular answer from respondents. That doesn’t mean everyone is on their feet during breaks—most of the top five things developers do when they need a break involve screen time: listen to music (46%), visit Stack Overflow (41%), browse social media (37%), and watch videos (36%). Frequently when they need to step away from coding, developers aren’t stepping away from a device.

Over 50% of developers say they go for a walk or so some kind of physical activity. Other responses include, listen to music (46%), visit Stack Overflow (41%), browse social media (37%), and watch videos (36%).

Improving wellness is all about changing habits

It’s one thing for an employer to encourage wellness; it’s another for people to actually change habits to achieve their own wellness. A resounding 88% are interested in improving physical wellness, and 83% are interested in improving mental wellness.

A resounding 88% are interested in improving physical wellness, and 83% are interested in improving mental wellness.

When asked what they are doing to improve their own wellness, developers said drinking more water (57%), eating a healthy diet (56%), prioritizing exercise (47%), making time for socializing with friends and family (43%), and reducing hours at work (25%). Finding balance begins with changing daily routines–adding some physical activity to the mix (less than 35% currently consider exercise part of their daily routine).

When asked what they are doing to improve their own wellness, developers said drinking more water (57%), eating a healthy diet (56%), prioritizing exercise (47%), making time for socializing with friends and family (43%), and reducing hours at work (25%). Finding balance begins with changing daily routines–adding some physical activity to the mix (less than 35% currently consider exercise part of their daily routine).

Conclusion

Preventing burnout in a fast-paced industry is always going to be challenging, but encouraging employees to take breaks and prioritize wellness is a good first step towards ensuring developers are happy at work. There’s still a lot of work to be done. For example, are developers not reducing hours at work because they feel like they can’t? Is wellness something employers can encourage more or is it more dependent on individual motivation? Are there factors that we overlooked entirely? We’ll continue doing research in this area and share insights as we learn them. Ahem…Developer Survey coming soon…

The post New data: Do developers (and their employers) care about their wellness? appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/05/09/new-data-developers-and-prioritizing-wellness-at-work/feed/ 1 20067
New data: Do developers think Web3 will build a better internet? https://stackoverflow.blog/2022/04/20/new-data-developers-web3/ https://stackoverflow.blog/2022/04/20/new-data-developers-web3/#comments Wed, 20 Apr 2022 07:00:00 +0000 https://stackoverflow.blog/?p=19958 Are blockchain and Web3 the future or are they just a fad? We asked the developer community about Web3, blockchain, crypto, and whether they are all hype or truly the future of the internet.

The post New data: Do developers think Web3 will build a better internet? appeared first on Stack Overflow Blog.

]]>
Accordinging to Forbes, the total crypto market cap exceeded $3 trillion in 2021. Crypto startups saw $30 billion in VC investments in 2021, 50 of which raised over $100 million, launching 40 into unicorn status. While there’s a lot of money being thrown at it, what does this actually mean for the future of tech? Are blockchain and Web3 the future or are they just a fad? We asked the developer community about Web3, blockchain, crypto, and whether they are all hype or truly the future of the internet.

Of the 595 developers surveyed, a sizable portion had no idea what we were talking about: 37% responded with “What’s Web3?” Of those in the know, 25% think Web3 is the future of the internet, 15% think it’s a bunch of hype, 14% think it’s important for crypto and related apps, and 9% think it’s all a scam. TL;DR: the split still stands. But before we throw up our arms, let’s dig in a bit more.

Blockchain experience is built outside of work

An overwhelming majority (85%) haven’t developed using blockchain, more or less even with our blockchain experience findings from 2021. Of those that have, we see that most of blockchain development is done as a side project or hobby. 

The 31% who developed with blockchain at work most likely work for a software company (72%), and over half (55%) of those who developed with blockchain at work also did so as a side project or hobby. This extracurricular coding also appears to help as we saw 60% of blockchain apps developed at work go into production.

Blockchain novices are still believers

Experience or not, developers still think it could be a game changer. Among developers that know what Web3 is but without blockchain experience, 40% think Web3 could be the future, 25% think it’s all hype, 20% think it’s important for crypto, and 15% think it’s all a scam. Those with blockchain experience under their belts feel similarly—41% think it’s the future, 29% think it’s important for crypto, 19% think it’s all hype, and 10% think it’s a scam.

Not only are blockchain novices believers but we also see 20-30% of blockchain related questions being asked by new Stack Overflow users. These new users could be in the early stages of their coding journey thanks to an interest in blockchain. This is also supported by the majority of blockchain questions being associated with the two most common programming languages for beginners: JavaScript and Python.

Learning is skyrocketing

In our previous post on blockchain trends, we saw that questions peak around major Bitcoin price milestones ($19k and $60k). We experienced another period of massive growth since then, but not because Bitcoin hit another all time high; rather some people feared a Crypto Winter.

In an attempt to uncover what is fueling question growth, we expanded our blockchain topic cluster from last year and looked at the top tags. The spike in 2018 was largely fueled by hyperledger and its related tags. This year, developers may be losing interest in it as the question volume dipped despite Hyperledger being the most common dApp used by developers surveyed (29%).

When looking at the most recent “bull run” of questions asked, it is clear that Solidity, Ethereum, blockchain, Web3, and smart contracts are responsible. What are all these technologies and how are they related?

  • Ethereum is a blockchain currency (like Bitcoin) with a public ledger. 
  • Solidity is a high-level language whose syntax is similar to that of JavaScript and is designed to compile code for the Ethereum Virtual Machine to create smart contracts. 
  • Web3 on Stack Overflow refers to a JavaScript framework for interacting with the Ethereum blockchain.
  • Smart contracts are small programs stored on a blockchain that run when predetermined conditions are met.

JavaScript and Python continue to dominate

JavaScript connects the top blockchain tags on Stack Overflow. We looked at what non-blockchain tags are most common among blockchain tags. On Stack Overflow, you can have up to five different tags. It is no surprise to see JavaScript and Python at the top of the list, as both have been among the most common programming languages for years now. JavaScript has been number one for nine years running and Python just took over third place in 2021. 

“JavaScript is essential to Web3, but Web3 isn’t fundamental to the JavaScript ecosystem,” said Matt Kiernander, developer advocate at Stack Overflow. “Whether you believe in the staying power of blockchain and Web3 or not, it’s abundantly clear that JavaScript and Python are here for the long haul. Both have evolved over the course of Web2 and whether they continue to adapt to the needs of Web3 remains to be seen.”

These two languages are both important to blockchain but we see some subtle differences in the context of the questions they are tagged with. The python tag, for example, is more commonly used when asking questions about crypto APIs and trading crypto. On the other hand, javascript appears in more questions about building decentralized applications, hence the association with solidity, web3 and smartcontracts tags. 

Conclusion

The jury is still out, so to speak, when it comes to the future of blockchain and Web3. Most are building experience with blockchain in their free time or haven’t touched it at all. And as developers are learning and building, they are turning to the languages they use most: JavaScript and Python. Regardless of hype cycles and trends, inexperienced blockchain developers still think Web3 is the future of the internet. The popularity of blockchain and Web3 is undeniable, and we’re seeing people learn and collaborate with blockchain at an astronomical rate. The question remains—will this all stand the test of time? We’re excited to find out.

The post New data: Do developers think Web3 will build a better internet? appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/04/20/new-data-developers-web3/feed/ 24 19958
New data: Top movies and coding music according to developers https://stackoverflow.blog/2022/03/24/new-data-top-movies-and-coding-music-according-to-developers/ https://stackoverflow.blog/2022/03/24/new-data-top-movies-and-coding-music-according-to-developers/#comments Thu, 24 Mar 2022 14:01:21 +0000 https://stackoverflow.blog/?p=19839 Programmers cannot live on code alone. We asked about the movies and music that best fit with programming.

The post New data: Top movies and coding music according to developers appeared first on Stack Overflow Blog.

]]>
It’s awards season and since none of the awards shows recognize a film or TV show for “most accurate portrayal of developer,” we decided to invent our own little circuit. There’s been no shortage of developer appearances and portrayals of coding on the silver screen over the years. Whether it’s a hoodie-adorned teenager coding in a basement or a supermodel hacker who coincidentally also works for MI6, Hollywood loves to stereotype. The coding whiz is a classic character, but has anyone ever captured an accurate depiction of developers on the big screen? We asked, and over 350 developers answered. Here’s what we found.

Best depiction of a developer in a TV series goes to…

Silicon Valley. If you haven’t watched, the HBO series follows the awkward and ambitious developer Richard Hendricks and his friends as they navigate their way through the world of tech-startups. The satirical comedy takes them through hyper growth, hyper crash, investment woes and booms, and the ultimate face off with the industry giant that brought the group together in the first place.

The show is said to be partially inspired by co-creator Mike Judge’s experience as a software engineer in the 1980s. That may explain why developers voted Silicon Valley as the most accurate depiction of developers by a landslide (40%) across movies and TV shows. The dark drama Mr. Robot (15%) came in second and British sitcom The IT Crowd (14%) was a close third.

Best depiction of a developer in a motion picture goes to…

The Social Network (40% across all movies and TV shows). From Harvard to Silicon Valley, the movie follows the founders through the creation and rise of social networking giant Facebook, including the fight for ownership along the way. The narrative is said to use a lot of real life events as its foundation, then dramatizes for Hollywood and casts a 90s pop icon as a co-founder, obviously. The Matrix (6%) and Hackers (4%) deserve honorable mentions, albeit a rather distant second and third place.

Jesse Eisenberg GIF

Best coding music is everything and nothing.

There’s no Silicon Valley of coding soundtracks. We asked developers what their favorite music to code to is, and it’s all over the place. Perhaps too close to declare a clear winner. Rock (32%), electronic/dance (27%), classical (25%), pop (23%), lo-fi (22%), hip hop (20%), metal (18%), and jazz (17%) all cracked the top 10. So did silence (19%).

Interestingly enough, just under 17% said soundtracks are their favorite music to code to—perhaps one of these. For a deeper dive, take a look at more data around what folks listen to when they code from our Developer Survey a couple years back.

If you want to add to a playlist that makes you feel like a hacker, check this one out from our post, Tips to stay focused and finish your hobby project.

Conclusion

What’s abundantly clear is that developers relate to TV shows and movies that are born from true life experiences. Translating that to the big screen isn’t an easy task, no matter how big the budget or stars. How did Silicon Valley and The Social Network get it right? Their origin stories.

When it comes to music, don’t put developers in a box. Preferences are all over the map. Literally. Coding music preferences were diverse even when we examined data by country or region. We like what we like, am I right?

We hope you enjoyed this edition of Stack Overflow Knows as much as we enjoyed digging into the data. Keep an eye out for our next edition of Stack Overflow Knows coming in April. What are we tackling next? Here’s a hint—it might be our most polarizing topic yet.

The post New data: Top movies and coding music according to developers appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/03/24/new-data-top-movies-and-coding-music-according-to-developers/feed/ 14 19839
New data: What makes developers happy at work https://stackoverflow.blog/2022/03/17/new-data-what-makes-developers-happy-at-work/ https://stackoverflow.blog/2022/03/17/new-data-what-makes-developers-happy-at-work/#comments Thu, 17 Mar 2022 13:38:48 +0000 https://stackoverflow.blog/?p=19803 Turns out developers and plants need mostly the same things.

The post New data: What makes developers happy at work appeared first on Stack Overflow Blog.

]]>
One of the most striking impacts of the pandemic has been a massive reshuffling of the workforce known as the Great Resignation. Tech, in particular, has among the highest resignation rates in any industry, with a 4.5% increase in departures in 2021 compared to 2020

What’s driving this trend? It’s certainly not a lack of demand: the last two years have seen unprecedented growth across nearly every technology-driven industry. Strapped teams compounded with the pressures of rapid growth typically translate to high-stress environments for developers. The notion that burnout is the principal driver of the resignation crisis in tech makes sense at first.

That said, we learned at the end of 2021 that nearly 80% of developers aren’t actively looking for a new job. What to make of these two contrasting data points? Maybe the answer lies not with the opportunities at other companies, but with developers’ satisfaction with their own. Are developers actually happy at work? And what makes the difference between happiness and unhappiness: salary, flexibility, intellectual challenge, or all of the above? We surveyed over 350 developers across the globe to find out. 

What regions and countries have the happiest developers in the world?

Roughly 70% of working developers are happy at work right now, with over 90% saying it is important for them to be happy at work. India, the U.S., Germany, Spain, and the U.K. are the five happiest countries for developers.

Money isn’t everything, but it helps.

When we dug deeper, we found that salary (60%), work-life balance (58%), flexibility (52%), productivity (52%), and growth opportunities (49%) were the top five reasons for developers to be happy at work. This data mirrors what other companies, like Skillsoft, have found in recent surveys.

Similarly, the inverse of these reasons were the top five reasons developers are unhappy at work: a low salary, no work-life balance, feeling unproductive at work, and the absence of growth opportunities. Feeling unproductive at work was number one (45%) among the factors that cause unhappiness—even above salary, which slipped to fourth (37%). Similar to our recent research around what developers prioritize when they look for new job opportunities, flexibility and productivity consistently reign supreme.

“Feeling productive at work plays a much more critical role in team happiness than we probably realize. It shouldn’t be as surprising as it is,” said Matt Kiernander, technical advocate here at Stack Overflow. “When I code, I don’t like disruptions in my flow state. Constantly stopping and starting makes me feel unproductive. We all want to feel like we’re making a difference, and hitting roadblocks at work just because you’re not sure where to find answers is incredibly frustrating.”

What makes developers happy and unhappy at work? Work-life balance, productivity, salary, growth opportunities, flexibility, impact, problem solving, autonomy, and work relationships all play a role.

A greenhouse might be the ideal developer habitat.

In the past, we might assume the majority of developers worked from an office at least part of the time. But the pandemic has produced a massive shift to hybrid and fully remote work. With the home now becoming an office, new priorities emerge. When asked what makes for the ideal work environment, developers put windows, quiet surroundings, bright natural light, and plants at the top of the list. Just give them a chair and you’ve rounded out the top five elements of an ideal workspace. All in all, developers value flexibility. Not every work environment works for everyone in the same ways. Still, 45% developers say the ideal work environment is in their own home, while 27% say it’s in an office building. As if we needed further evidence that hybrid work was here to stay.

Conclusion

Are developers happy at work? About 70% of the professional developers that we surveyed say they are. Why does it seem like there is so much movement in the workplace? Well, 20% of developers looking for new opportunities add up to a lot of people on a global scale.  

For managers at organizations looking to hire and retain great tech talent, the most pressing question these days is: How do you ensure your developers are among the happy ones? Money doesn’t hurt, but our research indicates leaders should prioritize flexibility, work-life balance, and productivity. The ideal work environment varies greatly from person to person, but most want to be at home… or in a greenhouse. Good news: hybrid work allows for both.

The post New data: What makes developers happy at work appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/03/17/new-data-what-makes-developers-happy-at-work/feed/ 14 19803
Here’s how Stack Overflow users responded to Log4Shell, the Log4j vulnerability affecting almost everyone https://stackoverflow.blog/2022/01/19/heres-how-stack-overflow-users-responded-to-log4shell-the-log4j-vulnerability-affecting-almost-everyone/ https://stackoverflow.blog/2022/01/19/heres-how-stack-overflow-users-responded-to-log4shell-the-log4j-vulnerability-affecting-almost-everyone/#comments Wed, 19 Jan 2022 20:35:40 +0000 https://stackoverflow.blog/?p=19415 When the Log4j security issue was disclosed, developers came looking for answers. We took a look at our site data around it.

The post Here’s how Stack Overflow users responded to Log4Shell, the Log4j vulnerability affecting almost everyone appeared first on Stack Overflow Blog.

]]>
When we published our data analysis of the security questions on Stack Overflow and the Information Security Stack Exchange back in October, we found that every time that there was a major vulnerability or breach, there would be a corresponding uptick in the number of questions asked. It made intuitive sense, but the data confirmed it. But we didn’t expect to have new data to confirm this trend so soon. 

On December 10th (or 9th depending on who you ask), 2021, the maintainers of Log4j disclosed that the very popular Java logging library had a serious security vulnerability, dubbed Log4Shell. The bad news is the vulnerability could allow attackers to gain control of any system running specific versions of Log4j; potentially hundreds of millions of systems and projects were at risk. The good news is only some versions are vulnerable, and the solution is pretty simple: update Log4j to version 2.16+

To get a sense of the scale of the problem, we asked our followers on Twitter about the vulnerability. User Bakhtiyar Garashov said, “If someone says [they weren’t affected] it is because either they don’t use Java or they don’t log at all.” It’s risen to the level of national security, with big tech companies talking to the federal government about how to better secure open source projects that become widespread dependencies. 

Suddenly, the version of Log4j  implemented in your software became very important. Right on cue, thousands of developers checked what version their systems were using, and for those unsure about how to do that, the Stack Overflow community was there to help. 

A sudden increase in traffic

Over five years ago, markthegrea asked, “How can I find out what version of Log4j I am using?” At the time, this was a pretty innocuous question; now, it was vital. 

Thanks to the sudden importance of the answer, this question received 17 times more views (207K) in the last 30 days than it did in the previous five years combined. It even received a new top answer for developers looking to find out if any project of theirs could be running a vulnerable version, as some projects automatically include Log4j, leading to multiple versions on a single server. The answer even came with a program to scan all .jar files on a server and highlight vulnerable Log4j versions

At Stack Overflow, we call it knowledge reuse: when questions and answers are shared, they can be referenced, reused, and updated. This was a perfect example of an existing question that proved relevant to what developers needed to know in 2021.

Besides the heavy activity on this question, the tag itself saw a jump in views. Web traffic to log4j questions totaled 766K views in the first seven days after the vulnerability was announced, averaging 110K views per day. That’s a 1,122% increase over the 9K average views per day before the announcement.

Obviously, when something changes with a piece of technology, users will ask new questions, doubly so when what’s changed is a mission-critical security vulnerability. Users have asked 325 new log4j questions in the first 30 days since the vulnerability was announced, nearly double the total number of questions asked previously. For the first seven days after the announcement, the tag averaged 20 new questions a day. Compare that with the volume before the announcement: an average of one lonely question per day.

The vulnerability itself got a new tag: log4shell. This tag saw 13 questions asked and received over 25K views. The most popular of these new questions, “How can I mitigate the log4shell vulnerability in version 1.2 of Log4j?,” garnered 22K views. The fact that this popular question was marked a duplicate is no surprise—people in a crisis generally have the same questions. 

Changes in what viewers wanted

The top ten most viewed questions since the announcement have all been related to the vulnerability in some form, with eight of them asked after the announcement and explicitly mentioning the vulnerability. The remaining two include the question discussed above about finding the version and another five-year-old question, “Migrating from Log4j to Log4j2 – properties file configuration,” which received 19K views since the disclosure.

After the disclosure, questions clearly shifted to directly reference the vulnerability. The words vulnerability, version, and cve were among the top five words mentioned after the disclosure, whereas these words were rarely mentioned before it.

Pre-Vulnerability period includes the previous 325 questions asked. Post-Vulnerability period is from December 10th 2021 to January 10th 2022.

When looking at the top 100 words used before and after the announcement it becomes even more clear that the majority of new questions are directly related to the vulnerability. Specific Log4j version numbers are referenced in the titles (1.2.17, 1.2, 2.17). We even see Logback, a successor to Log4j, start to appear in the titles.

We broadened our semantic analysis to include more than just the top five words to reveal what users were trying to learn before and after the vulnerability. Words like logs, file, and logging were frequently used prior to the announcement, which suggests that these questions were in regards to Log4j’s core functionality. After the vulnerability there was a clear shift where new questions were a direct result of the vulnerability. Not only did the words vulnerability, vulnerable, and security begin to appear, but we also see specific versions being referenced and the vulnerability itself CVE-2021-44228.

Questions in a crisis

Any security vulnerability in a software dependency creates a whole lot of uncertainty for its users. Does this affect me? How can I tell? And what do I do if I’m affected? As a site where technologists go to gain and share knowledge—specifically those who create software—we have a window into the uncertainties the software community is facing. Getting the answers they need, when they need them is essential. 

This vulnerability may have been fixed in an update, but the challenge with open source is that updates don’t always permeate the industry retroactively. Vulnerabilities like Log4j will live on in the affected versions. Studies have found that over 80% of projects still use outdated dependencies

“There are many fantastic, free tools available to software developers, things we use everyday that we don’t even think twice about using,” Matt Kiernander, technical advocate here at Stack Overflow. “The Log4J vulnerability is a prime example of what could go wrong when we trust too casually. Log4j was built by Apache, a well known and trusted entity that’s provided much value to the open source community over the years. If this can happen with Apache, what about that third party library you downloaded from npm that had 3.5 stars but ‘did the trick?’ Many devs will download things just because they work without considering the potential security impacts it could have in an application. ”

There’s a huge number of free, open source libraries available to make your development life easier, but these dependencies are out of your control—as are the security issues that they face. When project maintainers realize that they are vulnerable to system takeovers and data exfiltration, Stack Overflow will be here to help them locate and mitigate these issues. 

The post Here’s how Stack Overflow users responded to Log4Shell, the Log4j vulnerability affecting almost everyone appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2022/01/19/heres-how-stack-overflow-users-responded-to-log4shell-the-log4j-vulnerability-affecting-almost-everyone/feed/ 2 19415
How often do people actually copy and paste from Stack Overflow? Now we know. https://stackoverflow.blog/2021/12/30/how-often-do-people-actually-copy-and-paste-from-stack-overflow-now-we-know/ https://stackoverflow.blog/2021/12/30/how-often-do-people-actually-copy-and-paste-from-stack-overflow-now-we-know/#comments Thu, 30 Dec 2021 14:56:25 +0000 https://stackoverflow.blog/?p=17844 April Fool's may be over, but once we set up a system to react every time someone typed Command+C, we realized there was also an opportunity to learn about how people use our site. Here’s what we found.

The post How often do people actually copy and paste from Stack Overflow? Now we know. appeared first on Stack Overflow Blog.

]]>
[Ed. note: While we take some time to rest up over the holidays and prepare for next year, we are re-publishing our top ten posts for the year. Please enjoy our favorite work this year and we’ll see you in 2022.]

They say there’s a kernel of truth behind every joke. In the case of our recent April Fools gag, it might be more like an entire cob, perhaps a bushel of truth. We wanted to embrace a classic Stack Overflow meme and tweak one of our core principles. Our company was inspired by the founders frustration with websites that kept answers to coding questions behind paywalls. What would the world look like if we suddenly decided to monetize the act of copying code from Stack Overflow?

Ok, jokes over, hope everyone had a good laugh and no one got too freaked out. But wait, there’s more. Once we set up a system to react every time someone typed Command+C, we realized there was also an opportunity to learn about how people use our site. We were able to catalog every copy command made on Stack Overflow over the course of two weeks, and here’s what we found.

You are not alone

One out of every four users who visits a Stack Overflow question copies something within five minutes of hitting the page. That adds up to 40,623,987 copies across 7,305,042 posts and comments between March 26th and April 9th. People copy from answers about ten times as often as they do from questions and about 35 times as often as they do from comments. People copy from code blocks more than ten times as often as they do from the surrounding text, and surprisingly, we see more copies being made on questions without accepted answers than we do on questions which are accepted. 

So, if you’ve ever felt bad about copying code from our site instead of writing it from scratch, forgive yourself! Why recreate the wheel when someone else has done the hard work? We call this knowledge reuse – you’re reusing what others have already learned, created, and proven. Knowledge reuse isn’t a bad thing – it helps you learn, get working code faster, and reduces your frustration. Our whole site runs on knowledge reuse – it’s the altruistic mentorship that makes Stack Overflow such a powerful community. 

You can stand on the shoulders of giants and use their prior lessons learned to build new things of value. You should still follow some basic best practices to prevent bugs or safety issues from sneaking into your code when copying, so make sure you educate yourself before grabbing and pasting. And of course, be aware that some code requires a certain license to use. Beyond that, we encourage everyone to share in the benefits of what the community has created.

That’s the high level TL;DR, but for folks who want a deep dive into all the things we learned while studying the copy data, please read on for some marvelous insights and charts from David Gibson, a data analyst on our product marketing team. If you want to hear about how we built the software modal and physical keyboard behind our April Fools joke, check out the podcast below.


As someone who has been unapologetically copying from Stack Overflow for years, I was not surprised to see the millions of copy events rolling in. What did surprise me was the number of questions we could finally answer. How many people really are copying from Stack Overflow? Are people just copying code? Are people more likely to copy the accepted answer?

To add some direction to the analysis, the team and I came up with a list of questions that we wanted to answer. What started as a joke has snowballed into a worthwhile exploration, producing new insights and sparking many internal conversations about how we can continue to innovate our public platform and bring more value to Stack Overflow for Teams.

The data

Using our homegrown web tracking tool, we created custom events to capture when a user copied from the site. With these events we were able to capture many different attributes; tags, question answer or comment, code block or plain text, copier reputation and post score, region, and if the post was accepted or not. We pretty much captured everything except the actual text being copied.

We collected  data for two full weeks, from March 26th 2021 to April 9th 2021. The following analysis is based on the behavior during that time.

Questions

Ben already mentioned some of the high-level stats that quickly proved what people had long joked about:  everyone is copying from Stack Overflow. We also quickly realized that the overall copy behavior closely followed what we already knew about our site traffic. Most copies occurred during the work week and during working hours. Our largest geographies make up the majority of copies; Asia 33%, Europe 30%, and North America 26%. Finally, 86% of all copies came from anonymous users, aka users with 0 rep.

Things started to become more interesting when we asked more detailed questions about who was copying and what they were copying.

Are higher rep users copying more?

To start, we wanted to see if our higher reputation users are copying more.

We can see that the majority of copies are coming from users with 0 reputation. These are our anonymous users because you immediately get 1 rep by creating an account. It is possible that some of these copies are from users with an account but are not logged in. Unfortunately, there is not a way for us to test this theory.

Since the majority of the users on our platform have a lower rep, let’s remove the groupings to see if we can normalize our data. By looking at Count of Copies Per User instead of Total Copies, we can see the average number of copies a user makes by their reputation.

When looking at this visualization, it appears that as Reputation increases, the Count of Copies Per User decreases. So the higher a user’s reputation, the less often they are copying. This relationship is present but is not very strong, so I am not confident in saying either higher or lower reputation users copy more. Developers who are learning often have a lower reputation and are looking for things that can accelerate their learning and get them started quickly. As developers build their expertise, they also build their reputation, and they focus on more precise challenges, things that may not be possible to copy from Stack Overflow.

Are accepted posts copied more?

When we think of an accepted answer, we may think it is the best one, and infer it is copied much more than non-accepted answers. Looking at the data, however, we find 52.4% of copies come from answers that are not accepted. But on average, accepted answers get seven copies per unique post while non-accepted answers get five copies per unique post. So more copies come from non-accepted answers, but there is higher knowledge reuse from accepted answers. At Stack Overflow, we define knowledge reuse as reusing what others have already learned, created, and proved.

Answer acceptedTotal copiesUnique postsPercentCopies per post
FALSE18,773,5173,934,86052.445
TRUE17,028,1082,614,07347.567

It is worth noting that a question may not even have an accepted answer.  Take this answer: it has almost 4,984 up-votes and was copied 7,943 unique times during our study, but is not accepted. Actually, none of the answers have been accepted. It could be because the question poster has not been seen since 2010, but also many of the other answers are valid.

Are higher scored posts copied more?

So if accepted answers are not copied more, then answers with a higher score answers must be copied more, right? Let’s find out!

We see for Answers it seems to be pretty evenly split across our defined score groupings from 1 to 1000. As for questions, the majority of copies are from posts with 1-5 points. I suspect that is because users are copying the question to reproduce it and eventually post an answer.

Similar to when looking at user reputation, the majority of posts on the site have a lower score. To normalize this, let’s look at the copies per post.

We can plainly see that as a post increases in Post Score so does the Copies Per Post. This makes sense because as a post increases in score it is more likely that the knowledge is being reused by our community.

Do people copy downvoted answers?

But what about those blue dots with a negative score? Why would anyone copy down-voted answers? Well, we never want to judge a book by its cover.

Take a look at this answer. It was our most copied down-voted answer with a score of -2 and a total of 288 copies. Looking closer, it appears to be a more concise version of the accepted answer above it that has a score of 29 and had a total of 493 copies. Although our negative score post did not have more copies, it is the perfect example of a “too long didn’t read” post.

What are the most copied tags?

Now for the question I was most excited to answer: what tags are being copied the most? Unfortunately, due to the scale of the data and available resources, I was unable to parse out nested tags. For example, the html tag will not include posts within the |html|css| tag grouping.

Top ten tags copied

Not to my surprise, the tags receiving the most copies are some of the most popular and active tags on Stack Overflow. The one thing that jumped out to me is python appears in four of the top tag groupings. Three of them are data analytics specific tag groups; |python|pandas|, |python|pandas|dataframe| and |python|matplotlib|. As a data nerd myself I love to see more people learning these tools.

TagsTotal CopiesUnique PostsCopies Per Posts
|html|css|265,14336,1987
|javascript|245,70933,4197
|python|232,07735,8526
|python|pandas|222,64319,22012
|javascript|jquery|177,35326,6967
|python|pandas|dataframe|146,7317,72819
|python|matplotlib|138,4048,04517
|git|135,4809,68214
|php|117,37320,7716
|jquery|111,45415,0587

Top ten tags with most copies per post

In addition to looking at the tags with the most copies, I wanted to see what tags have the highest copies per post. Filtering for tags with at least ten unique posts, we can plainly see as tags become more specific, they receive more Copies Per Post.

TagsTotal CopiesUnique PostsCopies Per Posts
|python|suppress-warnings|5,03110503
|node.js|npm|npm-install|npm-start|npm-live-server|4,92511448
|python|graph|matplotlib|plot|visualization|12,65029436
|sql|sql-server|tsql|system-tables|8,59020430
|windows|cmd|localhost|port|command-prompt|10,91526420

What are the most copied posts?

Now to answer the question I am sure many of you are interested in. What post received the most copies?

Answer with code block

With a post score of 3,497 and 11,829 copies, I am happy to announce that How to iterate over rows in a DataFrame in Pandas received the most copies. Answered in 2013, this question continues to help thousands of people each week.

Answer plain text

As for the most copied answer with plain text, we have TypeError: this.getOptions is not a function [closed] with a post score of 218 and 1,570 total copies. Although we were unable to confirm this I suspect that the `sass-loader@10.1.1` is being copied.

Question code block

And the most copied question with a post score of 2,147 and 3,665 copies, we have How to create an HTML button that acts like a link?

Question plain text

Finally, the most copied question with plain text with a post score of 322 and 261 copies, we have Updates were rejected because the tip of your current branch is behind its remote counterpart. This one is a little tricky because there are a handful of git commands not in code blocks that could easily be the copied part of the question. But as we are not capturing the actually copied text, we cannot confirm this.

Comment

It’s important that answers are not everything on Stack Overflow. Sometimes all you need is one useful comment. Here are the most copied comments!

Comment ScoreTotal CopiesURL
9384,924https://stackoverflow.com/questions/332289/#comment47852929
5492https://stackoverflow.com/questions/41182205/#comment71717506

The first comment is our most copied comment across the site, and the second comment is our “unsung hero” as it only has a post score of five but was our sixth most copied comment.

UPDATE: There has been a lot of interest in purchasing a real life version of our prank. The good news is we anticipated this might happen and we’ve been working on something along these lines. Stay tuned for more!

The post How often do people actually copy and paste from Stack Overflow? Now we know. appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2021/12/30/how-often-do-people-actually-copy-and-paste-from-stack-overflow-now-we-know/feed/ 100 17844
New data: What developers look for in future job opportunities https://stackoverflow.blog/2021/12/07/new-data-what-developers-look-for-in-future-job-opportunities/ https://stackoverflow.blog/2021/12/07/new-data-what-developers-look-for-in-future-job-opportunities/#comments Tue, 07 Dec 2021 19:33:40 +0000 https://stackoverflow.blog/?p=19199 How do you attract technical talent? What do developers care about when they evaluate new opportunities? We surveyed over 500 developers and the findings might surprise you.

The post New data: What developers look for in future job opportunities appeared first on Stack Overflow Blog.

]]>
The competition for technical talent continues to heat up. It seems like every year is “hotter” than the year before. There are over 70,000 technical roles currently open, according to nearly every major job board we checked. Yet, nearly 80% of developers aren’t actively looking for a new job. However, over 50% are open to opportunities if they come their way. This all begs the questions top of mind for nearly every technical recruiting team in the world: How do you attract technical talent? What do developers care about when they evaluate new opportunities? We surveyed over 500 developers and the findings might surprise you.

Factors that influence developer retention

Opportunities to learn and grow are critical to retaining talent. About 75% of developers are either actively looking for a job or open to new opportunities. When asked why, about 65% named salary as the primary reason, with 39% wanting to work with new technologies, 36% wanting better work-life balance, and 35% seeking growth or leadership opportunities.

Why are you looking for, or open to, a new job? 65% Better salary/pa, 39% wanting to work with new technologies, 36% Better work /life balance, 35% Growth or leadership opportunities

When looking at job opportunities, an overwhelming majority compare them to their current employer (77%). When evaluating their current jobs, what’s important to developers as they consider staying is nearly identical to what they prioritize if they consider leaving. Aside from salary (69%), flexibility (61%) and opportunities to learn (53%) are the top reasons developers consider leaving their current jobs.

Similarly, when developers are considering staying at their current job, flexibility at work trumps everything (65%), even salary (59%), while opportunities to learn (56%) are close behind. In fact, prioritizing flexibility when it comes to working hours and remote work in future roles was consistent across every age demographic surveyed, with millennials sniffing out opportunities to learn with the same frequency. Millennials are also the group most interested in opportunities to learn.

Important factors for future & current employers Salary: 69% future, 59% current, Flexibility (work hours, remote work, etc.) 61% future, 65% current, Opportunities to learn, 53% future, 56% current

Developers value flexibility and opportunities to learn at work

So what makes a current or future employer attractive? Over 53% want the developer experience to be prioritized at work, with salary transparency (41%) second, and opportunities to learn from people outside of their team third (40%). Developers are also looking for structure and connections when they join a company. Specifically, 35% find a structured onboarding process appealing, and 33% find it appealing if the employer makes it easy to find experts within the company.

Which of these makes a company more appealing to work for, now or in the future? 53% Focus on developer experience, 41% Transparent salary calculators for roles, 40% If I could learn from other people outside of my immediate team, 35% Have a structured onboarding process, 33% If the company made it easy for me to find experts within the company

On the flip side, companies become unappealing when flexibility and resources are limited. Specifically, nearly 60% would be turned off if they were blocked from accessing Stack Overflow, and 54% find companies unattractive when they don’t have the resources to feel confident in their work. In terms of flexibility, 56% of developers said they would be turned off if they were tied to specific working hours, and 50% said they find companies unappealing if required to go into an office.

Which of these makes a company unappealing to work for, now or in the future? 59% If you were blocked from accessing Stack Overflow, 56% If you had to start your day at a precise time. 54% If I didn't have the resources to make me confident in my work, 50% If you were expected to work from an office vs. having the flexibility to work from where you prefer. 20% If you didn't have access to an internal wiki, 12% if you didn't have Slack, 8% if you didn't have Microsoft Teams

Interestingly enough, the absence of ChatOps isn’t a deal-breaker for developers—a mere 8-12% said not having one of these tools would make a company unappealing. And those legacy wiki systems? Only 20% said not having access to one would make a company unappealing.

To developers, reputation is everything

Whether passively looking at companies they might want to work for in the future or actively searching for a new job, developers tend to turn to the same four sources to find out what it’s like to work there: their personal network, media, company content like blogs and culture videos, and reviews. For those that come across companies that they might want to work for, they ask friends or family first and read media coverage about the company. And 26% of developers say they discovered a company for consideration from an ad on a website. For those actively on the hunt for a new job, they tend to look at company reviews first and media coverage second.

How developers discover companies they may want to work for in the future. 47% Personal network, friends or family, 41% Reading other media like news articles or blogs about the company, 38% Company reviews from third party sites (e.g. Glassdoor, Blind) 31% Company media, such as employee blogs or company culture videos, 26% Advertisements on websites

Yet working developers are split on whether they feel their company’s reputation is an accurate reflection of what it’s like to work there.

The power of the tech stack

Aside from getting another offer (36%), the primary reason developers pull out of an interview process is because they didn’t like the tech stack (32%). Considering that most developers are looking for opportunities to learn, this clicks. Other top reasons include a disorganized interview process (24%), odd interview questions (24%), poor employer reviews (24%), and not being able to find enough information about what it was like to work at the company (22%).

How do you make sure your stack isn’t something that turns candidates away? In our annual Developer Survey of over 83,000 developers, we did a deep dive into the most popular developer languages and technologies and what developers most want to work with. The most popular languages and frameworks are flexible. For example, Rust is the most loved language for the sixth year in a row, and Python is the most wanted language for its fifth-year—both crowd favorites because of their diverse applications developer-friendly features. Newcomer Svelte was the most loved framework in its first year entering the list, and React is the most wanted, coveted by one in four developers.

Looking ahead

Whether it’s workplace policies or the tech stack, developers crave flexibility and opportunities to learn something new. And if they aren’t finding it in their current role, they are likely to look elsewhere. With over 70,000 technical roles currently open and 20% of developers actively looking for new jobs, we don’t see talent wars tempering anytime soon. And we anticipate other tech roles to follow suit.

To learn more about developer-centric companies, visit https://stackoverflow.com/jobs/companies, and to support your recruiting efforts by building your brand with the developer community, visit https://stackoverflow.com/talent

The post New data: What developers look for in future job opportunities appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2021/12/07/new-data-what-developers-look-for-in-future-job-opportunities/feed/ 6 19199
Shift to remote work prompted more cybersecurity questions than any breach https://stackoverflow.blog/2021/10/11/shift-to-remote-work-prompted-more-cybersecurity-questions-than-any-breach/ https://stackoverflow.blog/2021/10/11/shift-to-remote-work-prompted-more-cybersecurity-questions-than-any-breach/#respond Mon, 11 Oct 2021 14:59:35 +0000 https://stackoverflow.blog/?p=18900 For this edition of Stack Overflow Knows, we did a deep dive into cybersecurity topics across Stack Overflow and Stack Exchange sites to spotlight trends and reflect on how conversations are evolving within the developer and technical community.

The post Shift to remote work prompted more cybersecurity questions than any breach appeared first on Stack Overflow Blog.

]]>
Happy Cybersecurity Awareness Month! For this edition of Stack Overflow Knows, we did a deep dive into cybersecurity topics across Stack Overflow and Stack Exchange sites to spotlight trends and reflect on how conversations are evolving within the developer and technical community. We uncovered some findings—some surprising, some not so surprising. Check it out.

Activity spikes around major breaches

Up until recently (see the next section), security-related activity across the public platform appeared to be tied to major breaches. Some of the most publicized breaches in internet history prompted spikes in cybersecurity-related questions.

Time series chart company questions asked on Stack Overflow related to security and questions asked on comparing Security Stack Exchange site. Stack Overflow peak in early 2020 during the pandemic, and Information Security Stack Exchange questions peak in late 2016 after significant data breaches.

The initial spike and climb in questions on Stack Overflow and new users in the Information Security Stack Exchange came in 2011, following the Sony and Target breach disclosures. Another increase in questions and new users in the Information Security Stack Exchange followed the eBay and Home Depot breaches that made headlines in 2014. The biggest peak in questions and new users in the Information Security Stack Exchange came right after Yahoo! disclosed its 2013 breach in 2016 and later announced another larger breach at the end of the same year.

Time series chart company new users to Stack Overflow that asked a security question and new users on Information Security Stack Exchange site. Stack Overflow peaked in early 2020 during the pandemic reaching, and Information Security Stack Exchange questions peaked in late 2016 after significant data breaches reaching 3,000 users.

The pandemic trumps any breach

While one-off security incidents led to spikes of interest in security, none rivaled the global impact of a massive shift to remote work. The trend of increased questions and new user spikes following security incidents got disrupted in 2020. Stack Overflow saw an undeniable pandemic-related spike at the beginning of 2020 when the shift to remote work prompted a nearly 60% increase in questions related to authentication. The volume of security-related questions at the start of lockdown exceeded that of any year in Stack Overflow history.

Bar chart comparing questions asked on Stack Overflow related to security and questions asked on Information Security Stack Exchange site by year. Stack Overflow hit an all-time high in 2020 while Information Security Stack Exchange questions peaked in late 2016 and began to decline.

Exploited vulnerabilities trigger the most developer questions

What’s perhaps more interesting is the correlations we’re seeing when it comes to types of security incidents and volume of questions. We’re seeing the number of security-related questions increasing in tandem with the volume of exploited vulnerability-related breaches. In short, when there’s a breach due to a software vulnerability, cybersecurity-related questions within the developer community rise too. In the wake of a breach, it’s only natural to make sure you’re not at risk of suffering the same fate ASAP, but aren’t quite sure where to start. Quick, to Stack Overflow!

Stacked bar chart comparing count of known data breaches by type and year; Exploited vulnerability, other and records stolen.

Source: Information is Beautiful

Stacked bar chart comparing the count of known data breaches against security-related questions asked.

Light at the end of the tunnel?

There’s clear connections between highly-publicized breaches occurring and corresponding rises in security-related questions and new users for the Information Security Stack Exchange. Exploited software vulnerabilities trigger the most developer questions on the public platform. Yet, the onset of the pandemic and the shift to remote work prompted a higher volume of questions on Stack Overflow than any breach in platform history.

The battle to protect against threat actors will never subside, but there is an optimistic takeaway to be found here. We’re seeing a culture of learning in action. While vulnerabilities are inevitable, developers shifted from just reacting to breaches to proactively trying to secure everyone during the move to remote work. When a security incident happens, the Stack Overflow community asks questions and looks for answers. And as we all know, learning starts with asking a question.

We’d love to know what you think. If you have a suggestion for what we should explore next, email us or share on social with the hashtag #StackOverflowKnows.

The post Shift to remote work prompted more cybersecurity questions than any breach appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2021/10/11/shift-to-remote-work-prompted-more-cybersecurity-questions-than-any-breach/feed/ 0 18900
Pandemic lockdowns accelerated cloud migration by three to four years https://stackoverflow.blog/2021/09/02/pandemic-lockdowns-accelerated-cloud-migration-by-three-to-four-years/ https://stackoverflow.blog/2021/09/02/pandemic-lockdowns-accelerated-cloud-migration-by-three-to-four-years/#comments Thu, 02 Sep 2021 16:01:07 +0000 https://stackoverflow.blog/?p=18718 The number of questions across Stack Overflow surged, and new research solidifies this trend.

The post Pandemic lockdowns accelerated cloud migration by three to four years appeared first on Stack Overflow Blog.

]]>
Welcome to our second Stack Overflow Knows pulse survey. In our first edition, we focused on blockchain technologies. This time, we are shifting our focus to the cloud. We will be running these smaller surveys every few months as a complement to our annual Developer Survey to allow us to dive deeper into specific topics. If you have a suggestion for what we should explore next, email us or share on social with the hashtag #StackOverflowKnows.

Cloud adoption skyrockets

The migration from localized to cloud computing has been accelerating for more than a decade, so perhaps it’s no surprise that 90% of respondents to our latest survey indicated that their companies increased usage of the cloud over the last year. It was a global phenomenon, with every region showing at least 75% of its participants growing their cloud adoption. While we know that the pandemic accelerated many aspects of digital transformation, we wanted to see if we could make an educated guess at exactly how big of a leap forward the worldwide lockdowns precipitated. 

Donut chart showing the percent of organizations that have increased their use of cloud technology in the last year. Yes 89%, I don't know 6% and no 5%.

So, how can we quantify this acceleration? Well, the response to our survey matched a trend seen in the activity on our public site. Before the pandemic, users were asking a little over 6,000 cloud related questions each month. The number of monthly questions related to the cloud grew by about 500 questions per year between 2018 and 2020. When lockdowns began across 100 countries in March of 2020, however, we saw an enormous spike, with average questions per month peaking around 8,000 by the end of that month and remaining near that level through the end of 2020. We saw about four years worth of our average annual growth, in other words, in the span of just three months. 

Line chart showing growth of cloud-related questions asked on Stack Overflow from 2016 to September 2021. In March 2020, we saw a dramatic spike reaching close to 8,000 questions asked. This is the time that 100+ countries entered lockdown.

Because so many developers use Stack Overflow each week for work, we can look at this activity as a proxy for what was happening inside of companies around the globe. A massive uptake of new tools led to a tsunami of new questions, and this elevated level of collaboration on the platform lasted over a year. As we enter the final quarter of 2021, however, the tide is clearly ebbing, and total question volume is roughly where you would expect if the growth trend prior to the pandemic had held steady. There are currently over 250,000 questions about the top three cloud providers – AWS, Azure, and Google Cloud – across Stack Overflow.

What if COVID-19 never happened?

There is an obvious spike around cloud related tags in the early days of COVID-19. This is likely due to organizations transitioning to remote work. But what if none of this happened? By using historical data and a Bayesian structural time-series model we can predict what the count of questions asked on Stack Overflow would look like after February 2020 sans pandemic.

If there was no shift to remote work, we would have expected to see an average of 6.20K questions asked per month, totaling 111.52K from February 2020 to September 2021. Instead, we observed an average of 7.13K questions asked per month, totaling 128.35K. In relative terms, this is an increase of +15% which is likely due to remote work and unlikely to be due to random fluctuations.

Line chart showing growth of cloud-related questions asked on Stack Overflow from 2016 to September 2021 with a separate line prediction questions asked after February 2020 if COVID-19 lockdowns didn't occur. After February 2020, we see the actual values have a dramatic spike reach close to 8,000, while the predicted value remains steady at around 6,000.

Types of clouds

“Out of the box” public clouds appear to be the most common among developers.

Definitions

  • Public clouds run on server architecture that’s delivered via the internet and shared across organizations. Multiple organizations can run on the same server hardware, which is referred to as multitenancy. Examples include AWS, Microsoft Azure, and Google Cloud.
  • Private clouds run on servers  dedicated solely to a single organization, whether the servers are on the organization’s premises (on-prem) or in a distant data center. Computing resources still grow and shrink according to need, but there are never two cloud instances on the same hardware. 
  • Hybrid cloud is any environment that uses a combination of both public and private clouds. The definitions for hybrid clouds vary; some consider any system with two clouds of any type—two public clouds, for example—as hybrid, while others have defined it as a mix of cloud and on prem servers.
Public cloud-native 54 (35%), Hybrid cloud 37 (24%), Private cloud-native 27 (17%), Currently transitioning to cloud 27 (17%), Cloud-cautious 7 (4%), On the ground til I die 4 (3%)

Just like we’re seeing hybrid work environments becoming the wave of the future, hybrid cloud environments are the most popular among respondents, particularly those working for large organizations. Smaller organizations are most likely to have used a public cloud, while larger organizations with 7500+ are most likely to have a hybrid cloud. Perhaps this indicates that startups are using public clouds to iterate and grow, while larger organizations look to move more of their data to more secure private or on premises servers.

Stacked bar chart showing organization size and relationship with the cloud. 1-500 employee organizations, 72 respondents, 44% public cloud-native, 17% private cloud-native, 20% hybrid cloud. 501-500 employee organization, 8 respondents, 31% public cloud-native, 23% private cloud-native, 8% hybrid cloud. 1001-7500 employee organizations, 18 respondents, 25% public cloud-native, 21% private cloud-native, 29% hybrid cloud. 7501+ employee organizations, 19 respondents, 17% public cloud-native, 10% private cloud-native, 37% hybrid cloud.

Who’s developing for the cloud? 

We saw a fairly even split between those developing for the cloud (42%), and those who don’t (39%). When you combine those who do with those who want to (19%), however, developers interested in the cloud become a clear majority.

Those developing for the cloud are most likely doing it in a professional environment (73%). In contrast, very few are developing for the cloud as a student (3%). Not an unexpected result—cloud computing comes with recurring monthly charges, so hobbyists (22%) and students are less likely to have the resources to develop there. 

Conclusion

A massive digital transformation happening in such a short span of time is bound to bring new challenges. Recent research found that “…since early 2020, remote employees reported that skills involving cloud computing, cybersecurity, and data storage were most lacking in their daily routines. The report also found that most remote employees’ confidence to do their current jobs was down 13% from a year ago as office adjustments were made.” We hope those in need of help can find great questions and answers to support them on Stack Overflow. What kind of questions are visitors engaging with when it comes to the cloud? For curious readers, we included three of the most popular questions from the last year below.

The most viewed cloud questions in 2021

We already mentioned above that COVID-19 accelerated cloud migration, but what where people asking about? One way of answering that questions would be to look at the most viewed cloud related questions this year. Below we show the most viewed cloud questions for the top three cloud providers, Azure, Google Cloud Platform and Amazon Web Services. 

Azure

Total Views: 166,719

The most viewed cloud-related question on Stack Overflow this year belongs to Azure, specifically Azure Virtual Machines. Although this question was asked over eight years ago, it continues to help developers every day.

Why am I getting “Cannot Connect to Server – A network-related or instance-specific error”?

Question text reads I get the following error when trying to connect to SQL Server:

Cannot connect to 108.163.224.173.

A network-related or instance-specific error occurred while establishing a connection to SQL Server.

The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 1326)

This error is thrown when I try to configure my database to gridview in Visual Studio 2010. I'm at a loss as to how to debug this error.

How would you debug this error? What steps should I take in order to determine what is really going on here, in addition to the one mentioned in the error message?

Google Cloud Platform 

Total Views: 118,009

The most viewed Google Cloud Platform question is the perfect reminder that restarting your computer or, in this case, your server is always a viable option when troubleshooting.

error NG6002: Appears in the NgModule.imports of AppModule, but could not be resolved to an NgModule class

Question text reads: First time using firestore and I'm getting this error. It seems to be a problem with Ivy, from my research. I don't have a lot of experience modifying tsconfig.app.json, which is the direction I've been pointed to, following other answers.

The only thing I was able to modify from the original project was to use Angular Fire 6 instead of 5, which I had done initially to follow a tutorial.

Amazon Web Services

Total Views: 84,930

For AWS, their most viewed question this year was asked less than 12 months ago. So while Azure’s most viewed question was asked eight years ago, this question is a reminder that if you are running into an error, you are probably not alone.

Composer detected issues in your platform: Your Composer dependencies require a PHP version “>= 7.3.0”

Question text reads: I have uploaded my laravel project to aws hosting when I go to ip address of ec2 instance it give me this error

Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.3.0".

I check php version current version 7.3 I dont know what actually need to do . First the version was 7.4 then i downgrade it to 7.3

The post Pandemic lockdowns accelerated cloud migration by three to four years appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2021/09/02/pandemic-lockdowns-accelerated-cloud-migration-by-three-to-four-years/feed/ 2 18718
The 2021 Stack Overflow Developer Survey is here! https://stackoverflow.blog/2021/08/02/2021-stack-overflow-developer-survey-results/ https://stackoverflow.blog/2021/08/02/2021-stack-overflow-developer-survey-results/#comments Mon, 02 Aug 2021 15:12:59 +0000 https://stackoverflow.blog/?p=18530 Our data reveals some fascinating trends in education, remote work, and web frameworks.

The post The 2021 Stack Overflow Developer Survey is here! appeared first on Stack Overflow Blog.

]]>
Hello and welcome to the 2021 Developer Survey. This year over 80,000 respondents took the time to share their feedback on the tools and trends that are shaping software development. As always, we are so grateful to those who took the time to participate. 

This year’s survey was a little different than ones in years past. We opened our 2020 survey in February, and by the time we got around to publishing the results, the reality of work and daily life had shifted dramatically for people around the globe. The pandemic continues to exert a strong influence on the shape of our economy and society, so we tried to keep this year’s survey shorter and focused on things outside the traditional office.

We learned a lot about the way developers learn. For the rising cohort of coders under the age of 18, online resources like videos and blogs are more popular than books and school combined, a statistic that doesn’t hold for any of our other age cohorts. Overall the developer profession is full of new joiners, with more than 50% indicating they have been coding for less than a decade, and more than 35% having less than five years in the trade.

Roughly a third of respondents responded to our question on mental health. This is twice the percentage that offered feedback in 2020 and may reflect the growing awareness of mental health’s importance and the impact of the ongoing pandemic.

Another trend that may be linked to the pandemic is work status. We see a greater percentage of respondents working part-time or in school, while those indicating full time employment decreased. This may reflect the effects of the pandemic, which saw workers from all industries stepping back and reevaluating their relationship to a five day work week and in-person employment.

As always, there were a few new languages on our leaderboards and some interesting shifts among the most Loved, Dreaded, and Wanted technologies. We also introduced a new insight to this section, measuring technologies developers have Worked With vs. Want to Work With. There are some very cool, interactive visuals showing the languages, databases, and frameworks that existing developers want to migrate towards. 

Be sure to check out all the data and insights from the full Dev Survey here. Beyond this annual event, we are expanding our research efforts and planning to run a number of smaller, more topically focused surveys throughout the year. We published one on blockchain technology earlier this year and have one about the cloud coming up soon. 

We recently updated our mission statement at Stack Overflow. As an organization, we strive to empower the world to develop technology through collective knowledge. Your contributions allow us to build and refine our knowledge of the developer community and the state of software. As always, we will make the data from the survey available to the public shortly, so stay tuned for information on how to download. Thanks for helping us to create this report, please enjoy and share, and we’ll see you again next year.

The post The 2021 Stack Overflow Developer Survey is here! appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2021/08/02/2021-stack-overflow-developer-survey-results/feed/ 13 18530
Most developers believe blockchain technology is a game changer https://stackoverflow.blog/2021/06/07/most-developers-believe-blockchain-technology-is-a-game-changer-3/ https://stackoverflow.blog/2021/06/07/most-developers-believe-blockchain-technology-is-a-game-changer-3/#comments Mon, 07 Jun 2021 18:38:51 +0000 https://stackoverflow.blog/?p=18275 But a little over one third disagree, viewing blockchain as mostly hype

The post Most developers believe blockchain technology is a game changer appeared first on Stack Overflow Blog.

]]>
Hello and welcome to Stack Overflow’s first Pulse survey. As we explained in the launch post for this year’s developer survey, we’re expanding beyond our annual magnum opus and checking in with our community more frequently. We’ll still be posting results from our Dev Survey each year, but we’ll also be hosting a number of smaller, more focused surveys asking developer questions on one specific topic.

Given the recent IPO of Coinbase and the enormous amount of activity occurring around cryptocurrencies, NFTs, and DeFi, we decided to center our first pulse survey around blockchain technologies. The data below is based on responses from 693 software developers to a survey conducted from May 5th to May 17th of 2021.

The first thing we wanted to know was how they felt about the explosion of interest in this area.

We presented respondents with a fairly binary choice here: game changer, all hype, or never heard of it. We’ll try to learn from that, and going forward will look to present a more neutral option as well.

Interestingly, while the majority believe in this technology, less than a quarter had actually worked with it yet.

When we modify that question to ask who is excited to try working with this technology, we see a response that mirrors those who believe in its potential.

Getting hands on experience working with this technology didn’t prove to be a turn off. Those who had built with it tended to be more optimistic on its potential.

It’s clear that, among the developers we surveyed, this technology is still more common outside of work than it is on the job. Students and hobbyists outnumbered those who used blockchain at work by a nearly 2-1 margin.

Ethereum is far and away the most popular technology among respondents who have worked with blockchains.

We can see this trend mirrored in data we collected around tags and questions. While Bitcoin arrived first, Ethereum related questions have become more prevalent since 2016.

When we look at tag data, we see the more expansive “blockchain” tag slightly ahead of ethereum, which holds the second place spot, ahead of hyperledger-fabric and bitcoin.

Top Blockchain related tags on Stackoverflow.com

Blockchain TagQuestions Asked
blockchain             2,190
ethereum             1,892
hyperledger-fabric              1,536
bitcoin              1,287
solidity             1,062
hyperledger              1,047
smartcontracts                 592
hyperledger-composer                 447
cryptocurrency                439
truffle                 415

So, what’s the takeaway from all this? There were three interesting observations made by my colleague David Gibson after reviewing the data.

  • Those who have developed in blockchain are the most excited about it.
  • The most popular languages are the foundations of blockchain. JS, Python, and Java are all old tech but are still the building blocks (see what i did there) for the technology of tomorrow.
  • Blockchain questions peak around major Bitcoin price milestones.  See chart below.

Have thoughts of your own on this topic? Feel free to weigh in (respectfully) in the comments, or shoot us ideas for blog posts and podcast episodes at pitches@stackoverflow.com, and make sure to review our pitch guide before hitting send.

The post Most developers believe blockchain technology is a game changer appeared first on Stack Overflow Blog.

]]>
https://stackoverflow.blog/2021/06/07/most-developers-believe-blockchain-technology-is-a-game-changer-3/feed/ 75 18275