Skill Up Report 2019
Skill Up Report 2019
1.
Table of
Contents
Introduction & Demographics 3
Programming Languages 8
Software Tooling 18
Developer Regret 21
Key Trends 23
Spotlight on Cloud 29
Developer Learning 37
Open Source 41
Final Thoughts 43
2.
Introduction
Change is constant in tech. From the broad
trends that define the industry to the daily
challenges that developers face at work,
nothing stays the same.
3.
Key Findings
• Data science and machine learning are driving the popularity of Python.
• Almost half of developers spend time learning every single day - a further 30%
spend time at least once a week. This means learning is an essential part of
developer life - something organizations need to facilitate and support.
• Containers are now central to the way developers build and deploy software -
Kubernetes and Docker are being widely used and are both in demand across
developers using a range of programming languages.
• Go, Python, and JavaScript are languages that are more likely to be used if
you’re working with multiple cloud platforms.
• Blockchain is overhyped and overrated say developers, due to the lack of use
cases and practical applications. Half of all respondents said blockchain and
cryptocurrency had failed to deliver in the last 12 months.
Some of these results are consistent with previous Skill Up reports and the findings of other organizations.
Others, however, might surprise you. Throughout the report we will break down a range of issues so you
can see how opinions and behaviors vary by age, salary, and the programming language respondents use.
4.
Developer Demographics
This year 4,520 people took part in the Packt Skill Up survey. This includes developers from
118 countries, working in a wide range of industries.
Canada
3% Europe 43%
Asia
US 21% Middle East
Pacific
2% 16%
Africa
2%
South
America
13%
Industry by Respondents
50%
40%
30%
20%
10%
0%
Software Education/ Financial Government Retail/ Media Marketing
Solutions Research services/ and health eCommerce and and design
Banking entertainment
5.
We also received responses from developers with a diverse range of experience and from
different age groups:
6%
7%
23%
33%
25%
59%
18%
29%
10+ Years 5-9 Years 0-4 Years 18-24 25-34 35-44 45-60 60+
59% 18% 23% 7% 25% 33% 29% 6%
Gender
This year’s survey was once again dominated by male respondents. This figure isn’t
representative of the industry as a whole and indicates that we need to do much more to
engage with developers of all genders.
6%
Male
94%
Female
6%
94%
6.
Survey respondents also came from across salary bands. This closely mapped alongside
geographic distribution, as you might expect:
100%
80%
% of Respondents
60%
40%
20%
0%
United North South Europe Asia Pacific Africa Middle East
States America America
Region of Respondents
100%
80%
% of Respondents
60%
40%
20%
0%
USA China Japan Germany UK
Country of Respondents
The data here shows there is a high proportion of relatively low paid developers in China.
This highlights the extent to which the Chinese tech industry is driving growth through
an army of tech workers paid considerably less than their counterparts in Japan, Germany,
and the UK.
The recent protests around China’s ‘996’ tech culture (March 2019) highlight some of the
problems developers in China face - not just low pay but long hours too (although that is
undoubtedly a problem all over the world). Global solidarity is perhaps important not only
in defending their interests, but also the interests of developers in every country.
7.
Programming Languages
Programming languages are an important identifier for many engineers. The language
you use says a lot about you as a developer - from what you do, to who you work for, and
maybe even what you value.
Here are programming languages that respondents said were their primary languages:
ProgrammingJava 17%
languages are an important identifier for many engineers. The language
you use saysPython
a lot about you as a developer - from what you do, to who you work for, and
24%
maybe even what you value.
JavaScript 10%
There are plenty
C#
of studies on the changing landscape
13% of programming languages. We
wanted to use it almost as a demographic point, a way of diving deeper into the values
of everyone who 6% survey.
C++responded to this year’s
C 3%
Primary Language by Respondent
Here are programming languages that respondents said were their primary languages:
Ruby 1%
Kotlin 0.52%
Scala 0.67%
R 1.65%
Julia 0.12%
Go 1.68%
Rust 0.10%
TypeScript 0.99%
PHP 8%
Swift 0.71%
Delphi 0.79%
SQL 4%
Other 6%
% of Respondents
As you can see, there were 4 stand out primary programming languages. These probably
won’t come as much of a surprise - with Python’s consistent growth over the last few years,
these results confirm that it is the definitive language in modern software engineering.
8.
A good way of emphasising Python’s dominance is to look at how widely used it is across
age groups.
100%
80%
% of Respondents
60%
40%
20%
0%
18-24 25-34 35-44 45-60 60+
Respondent Age Band
The reason we can see Python’s popularity across a range of segments is because it is
such a flexible programming language. It is today more popular than R when it comes
to data science and machine learning, but that only gives you part of the picture.
Its power for scripting makes it an attractive language for anyone that wants to
automate a process or task, while it’s relatively straightforward learning curve means it
is relatively accessible for anyone that understands the fundamentals of programming.
As we’ll see later, it’s not only popular, it’s in high demand across the developer world.
These results also show that C++ is making a comeback with younger developers.
Although it is certainly one of the oldest language, it appears to have considerable
staying power - it’s a great scripting language. It’s unlikely this trend will change as
artificial intelligence and IoT become definitive trends for the next decade.
While C++ is widely regarded as one of the more challenging languages to learn,
it’s nevertheless a language that can act as a foundation for anyone that wants to
understand some of the fundamental principles behind coding, and how languages
interact with machines.
9.
With JavaScript and C# both at either end of the age groups (JavaScript being the
choice of younger developers and C# for those more experienced), Python appears to
have caught the imagination of a diverse range of engineers.
With Python, Java, C#, C++, JavaScript, and PHP coming out as the most common
primary programming languages, we’ll be returning to these throughout the report as
we explore a number of different areas.
10.
Why Do Developers Select the
Programming Languages They Do?
There’s plenty of data on the popularity of various programming languages, but one thing
that often gets missed is why developers choose the programming language they do.
That’s something we dug a little deeper into this year - we left the question open text,
and with a mammoth task of grouping together responses, here’s what we found:
100%
Employment Related
80%
Use Case
% of Respondents
60%
IT Qualification
Requirement
40%
Peers/Popularity
Other
0%
Python Java C# JavaScript
What we can see across our ‘big 4’ programming languages is that each is chosen
for a subtly different reason. C# and Java, for example, are primarily selected for
employment reasons, while JavaScript is selected for projects. One of the reasons for
this is that languages like Java and C# are well-established and form the backbone of
much enterprise software. It’s possible that many developers using Java, for example,
are working in organizations where Java has been the development language of
choice for decades.
In contrast, the main driver behind the selection of Python is use case. This means
that Python is widely viewed as a programming language that solves problems. It is,
for the developers that use it, a language that is adaptable to the context in which it
is being deployed.
11.
What Programming Language Do Developers
Want to Learn Next?
There’s plenty of data on the popularity of various programming languages, but one thing
that often gets missed is why developers choose the programming language they do.
What Language are you Most Interested in Learning Next - by Primary Language
100%
80%
% of Respondents
60%
40%
20%
0%
Python Java C# JavaScript PHP C++
We found, once again, that Python tops the list across the board when it comes to the
most in-demand programming language. For developers using every programming
language, Python was listed as the language they want to learn - even PHP developers
wanted to learn Python more than JavaScript.
12.
The Growth of Go and Kotlin
However, it’s worth noting the popularity of other emergent languages.
Go, for example, is a popular pick for both JavaScript and Python developers (interestingly,
JavaScript developers picked Go above even TypeScript). This is reflective of its popularity
as a language for building backend web services. It’s a useful language, for example,
for full stack developers that need to piece together different components of their
application stack.
It’s not particularly surprising to see that Kotlin is on Java developers’ collective radar.
Kotlin became Google’s preferred language for Android back in March, a step which
confirmed Kotlin’s superiority over it’s more established relative.
But JavaScript isn’t far behind Kotlin. This is evidence that JavaScript has reached a level
of maturity. Indeed, the language owes a lot to Node.js in moving it beyond the browser,
essentially redefining what JavaScript is as a programming language.
Both the growing popularity of Kotlin and the maturity of JavaScript could spell the start
of Java’s gradual decline.
Rust also deserves an honorable mention here - although it didn’t rank that highly,
it appears that it is a popular language for C++ developers. With the language
apparently the ‘most-loved’ according to the Stack Overflow survey, we’re expecting
big things over the next 12 months.
For those younger developers using C++, Rust might make sense as the next language
to learn.
13.
Next Language to Learn by Salary Band
< $20k
$20-$34.9k
Salary Band
$35-$49.9k
$50-$74.9k
$75-$99k
> $99k
When broken down by salary, it becomes clear just how in-demand Python is across all
segments. Demand isn’t isolated to a particular group.
However, it was interesting to see that alongside Python, JavaScript was the language
developers in the lowest salary band wanted to learn, while Go is in high demand with
respondents in the top salary band.
The reasons for this aren’t surprising. Go is a language purpose-built for the challenges
of modern software engineering. From machine learning to microservices, many of the
fields that have only recently become mainstream are serviced well by Go.
From this perspective, it would seem that those on higher salaries are more likely to be
looking forward at the language that’s going to be best for the tasks they’re trying to
tackle. But this shouldn’t put less experienced developers off - Go certainly isn’t the most
difficult language to learn; it’s easy to start using Go fairly quickly.
14.
Why do Developers Want to Learn that
Programming Language?
Much is often made of lifelong learning and curiosity in engineering circles. But getting
past the clichés, why do people decide to learn the things they do?
We asked our respondents what their primary motivations are for learning a new
programming language.
35%
30%
25%
% of Respondents
20%
15%
10%
5%
Overall, the primary motivations for learning a new programming language are use case
and projects. Employment was actually a low ranking motivation, suggesting that
developers have a certain amount of freedom in the languages they use. It also indicates
that career does not figure in the minds of many developers when it comes to learning a
new language. The drive comes from either curiosity or the demands of a given situation.
This only tells half the story. You get a much better insight into some of the motivations for
different groups of developers when you look at the specific responses from each group.
15.
Python
Respondents told us they wanted to learn Python because of its diversity and flexibility.
But it’s machine learning that appears to be a key motivator for many.
Java
Although it’s possible that Java will eventually lose out to newer languages like Kotlin,
respondents who want to learn it talked about its power for both object oriented,
functional, and reactive programming. From this perspective, Java is a language
that offers a solid foundation for someone that wants to understand the principles
underpinning different programming methodologies.
JavaScript
16.
C++
Respondents that named C++ as the language they most want to learn next talked a
lot about building high-performance applications. This makes particular sense in the
context of deep learning and IoT: C++ is a language that can help developers build data-
intensive applications.
“Because with C++ you can modify underlying things that works directly
with the hardware and even the performance is much better.”
Go
Although Go wasn’t popular across all respondents, those that named it were interested
in its threading capabilities. It was even seen as offering performance advantages over
Python.
Kotlin
For those that want to learn Kotlin, it was largely seen as a better alternative to Java. One
thing that did come up consistently was its usability - as developers are asked to do more
with less, the experience of writing code becomes crucial.
“With Kotlin, you can code more efficiently than with Java,
but it still has all of the good aspects of Java.”
17.
Software Tooling
Now we’ve looked at the languages people want to learn, let’s look at how developers
see their respective tooling ecosystems evolving over the next year.
There may be an element of truth to this. But this year’s Skill Up results highlight that
there are, conversely, a core set of tools that almost all developers want to learn.
18%
Python
18% 31%
Docker
31%
TensorFlow
20% 31%
20%
Kubernetes
31%
With Docker and Kubernetes taking the top spots, it’s clear that containers are defining the
way all developers are working.
Docker
“I have started a little with Docker already, but I truly believe that
containerization of projects/apps is the future of development.”
Kubernetes
“I need the ability to containerize multi-platform testing environments”
18.
TensorFlow
Python
It’s worth noting that Python features in this section. In the survey we were clear that we
wanted to keep ‘tools’ distinct from programming languages. So, while we could blame
our respondents for not replying in the way we would have liked, it also underlines why
Python is so popular as a programming language: it’s a tool that solves problems in
diverse contexts and scenarios.
Viewed in this way, Python is more than just a programming language - it’s a vital
additional piece of the modern engineers toolkit that can be used to do anything
from automating tasks to working through data.
The popularity of TensorFlow doesn’t come as a surprise. It’s helping to drive the
popularity of Python by making deep learning accessible to a vast community
of developers.
19.
What Tools are People Learning Next, According
to their Primary Programming Language?
100%
80%
% of Respondents
60%
40%
20%
0%
Python Java C# JavaScript PHP C++
Primary Language of Respondent
Breaking things down by programming language shows a few other contrasts that are
worth noting. For example, React is popular with not only JavaScript developers (26%
of respondents saying they want to learn it), but also with C# developers (16%) and PHP
developers (23%). This underlines something that we’ve been thinking for some time -
that React has supplanted Angular as the go-to JavaScript tool.
It was also interesting to see that TensorFlow is attracting C++ developers - 42% said they
wanted to learn it. As a more powerful alternative to Python, we could see C++ becoming
more popular as engineers continue to seek performance gains.
20.
Developer Regret
Do Developers Regret Learning Anything?
Respondents were split over whether they regret learning a specific tool. 45% said they did,
but 55% said they didn’t.
Yes
45%
45%
55%
No
55%
While this shows that for many developers learning new things always proves valuable,
it also indicates that learning the wrong tools can be a waste of time and energy -
two resources highly prized by developers.
5%
4%
% of Respondents
3%
2%
1%
0%
Java Visual Studio Eclipse PHP Visual Basic
Tools
The software tools that featured probably won’t come as much of a surprise -
many of them will appear irrelevant or out of date to many programmers.
However, given the fact that Java is still so widely used, it’s worth unpacking why
developers regret learning it.
21.
The Case of Java - “the COBOL of Modern Programming”
Respondents who said they regret learning Java talked about it’s broad decline, as well as its
complexity. This plays into the hands of Kotlin, a language widely regarded as much more
concise and usable than Java.
The uncertainty around Java has certainly been exacerbated by Oracle’s decision to focus on
enterprise Java and withdrawing support for OpenJDK. Although Red Hat’s takeover means
there is a future for Java, there are undoubtedly warning signs for people that have been
relying the language for some time.
Hindsight is, of course, a wonderful thing. And for many developers, learning tools that
become outdated and irrelevant is a part of the learning journey. But this data nevertheless
underlines that some degree of caution and thoughtfulness about the engineering tools
and programming languages you invest time and energy in can be extremely valuable.
22.
Key Trends
Languages and tools are all well and
good, but the macro-level trends are Top 5 Software Trends
what have the large ripple effect on the
type of work developers are going to be
ML & AI Cloud Tech Data Containers Automation
doing - and the types of tools they will 47% 27% Science 9% 5%
be using. 12%
23.
Cloud
Those respondents who are excited about cloud talked about the affordability and
demand for cloud. The economic benefits it’s believed to bring are forcing many
developers to adapt to more cloud-native ways of working.
“Cloud services are becoming more popular and more affordable over time”
“More and more of our customers want their apps deployed on the cloud”
“Cloud is a big overhaul in the industry. Everyone needs to move to the cloud.”
Data Science
Data science often gets overlooked as it sits in the shadow of machine learning. But it’s
nevertheless an important trend for many of our respondents.
Containers
Containers are having a huge impact on almost every developer’s life. In many ways,
it feels as though containers are having more of an impact on developers lives than
cloud - as one respondent says, some engineering teams will move to a container-based
architecture while remaining on-prem.
But it is also symptomatic of modern distributed systems, which, in turn, are having a
big impact on the way we understand the role of the developer. We’re starting to see the
friction between development and operations all but collapse as developers come to
take on more responsibility for how their code runs in production. Alongside this reality,
we also have the rise of the SRE (Site Reliability Engineer) as the person responsible for
managing all of the component pieces of an infrastructure.
“Because they scale well and there are few scenarios it can’t be used.”
24.
Overrated and Overhyped
We also asked respondents what trends had failed to deliver any meaningful impact over
the last 12 months:
9%
7%
38%
15%
6%
25%
A number of trends that many respondents cited as important for the next year were also
deemed to have failed to deliver over the last 12 months. This not only tells us something
about the nature of hype cycles, it also underlines the fact that different technology
professionals are exposed to certain trends in different ways.
For example, JavaScript developers are more aware of serverless than programmers using
any of the other top languages are. And although cloud is key across developers using all
languages, what we see here is a slight difference in the way that JavaScript developers
perceive and are approaching the trend.
This is perhaps a good lesson for all developers - understand how a trend is relevant to
you and the specific way that you can leverage it. Sometimes its real value to you won’t be
the way it’s covered and talked about in wider discourse.
It’s worth noting that containers is the one ‘key trend’ that wasn’t also viewed as
something that has failed to deliver over the last 12 months.
25.
Top 5 Developer Trends by Primary Language - Next 12 Months
100%
80%
% of Respondents
60%
40%
20%
0%
Python Java C# JavaScript PHP
Python
Java
% of Respondents
C#
JavaScript
PHP
C++
Above you can see a comparison between what developers using the top languages think
is going to be a big trend and which they think has failed.
26.
Perceptions of cloud
Interestingly, Java developers are the group most looking at cloud for the next 12 months,
but are also the group that regard it as having failed over the previous year. This could
suggest something about the organizational challenges Java developers may face, working
with more legacy systems and competing internal interests acting as obstacles to change.
27.
Machine Learning & AI
Although machine learning and artificial intelligence are viewed by many developers
as exciting trends for the next 12 months, but there was still a healthy dose of cynicism
surrounding the technology. Part of this might be due to the extensive media coverage
that artificial intelligence has received over the last 2 years, but it could also be due to the
fact that we’re still in the foothills of what’s possible with the technology.
“Everyone is talking about it and many are using it, but I think comprehension
is lagging on what the models do and their strengths/limitations.”
“Everyone talks about it but no one is implementing it”
“I have a feeling it’s a hype - there are no actual revolutionary
discoveries/services yet. Just ‘recognizing’,
‘picture editing’ and chat bots.”
“It seems that story from 70’s turned the circle. There are no breakthroughs
on this path, only constant progress. There will be no revolution but slow
irreversible change, but all the ado from last years appeared just... ado.”
Virtual Reality
Virtual reality has been impacted by a couple of issues - the fact that consumer demand
hasn’t been as high as the tech industry anticipated, and limitations with the hardware.
Indeed, it’s worth noting that the two are, to some extent, related - virtual reality still has a
bit of a usability problem insofar as you need to purchase expensive kit to actually use it.
These results tell us that what really matters are the practical applications and use cases
of given trends. Indeed, just because they haven’t appeared yet doesn’t mean there won’t
be any at all - perhaps we’ll see Blockchain make a big impact in the near future...
28.
Spotlight on Cloud
Although artificial intelligence typically takes the
headlines where tech is concerned, we wanted
to throw a spotlight on cloud. Cloud is, after all,
something that will impact developers in many
different ways, from the way applications are built
and deployed to the way data is processed and
managed for analytics.
The split between industries also shows something interesting between who’s using cloud
andCloud
who isn’t:
Platform by Industry
Software Solutions
Education/Research
Financial Services/Banking
Industry
Retail/eCommerce
% of Respondents
Yes No
29.
While the bulk of respondents working in software solutions are committed to using cloud,
engineers in other industries certainly aren’t using it on a large scale. Areas like education &
research and government & healthcare, for example, are often unfairly viewed as resistant to
innovation - with strict governance and issues around privacy and data paramount in these
areas, it makes sense that cloud adoption will be a little slower.
Another possible reason that cloud isn’t as widely adopted as we might have expected is
that developers working in-house for non-tech companies are utilising third party PaaS or
SaaS tools - this means that the tools they use might be cloud-based, but their experience
of development isn’t strictly cloud-native.
Of those using cloud platforms, when you look at which platforms are being used by
primary programming language the results weren’t that surprising - AWS winning out
everywhere except for C#, where Azure dominates. Clearly, AWS has been able to capture
the developer imagination across various languages - it seems Azure is trying to challenge
this with tools like Visual Studio Code.
100%
80%
% of Respondents
60%
40%
20%
0%
Python Java C# JavaScript PHP C++ SQL C
30.
Key Trends within Cloud
We also asked participants who use cloud platforms what future developments within
cloud computing they were excited about.
Serverless
AI
Machine Learning
For those not currently working with cloud, it might be worth thinking about serverless
as a way into the field.
When you look at these responses from different developers using different languages,
it’s clear that cloud is shaping the worlds of different developer communities to look
very similar.
ML None
Computing
AWS Microservices
Platform Data Services
Kubernetes
Cloud Containers
Serverless Data
Capabilities
ML AI
Serverless
Amazon
Cloud Lambda AI
Serverless Architecture
Deployment
Serverless Cloud
ML Cloud Computing AI
IoT Computing
AI
ML
Development
Serverless
Services
31.
Hybrid and Multi-Cloud
Multi cloud is something that we have seen being talked about a lot, especially in the
context of vendor lock-in.
70%
60%
50%
% of Respondents
40%
30%
20%
10%
0%
Python Java C# JavaScript PHP C++ SQL C
Primary Language of Respondents
1 2 3 or More
The stand out here is that Python, C++, and SQL developers are more likely than anyone else
to be using multiple cloud platforms. This says something about the types of developers
using those languages, and the type of work they do, but the results also suggest that those
languages that facilitate hybrid cloud development more effectively than the likes of Java
and C#.
32.
Motivations Behind Choosing a Cloud Platform
Given there is so much conversation around cloud, we also wanted to better understand
developers’ decisions for using the cloud platforms that they do.
Given a substantial proportion of respondents aren’t even using cloud platforms, this data is
useful for that particular group, helping them to see how developers and decision makers
currently approach cloud.
100%
80%
% of Respondents
60%
40%
20%
0%
AWS Azure Google Cloud Platform
33.
AWS
“It has a vast array of features, and if purchasing instances
in large chunks of time you can save money.”
“Tutorials… and the free tier. But it also has everything I need
to run node stacked websites.”
“It’s a current market leader and its simple to setup basic infrastructure”
“Easy on-ramp for a small busy team to get to terms with quickly. Ease of
deployment of our software products along with good documentation.”
Azure
“I came from a Windows, .NET development background”
“I work a lot with the tech stack provided by Microsoft. Thus this fits best.
I enjoy working with Azure. Lots of options and thus possibilities.”
“It’s organization decision. Although, we have AWS and Google Cloud
also but Azure seems rock the world.”
There’s a lot to unpack here, but let’s first highlight the obvious - cost isn’t actually that
important a factor when it comes to selecting a cloud platform. It’s instead largely a mixture
of employment-related (unsurprising - as many developers won’t be in a position to make
platform decisions) or use cases.
AWS is the platform that is most likely to be used because of peers or popularity. This might
well speak to its effectiveness as a platform, but it’s also worth pointing out that this could
be symptomatic of industry-wide groupthink. Just because it appears to be popular with
everyone doesn’t necessarily mean it’s the best option for you.
Interestingly, use case is the primary motivator for GCP. Although Google’s cloud offering
is still some way behind AWS and Azure, it demonstrates that it may be finding a niche for
developers and engineers that see it as fitting their specific use case neatly. Indeed, for the
emerging multi cloud world, this put GCP in a great position as a complement to its more
established rivals. 34.
Limitations of Cloud
Developers reported that cost isn’t an important factor when it comes to choosing a cloud
platform, but perhaps it should be - it is, according to respondents, a serious limitation.
This tells us that those making decisions about platforming aren’t thinking about the scope
of their decisions and the strategic consequences that might follow.
This underlines just how important it is to properly understand the cost implications of
a given cloud platform before purchasing. Not doing so could damage your technology
strategy - and frustrate your developers.
100%
80%
% of Respondents
60%
40%
20%
0%
AWS Azure Google Cloud Platform
Vendor lock-in is a minor limitation compared to issues around features and, to a slightly
lesser extent, user experience. For the cloud platforms it seems that simplifying the
relationship between features and cost, to make them more understandable for users could
be a huge improvement.
For those buying and using cloud platforms, this highlights that it’s important to think
about the long term implications of using a given cloud platform, and the ways that
different features could impact cost. Cloud requires significant strategic forward thinking.
35.
AWS
“Takes some time to figure out their pricing as it pertains to your product and usage.
Gets costly before you get a handle on it.”
“Cost, flexibility, storage costs, expense for hybrid cloud solutions”
“The number of services under the AWS banner can be hard to keep in mind when
starting on a new project.”
“AWS is becoming stale, inventing features to keep their platform relevant. Other
cloud providers are becoming better options for most cloud use cases.”
Azure
“Azure is still immature. It’s a generation behind AWS.”
“Azure’s portal interface is too convoluted.”
“Lots of random errors, sometimes not a great development experience.”
“Cost and too many new features release which are at time hard to keep up.”
It’s worth noting here that GCP was regarded as the most limited cloud platform out of the
big three. If we take what we saw earlier, where a key motivator for using GCP is use case,
it’s clear that GCP is a platform that is very good at doing a few specific things, but lacks the
features to do lots of things well.
This might seem like bad news for GCP. But if the future of cloud is increasingly hybrid,
this means GCP can position itself as a complement to its more established competitors.
36.
Developer Learning
Given the complexity of the technology landscape, learning is the most important part
of a developers professional life.
Something we’ve taken an interest in over the last few years of Skill Up is how often
developers spend time learning new things.
Overall, almost half of respondents say they spend time learning every day - a further
30% say they learn at least once a week. That underlines just how important learning is
to developers.
This pattern doesn’t change massively across age bands or salary - however, those in
the lowest and highest salary bands appear to be the groups that are the most likely to
learn every day.
This makes sense in the context of one’s career. Those starting out are investing
significant time and energy in learning, while those at the peak of their career and on
the highest salaries need to invest time in learning to ensure they remain relevant.
$20k - $34.5k
Salary Band
$35k - $49.9k
$50k - $74.9k
$75k - $99k
$99k or more
This makes sense as the JavaScript ecosystem is one of the most dynamic, with new libraries
and frameworks emerging at an impressive rate, while Java and PHP are subject to much
less change - they are more stable and arguably slower moving ecosystems.
37.
How do Developers Learn?
As a tech publisher, we also wanted to see what methods developers use when learning. We
know that for most developers learning is something that happens across different formats
and media - but were there any trends or patterns across different ages and industries?
100%
80%
% of Respondents
60%
40%
20%
0%
18-24 25-34 35-44 45-60 60+
Respondent Age Band
100%
% of Respondents
80%
60%
40%
20%
0%
Python Java C# JavaScript PHP C++
Primary Language
Across different ages, eBooks remain the most popular format among our respondents.
However, videos do figure much more in the lives of younger respondents. There are a
number of reasons for this - on the one hand it says something about that generation’s
comfort with platforms like YouTube, but it also could be due to the type of engineering
roles this age group occupies - primarily front end and design focused. That makes the
visual element of learning particularly important.
38.
Printed Books
“I learn better from feeling and reading an actual book,
rather than looking at a screen and typing.”
“I can take the book outside and read.”
“Because I can have the book next to me while I use the computer. Plus I can
note everything on it, to make it easier to remember certain parts of the book.”
“Because I can read during my daily commute and take notes.”
eBooks
“A good eBook means I will have most of what I need to learn in a single place.”
“eBooks act as a reference material that is always
available regardless of internet access.”
“eBooks can be adapted to my learning pace; I can learn at any time.”
“It’s easier for me to focus on what I consider important.”
Video Course
“I can learn using my ears and eyes, stop the video and research on internet
if I don’t know a term or I want to investigate a concept deeper.”
“I like to see what I’m learning and be able to go back when
I’m finding something difficult to understand.”
“It allows me to confirm what I am learning visually. I can pause
and rewind when something is not clear at first.”
8% overall said they use blogs and articles, but it was particularly interesting to see that
this is particularly true for those in the upper-middle salary band. 39.
Primary Learning Method by Developer Annual Salary
$20k - $34.5k
Salary Band
$35k - $49.9k
$50k - $74.9k
$75k - $99k
$99k or more
Blogs and Articles eBooks Printed Books Video Course Interactive Courses
This is because the people occupying these sort of roles inhabit an intermediary position
between engineering, business-level decision making, and team building - this is a strange
nexus that can’t often be adequately captured or expressed in videos or more traditional
learning materials.
Understanding other people’s opinions and experiences for this group is particularly
valuable, because understanding the human element within the engineering process is
something that can’t be learned from a manual. And although there are certainly good
books on how and why we should build, to gain a real understanding you need diversity
of opinion and experience.
40.
Open Source
It feels odd to talk about open source in 2019 - today open source software is
software. But it’s often forgotten that so much of the code that makes up the digital
infrastructure is built and maintained by people that do it just because they want to.
With this in mind, we asked our respondents whether they have contributed to any
open source projects in the last 12 months:
21%
No
79%
Yes
21%
79%
Respondents overwhelmingly haven’t contributed to open source in the last year - however,
it’s worth noting that the 20% of people that have is a not insignificant minority. This
indicates there is an appetite across the developer world to get involved in developer
projects, even it is a largely niche activity.
Open source contribution becomes less likely as developers get older. There are a number
of reasons for this - it could be that younger developers are more likely to use open
source tools, but equally it might also be the case that older developers have less time for
‘extracurricular’ commitments.
41.
Why Do People Contribute to Open Source?
Developers contribute to open source projects for a number of different reasons:
Benefit
20%
of Others
51%
Personal 51%
Development
29%
29%
Project Driver
20%
However, some cited confidence and ability as a reason - given that many developers
who do contribute see it as an activity vital for their personal development, helping those
that lack confidence to get more involved with open source projects would be incredibly
beneficial to the wider open source community as well as individual developers.
43.
2019
ANALYSIS
Rich Gall
Gary Hebrard
EDITOR
Gary Hebrard
Rob Collingridge
Rich Gall
DESIGN
Clare Bowyer
44.