Hacker News new | ask | show | jobs
by trs8080 1464 days ago
This is just the nature of the tech industry. This board openly celebrates "disruption," "move fast break things," etc. If you work in tech, expect to constantly be updating your skills and learning/adapting to changes.

As a frontend dev, I can tell you that at my last company we started to circumvent/replace the backend team because they insisted on using things like Java for simple CRUD apps. I write TS, so to write a REST API that reads from a DB and serves to a frontend is trivial to set up (including tests, security, etc). A business customer needs a dashboard by next week that combines five different sources of data into something intelligible? - that will take a day or two. Asking the legacy backend team for the same thing (a backend API to serve this data to my frontend) - "we'll put it on our roadmap - six months." And that's not even the worst - they absolutely refuse to create any kind of internal deployment to host our already-built solution. It MUST be in Java and conform to their standards. Of course we're going to change the stack, these teams are blocking meaningful work because they refuse to move faster or use tools which allow us to move faster.

2 comments

I can write a Spring Boot app from zero to a fully functional API interface to the database in one day. Really less time, but that includes unit and integration testing. The front end that will consume that API is another matter so I won't pretend I could do that. Obviously getting this to production won't happen in a day or two. Are you saying the nature of Java itself makes this impossible, and something about Typescript makes it doable? The thing is, a REST API is a solved problem. If you let me use what I know, it'll get done quite fast. If I believed you and went all in on your stack, will you be happy then? Can I master it and feel some kind of self worth in what I do for a living, or will it all be thrown out the window when the next Typescript comes along?

The business customer wants the dashboard now. Today. If they could push a button and have it, they would. I assume "I want it now" sounds unreasonable to you. So why does "I want it next week" not sound unreasonable? If you can do it by next week in Typescript, you can stay up an extra hour or two every night and have it in three days. I'm guessing you draw the line somewhere.

You're right, this has nothing to do with Java. Spring Boot and other modern Java stacks are quite great and very productive actually, as you already know quite well.
Do you think those teams are blocking you just for fun? Or is it possible that they actually know a lot of things that you don’t, and all of that “wasted time” is actually being used to provide safety, security, and proper architecture for apps?

THIS is the problem in tech. Every hotshot programmer thinks they know better than everyone else; that nobody else brings value to a company except the developers.

Nope, not for fun. Rather, they come from enterprise backgrounds where everything moves at a snail's pace and their methods - which they refuse to update - are wholly unsuited to a fast-moving company.

> Or is it possible that they actually know a lot of things that you don’t, and all of that “wasted time” is actually being used to provide safety, security, and proper architecture for apps?

I handle safety/security and architecture and have been for over a decade. I know what I'm doing. I would expect that any mid-large tech company in 2022 would have a way of quickly spinning up new, basic CRUD apps - if you have to write a REST API in Java from scratch over the course of two quarters every time someone needs to deploy an internal dashboard, you're doing it wrong.

> "wasted time"

Your words, not mine.

The problem in tech is a bunch of grumpy sysadmin types gatekeeping the stack and preventing people who are trying to solve business problems from doing so. Then when we introduce new technology to actually enable us to solve these problems, "oh this is a fad, I hate this language, why can't we keep things the way they were." Because you refuse to adapt, and we have stakeholders/paying customers who expect results.

Java has nothing to do with what you described. Its modern frameworks are extremely productive and performant. Just because you might have had a bad experience with one team that moves slowly (who may very well have their reasons), does not mean that the language or ecosystem caused them to be that way.