- It's one of the most popular languages according to Stack Overflow survey: https://survey.stackoverflow.co/2022#technology-most-popular-technologies
- Near Kotlin and Rust in the upper right quadrant of the RedMonk rankings: https://redmonk.com/sogrady/2023/05/16/language-rankings-1-23/
What I'm not familiar with, is data on hiring/availability of devs. I know this is a vague question, but given my company's engineering teams, data for Canada or Poland would probably work.
Would appreciate any pointers!
Last time I had a conversation with a couple of companies I keep in touch (a couple of months ago), we had a long discussion about their choice to migrate their backend services originally implemented in Go, to re-implement them either in Java or (modern) C++, after the telemetry fiasco [1] that is going to be added in future release of Go inside their toolchain.
They told me they cannot risk it, be it opt-in or opt-out, it does not matter for them, because Google any time it wants can make it mandatory, and as a financial institution with high competition, they cannot risk it; that's what they said to me, not my words.
So...would I use it nowadays? Absolutely not.
Should you stay with a much more traditional tech stack, such as Java? Yes, of course, especially now with the release of OpenJDK 21 that will introduce virtual threads that more or less behave like Go's goroutines.
That's just my honest opinion, that's all.
I think these things will depend a lot on the where. Around here the job market is pretty much all C#, Java and Typescript for "general purpose" development. There is still a strong PHP presence for web and C/C++ owns the embedded market, but other than that you'll be hard pressed to find a programming job. There are quite a lot of Python jobs as well, but they are almost exclusively for mathematicians who work in ML, AI and/or BI.
We did a few proof of concepts in different languages around august last year, Go being one of them, and found the language to be fairly immature and quickly dropped it. This is obviously very anecdotal, but basically every Go package we would look at would be fairly unmaintained. Often it seemed like one or a few developers at some organization decided to use Go and build something rather brilliant, that then went unmaintained as those developers found new work.
They definitely cover Go in Canada (here’s a preview page): https://lightcast.io/open-skills/skills/ESA5839C44D0970CF79F
Less sure on Poland. That would cover demand, and then maybe you could look at average job posting age/time to fill as a proxy for supply and ease of hiring?
But that being said, Go is very simple to learn. If you can hire a smart programmer that understands concurrency topics in another language, they can learn Go on the job.