Comment by lakomen
3 years ago
Anything can be learned, but not necessarily in a reasonable amount of time. Some things are easier to pick up, some are just impossible. Example, I was doing PHP for 11 years then jumped to Go 9 years ago (wow it has already been 9 years), Go was good for me because it lifted a lot of mental burden of the OOP craze and wrong concepts applied back then. On the downside, it didn't have an ecosystem. But it was easy to pick up.
k8s surfaced and I tried to learn about it, but it's just too complicated. After I had spent 2 weeks of intensive mind bashing at it, I still wasn't able to manually set up a 3 node initial control cluster. I gave up on it, never looked back.
Spring boot time and again, medium difficulty picking up, mostly because of the exclusive Java community, if something like that even exists. Very arrogant bunch that speaks in implicit ways and assumes you just magically know stuff.
Android is similar, always in flux, despite the many resources offered by Google you don't know what to pick. New Jetpack compose or old, ancient seeming xml layouts and configuration and navigation configuration. It's a hot mess. I tried to use AppAuth OIDC client, has a few questions, asked, the response was "We assume some prior Java and Android knowledge". Well, ok thanks for nothing.
Angular, aside from rxjs, which was royal pain in the ass to learn, straightforward, albeit a bit overly complicated and typescript gets in the way more than it should.
Jumped to Vue. Oh dear god, it's so nice and easy. None of the rxjs stupidity, no forced typescript and a large ecosystem. I can be super productive with it and create SPA, PWA, SSR, Electron apps, browser plugins, even hybrid mobile apps with it.
Rust, my arch enemy. I tried to get into it, I was drawn by hype and the promise of more performance. But knowing Go, which is just good enough for the backend, and where things make sense, Rust doesn't make sense for me. For someone coming from C++ it must seem like the 2nd coming of Jesus, for me - the Go guy - it's an abomination. Yeah I get the basics, but imports don't make any sense, structure doesn't make any sense, erorrs don't make any sense. I feel like a freaking transporter always worrying about crates and boxes and who they belong to. Not fun at all. Handle with care, careful breakable. UGH.
Yeah anything can be picked up but it depends on me being interested in what's to be picked up, the willingness of others to teach and the justification of why I need this added complexity.
I write monoliths and I'm happy with that. Now all jobs postings require Microservices and EDA. I'm unhappy with that because I don't see the need for it in most cases. Now I have to learn expensive cloud on my own, which I have ZERO motivation for. I have to make everything extra complicated, it's hard enough as is getting a project done start to finish, client and server, the monolith way. If I'd have to go Microservices I'd never finish anything and even if, when launching until people actually use my service, 3 years later I'd be bancrupt. So where am I supposed to learn about this unless employed by those people who want Microservice EDA? But they won't employ me because I have no experience with that.
See I feel you have missed a lot of points, it’s like you’re pragmatic as hell are creating stuff but by the choices you seem to have made it seems like you have got quite a surface level understanding of some very well thought out stuff that has good reasoning behind it because you want to make stuff with ease regardless of how maintainable it is it how much tooling can help you. I wouldn’t chalk stuff entirely up to hype.
I think some skills are more valuable than others because they don't change that much. Java is valuable. Go is valuable. PHP is valuable. C is amazing. JS frameworks...not thanks. I think of moving from full stack development to backend due to this..its a bit more sustainable.