Categories
Analysis Community

Spotlight on Developers in China & the Rest of East Asia

What are some of the key differences between developers in East Asia, including the Greater China region, and the rest of the world? In the 22nd edition of our Developer Nation Survey we collected insights from developers and software engineers in East Asia to try to answer this exact question. Here is what we found!

“A fifth of the global developer population is located in either the Greater China region or the rest of East Asia”

We split the Greater China area from the rest of East Asia to provide more regional granularity. In terms of relative size, we find that almost a fifth (18%) of the global developer population is located in either the Greater China region (9%) or the rest of East Asia (9%). Breaking down East Asia into countries, we see that more than half of the developers here are spread across two countries: Indonesia (32%) and Japan (21%). When comparing developers across regions, we can see that just over a third (34%) of developers in the Greater China region have six or more years of experience, which is notably less than developers globally (43%). Furthermore, the Greater China region has a much smaller concentration (4% vs 22% globally) of highly-experienced developers (16+ years). With generally lower levels of experience in the Greater China area, aspiring developers may find starting a career here less competitive than developers in regions with higher levels of experience.

“East Asian developers outside China have similar levels of experience to the rest of the global developer population”

Both groups have a little more than a third (34%) of their developers with 11+ years of software development experience. However, East Asia’s data are largely propped up by Japan. The developer community in Japan tends to be highly experienced, with almost six in ten developers (59%) having 16+ years of experience. No other country has a higher concentration of developers with this level of experience. 

Developers in the region are mostly either self-taught or have an undergraduate degree in computing

The journey to coding mastery lacks a clearly defined path. Developers typically state they’ve used more than two learning methods on average to learn how to code. In general, the self-taught method is the most popular among developers globally, with more than 60% using this method. However, our data shows that the proportion of self-taught developers fluctuates significantly across regions.

In the Greater China area, the most popular method for developers to learn how to code is via an undergraduate degree in computing, with 50% having used this method. This is significantly higher than developers in other regions (41% -42%). We generally see a higher concentration of professional developers in Greater China (83%) than we do in the rest of the world (70%). It could be that the job market in Greater China more often requires a degree in computing or engineering, which would also explain why self-teaching is used less often in this region.

Developers in the rest of East Asia, however, tend to follow the learning trends of developers in other regions. Here, we see the self-taught method is the most popular method (61%), followed by an undergraduate degree in software engineering (41%). Analysing the data at a country level, we see developers in Indonesia are more diverse learners. Developers in this country stated that they used three methods on average when learning to code. Indonesian developers are more likely to learn via self-teaching, online courses, and developer boot camps than any other developers in East Asia. This is quite different from their peers in Japan who are the least likely to use online courses and bootcamps to learn how to code. Instead, developers in Japan are most likely to use the self-taught (63%) and on-the-job training (45%) methods when learning to code.

“Less Stack Overflow, more Segmentfault.com and Teratail.com

Next, we explore how developers interact with the popular online community, Stack Overflow, to understand their engagement levels with programming support. Stack Overflow has become a standard support community for many developers, with more than eight in ten (85%) of the general developer population reporting they’ve used or visited this popular question and answer site.

Our focus on developers in East Asia and the Greater China area shows Stack Overflow’s popularity falls below the global average. Developers in these regions are around three times less likely to visit Stack Overflow than developers in other regions. Developers in the Greater China area are the least engaged, with only 19% having an account, and only 11% having earned at least one badge. Developers in this region have other home-grown Q&A site alternatives, such as segmentfault.com, which could be contributing to the lower adoption of Stack Overflow.
Developers in Japan are skewing the perception of this region. Developers in Japan have even less activity on Stack Overflow than developers in the Greater China area. Here, only a little more than a third (36%) stated they use Stack Overflow. Furthermore, only about 5% have an account. Like developers in the Greater China area, our data does show usage of Stack Overflow increases among Japanese developers who have gained experience in software development, indicating that less experienced developers are using other platforms for support. Like China, Japan has other home-grown options like teratail.com where developers can field programming support from their peers, which may be the place new Japanese programmers visit more often to get answers to their questions.

Categories
Community

Developer Nation Community, turning the page to a new chapter [New job opportunities included]

The Developer Nation Community is definitely not new. It goes back to a long time ago, when communities were not as much in the spotlight as they are today. Our mission has always been to keep its ears open to the voices of software creators and share back data and insights from our global surveys.

Over the years, we have worked on several initiatives to grow and engage our community and – no complaints – we have managed to win the hearts of thousands of software creators around the world.

This is why we are now very excited to be taking the Developer Nation Community to its next level.  And let us give you a quick tour of what we are working on currently. 

A value proposition that is closer to what software creators expect from us. 

We have always championed the importance of being data-driven when making decisions. And this is even more crucial when decisions are tied to one’s professional career and growth. To that effect, we have shaped our mission accordingly. Thus, we will focus on helping developers be their best and we will do that by helping them answer burning questions such as :

What software developer careers are out there? 

Which ones have the most demand? 

What skills or formal training should I acquire? 

How can I become more productive and efficient?

We are aiming to create a space where software creators can set the right foundations for their career,  learn how they stack up against emerging software development trends,  get tips and discover opportunities for professional growth as well as plan wisely their next moves.

Investing on people

To be able to support our community members and keep true to our mission we have decided to invest in a new Community Team and this is why we are currently recruiting for two roles. We are hoping that by bringing in more people we will be able to build on the value we can bring to our community while focusing on having an even more personalised relationship with them.  We would love it if these roles were to be filled by existing community members, so if you take a look at the job descriptions and you feel you are up for a new challenge, we would like to meet with you.

On the people front, we are also very excited to announce that Vanessa, our current Developer Advocate, will take up a new challenge as our Developer Success Executive. She will continue to listen to developer feedback, and work with the Developer Committee, and her mission will be to focus on prizes and benefits for software creators in our community.

Community Lead

