天天看點

python程式設計堆棧溢出_2020年堆棧溢出開發人員調查– 65,000個開發人員共享他們的薪水,頂尖的程式設計語言等...

python程式設計堆棧溢出

Stack Overflow just released the results of their 2020 survey of more than 65,000 developers.

Stack Overflow剛剛釋出了2020年對65,000多名開發人員的調查結果。

Just like with Stack Overflow's past surveys, I’ve combed through their results and summarized them for you, along with my own personal analysis as a developer and a teacher.

就像Stack Overflow過去的調查一樣,我對結果進行了梳理并為您進行了總結,并作為開發人員和老師對我進行了個人分析。

This article will give you a snapshot of what the software development profession looks like in 2020.

本文将為您簡要介紹2020年的軟體開發行業。

Note that in this article, I am only going to focus on the survey results from professional developers – not the students and other people who haven't started working as developers yet.

請注意,在本文中,我将僅關注專業開發人員的調查結果,而不是學生和尚未開始從事開發人員工作的其他人員。

If you want to learn about people who are just getting into the field of software development, I recommend also looking at freeCodeCamp's most recent New Coder Survey of 31,000 developers.

如果您想了解剛進入軟體開發領域的人員,那麼我建議您也參考一下FreeCodeCamp最近對31,000名開發人員進行的New Coder調查 。

Also note that I'm waiting for Stack Overflow to make the entire survey response dataset public (they usually do this a few weeks after they release the result summary). Once they do this, I will link to it here, and I may have some additional data visualizations.

還要注意,我正在等待Stack Overflow公開整個調查響應資料集(通常在他們釋出結果摘要後的幾周内這樣做)。 一旦他們這樣做,我将在這裡連結到它,并且我可能會有一些其他的資料可視化。

For this article, I am sharing Stack Overflow's official data visualizations, along with my own analysis of them and their significance.

對于本文,我将分享Stack Overflow的官方資料可視化,以及我自己對它們及其意義的分析。

First, this article will first cover demographics: age, educational background, and how long people have been coding.

首先,本文将首先介紹人口統計資料:年齡,教育背景以及人們編碼的時間。

Second, I'll cover the tools developers use most often, and the tools they're the most excited about.

其次,我将介紹開發人員最常使用的工具以及他們最興奮的工具。

Finally, I'll cover developer salary and job satisfaction.

最後,我将介紹開發人員的薪水和工作滿意度。

一般的專業軟體開發人員幾歲? (How old is the average professional software developer?)

Most professional developers are in their late 20s or early 30s. But as we'll see, Indian developers (and there are a lot of them) bring the average age down quite a bit.

大多數專業開發人員都在20年代末或30年代初。 但是,正如我們将看到的,印度開發商(有很多)使平均年齡下降了很多。

But contrary to popular belief, coding is not just a young person's game. (I've been trying my darnedest to dispel this myth). 1 out of every 20 developers is age 50 or older.

但是與普遍看法相反,編碼不僅僅是年輕人的遊戲。 ( 我一直在竭盡全力消除這個神話 )。 每20名開發人員中就有1名年齡在50歲或以上。

American developers tend to be older than developers in other countries, with an average age of nearly 34 years.

美國開發商的年齡往往比其他國家的開發商大,平均年齡接近34歲。

Americans also seem to start coding later in life than other countries, and have on average only coded for about 16 years – meaning most of them didn't start coding until after high school.

美國人似乎還比其他國家晚一些開始編碼,平均他們隻編碼了16年左右-這意味着他們中的大多數人直到高中才開始編碼。

And that extra coding experience makes a big difference when it comes to your career.

在您的職業生涯中,額外的編碼經驗會帶來很大的不同。

Managers and executives tend to have 14 years or more of coding experience.

經理和主管通常具有14年或以上的編碼經驗。

Even for front end developers and full stack developers – the two most common first job titles for new developers – people have on average 8+ years of coding experience.

即使對于前端開發人員和全棧開發人員(這是新開發人員最常見的兩個職位),人們平均也有8年以上的編碼經驗。

Keep in mind that many people are perfectly happy in these roles and stay in them for years. So this does not mean that the average developer has 8 years of coding experience when they land their first full stack developer job.

