Should I Use Go for Large Monolithic Backend Applications?

Hey folks,

I have been using Go to develop backend systems and I am wondering about its effectiveness for larger monolithic applications. I keep running into situations where I need to write tons of repetitive code for complex features.

For instance, I recently built a filtering system for a product catalog that needed to handle various search parameters. The whole thing ended up being around 400 lines just for the database logic and response handling, plus all the input validation stuff. It gets even worse when I have to deal with file uploads - like when users need to upload multiple product photos at once. So much code just to process those files!

When I used frameworks like Django with Python before, similar functionality took way fewer lines and felt much cleaner to implement.

This makes me question whether Go is actually suitable for building large monolithic backends. Maybe there are some design patterns or libraries I am missing that could make this easier?

Anyone have experience with this? I would really appreciate your insights!

I’ve been working with Go monoliths for three years, and yeah, the verbosity is real. But building proper abstractions early makes a huge difference. For filtering systems like yours, generic query builders and validation middleware can cut that 400-line implementation down to maybe 100 lines of actual business logic. Treat Go like Go, not Python - embrace interfaces and composition instead of inheritance. The upfront work is more than Django, but the runtime performance and deployment simplicity pay off for high-traffic apps. Use libraries like GORM for database ops and validator for input validation to kill most of the boilerplate.

honestly, go isnt the best for big monoliths - rails or django do way better. u’ll notice the verbosity when making complex stuff. maybe try breaking it into smaller services or look into the Fiber framework? it really helped me cut down on repetitive CRUD stuff.

what size are we talking here - how many endpoints/modules? have you tried go frameworks like gin or echo? they cut down on boilerplate pretty well. sounds frustrating coming from django tho!