The demand for Go skills is high. Why aren't more programmers learning it?

I’ve seen in Triplebyte data and elsewhere that Go language skills are in growing demand on the job market. For instance, Hired’s most recent developer survey shows that engineers with Go skills rake in an average of 9.2 interviews in a job search period on their platform – up from 9 interviews the year prior. This is while Stack Overflow’s survey from this year shows Go as the 12th most-used language despite it being the 3rd most Wanted (a nod from developers who don’t know it and use it but would like to).

This all has me curious: I know that Go is primarily an infra or back-end language, meaning not every dev is going to want or need to learn it, but I would like to hear more about why engineers think the demand for this (evidently loved) language isn’t being met. Share you thoughts.

Learning skills like new languages outside of a job is pretty useless because you don’t actually gain the relevant experience. This is especially true for backend technologies. Sure I could teach myself Go programming (or Elixir or what not), but that will not land me a Go job, because those will be looking to have experience how to leverage Gos unique features to build scalable backends, but that is very hard to train. With frontend or ML technologies that is a bit different, as you can easily build some MVPs and do experiments with research data, but building scalable backend systems in a specific language is something you will only learn on the job. That’s why companies like Google probably don’t care whether you know Go, but whether you have experience with backend development, you will then learn Go as you go. In summary, knowing a language is not the challenge, having experience how to leverage its benefits in large scale production environments is.

4 Likes

I guess that makes sense, @Tobias_Lohse. Learning the basics of Go next week won’t make you the most qualified Go programmer in any reasonable amount of time, anyhow. So you’re saying it makes the most sense to find an opportunity for learning new languages like it on the job?

Also, pun intended?

… you will then learn Go as you go.

:nerd_face:

1 Like

It’s the same for any new language/framework that becomes “hot”. At the beginning, there is more demand than people who have actual experience in the language but it evens out over time as more people do get exposed to it at their workplaces.

1 Like

Totally agree with all above. It’s all about resume. Learning a new language/technology/stack is the easiest part of the job searching quest. Your resume records matter the most.

1 Like

Personally, I looked at both Go and Rust. They are really not in the same spaces, but are often considered as new languages on the rise. I find Rust to stretch me a little more and be a more expressive and rich language with some new ideas in language design.

I found Go limiting in some sense of the type of programming I wish to do, which spans from low level embedded hardware up to desktop apps and web. Go is much easier to wrap your mind around and be productive in. However, I would challenge that learning Rust will make you a better programmer, even if you don’t use it professionally.

I was able to take my large background in Python and transition it into a role where I get paid to write Rust. So I don’t see learning Go anytime soon. Rust is solving 70% if bugs in C/C++ (memory access issues), in a language with no cost abstractions. So hopefully there will continue to be work in the language.

I think Go is a fantastic language for what it was intended. A faster and easier to learn Python with performance as close to C as possible.

2 Likes

I agree with this idea, except it is not that hard to learn language unique features. You can easily get yourself an aws (or otherwise) server and experiment on it.

My guess is that the size of the field (number of new software engineers and new positions) is growing faster than the number of engineers learning Go. I haven’t looked at any data to back this up though.

Having used Go a lot professionally, I think it’s desirable in a professional software engineering setting because of its readability and ease of maintenance. Just try out Triplebyte’s new Go assessment versus the Java assessment. The programming problems in the Go version are much easier to read and comprehend quickly, whereas it can be easy to run out of time trying to read the code in the Java version, especially when concurrency is used.

If you look at the survey data itself though, you’ll notice that Go developers are typically paid more. That in and of itself would make it a desirable skill for engineers to want.