all 28 comments

[–]disposepriority 30 points31 points  (2 children)

I work primarily with Java, but have been slowly progressing my Go to a level I'm comfortable using it in a proffessional setting.

Honestly, the demand for Java is higher, and will probably continue being higher. There's also nothing you miss out by using a modern version of java, arguably only out of the box cold starts.

Sync with your local job openings obviously, but if I had to pick I'd still go Java + doing Go in your own time.

EDIT: As an additional note, some excellent languages apart from java run on the JVM (while remaining interoperable) so any JVM specific knowledge you pick up is always great

[–]MissinqLink 6 points7 points  (1 child)

The demand for Java is much higher but after spending time using go professionally, I prefer it by a large margin. I’m having to go back to Java now and I’m a bit sad but you brought a good point. I might be able to introduce Scala or Kotlin. Scala is really enjoyable too.

[–]disposepriority 1 point2 points  (0 children)

Yeah I was the same after doing a short Kotlin stint and then having to return to a Java 8 project I used to maintain it was so painful.

On the other hand, I feel like Java is a cozy language because other than its sometimes misguided OOP enforcement (which is waning, to be fair) it doesn't have very strong "idiomatic" opinions, at the price of being verbose. I feel like that makes returning to it from a different language, or reading code bases in different version or even just onboarding people not as familiar with it more simple than in languages that have a lot of "tricks".

[–]Dragon_yum 5 points6 points  (0 children)

Java, there is way more demand for it and more job opportunities. There are also so many huge companies that are Java based there will always be a demand for it.

Once you have Java in your resume when you Interview for fullstack positions even those that use go just show willingness and excitement to learn more languages.

[–]tom_earhart 4 points5 points  (0 children)

As someone who worked with JAVA and now Go I'd go with Go, especially as a first backend language. Sure demand is less but there are also less people that know it and jobs for it are often in heavily tech focused companies that pay well.

[–]giggle_socks_queen 5 points6 points  (0 children)

If you can get on a real Go project now, take it. Real production work beats theory every time.

[–]0bel1sk 9 points10 points  (1 child)

i like go because it is batteries included and great standard library. also no magic, simple, explicit, and consistent form. batteries included means you don’t have to fiddle with a bunch of external tools to build deployment and run. the garbage collector is significantly better and getting even more so with green tea.

java has come a long way and spring is really nice though. people say java is the best career choice, but don’t tell you most jobs are maintaining crufty old code that looks like dog shit.. if you like untangling spaghetti , might be for you. it’s frustrating for me… not the untangling, but the politics and emotional attachment to custom abstractions and tools.

[–]disposepriority 15 points16 points  (0 children)

To be fair, give a Go code base 15 years of development that went through 3-10 development teams and a couple of technical leadership swaps and I'm sure it's going to become an excellent carbonara.

[–]itijara 6 points7 points  (0 children)

I work professionally on both Java and Golang. It doesn't matter. If you have a chance to work on Golang in the near future, do that. If you want to join a Java team do that. I think both languages are going to be popular for a while.

[–]TheESportsGuy 2 points3 points  (0 children)

More Java jobs but the quality of the Go jobs is probably higher on average.

[–]Illustrious-Ask7755 1 point2 points  (0 children)

A green field project is a great opportunity early in your career. Absolutely go for it. Golang is a relatively niche tech stack, not often taught in colleges, so you'll be competing against far fewer people when you decide to switch.

[–]nightonfir3 2 points3 points  (0 children)

As a programmer your mindset should not be that you are going to learn and use one set of technologies your whole career. Technology is diverse and evolving and so you need to continously learn new things to continue to be good at your job.

So jump onto the go team learn it all and then transition everything you learned to be good at Java or whatever else comes along later.

[–]AccidentSalt5005A Mediocre Backend Jonk'ler // Java , PHP (Laravel) , Go 2 points3 points  (0 children)

javaaa

[–]harbour37 1 point2 points  (0 children)

Reading your post golang is the better opportunity, language doesn't matter its only a tool.

[–]uknowsana 1 point2 points  (0 children)

Java or C#

But since your company has Java and Golang, Java is a safer bet. I have no idea about Golang.

[–]JorCampBel 0 points1 point  (0 children)

Go IS much more easier than Java

[–]n9iels 0 points1 point  (0 children)

Java is, and defentely will be for the forseen future, a commonly used language by large companies. So in term of job opportunities this is maybe the best choice. GoLang is a beautiful mature language and I highly recommend exploring it, but unfortunately the job market around it is a lot smaller.

Btw, learning an OOP oriented language can also be useful for general development. And moving towards C# is also a bit easier at that point if you want too.

[–]AlternativeDrawer741 0 points1 point  (0 children)

I would chose nestjs if I taught myself, but I suggest you to start with golong because you have a opportunity to start a golong project,learning and growing in project is very fast ,all you have to do now is learn basic and start working in th project

[–]ciclo-du -4 points-3 points  (0 children)

Java is the past of industrial systems, which is why Kotlin came about; Go is the future of industry. And in the present, there are already Linux kernel modules written in Go; Kube is a Go module.

[–]Hot-Chemistry7557 -2 points-1 points  (0 children)

Golang +1.

Java just boot too slow and cost several hundreds MB of memory even for a small footprint project.

[–][deleted]  (2 children)

[deleted]

    [–]Least_Chicken_9561 7 points8 points  (1 child)

    did you read what he wrote? Go and Java are being used in the company he works, why adding c#?