I’ve been using Java for about 8 months now—programming almost daily (4-6 days a week, 2-4 hours a day)—for both university work and personal projects. When I started, I was really passionate about it, but lately, I’ve noticed myself losing interest. The excitement I once had has faded, and I find myself frustrated with object-oriented programming (OOP) and the boilerplate code that seems to come with it. Honestly, it feels like I spend half my time just researching Java-related issues, which is starting to make the whole process feel tedious.
I’m considering switching to Go because I’m drawn to the idea of a simpler, less OOP-centric language without all the boilerplate. I’m curious if Go would be a better fit for my thought process and help reignite my enthusiasm for programming.
That being said, I’d love to hear your thoughts on whether switching to Go is a good move at this point. Has anyone else gone through a similar experience of losing interest in a language and then found something else that clicked? Is it realistic to make this switch, or am I just being impatient? I’d really appreciate any genuine, motivational, or educational advice you have!
Don’t overthink it
Start with a small module or microservice and make your own experience.
Every language excels in its own domain, so select one that aligns with your specific project requirements.
How are you burned out on Java after only 8 months?
I’ve been writing software for most of my life. Programming is tedious sometimes. Depending on the project, I’d venture to say most of the time.
All the time. If you’re writing software for a living, you will naturally become more of an expert on the app you’re building/maintaining which means you’re more valuable staying on that same project long-term. And working on the same app for, say, 5 years gets REALLY boring and everybody I’ve ever worked with burns out eventually (me included). That’s when it’s time to be reassigned to a new project/job, and often that will involve new technologies and frameworks.
If you’re not learning and adapting all the time, you will get bored. That’s part of why we have developer conferences and meetups; to expose us to new stuff and help keep us inspired/motivated. If you are launching into a software career, it’s a life of constant learning.
You’re still new to programming. Yes, I would suggest you try new things and see what tools you like using. The language itself is important, but the thing that makes the new-ish kids on the block (Go, Rust, Zig) cool is also:
The community (opinionated takes on everything from error handling to code formatting, focus on lack of dependency hell, inclusive helpful forums/mailing list/discord/reddit).
The ecosystem (related to the community obviously; but the ecosystem is mature enough now to have a package for just about everything you would need; including the best Excel library I’ve used to date!).
The tooling (fast build/runtimes, self-contained binaries, easy compiling to other OSes, gofmt, go modules, vscode go plugin, goland, go playground/docs).
A very batteries-included stdlib (out-of-the-box support for HTTP servers/clients, JSON, SQL, templates, etc.).
My only other piece of advice is: figure out what you’re trying to build, and find something you’re excited about. If you’re building an app that you’re excited about, you will be far more productive. And I guarantee you will learn a LOT building a real-world app even if you’re the only person who ever uses it.
Yep! If you came to me and you said “I only want to build performant RESTful APIs for the rest of my life. Should I learn Go?” I would heartily recommend it without reservation. If you came to me and said “I want to build cross-platform mobile apps. Should I learn Go?” things get a lot more interesting.