As our first Community Lead you will have a significant impact on designing and executing the Developer Nation Community strategy – one of SlashData’s strategic priorities. You will grow, engage and motivate a global community of software engineers focusing on providing them with resources that will help them grow in their career journey and plan their next move.

We are looking for an avid communicator who loves engaging with developers, has excellent organisational skills, and has a solid tech background. They should have at least 1-2 years of experience in community building, growing, and/or engaging roles and will be very fluent in English – both written and spoken.

Apply here

Developer Advocate

As the Developer Advocate you will be a key part of the future of this global community of developers coming together to learn from each-other, share experiences, creating content with the aim to help developers grow in their careers, foster relationships between senior developer mentors and mentees, and connect developers globally with major technology platforms.

You will engage and motivate a global community of software engineers making sure to constantly provide them with content in various formats as well as engage in conversations to help them grow in their career journey and plan their next move.

Apply here 

  • A community-led approach

The next chapter of the Developer Nation community will come with a wide range of initiatives. Would you like to be among the first to get involved?

  • Content contribution

We are open to all types of formats (podcasts, blogs, videos, webinars, Twitter space discussions etc) as long as the topics resonate with our mission and comply with our values.

  • Events and meetups

We will soon go into the space of organising events for the Developer Nation community. If you have any ideas or would want to be part of them, please reach out and we can brainstorm together!

  • Mentorship

Are you in need of a mentor or perhaps you are a particularly skilled mentor? Or do you just want to help? In any case, this is a great opportunity to be part of a grassroots initiative where the community is actively engaged in peer support. 

For all of the above and also for anything else you wish to share with us please drop us a line at community[at] developernation.net

Categories
Tips

Git Internals Part 1- List of basic Concepts That Power your .git Directory

Git is the most popular and commonly used open-source version control system in the modern-day. However, we barely focus on the basic concepts that are the building blocks of this system. 

In this article, we will learn about the basic concepts that power your .git directory.

The .git directory

Whenever we initialize a git repository, a .git directory gets created in the project’s root. This is the place where Git stores all its information. Digging a bit deeper you can see the directory structure as below:

$ ls -C .git
COMMIT_EDITMSG  MERGE_RR    config      hooks       info        objects     rr-cache
HEAD        ORIG_HEAD   description index       logs        refs

