Jobaer's blog Random experiments

What I learned about software developers in Bangladesh from the 2019 StackOverflow survey

Introduction

I have been playing with this year’s StackOverflow developer survey data, after they made it publicly available. And was trying to learn more about the developer community of Bangladesh. In this post I present what I’ve learned from analyzing the data.

In the survey, there were 605 entries from Bangladesh. On average the survey took 25 minutes to complete. And I think those who participated in the survey are more or less representatives of the Bangladeshi developer community.

Key points

If you don’t feel like looking into lots of charts right now, here is the gist for you.

  • Lack of support from management is one of the key productivity challenges in Bangladesh.
  • There is little relationship between developer’s salary and experience.
  • The approval rate of the managers is surprisingly high compared to some other countries.
  • Majority of the developers want to become manager in future, a trend that we don’t see in the IT-developed countries.
  • We are aware of our abilities; majority of us don’t think we are above average. (Are we really? Read on for details.)
  • Majority of the developers are satisfied with their current job, and overall career.
  • Those who are actively seeking jobs, switched their last job not more than 2 years ago.
  • Opportuniteis for professional growth, and company culture is the most imporant factors for job seekers
  • Developers are self learners, most of them are teaching themselves languages, frameworks, participating in MOOCs etc.
  • Javascript is the most loved, Python is the most wanted language; and React is the most wanted framework.
  • Majority of the companies don’t employ unit tests.
  • Majority of the developers do code reviews as they see value in doing so.

That was the summary, now if you are like me, who believes data is beautiful, read on.

Basic information about the respondents

Developer types

Figure-1.1: Developer types

Two thirds of the participants are professional developers.

Years coding professionally

Figure-1.2: Years coding professionally

About half of the respondents are professionals with 2-5 years of experience. And about a quareter are with more than 5 years of experience.

Years since learning to code

Figure-1.3: Years since learning to code

Writing that first line of code

Comparison of the average age of writing that first line of code across some countries.

Figure-1.4: Average age of writing that first line of code

As we see, we are pretty late when it comes to writing that first line of code. Most of us haven’t written Hello World! before we finish higher secondary.

Coding as hobby

Let’s now compare how much we consider coding as our hobby with some other countries.

Figure-1.5: Comparison of coding as a hobby across different countries

Ok, so majority of us spend our leisure time on coding, like many other countries. Although, I think it doesn’t indicate anything regarding how good or bad the developer is. I believe one can be a good developer without having coding as a hobby.

Contributing to open source softwares

Figure-1.6: How often do you contribute to open source

I find this pleasantly surprising. I never thought I would find 22% of the respondents from Bangladesh contribute to some open source software once a month or more often. As a developer with more than a decade of professional experience, I feel guilty of not doing so. More because
I am using open source software every single day. I want to contribute, but find it difficult to start. Kudos to you if you are a opensource contributor!

Non-degree education and learning

Although I don’t show it here, majority of the developers in Bangladesh have a B.Sc. with CS related major. Let’s see here what non-academic type learning we involve in.

Figure-1.7: Non academic education and learning

This confirms my belief that we, the developers, are lifelong learners. We enjoy learning new things. And we continue the learning process by ourselves, whether it is a new language/framework, or whether by participating in a MOOC.

Feeling of competence

In the survey there was a question,

For the specific work you do, and the years of experience you have, how do you rate your own level of competence?

Statistically, it is impossible that majority of any group are above average. Let’s see how we answered that.

Figure-2.1: Are you above average

Ok, so around half of us think we are above average, which is not so bad. If we compare this across some other countries we can see surprising result!

Figure-2.2: Thinking of above average across countries

Wow! We seem to have a good idea about our abiliteis. I find it a bit hard to believe though. So I dig deeper, and plot the data a bit differently. This time comparing the thought of being above average vs the developer’s experience.

Figure-2.3: Thinking of above average vs professional experience

Yes, now I find what I was seeking. As we get more experience, we tend to inflate our abilities. We probably forget that, it’s not only me, other developers are also getting more experience. The developers in the group of 11-20 years experience in Bangladesh believe 84% of them are better than average! Are you aware of Illusory superiority and Dunning–Kruger effect?

Salary

The first chart I want to show about salary is by plotting individual salary data vs experience in a scatter plot. (3% from the top and bottom part of the data is removed here.)

Figure-3.1: Individual salary vs experience

Ok, it’s all over the place. There is no structure at all, and there is no direct relationship between one’s experience and salary. It is not unique to Bangladesh, I’ve seen similar chart for other countries as well.

But wait, all is not lost. If we plot the data by grouping the experience, and taking the median salary we can see the median salary is somewhat rising with experience, upto a certain point.

Figure-3.2: Median salary vs experience

Software development is a competitive field. Most of the companies don’t want to limit themselves when hiring, by imposing some structure on the salary vs the candidate’s experience. So there is a strong chance that even if you are junior, you can make more than some seniors, if you are productive, and can produce value for your company. And we should not take it for granted that our salary will rise as we get more experience. It probably will, but not automatically, you’ll have to earn it.

As there seems to be a lack of structure, here’s one tip for developers who are seeking jobs. If possible refrain from mentioning your current and expected salary when asked. Instead request the employer to take your interview first, and come up with their best offer once you passed.

Development practices and productivity

Let’s see how we are doing in terms of development practices, and also what hinders our productivity.

Code review

Figure-4.1: Code review as part of your process

So most of us are doing code reviews as part of our work, and we also see the value of it.

Unit tests

Figure-4.2: Unit test practice in the company

Unfortunately, less than one third of the companies employ unit tests as part of their process. I am personally not a huge fan of unit tests myself, although I see the value in it, especially when refactoring some part of the code.

Greatest challenge to productivity

