Understanding the dynamic (ie. inherent tension) between engineering and product/business is a really important part of a software job no matter what your role is.
Deleted Comment
This is certainly one of the critical mistakes you did.
No developer needs to launch half of the company's services to work on a local deployment. That's crazy, and awfully short-sighted.
The only services a developer ever needs to launch locally are the ones that are being changed. Anything else they can consume straight out of a non-prod development environment. That's what non-prod environments are for. You launch your local service locally, you consume whatever you need to consume straight from a cloud environment, you test the contract with a local test set, and you deploy the service. That's it.
> I guess one can grumble about bad architecture all day but this had to be solved.
Yes, it needs to be solved. You need to launch your service locally while consuming dependencies deployed to any cloud environment. That's not a company problem. That's a problem plaguing that particular service, and one which is trivial to solve.
> Both FAANG companies I’ve worked at had remote dev environments that were built in house.
All FANG companies I personally know had indeed remote dev environments. They also had their own custom tool sets to deploy services locally, either in isolation or consuming dependencies deployed to the cloud.
This is not a FANG cargo cult problem. This is a problem you created for yourself out of short-sightedness and for thinking you're too smart for your own good. Newbies know very well they need to launch one service instance alone because that's what they are changing. Veterans know that too well. Why on earth would anyone believe it's reasonable to launch 50 services to do anything at all? Just launch the one service you're working on. That's it. If you believe something prevents you from doing that, that's the problem you need to fix. Simple. Crazy.
If your services are mostly stateless and/or your development team is very small that can work. If not, you will quickly run into problems sharing the data. Making schema changes to the shared cloud services. Cleaning up dev/test/etc data that has accumulated, etc. Then you are back to thinking of provisioning isolated cloud environment per dev.
This seems like a LOT of issues that still need to be hammered out. It would be one thing if they were disagreeing about a number, but it sounds like the terms keep changing and nobody agrees on the nature of the work itself. It's not even clear that there's a preliminary contract ready for the NYTimes to sign.
Striking during election week is kind of a crappy move to pull. But if this is just attention seeking without a serious contract, it seems egregiously risky on behalf of the union members too: there's not a clear button the Times can push on behalf of the union to end the strike immediately. The Times would either have to sign a blank check to the union now, or the union would have to agree to an IOU in exchange for a bunch of temporary concessions.
Hard disagree. They're exerting what little leverage they have. Also there's plenty of places to get reliable election coverage besides NYT so who cares?
This is interesting to me. It does make some evolutionary sense but at the same time, i wake up every morning and look at my girlfriends face, hopefully that does not subconsciously trigger the same response.
That said, the "sky before screens" idea has been rummaging in my mind since i first heard about it https://www.cyclingweekly.com/news/sky-before-screens-has-ma...
No need to microservice or sync read replicas even (unless you are making a game). No load balancers. Just up the RAM and CPU up to TB levels for heavy real world apps (99% of you wont ever run into this issue)
Seriously its so create scalable backend services with postgrest, rpc, triggers, v8, even queues now all in Postgres. You dont even need cloud. Even a mildly RAM'd VPS will do for most apps.
got rid of redis, kubernetes, rabbitmq, bunch of SaaS tools. I just do everything on Postgres and scale vertically.
One server. No serverless. No microservice or load handlers. It's sooo easy.
not sure what CPU at TB levels means but hope your wallet scales better vertically
Whatever you decide to call these two things anyone who has onboarded a new grad/intern has observed this distinction because its a different skill set.
This is like complaining that HTTP or API isn't explained.