With Spring, you just declare a model object and it can infer a data repository with a ton of convention-named query methods, so the number you actually have to write is far fewer. Spring is used by so many people there are loads of good libraries. E.g. I'm just adding permissions, and without needing to hunt around for a compatible library or litter my code with conditionals, it's pretty easy to use Spring Security to configure sane permissions with annotations. With Lombok there's no need to write the garbage you used to have to (loads of getters, setters, etc.) so the code is quite clean.
Annotations also simplify DTOs with mappers - in Go I had this triplicate of model struct, DTO and mapper. Maybe there was a library I could have used to help, but the faff around setting up the DB (e.g writing SQL, configuring an ORM), updating DTOs and mappers was just crippling my velocity.
Plus, for hiring, there are tons of Java devs around the world, while for Go rates are much higher. So yeah, several factors.
It gets rid of the crufty parts of DB interaction with Go.
I plan to run multiple experiments in parallel, keep working the day job and outsource the ones that take off. So the more standardised I can make the tech stack, the faster and cheaper dev work will be.
But yeah, we'll see...
are you joking? if you can find good (I don't want really great) Spring devs for under $80.00 p/h let me know.
You can hire at that rate and everyone I hired had faked their experience and could get through the interview but did a terrible job.
So we ended up firing everyone and had 3 devs for above $110 p/h that were truly awesome who got the job done.
Once IDE plugins can scan the majority of a codebase it'll be easier to just write a bulleted set of requirements and let it get on with it.
But anyway I was talking to a friend who's hired some great Ukrainians quite cheaply and I hear there are some good devs in the Philippines.