請記住,許多人都非常高興擔任這些職務,并在其中待了多年。 是以,這并不意味着普通開發人員在首次從事全棧開發人員工作時就擁有8年的編碼經驗。

Most professional developers actually started learning to code between 5 and 14 years ago:

實際上,大多數專業開發人員在5到14年前開始學習編碼:

大多數專業開發人員喜歡什麼樣的教育背景? (What is the educational background of most professional developers like?)

About 75% of developers finished an undergraduate university degree, and many of those people also went on to get a graduate degree, too.

大約75%的開發人員完成了大學學士學位,其中許多人還繼續獲得了研究所學生學位。

3% of professional developers stopped school after completing a 2-year associates degree, and around 17% of developers haven't earned any university degree at all.

3%的專業開發人員在完成2年的副學士學位後停止了學業,而大約17%的開發人員根本沒有獲得任何大學學位。

This brings me to two important points:

這使我有兩個要點:

  1. If you didn't go to college, you're not alone. A lot of professional developers didn't go to college.

    如果您不上大學,那麼您并不孤單。 許多專業開發人員沒有上過大學。

  2. But most professional developers did go to college. So maybe think twice before you try to pull a Bill Gates and drop out to launch your own startup.

    但是大多數專業開發人員确實上過大學。 是以,在嘗試拉一個比爾·蓋茨并退出建立自己的初創公司之前,請三思而後行。

If you are attending university, you almost certainly want to major in computer science. It is by far the highest paying major in the US, and it's also the most common major among professional developers.

如果您正在上大學,幾乎可以肯定要攻讀計算機科學專業。 它是迄今為止美國薪資最高的專業,也是專業開發商中最常見的專業。

This year, Stack Overflow decided to lump software engineering and computer engineering majors in with computer science. But over the past 8 years, CS has always been by far the most common major.

今年,Stack Overflow決定将計算機工程專業的軟體工程和計算機工程專業集中在一起。 但是在過去的8年中,CS一直是迄今為止最常見的專業。

Still, it's exciting to see how many other majors are represented here. 4.4% of developers are coming from the natural sciences, 3.6% from math, around 5% from the liberal and fine arts, and even a good mix of health science majors, too.

不過,很高興看到這裡還有其他幾個專業。 4.4%的開發人員來自自然科學,3.6%的數學來自,約5%的人文和美術來自健康科學專業,甚至還包括許多專業。

受訪者來自哪些地區? (What regions are the survey respondents from?)

According to Stack Overflow, the regional breakdown of respondents is as follows:

根據Stack Overflow,受訪者的地區細分如下:

+-------------------+-----------+
|      Region       | Responses |
+-------------------+-----------+
| Europe            |    24,688 |
| North America     |    15,570 |
| Asia              |    16,400 |
| South America     |     3,070 |
| Africa            |     2,709 |
| Australia/Oceania |     1,570 |
+-------------------+-----------+
           

女性中有多少受訪者? (How many of the respondents were women?)

Only 7.7% of respondents who were professional developers identified as women. But on a plus note, this number is up from 7.5% in 2019.

專業開發人員中隻有7.7%的受訪者确定為女性。 但值得一提的是,這個數字比2019年的7.5%有所增加。

有百分之幾的開發人員在身體或心理上存在差異? (What percentage of developers live with physical or mental differences?)

Quite a few developers are visually impaired or completely blind. I know several people in the freeCodeCamp community who write code using screen reader tools. And it seems a lot of people in the Stack Overflow community do, too.

相當多的開發人員有視力障礙或完全失明。 我認識到freeCodeCamp社群中的一些人使用螢幕閱讀器工具編寫代碼。 在Stack Overflow社群中似乎也有很多人這樣做。

And around 1 in 5 respondents were living with a mental health or other difference:

大約五分之一的受訪者患有精神健康或其他差異:

工具和技術:最常用的程式設計語言是JavaScript (Tools and technologies: the most commonly used programming language is JavaScript)

JavaScript has been the most-used technology since Stack Overflow started doing the annual survey. So this result is pretty unsurprising.