The detailed structure looks like the following:
.
|-- COMMIT_EDITMSG
|-- FETCH_HEAD
|-- HEAD
|-- ORIG_HEAD
|-- branches
|-- config
|-- description
|-- hooks
|   |-- applypatch-msg
|   |-- commit-msg
|   |-- post-commit
|   |-- post-receive
|   |-- post-update
|   |-- pre-applypatch
|   |-- pre-commit
|   |-- pre-rebase
|   |-- prepare-commit-msg
|   `-- update
|-- index
|-- info
|   `-- exclude
|-- logs
|   |-- HEAD
|   `-- refs
|-- objects
`-- refs
    |-- heads
    |-- remotes
    |-- stash
    `-- tags

Directories inside the .git directory

The .git directory consists of the following directories:

hooks:
This directory contains scripts that are executed at certain times when working with Git, such as after a commit or before a rebase.

info:
You can use this file to ignore files for this project, however, it’s not versioned like a .gitignore file would be.

logs:
Contains the history of different branches. It is most commonly used with the git reflog command.

objects:
Git’s internal warehouse of blobs, all indexed by SHAs. You can see them as following:

$ ls -C .git/objects
09  24  28  45  59  6a  77  80  8c  97  af  c4  e7  info
11  27  43  56  69  6b  78  84  91  9c  b5  e4  fa  pack

These directory names are the first two letters of the SHA1 hash of the objects stored in git.

You can enquire a little further as following:

$ ls -C .git/objects/09
6b74c56bfc6b40e754fc0725b8c70b2038b91e  9fb6f9d3a104feb32fcac22354c4d0e8a182c1

These 38 character strings are the names of the files that contain objects stored in git. They are compressed and encrypted, so it’s impossible to view their contents directly. 

rebase-apply: 

The workbench for git rebase. It contains all the information related to the changes that have to be rebased.

refs:

The master copy of all refs that live in your repository, be they for stashes, tags, remote-tracking branches, or local branches. 

You can see the existing refs in your .git directory as below:

$ ls .git/refs
heads
tags
$ ls .git/refs/heads
master
$ ls .git/refs/tags
v1
v1-beta
$ cat .git/refs/tags/v1
fa3c1411aa09441695a9e645d4371e8d749da1dc

Now, having discussed the directories inside the .git directory, let’s explore the files that reside inside the .git directory and their uses.

Files in the .git directory

  1. COMMIT_EDITMSG:

This file contains the commit message of a commit in progress or the last commit. Any commit message provided by the user (e.g., in an editor session) will be available in this file. 

If the git commit exits due to an error before generating a commit, it will be overwritten by the next invocation of git commit.

It’s there for your reference once you have made the commit and is not actually used by Git.

2. config:

This configuration file contains the settings for this repository. Project-specific configuration variables can be dumped in here including aliases. 

$ cat .git/config
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
[user]
    name = Pragati Verma
    email = pragati.verma@gmail.com

This file is mostly used to define where the remote repository lives and some core settings, such as if your repository is bare or not.

3. description:

This description will appear when you see your repository or the list of all versioned repositories available while using Git web interfaces like gitweb or instaweb.

4. FETCH_HEAD:

FETCH_HEAD is a temporary ref that keeps track of what has recently been fetched from a remote repository. 

In most circumstances, git fetch is used first, which fetches a branch from the remote; FETCH_HEAD points to the branch’s tip (it stores the SHA1 of the commit, just as branches do). After that, git merge is used to merge FETCH_HEAD into the current branch.

5. HEAD:

HEAD is a symbolic reference pointing to wherever you are in your commit history. It’s the current ref that you’re looking at. 

HEAD can point to a commit, however, typically it points to a branch reference. It is attached to that branch, and when you do certain things (e.g., commit or reset), the attached branch will move along with HEAD. In most cases, it’s probably refs/heads/master. You can check it as follows:

$ cat .git/HEAD
ref: refs/heads/master

6. ORIG_HEAD:

When doing a merge, this is the SHA of the branch you’re merging into.

7. MERGE_HEAD:

When doing a merge, this is the SHA of the branch you’re merging from.

8. MERGE_MODE:

Used to communicate constraints that were originally given to git merge to git commit when merge conflicts and a separate git commit is needed to conclude it.

9. MERGE_MSG:

Enumerates conflicts that happen during your current merge.

10. index:

Git index refers to the “staging area” between the files you have on your filesystem and your commit history with meta-data such as timestamps, file names, and also SHAs of the files that are already wrapped up by Git. 

The files in your working directory are hashed and stored as objects in the index when you execute git add, making them “staged changes.”

11. packed-refs:

It solves the storage and performance issues by keeping the refs in a single file. When a ref is missing from the /refs directory hierarchy, it is searched for in this file and used if it is found.

Conclusion

In this article, we covered a brief overview of the basic concepts that make up your git directory. These are the fundamental components of Git as we know it today and use on a regular basis. We’ll be learning more about these Git internal concepts in the upcoming articles.

Keep reading. In case you want to connect with me, follow the links below:

LinkedIn | GitHub | Twitter | Dev

Bio 

Pragati Verma is a software developer and open-source enthusiast. She has also been an active writer on various platforms and has written for many organizations as a freelance writer. As a Junior Editor at Hackernoon, Pragati helps numerous writers every day to publish their content on Hackernoon.

In her spare time, Pragati loves to read books or watch movies.

Categories
Community

Developer Prize Winners

It’s time to announce the developer prize winners of our 22nd Developer Nation survey!

If you’re new to our prize draws: developers who take our surveys earn 100 points for every new survey completed, plus 10 points for providing their feedback about the survey. Benefits and rewards can be found here.

?General Prize Winners

$1,000 towards the desktop of your choice

$1,000 towards the desktop of your choice

Achmad Ka’bi. Indonesia

Suprise Draw! iPhone 13

Surprise Draw! iPhone 13

Mikhail P., Kazakhstan

$250 towards the desktop of your choice

$250 towards the desktop of your choice

Kevin, Nigeria

$500 towards your AWS certification

$50 towards your AWS certification

Vikas S., India

Nintendo Switch

Nintendo Switch

h*******.4**@g****.c**, India

$120 towards the tools license of your choice

$120 towards the tools license of your choice

Aaron K. South Africa

s***********@g****.c**, India

$100 gift card

$100 gift card

4*******@q*.c**, China

VIVO Black Height Adjustable 32 inch Standing Desk Converter

VIVO black height adjustable 32 inch standing desk converter

Илья, Russia

Blockchain Academy Course

d**********************@g****.c**, Venezuela

SitePoint Premium Licenses

SitePoint Premium license

Abdulazeez, Nigeria

s***********@h******.c**, Turkey

Joel. Jamaica

Marvellous, Nigeria

YuHang Zhang, China

$30 Gumroad ebooks

$30 Gumroad ebooks

Luis, Mexico

Jessa, Philippines

p.l*********@g****.c**, India

r*******@y****.c**, Russia

?Weekly Prize Winners

$500 Linode Vouchers

Gokul, India
g********@n****.c**, South Korea

$50 Winners

$50 gift cards

Akash, India
Akhilesh, India
Andresjs, Latvia
Carl , USA

d**********@g****.c**, India
Dhvani, India
Dmitriy, Russia
E., Bosnia & Herzegovina

Ken, Cameroo
Konstantin, Russia
m*****.b*******@g****.c**, Lebanon
Michael, Indonesia
o*******@g****.c**, Burkino Faso

Puspam, India
Raj, India
Ryne, USA
S., India

Sai, India
Surendra, India
t**************@g****.c**, South Africa
teawr9@mi.o, USA
V., India

V., USA
w.k@g.c, India
w@z.c**, Indonesia
H., Turkey

?State of AR/VR Survey Prize Draw

$500 towards your AR/VR project

$500 towards your AR/VR development project

j***.b*@g****.c**, Slovakia

$120 towards the tools license of your choice

$120 towards the developer tools license of your choice

m*****@m**.c**, USA

$100 gift card

$100 gift card

Patricia, UK
Eisenbruch, USA

$30 Gumroad ebook

$30 Gumroad ebook

JD, USA
a*************@g****.c**, India
h**********@g****.c**, USA
j**********@h******.c**, UK

$20 gift card

$20 gift card

p****.n****.2***@f*.u**.a*.i*, Indonesia
s*********@g****.c**, USA
F., Slovenia

?Exclusive Community Draws

Premium Prizes (for members with 801+ points)

iPhone 13

iPhone 13

Victor, Mexico

Samsung Galaxy Tab S7

Samsung Galaxy Tab S7

Massimo F., Italy

$50 Udemy / Gumroad ebook

$50 Udemy / Gumroad ebook

A, India
Adrian, Germany
Alex, Israel
Ashley, UK
Brian, USA
Damian, Hungary
Ivan D, Brazil
Jon, USA
Kirill, Russia
Mario, South Africa
Roberto, Spain
S., UK
Yohanes, South Africa

Swag

Surprise swag

Abdul H., Indonesia
Adam R., Sweden
Andy D.,Australia
Ankit, India

Antti K., Finland
C., Taiwan
C., USA
Cristian, Colombia

David F., Japan
Dominic, UK
E., Cyprus
Elijah, Uganda

G, Italy
Gideon, UK
James, Uganda
Karl F., Germany

Liliana I., Mexico
Lucas H., Argentina
Marc S., Germany
Mika L., Finland

Miroslav C., Slovakia
Niraj K., India
Patrica M., USA
Petermaria, Switzerland

R., Malaysia
R., UK
Shadi, Egypt
Shinzo S., Japan

Shubham, India
Steve H., UK
T., UK
Thassilo H., Germany

V., USA
Vince M., USA
z@g*.c, Russia

✨Extra Prize Draw winners

Skillshare subscription (3 months)

P., Russia

Amazon Echo 4th Generation

p****************@g****.c**
Bruna S., Brazil
Anubhav, India

Apple Air Tag

h***************@g****.c**, Vietnam
n**************@g****.c** India

Smart Plug

M., USA
d*********@1**.c**, China
Dustin, USA
l******@o******.c**, China

Tick Tick Premium License

m***************@g****.c**, Indonesia
d*********@1**.c**, China
Dustin, USA
l******@o******.c**, China

Ergonomic mouse pad and wrist rest

Basudev D., India

“Ten++ Ways to Make Money as a Developer” eBook

n*****@n********.n**.i*, Israel
Olusegun, Nigeria

$20 gift card

Jayanth, India
l************@s***.c**, China
Gabriel, Brazil
d*******@g****.c**, Nigeria
A., India
Reski, Indonesia
n*******@g****.c**, India
T., Turkey
M., Italy

$10 gift card

Andrew, USA
a*************@g****.c**, India
John, USA
l***********@g****.c**, Russia

We’ve reached out to winners directly by email. If you recognise your email address but believe you haven’t been contacted yet, you can contact us here.

Special thanks to our prize sponsors CertNexus, Florin Pop, Linode, and SitePoint for donating prizes to the survey! Also thanks to our goody bag sponsors Convox, Kentico, Manning Publications, The Blockchain Academy, and TinyMCE. Are you a company interested in giving away a prize to developers in our next survey? Get in touch!

We’re already on the hunt for prizes for our next global survey, so if you’re not a winner this time, there are more chances to win in our future surveys.

To ensure that you are notified when our next survey is live, sign up. Don’t forget to make sure the survey notification option is ticked.

Categories
Interviews

Meet the developer: Derick Alangi

As part of our Meet the Developer series, I spoke to Cameroon-based Derick Alangi who has turned his health challenges into an opportunity to help support fellow devs in the community. Read on to find out more about him and the positive impact he hopes to have on developers. 

Vanessa: Have you always wanted to be a developer?

Derick: No this came about just before I got to university. I was in high school, when I was young I wanted to be a priest, that dream died somewhere when I started tinkering with computers.

I still had the mindset of a priest but had a newfound passion for playing with computers, playing with video games, thinking, how can I create something like this? I wanted to do something like that, it spiked my curiosity. I then finally found myself as a dev, but that’s gradually fading away, maybe I will circle back to being a priest someday!

As a dev, I’ve had health challenges, which took me to the hospital. In childhood I had anorexia, my parents thought I  was sick but didn’t worry much as my doctor mentioned that it was a condition that could be resolved with time and as I grew. Now I eat well but not as much as other men do, but I eat regularly morning and evening. Try to be healthy, when my health challenge as an adult came in, leading my life as a dev, I was not taking care of myself, there were bad habits, and, if I had continued I wouldn’t be alive today. I have a whole new view of life, if I am doing this thing, others must be doing it too, especially those working remotely. Money is great, but if you have to lose yourself, it is not a good thing, there is beauty in life when you can enjoy the life in you with good health.

I tweet about health things, what devs can do to not get into the same scenario. I am sharing a community resource for the community, and in that resource, I explain how I got into my bad health, and how I got back to health. (You can view his Developers Health Guide here..)

Vanessa: What has been your biggest learning curve as a programmer?

Derick: Biggest challenge?

It’s my health, in the past it was my health, battling day in and day out, I couldn’t figure out what was wrong with me, the diagnosis was fine, everything is ok, you look sick, you can’t sleep after a while, but it was the lifestyle that was causing the stress and burnout. 

Another challenge is trying to make people see, especially developers, there is more to making money and writing programs than being a developer. I have seen software devs being exploited for their time.  I have worked for companies that have behaved very badly. We should work, but human beings should have time for his or her things, take care of the family, go to the beach, connect with nature, when there is that balance there is beauty in life. 

What I am seeing in the industry, people are being given more roles and responsibilities, paying well, but there is no time to do anything else. Hey, go spend some time doing something else!

With the adoption of remote work, people have time for themselves. I’m helping people discover that balance. I’m not just on Twitter, even locally I tell upcoming devs, “take at your own race, be consistent it will pay off, don’t forget the health aspect of life, or you will be miserable”, I’m battling that right now locally, the mindset in the West is slightly different than Africa, I’m making people understand the balance.

The big guys in the industry think it’s all about the money and building software, but the moment I go to the hospital I cannot code or make software. People don’t understand that going into a forest is more important than eating cookies. 

It’s hard when you are trying to break through a society that is not willing to listen. Being able to break through you have persevered for a long time, it’s a huge work, it’s something that is very much needed.

There is an Indian philosopher that has said – in tech we have come very far, in psychology we are very primitive.

Vanessa: What is your favourite non-tech hobby?

Derick: Meditation, I just sit with my eyes closed. It takes a while when you first get started, it takes consistent practice, it’s been three years now, I don’t have any specific mantras, just sit quietly in a dark room with my eyes closed. Regularly maybe morning and evenings, after six months there is no thought, a quiet mind.

Vanessa: What do you enjoy more: writing new code or debugging old code?

Derick: I think I enjoy working on existing code, the reason is that a lot of things have already been created, nothing is really new, it’s just recycling of energies, code is mental energy transferred to computing. There are so many different solutions to solve the same problem. Make existing code work better. I would rather spend and enjoy my time improving existing code, except if really broken code doesn’t pay off.

Vanessa: How do you benchmark yourself against other devs? 

Derick: To be very honest with you, this is something I usually don’t do, I do, I don’t compare myself to anybody anywhere, I think I was doing this in university to track my progress as to how far I’ve gone but when I graduated I realised doing that for me it creates an aspect of competition that I don’t like. I don’t like to strive for competition. If I’ve tried to compete, it’s not what I like to do.

I forget the aspect of me and what I want to become, for a while now, I don’t benchmark, I just code and kind of see it from the problems I solve. Go to an algorithms website, see some problems, if I can solve them relatively easy than before then I am getting better. I’m not trying to compare myself in the programming community. It’s not good to compare years of experience to others.

Vanessa: What is the one thing you hate about programming?

Derick: The fact that it is mentally very demanding and makes the programmers physically inactive, Mentally your thinking capacity is 100%, physically is zero, only your eyes and hands working. IT renders the programmers physically inactive. The outer body was not designed to be inactive. In the tweets I make, nobody takes it seriously, mental energy goes into solving issues and not taking care of mental wellbeing.

Vanessa: What do you love most about being a developer?

Derick: I think two main things

  1. Trying to solve the world’s problems with tech, economic, social problems, mathematical problems that can be solved with problems, assist humanity to solve issues.
  2. How to use the same technology from a standpoint of a developer, to make human beings more conscious of being. A lot of us think we are living, but we are not, it’s not a good thing, all our living is just mental, there is the whole aspect of consciousness, but putting into practice is hard as most of the time we think we are living but no we’re experiencing. Not sure how as a dev I will do this but looking forward to doing it. Being as a living.

Vanessa: What developer groups/communities are you a part of?

Derick: I’m part of an online tech community on Twitter, and a member of the Wikimedia movement community, a community of editors, readers, and devs that want to make knowledge accessible in different languages around the world. 

Closer to home, I’m part of a Google Developer Group community in Buea, working with devs locally to push google’s agenda, adopting their products and programs.

I’m also part of a Facebook developer circle with VR kits to play around with.

Early programmers club, we go into universities and code with students, solve problems with them, get them to understand engineering principles. 

Vanessa: What does community mean to you?

Derick: A group of people with diverse thinking but with a common end goal in mind.

Bloggers entrepreneurs, content creators, designers, spirituality – create a community that is tech-driven, to enhance the economy in the country. People that come together with different perspectives, and skillsets, but with a common goal to achieve economic growth, global breakthroughs, the bigger vision is the same. Learning from one another. 

Vanessa: Have you ever been involved in mentorship, either as a mentor or a mentoree?

Derick: Yes, people call me a mentor but really I am just a student that knows things that others don’t and they are learning from me and I’m learning from them. It’s just a name for convenience. I’m a long-life student, still see myself learning every day from kindergartens, students, even the animals. It’s not true that you need to learn from high academics.

Vanessa: Do you use GitHub?

Derick: Yes, I use GitHub, GitLab, Git itself, Bitbucket not sure if open source, use version control systems to collaborate with others online. 

Vanessa: Are there any particular repositories that stand out to you?

Derick: Yes, I would say that there are three people that I really admire, although it doesn’t mean that I want to be like them. One of them, Linus Torvalds, is doing a lot of work, sometimes I just like to see what he’s doing with others in the Linux community. Coming from a Linux background it gives me a sign of hope that something can be done by someone who can impact humanity.

Taylor Otwell JavaScript, MVC frameworks in PHP and web APIs, command-line apps, like to see his work, I align with as I use the framework too. Also, check out his conference talks, it’s inspiring what he’s doing with the community

Sebastian Bergmann, creator of PHPUnit, he’s doing a lot of work on GitHub, collaborating with the community, and doesn’t waste his energy on things that don’t matter, he doesn’t respond to those that are messing around.

There are so many others of whom I check their projects on GitHub and admire for what they do.

Vanessa: Do you have any best practices or tips that you would recommend to others?

Derick: Having a good background in using the Linux command line, most of the tools, except for GitHub and GitLab, are web-based services that Git does, technically if someone wants to learn those platforms they would have to be familiar with the Linux environment, to push code from the local machine to GitLab. They need to be familiar with Linux command line functions which are needed to get the code online, anyone who is familiar with Linux can easily pick up these and learn quickly.

People who face trouble, don’t have experience with the Linux environment. Eventually, they will pick up GitHub etc with relative ease.

Vanessa: What project are you most proud of?

Derick: I’m proud of so many, small, medium, and large projects, generally, I try not to do something that I don’t enjoy., if I like to do it, it becomes a success, I will meet challenges.

There are also some non-tech projects I want to do. I would like to plant tomatoes and I have a small garden, till the garden, use manure, planting to get some results, or maybe make a property purchase. 

Vanessa: What are some of your favourite blogs to visit?

Derick: There are three, Dev.to, Hashnode- I’m a big-time reader on there, and Reddit, which is obviously not a blog but accurate, like StackOverflow for questions and replies. I also enjoy reading from Quora. 

Vanessa: What kind of media websites do you visit for dev news?

Derick: Twitter. I follow people and organisations, turn on notifications, if there is something new, I grab the info and read more about it. Anything that is happening, I check it out on Twitter, I don’t watch TV, I follow the BBC and CNN on Twitter.

Vanessa: Where do you look for job opportunities?

Derick: Indeed.com and StackOverflow Jobs. Sometimes I look at LinkedIn, just use that for putting in my qualifications, if I want to check out jobs to recommend for people, I check out the two I mentioned.

Vanessa: What’s in your toolbox?

Derick: Linux or Mac OS

Editors IDEs – I write a lot of JavaScript

For the command line, I use Git,

Asana for project management

Fabricator for box working 

AWS a lot, doing work for my client on that. 

Lua

JavaScript

Python

PHP

IDEA

PyCharm

PHPStorm

WebStorm

Git

Github

Gerrit

Vanessa: What technology are you interested in learning more about in 2022?

Derick: Rust, I’ve started learning, and I want to get better at it. 

Vanessa: What tools do you think will still be in use in ten years’ time?

Derick: Internet will be here for a long time, computers for a while,  

C will be here for a long time

Rust that’s why I am learning it, low level, advancement of systems and fast-growing need of secure systems,

Security skills – I will spend some time learning,


Derick shares many tips via his Twitter account or you can connect with him via LinkedIn.

Categories
Tips

Developers influence technology decisions 

I once had the opportunity to work for a large digital company that was preparing to modernise its infrastructure by choosing a new cloud platform vendor. A small team of six developers was tasked with organising a proof-of-concept (POC) to demonstrate the feasibility of this endeavour. After six weeks of intensive work, some developers began expressing their dissatisfaction with the new platform’s cumbersome interface. Suddenly, a multimillion-dollar commitment hung in the balance, relying on the opinions of a few hands-on experts.

Over a span of three years, ending in Q1 2021, we conducted six surveys to track developers’ engagement with and adoption of various technologies. To assess engagement and adoption, we asked developers if they were working on, learning about, interested in, or uninterested in different emerging technologies. We continuously updated the list as new innovations emerged. Adoption was measured by the proportion of engaged developers actively working on a technology. To provide context, each technology was categorized based on whether its engagement and adoption rates were above or below the median, resulting in four quadrants:

1. High engagement/High adoption: These technologies captivate the imagination of numerous developers and have demonstrated commercial success.

2. High engagement/Low adoption: These technologies generate significant interest among developers but have yet to make a substantial commercial impact.

3. Low engagement/Low adoption: These fringe technologies do not attract much interest from developers, and their commercial value is yet to be proven.

4. Low engagement/High adoption: These technologies might not appeal to many developers, but for those interested, commercial adoption is high.

In our analysis, after excluding DevOps from our emerging technology tracker, robotics, mini apps (apps embedded within another app), and computer vision emerged as the most engaging technologies for developers. Approximately half of the developers expressed that they were working on, learning about, or interested in each of these technologies. While professional developers showed the highest adoption rate for mini apps, robotics piqued the interest of hobbyists and students. However, of the developers engaged with mini apps, nearly a quarter were actively working on the technology, whereas for computer vision, this figure dropped to 15%, and for robotics, it was only 10%. Despite similar levels of engagement, mini apps’ practical applications were widely recognized by developers, as adoption increased by four percentage points over the past year, representing one of the largest increases observed.

64% of developer team leads are influencing decision makers or making recommendations

Developers influence technology decisions

Cryptocurrencies garnered the highest engagement among developers, with almost three in ten engaged developers expressing interest in learning about them. Other blockchain applications closely followed at 26%. However, the academic interest in these technologies has yet to directly translate into adoption, as only 14% and 12% of engaged developers are actively working on projects involving cryptocurrencies and other blockchain applications, respectively. 

More than 40% of these developers are professionally involved in web apps/Software as a Service (SaaS), and a third are engaged in mobile development. Nevertheless, adoption increased for both cryptocurrencies (by 5 percentage points) and other blockchain applications (by 4 percentage points) in the past year, indicating ongoing exploration of practical applications. As demonstrated by companies like Maersk incorporating blockchain technology into their logistics management systems in recent years, broader adoption is inevitable.

Quantum computing and self-driving cars continue to have limited adoption rates but capture the imagination of some developers, with over two in five engaged with these technologies. However, fewer than one in ten of these engaged developers are actively working on each of these technologies. Although engagement decreased over the past year, adoption increased for both quantum computing (by 4 percentage points) and self-driving cars (by 2 percentage points). A similar pattern emerged with brain/body computer interfaces, anew technology added in the most recent survey, where many developers expressed engagement, but due to its cutting-edge nature, very few are actively working on it.

Recently, we added hearables, DNA computing/storage, and haptic feedback to our list of emerging technologies. Engagement with these technologies remains low, similar to fog/edge computing, with a quarter to a third of developers showing interest. Among the engaged developers, approximately one in ten are actively working on these nascent technologies, while two in ten are learning about them. 

For each of the discussed emerging technologies, there are various barriers preventing widespread adoption. Technological hurdles are prominent, as advances required for mainstream implementation of quantum or DNA computing are still several years away. Additionally, social, cultural, and even legislative barriers can impede progress. While developers play a crucial role, they are only one piece of the puzzle.

Categories
Analysis

Why do developers switch jobs?

During the 21st edition of our Developer Nation survey we asked professional developers what – if anything – would make them switch jobs. It turns out many developers know their worth. Just one in ten developers say that nothing would make them leave their current employer. You can also share your input and participate in our more recent survey to answer this and other interesting questions.

It looks like the majority of developers are financially motivated, either in the form of higher compensation and/or an improved benefits package. Half of developers would switch employers for higher compensation and a third would switch jobs for an improved benefits package. Nearly two-thirds selected either option. 

However, this means that just over a third of developers have motivations that extend beyond immediate financial reward. When we remove the two-thirds of developers who said that increased compensation or better benefits would incentivise them to move, career advancement and broadening skills take the top two spots. This shows that developers are hungry to learn and to progress – these are also important factors for developers who could be tempted by financial rewards. 

Money talks for half of developers

Around one in five developers state that a better company culture would be a tempting reason to switch employers. However, while you could negotiate better incentives and more perks and benefits, company culture is harder to influence. There are well documented issues with culture in software development. There have been several high profile cases of discriminatory working environments in the last few years, and many software developers are no strangers to long hours, especially as a project nears completion. 

Remote working 

Software development has historically been a pioneering industry for remote working. The pandemic has likely made this especially salient. Not surprisingly, around a quarter could be tempted to move by a remote position. Just over one in eight would move in order to relocate. 

Eastern European developers are the most concerned with compensation

Are you perhaps based in Eastern Europe? Developers there are the most concerned with increasing their salary. Nearly seven in ten say that this would make them switch employers. The close geographical proximity to richer Western European countries likely makes depressed salaries in this region feel particularly unfair. For these underpaid developers in Eastern Europe, an upgraded benefits package won’t cut the mustard; instead other factors are more important:

  • broadening skills (50%), 
  • taking a more challenging role (32%), or
  • relocation (22%). 

It seems that Eastern European developers are taking a longer-term look at their finances and possibly considering uprooting their lives for an increased chance of success.

Developers in North America seem the happiest at their current jobs

14% of devs in N.America said that nothing would make them switch. As with most regions, higher compensation is the most tempting option; half of developers here selected this. These developers are much less likely than average to select career advancement, broadening skills, or taking on a more challenging role as reasons for moving. By and large, North American developers appear to be satisfied with their professional lives. For those who would be tempted to move, higher compensation is mentioned as a reason by three in five. 

Culture also matters in China

For Chinese developers, compensation is also important. Three in five developers here selected this option, the second-highest of any region. In comparison with their Eastern European counterparts, however, Chinese developers were almost twice as likely to say that a better benefits package would tempt them to move. This said, although financial motivations are important for developers in Greater China, they are some of the most likely to select ‘softer’ benefits such as better company culture, working environments, or shorter commutes. Reports of the Chinese government taking steps to reduce the ‘996’ working culture prevalent in many tech organisations in the country may well make these factors less of an issue in the future.

Developers in Greater China are less likely to say that remote or flexible working would tempt them to switch employers. Such flexibility is more highly valued by developers in Eastern Europe or North America. It’s likely that the pandemic’s effect on working culture has affected different regions in different ways. For instance, developers in North America may well be used to working from home after more than a year of doing so, and with Eastern Europe already an established outsourcing destination, remote work is more likely to be salient for developers here. On the other hand, developers in regions that may have limited opportunities to offer are more likely to see remote working as a door opener to the global labour market. More than one in three developers in the Middle East and Africa and 30% of developers in South America, for example, would switch jobs for a remote role.

Eastern European developers feel underpaid

Experienced developers are the most content in their jobs 

Around one in six of those with 16 or more years of experience say that nothing would make them move. This group is also the most financially-motivated, with over half saying that higher compensation may tempt them to move. As developers gain experience, they know better which roles they want to take. With managerial positions often forming an artificial ceiling, some experienced developers will want to stay closer to the code. 

Here is something important to consider: Career advancement and taking on a more challenging role both peak for developers with three to five years under their belts. A well-timed change at this point in a developer’s career can have a large impact on their future earnings and professional success. At three to five years of experience, many developers are beginning to feel established and comfortable in their skills, so a challenging opportunity can often provide a catalyst for future success.    

There are many reasons why a developer may choose to switch jobs, and whilst it’s impossible to ignore the impact of compensation, other factors play an important role, especially as the role of work in our lives continues to evolve. We are capturing these and other interesting facts that make tech giants shift their strategies in our Developer Nation Surveys. Raise your voice and shape the future.

Compensation becomes more important as developers gain experience
Categories
Community

First Prize Winners of the 22nd Developer Nation Survey

We’ve been busy running our prize draws since the launch of our 22nd survey in December.

Some of the prizes have already reached their destinations:

“It was my first time winning a prize on the Developer Nation, and I received it before Christmas so it feels like a Christmas gift from someone special” – Akash, India.

“I just want to thank you, hopefully it can be used to support our lesson plans to develop applications for small entrepreneurs.”Michael, Indonesia

Here is the full list of the Developer Nation prize winners from weeks 1 to 4, including runner-ups. ?

Prize draw winner

Thanks to our friends at Linode for their generous gift of the $500 credit. We’ll continue to run weekly prize draws between now and the end of January 2022. Once our survey closes, within 30 days we’ll run the draws for premium prizes, cool accessories, exclusive community prizes, and more.

We’ve reached out to all winners directly via email. If you recognise your email address but believe you haven’t been contacted yet, get in touch here.

If you’ve not taken the survey yet, why not hop in for a chance to win a prize (all participants will get a virtual goody bag).

Take the survey!

Here’s one of our community members, Amulya, with his Developer Nation t-shirt and mug. Swag like this could be yours!

Categories
Analysis

Where do game developers run their code?

The 21st edition of the Developer Nation global survey ran from June to August 2021 and reached more than 19,000 developers in 168 countries. Participants come from mobile, desktop, industrial IoT, consumer electronics, embedded, third-party app ecosystems, cloud, web, game, AR/VR, and machine learning as well as data science. We track developer experience across platforms, revenues, apps, languages, tools, APIs, segments, and regions. A while ago we covered how game developers make money. While a lot has happened since then, business models for game development have seen little change. Here we will focus on where game developers are deploying the code for their games and the technologies they’re leveraging to build their applications.

“More that half of game developers are writing code and deploying games for PCs and mobile devices”

The game development sector has long targeted on-device game deployment. More than half of all game developers are writing code and deploying games for the usual suspects: personal computers and mobile devices. The percentage of developers deploying code for PCs saw a slight increase to 58% in the last six months, indicating that gaming on PC hardware is still a thriving market. However, the proportion of developers creating games that run in the cloud saw a slightly larger percentage increase in the last six months, rising to 30%.

Cloud gaming is arguably one of the most foundationally innovative trends in the game development sector. The increased usage and availability of smartphones with high-speed internet connections has paved the way for game developers to deploy their code to a game-configured server instead of a downloadable, platform-specific version. With less game-specific content to download and similar performance to on-device versions, both gamers and companies stand to benefit greatly from cloud gaming.

“59% of professional game developers deploying games to the cloud use a multi/hybrid cloud strategy.”

Cloud developers can either work with a single public, private, or on-premises server, or they can devise a strategy that uses a combination of these server types. Our data shows that about 46% of game developers deploying their code to the cloud are now using a multi/hybrid cloud strategy. Further, we see a significant increase in multi/hybrid cloud deployment to 59% when we filter for professional game developers only. Though a multi/hybrid cloud strategy can be more complex, it’s a popular approach for game developers when tackling one of cloud gaming’s biggest issues: latency

Multi/hybrid cloud solutions are becoming more popular as companies look to reduce dependency on a single vendor and avoid vendor lock-in. There’s also a cost optimisation that’s associated with hybrid solutions, whereby companies can keep a steady amount of compute resources available on a private server, while engaging a public server for variable increases in resource requirements. 

“Backend technology usage in game development has risen by 56% in the last two years.”

Over the last 12 months, backend technologies have seen a massive increase in usage by game developers, making this the third most popular technology in game development, behind only 3D and 2D game engines. Backend technology use by game developers has almost doubled in this timeframe, from 11% to 21%. The growing trend of games being deployed in the cloud has partially fuelled the growth of backend technologies, especially among professional developers. 

Ad network usage has dropped from the fourth most used technology to the ninth most used. 

In the two years leading up to this last survey, ad networks had an average usage of about 27% among professional game developers. Usage has now dropped to 21%, a change that is in line with Apple’s recent update requiring iOS developers to ask users for permission to be tracked by third-party websites and other applications. A survey was conducted before the iOS 14.5 update that showed about 57% of users were either unlikely or extremely unlikely to allow tracking by an application. Restricting access to users’ Identifier for Advertisers (IDFA) reduces the possibility of conversion tracking, meaning less revenue potential for the advertiser and publisher, making the revenue strategy less attractive. 

Ranking of technologies used by game developers 

Usage of backend technologies like game servers and orchestration tools have risen to 50% and 18% respectively among professional game developers. Game server technology is also evolving, with the emergence of dedicated multiplayer products like Agones that are built on the back of Kubernetes. The growth of both backend technologies and cloud gaming are interdependent and are impacting the methods by which professional developers are building games. The future of game development will leverage the advantages of cloud technology more often, requiring game developers with skills and experience in managing data across multiple servers.

Categories
Community Languages

Size of Programming Language Communities in Q3 2021

Following our latest Developer Nation Survey, results are in and our State of the Developer Nation report 21st edition is now available! More than 19,000 developers from around the world participated and shed light on how they learn, the tools they use, how they are involved in emerging technologies, but also what would make them switch employers, among other topics.

As always, programming languages are a beloved subject of debate and one of the first topics we cover. The choice of language matters deeply to developers because they want to keep their skills up to date and marketable. It matters to toolmakers too, because they want to make sure they provide the most useful SDKs.

It can be hard to assess how widely used a programming language is. The indices available from players like Tiobe, Redmonk, Stack Overflow’s yearly survey, or GitHub’s Octoverse are great, but offer mostly relative comparisons between languages, providing no sense of the absolute size of each community. They may also be biased geographically or skewed towards certain fields of software development or open source developers.

The estimates we present here look at active software developers using each programming language; across the globe and across all kinds of programmers. They are based on two pieces of data:

  • First, our independent estimate of the global number of software developers, which we published for the first time in 2017. 

We estimate that, as of Q3 2021, there are 26.8 million active software developers in the world

  • Second, our large-scale, low-bias surveys which reach tens of thousands of developers every six months. In the surveys, we have consistently asked developers about their use of programming languages across ten areas of development, giving us rich and reliable information about who uses each language and in which context.

JavaScript’s popularity has skyrocketed

JavaScript is the most popular programming language community by a wide margin. Nearly 16.5M developers are using it globally. Notably, the JavaScript community has been growing in size consistently for the past several years. 4M developers joined the community in the last year – by far the highest growth in absolute terms across all languages – and upwards of 2.5M developers joined in the past six months alone. Even in software sectors where JavaScript is not among developers’ top choices, like data science or embedded development, about a fourth of developers use it in their projects.

Back in 2020 we suggested that learning Python would probably be a good idea. It still is. Since it surpassed Java in popularity at the beginning of 2020, Python has remained the second most widely adopted language behind JavaScript. Python now counts 11.3M users after adding 2.3M net new developers in the past 12 months. The rise of data science and machine learning (ML) is a clear factor in Python’s popularity. 

More than 70% of ML developers and data scientists report using Python

Java is the cornerstone of the Android app ecosystem as well as one of the most important general-purpose languages. Although it has been around for more than two decades now, its traction among developers keeps steadily growing. Since mid-2018, nearly 2.5M developers have joined the Java community, which now counts 9.6M developers.

Rust is rising fast

The group of major, well-established languages is completed with C/C++ (7.5M), PHP (7.3M), and C# (7.1M). Of these, PHP has grown the fastest in the past six months, with an influx of 1M net new developers between Q1 and Q3 2021. C and C++ are core languages in embedded and IoT projects for both on-device and application-level coding, whereas PHP is still the second most commonly used language in web applications after JavaScript. On the other hand, C# is traditionally popular within the desktop developer community, but it’s also the most broadly used language among AR/VR and game developers, largely due to the widespread adoption of the Unity game engine in these areas.

Rust has formed a very strong community of developers who care about performance, memory safety, and security. As a result, it grew faster than any other language in the last 24 months. Rust has nearly tripled in size from just 0.4M developers in Q3 2019 to 1.1M in Q3 2021. 

Rust is mostly used in embedded software projects but also in AR/VR development, most commonly for implementing the low-level core logic of AR/VR applications.

In previous editions of the State of the Developer Nation report, Kotlin has consistently been identified as a rising star among programming languages. Kotlin’s audience has doubled in size over the last three years – from 1.5M developers in Q2 2018 to nearly 3M in Q3 2021. This trend is largely attributed to Google’s decision to make Kotlin its preferred language for Android development. Kotlin is currently the third most popular language in mobile development, behind JavaScript and Java.

The more niche languages – Go, Ruby, Dart, and Lua – are still much smaller, with up to 2M active software developers each. Go and Ruby are important languages in backend development, but Go has grown slightly faster in the past year, both in absolute and percentage terms. Dart has also seen a significant uptick in its adoption in the last year. This has been fuelled predominantly by the increasing adoption of the Flutter framework in mobile development. Finally, Lua was the second fastest growing language community in the past two years, behind Rust, mainly attracting AR/VR and IoT developers looking for a scripting alternative to low-level languages such as C and C++.

You can read more about programming languages communities in the State of the Developer Nation report 21st edition.