When asked what are the greatest challenges to developer’s productivity, we see the following.

Figure-4.3: Greatest challenge to productivity

Distracting work environment is the main culprit here. This is similar for most other countries as well. Open office plan is killing developer's productivity. If you don’t believe me, ask DHH. If you are the key decision maker in your company, you should seriously evaluate this. You don’t have to do it just because Facebook did it, maybe you copied half of the things and forgot the rest.

What about the next one? Lack of support from management is also a greatest challenge to productivity in Bangladesh. Seriously? I thought the managers are there to help us be our best? Why should their support be lacking? Who’s benefit they are considering when they are not supporting the developers properly? The company’s? This is sad.

When I compare the lack of management support with other countries I see this.

Figure-4.3: Lack of management support across companies

This is unfortunate. Most of our managers are lacking considerably when it comes to support the developers, compared to the countries which have more mature software industry.

To all the managers who are reading this post, please evaluate yourself in terms of how you are supporting your developers. Talk to them openly, about how can you improve. Talk to managers from other companies that you know are doing good. I am sure you will find there are cetain things you can change to support your developers more. None of us is perfect. Finding out one’s shortcomings and continuous improvement is the key to success.

Career values

The survey asked about the current job satisfaction, and overall career satisfaction.

Job satisfaction

Figure-5.1: Job satisfaction

It seems about half of us are satisfied with our current job.

Career satisfaction

Figure-5.2: Career satisfaction

And around 60% of us are satisfied with our overall career. Let’s compare career satisfaction across different countries.

Figure-5.3: Comapring career satisfaction

Ok, developers from other countries may be a bit more satisfied about their career. But we are not that much behind.

Management

The survey asked some questions about whether the respondent approves of his manager, or in future whether we want to become manager or not.

Manager acceptance

The survey asked,

How confident are you that your manager knows what they’re doing?

Figure-6.1: Manager acceptance

Surprisingly, it seems majority of us think our mangers know what they are doing. (Is this a bit contradictory with the lack of support point that was made earlier? Maybe, maybe not, I don’t know.)

Fun fact, in the stack overflow data this column is called MgrIdiot.

Need to become manager to make more

Figure-6.2: Need to become manager to make more

This is not surprising, half of us think we need to become manager to make more.

Wanting to become manager

Figure-6.3: Do you want to become manager in future

And almost two thirds of the respondents want to become manager in future. Let’s compare this with some other countries.

Figure-6.4: Comparing wanting to become manager

I want to believe the majority of those who want to become managers are passionate about management. I know that would be a fallacy though. I think the majority of them want to become manager because they will get better salary and benefits. Sad, but that’s how it is in Bangladesh.

I think companies should create technical positions for developers, who do not manage project or people directly, but takes key decision in technical implementations. And also evaluate them appropriately. So that, developers who are not really passionate about management, have alternative career path.

And my request to these two third of the developers who want to become manager, when you do become manager, please support the developers to become their best. So that we can see lack of support from management is no longer a challenge to productivity in Bangladesh.

Technology stack

Most commonly used language

Figure-7.1: Most commonly used language

Yes, Javascript rules!

Most loved language

Figure-7.2: Most loved language

Again, we love Javascript!

Most wanted language

Figure-7.3: Most wanted language

But if it was upto us to chose, on which language we like to work next year, majority would chose Python or Go.

Most dreaded language

Figure-7.4: Most dreaded language

And HTML/CSS is most dreaded closely followed by PHP, not at all surprising.

Most commonly used Web frameworks

Figure-7.5: Most commonly used Web frameworks

Most loved Web frameworks

Figure-7.6: Most loved web frameworks

Most dreaded Web frameworks

Figure-7.7: Most dreaded web frameworks

Most wanted Web frameworks

Figure-7.8: Most wanted web frameworks

So jQuery can be, at the same time, the most used, loved, and dreaded web framework in Bangladesh. But the crown for most wanted web framework goes to React!

Other tech stats

I omitted some other statistics about technology, if you are interested please check the charts here.

Job search

Current job seeking status

Figure-8.1: Job seeking status

Most important job factors while seeking jobs

Figure-8.2: Most important job factors

So it seems, apart from technology choice, most developers are concerned about the company culture, and opportunities for professional growth.

Job seeker’s stability

Figure-8.3: Job seekers stability

Among active job seekers, half of them switched their job not more than 2 years ago. Maybe they haven’t found their dream company yet, or maybe job seeking is also a hobby for some, who knows.

Miscellaneous stats

Social media use

Figure-9.1: Which social media you use most

As expected, Facebook is the social media most developers use in Bangladesh. Although, Reddit is the most popular social media among the developer communities worldwide.

Sexual orientation

Figure-9.2: Sexual orientation

Hmmm….

Better life

I would like to conclude the stats with this one.

Figure-9.3: Optimism about future

I love this result. Even with so many challenges in Bangladesh, two third of us believe that people born today will have a better life than their parents. This fills my heart with joy. I know it will not happen magically, we have to make it better, but believing is the first step.

Conclusion

If you have read this far, thank you very much for your time. I feel the time I spent analyzing the data, and writing this post is well spent. As a part of the developer community of Bangladesh, I hope you will do your best to move the industry forward.

Lastly,

  • I hope our local industry grows, in such a way that, developers don’t have to become managers just for the sake of better benefits. Rather, they become managers because they are passionate about management.
  • If you are a manager now, identify how you can help your developers become more productive.
  • If you are a developer who want to become manager in future, keep in mind all the challenges that you face now, and make sure those are not repeated for the developers working under you.
  • Participate in the next Stack Overflow survey when that happens, so that we can learn more about our profession.

Appendix

If you haven’t already, check out the main survey results. And if you want to customize/play with the data yourself, you can find my project, including the code here.