自Stack Overflow開展年度調查以來,JavaScript一直是最常用的技術。 是以,此結果并不令人驚訝。

This said, there are some interesting changes. Dart seems to be growing with the introduction of Flutter for mobile app development.

也就是說,有一些有趣的變化。 随着針對移動應用程式開發的Flutter的推出,Dart似乎正在增長。

Kotlin has grown pretty quickly as an alternative for Java development.

作為Java開發的替代方法,Kotlin的發展非常Swift。

And Python seems to be as healthy as ever, as we'll see a bit later.

Python似乎和以往一樣健康,稍後我們将看到。

開發人員最喜歡的程式設計語言 (The most loved programming language by developers)

Rust has been the most loved programming language by developers for the past 4 years. The high-performance language, which just turned 5 years old this month, is used heavily by the Mozilla Firefox team.

在過去的四年中,Rust一直是開發人員最喜歡的程式設計語言。 Mozilla Firefox團隊大量使用了這種高性能語言,該語言本月剛問世5周年 。

TypeScript – a statically typed version of JavaScript – also has a passionate fanbase, and was the second most loved language.

TypeScript(JavaScript的靜态類型版本)也擁有熱情的支援者,并且是第二受歡迎的語言。

開發人員要學習的程式設計語言 (The programming language Developers want to learn next)

Developers who are already working with other programming languages are most interested in learning Python, JavaScript, Go, and TypeScript.

已經在使用其他程式設計語言的開發人員對學習Python,JavaScript,Go和TypeScript最為感興趣。

依開發人員偏好而排名靠前的資料庫 (The top database by developer preference)

And in terms of the databases developers most want to learn:

就資料庫開發人員而言,最想學習的是:

開發人員的最佳平台 (The top platform for developers)

Linux is the most-loved platform, with 76.9% of developers either using it or expressing interest in using it in the future.

Linux是最受歡迎的平台,将來有76.9%的開發人員使用Linux或表示有興趣使用Linux。

Docker and Kubernetes – while not operating systems – are also popular platforms to build applications on top of. In terms of cloud platforms, AWS was more popular than Azure, which was more popular than Google Cloud Platform and IBM Cloud.

Docker和Kubernetes雖然不是作業系統,但它們也是流行的平台,可以在其之上建構應用程式。 在雲平台方面,AWS比Azure更受青睐,而Azure比Google Cloud Platform和IBM Cloud更受青睐。

In terms of developers being excited about platforms, Docker was right at the top with 24.5% of developers wanting to use it for a future project. And the interest around AWS was quite high, too:

就開發人員對平台的興奮而言,Docker排在首位,有24.5%的開發人員希望将其用于未來的項目。 對AWS的興趣也很高:

大多數開發人員使用什麼作業系統? (What operating system do most developers use?)

As of 2020, nearly half (46%) of developers still use Windows as their main desktop operating system.

截至2020年,将近一半(46%)的開發人員仍将Windows作為其主要的桌面作業系統。

MacOS and Linux are nearly tied for second.

MacOS和Linux幾乎并列第二。

A small minority of mavericks out there use BSD. If you want to learn more about that, here's a quick overview of BSD and its benefits.

少數特立獨行者使用BSD。 如果您想了解更多有關此的資訊,這裡是BSD及其好處的快速概述 。

頂級架構,庫和開發人員工具 (The top frameworks, libraries, and developer tools)

Node.js is again the most widely used non-language, non-operating system, non-database tool.

Node.js仍然是使用最廣泛的非語言,非作業系統,非資料庫工具。

Machine learning tools are becoming more widely used this year, too. Quite a few developers are using TensorFlow, Pandas, and PyTorch.

機器學習工具今年也變得越來越廣泛。 不少開發人員正在使用TensorFlow,Pandas和PyTorch。

And this may surprise some people, but the most widely used web framework / library in 2020 is still jQuery.

這可能會讓某些人感到驚訝,但是2020年使用最廣泛的Web架構/庫仍然是jQuery。

There's an absurd number of older websites that still use jQuery, even though many developers would love to rip it out of their sites.

