Hi
I'm a junior software engineer currently working at a bank in Australia, primarily using Java with Spring Boot for about a year now. I’ve received an opportunity to move into a role in a better-funded, more tech-forward team — however, the primary language there is Go.
While I’m open to learning and working with Go, I’ve noticed that Go isn’t as commonly requested in Australian job postings compared to languages like Java or JavaScript. Unlike markets like the Bay Area, where companies seem to prioritize general backend experience over specific languages, here it seems many employers still expect direct experience with the language they use (at least that's what I glean from the postings).
My question is: if I spend the next couple of years working in Go, how might that impact my ability to transition back into a role using Java or JavaScript or any other language in the future?
Would really appreciate your thoughts!
Thanks
It depends a lot on level.
When you're just starting out, you are focusing more on syntax and low-level mechanisms. When you build something, you are thinking more in terms of "I need this specific code in X language to accomplish the task" as opposed to "I need these high-level components like classes, interfaces, etc to accomplish the task". That latter mentality comes up more as engineers reach senior, which we talk about in-depth here: This Is How Software Engineers Should Initially Learn
A resource that covers proper learning even more is the code quality course: Level Up Your Code Quality As A Software Engineer
All that being said, job availability is a pragmatic angle you simply can't ignore. If there aren't a ton of Go jobs in your region and you want to stay, you probably shouldn't learn Go. You can almost never go wrong getting good at Java/JavaScript as they are literally everywhere.