盡管許多開發人員都希望将jQuery淘汰出自己的網站,但仍有許多荒謬的舊網站仍在使用jQuery。

If you are trying to ween your websites off of jQuery, this site shows you how to replicate jQuery functionality using plain vanilla JavaScript.

如果您嘗試在jQuery網站之間進行導航,則此站點将向您展示如何使用普通JavaScript複制jQuery功能 。

The other big takeaways from this chart:

該圖表的其他重要内容:

  • React has been steadily growing.

    React一直在穩定增長。

  • Vue.js and Angular aren't going away any time soon. They are still widely used front end frameworks.

    Vue.js和Angular不會很快消失。 它們仍然是廣泛使用的前端架構。

開發人員如何選擇他們的工具? (How do developers choose their tools?)

This was a new question on this year's Stack Overflow survey: how do developers research new tools and decide whether to use them?

這是今年Stack Overflow調查中的一個新問題:開發人員如何研究新工具并決定是否使用它們?

The most popular approach: if it has a free trial, just give it a try.

最受歡迎的方法:如果可以免費試用,請嘗試一下。

This said, most developers don't feel a whole lot of power in determining which tools their team will ultimately use.

這就是說,大多數開發人員在确定團隊最終将使用哪些工具時并沒有強大的力量。

I suspect one reason for this may be that large companies often have Chief Information Officers (CIOs) who make enterprise software license purchasing decisions at an institutional level.

我懷疑其中一個原因可能是大公司經常擁有首席資訊官(CIO),他們在機構級别上做出企業軟體許可證購買決策。

This said, the fact that 18% of developers feel they have "a great deal of influence" is heartening. This figure is probably much higher than it would have been 10 years ago.

這就是說,有18%的開發人員認為他們具有“很大的影響力”這一事實令人振奮。 這個數字可能比十年前要高得多。

開發人員如何串聯使用不同的技術 (How developers use different technologies in tandem)

One of the coolest parts of this year's Stack Overflow survey is this data visualization, which shows the tools developers most commonly pair with other tools.

資料可視化是今年Stack Overflow調查中最酷的部分之一,它顯示了開發人員最常與其他工具搭配使用的工具。

Here are the clusters. The size of each circle corresponds to the proportion of survey respondents who use the tool:

這是叢集。 每個圓圈的大小對應于使用該工具的調查受訪者的比例:

It should be no surprise that Ruby and Rails tend to get used together, or that .NET developers tend to develop on Windows machines and Azure Cloud.

Ruby和Rails傾向于結合使用,或者.NET開發人員傾向于在Windows計算機和Azure Cloud上進行開發也就不足為奇了。

But there are some interesting observations we can make here, too. The fact that MySQL is more closely associated with PHP, for example, is a reminder that the LAMP stack (Linux, Apache, MySQL, PHP) is still a widely used toolchain.

但是我們也可以在這裡做一些有趣的觀察。 例如,MySQL與PHP緊密相關的事實提醒我們LAMP堆棧(Linux,Apache,MySQL,PHP)仍然是一種廣泛使用的工具鍊。

Contrast this with MongoDB, which seems to be most widely used with JavaScript ecosystem tools.

與MongoDB相比,MongoDB似乎在JavaScript生态系統工具中使用最廣泛。

Angular embraced TypeScript back in 2015, and it is now more commonly associated with TypeScript than it is with JavaScript.

Angular早在2015年就接受了TypeScript,現在它與TypeScript的關聯比與JavaScript的關聯更為普遍。

Dart started out as a web development tool at Google. Rather than being incorporated into Angular, it is now more commonly associated with mobile app development, thanks to the surging popularity of the Flutter framework.

Dart最初是Google的網絡開發工具。 由于Flutter架構的Swift普及,它現在不再與Angular內建,而是與移動應用程式開發更加相關。

In the upper left hand corner, we also get some insight into the tools that DevOps and Site Reliability Engineers use most. We can even see the overlap with the whole data science and machine learning fields.

在左上角,我們還可以深入了解DevOps和站點可靠性工程師最常使用的工具。 我們甚至可以看到與整個資料科學和機器學習領域的重疊。

The conclusions I'm drawing from this chart may be overly broad. I am excited to dig into Stack Overflow's full dataset once they release it, and see whether the data bears out these observations.

我從這張圖表中得出的結論可能過于寬泛。 我很高興深入研究Stack Overflow的完整資料集(一旦釋出),并檢視資料是否符合這些觀察結果。

開發人員多久學習一次新技術? (How often do developers learn new technologies?)

Professional developers pick up new tools often. Nearly ¾ of them seem to learn at least one new technology every year.

專業的開發人員經常選擇新工具。 似乎每年有将近3/4的人至少學習一種新技術。

工作壽命:自營職業的開發商比例是多少? (Working life: what percentage of developers are self-employed?)

A vast majority of professional developers work for an employer. Less than 10% of them were self-employed or working as freelancers or contractors when surveyed in February 2020.

絕大多數專業開發商都為雇主工作。 在2020年2月進行的調查中,隻有不到10%的個體經營者或自由職業者或承包商。

Also note that 1 out of every 8 respondents were students, but even some of those students identified as professional developers. These students may have gotten internships or even full-time developer jobs while still finishing school.

還要注意的是,每8位受訪者中有1位是學生,但其中有些學生被認為是專業開發人員。 這些學生可能仍在完成學業時獲得了實習甚至全職開發人員的工作。

Most developers work at small or medium-sized businesses (SMBs). Only about 35% of them work at companies with more than 500 employees.

大多數開發人員都在中小企業(SMB)中工作。 他們中隻有約35%在擁有500多名員工的公司工作。

For some perspective, out of the FAANG software companies, Google, Facebook, Amazon, and Apple all have more than 10,000 employees. Netflix had just under 10,000 employees in 2019, and probably has more than that now. Microsoft, which isn't included in FAANG for some reason (maybe it would make the acronym unpronounceable?) also has more than 10,000 employees.

從某種角度來看,在FAANG軟體公司中,Google,Facebook,Amazon和Apple均擁有10,000多名員工。 Netflix在2019年擁有不到10,000名員工,并且可能比現在更多。 微軟由于某些原因未包括在FAANG中(也許會使首字母縮略詞不發音?)也有10,000多名員工。

My point is that all of these "name brand" software companies and their peers only employ about 14% of developers. Most developers are working at companies you haven't heard of. Many of them aren't even working at tech companies, but rather at banks, hospitals, and local governments. As of 2020, Pretty much every Fortune 1000 company has software engineers on staff.

我的觀點是,所有這些“名牌”軟體公司及其同行僅雇用大約14%的開發人員。 大多數開發人員都在您從未聽說過的公司工作。 他們中的許多人甚至沒有在科技公司工作,而是在銀行,醫院和地方政府工作。 截至2020年,幾乎每個《财富》 1000強公司都擁有軟體工程師。

Less than half of respondents considered their company's new developer onboarding process to be "good".

不到一半的受訪者認為他們公司的新開發人員入職流程“良好”。

But about 65% of them were satisfied with their jobs.

但是他們中約有65%對工作感到滿意。

The main consideration that spurs developers to start looking for new jobs? Money. Not a huge surprise there.

促使開發人員開始尋找新工作的主要考慮因素是什麼? 錢。 那裡并不奇怪。

But what is surprising is that  a desire to work with new technologies came in second – above growth and leadership opportunities and work/life balance.

但是令人驚訝的是,與新技術打交道的願望排在第二位–高于增長和上司機會以及工作與生活的平衡。

And when it comes to job satisfaction, "Languages, frameworks, and other technologies I'd be working with" was the main consideration for most developers. But... only for men.

在工作滿意度方面,“大多數語言,架構和我将使用的其他技術”是大多數開發人員的主要考慮因素。 但是...隻适合男人。

For the 3,694 women who responded to the survey, "office environment and company culture" was the most important consideration. The technologies they'd be working with were a tertiary consideration.

對于接受調查的3694名女性,“辦公環境和公司文化”是最重要的考慮因素。 他們将使用的技術是一個第三考慮因素。

There are some other differences as well. Diversity was a much more important consideration for women.

還有其他一些差別。 多樣性是婦女更為重要的考慮因素。

2020年開發人員的平均工資是多少? (What is the average developer salary in 2020?)

Here's a really cool data visualization from the report. The Y axis is median salary, and the X axis is years of programming experience. Study this for a moment:

這是報表中非常酷的資料可視化。 Y軸是工資中位數,X軸是多年程式設計經驗。 研究一下:

If you want to get a high wage earlier in your career, it would seem that DevOps and Site Reliability Engineering are your golden tickets.

如果您想在職業生涯的早期獲得高薪,似乎DevOps和Site Reliability Engineering是您的金鑰匙。

But before you rush out to start reading Linux

man

pages, I would be remiss to not point out: all of the jobs here fall between 7 and 12 years of professional programming experience.

但是在急着開始閱讀Linux

man

頁之前,我會不遺餘力地指出:這裡的所有工作都需要7到12年的專業程式設計經驗。

One mistake I often see people make is to prematurely specialize. Your first developer job is unlikely to be as a DevOps engineer. Most likely, it will be as a full stack developer. You'll specialize on-the-job from there, according to the work your bosses assign to you.

我經常看到人們犯的一個錯誤是過早地專業化。 您的第一份開發人員工作不太可能是擔任DevOps工程師。 最有可能的是,它将成為一名全棧開發人員。 根據老闆配置設定給您的工作,您将在那裡專門從事在職工作。

But this chart is a helpful guide, because of the sheer volume of responses and the resulting statistical significance. And it may give you some ideas for what types of dev team responsibilities you should ask your boss for.

但是,由于響應的數量龐大且具有統計意義,是以該圖表是有用的指南。 它可能會給您一些思路,讓您了解應向老闆要求哪種類型的開發團隊職責。

Also keep in mind that these numbers are global. Here is the difference between salaries globally and salaries here in the US, which has traditionally been the highest-paid developer market in the world.

還請記住,這些數字是全球性的。 這是全球薪資與美國薪資之間的差別,美國曆來是薪資最高的開發商市場。

First, global salaries for different roles, based on 34,279 survey responses (in US dollars):

首先,根據34,279份調查回複(以美元為機關),列出了不同職位的全球薪資:

Now here are the United States wages for different roles, based on 8,006 responses:

現在這是根據8,006個答複得出的不同職位的美國工資:

US developers earn a $60,000 premium over their non-US counterparts across the board.

美國開發商的收入比非美國開發商高出60,000美元。

One thing you'll note from looking at these charts: back end developers in the US seem to average about $8,000 more than full stack developers do, but full stack developers make slightly more outside the US.

通過檢視這些圖表,您會注意到一件事:在美國,後端開發人員的平均收入似乎比全棧開發人員平均高出8,000美元,但全棧開發人員在美國以外的地區賺取的利潤略多。

I'm not certain why this is, but I speculate this is because the US software industry is older than in most other countries. Thus it has a higher degree of job specialization. Since full stack development is a superset of back end development, many of today's full stack developers will specialize on the job and become tomorrow's back end developers.

我不确定為什麼會這樣,但是我推測這是因為美國軟體業比其他大多數國家都老。 是以,它具有更高的工作專業化程度。 由于全棧開發是後端開發的超集,是以當今許多全棧開發人員将專注于這項工作,并成為明天的後端開發人員。

這些都是Stack Overflow 2020年開發人員調查中我的全部亮點 (Those are all my highlights from Stack Overflow's 2020 Developer Survey)

Thanks for reading. If you have time, you can read through the full survey results.

謝謝閱讀。 如果有時間,您可以閱讀完整的調查結果 。

In the past, Stack Overflow has made their survey data sets public, so when that happens people will discover a lot more insights.

過去,Stack Overflow公開了他們的調查資料集,是以當這種情況發生時,人們會發現更多的見解。

What are your thoughts on these survey results? Did I miss any big revelations? If so, be sure to tweet it to me.

您對這些調查結果有何看法? 我想念任何重大啟示嗎? 如果是這樣,請確定将其發送給我 。

翻譯自: https://www.freecodecamp.org/news/stack-overflow-developer-survey-2020-programming-language-framework-salary-data/

python程式設計堆棧溢出