Experienced software engineer (Mac, iOS, C++, node.js, Typescript, others), 🥌 curling, developer of BikeWatts - a bicycling power estimator for iPad and iPhone
Problem: We need to fix a production bug, but the development branch contains work that isn’t ready for prod.
Solution: Only merge code to that can be immediately deployed. Use feature flags to hide incomplete work.
Keep the development branch production worthy.
graphql was invented by facebook mainly because their frontend evolved very quickly and needed various data views. Creating a new REST end point for each request was too much work.
It started harmless, I really just want fields A and B, no need for REST to return all those fields that am not going to use, especially that REST was resource based. I liked that. Although you could already do this in REST with query parameters it was little weird.
But then it essentially became let’s bring SQL all the way to the client because we want to write more complex requests. And here is the problem, shortcuts.
Creating a new end point is a thoughtful process. Once the requirements are defined, the hope is the existing data model can satisfy the query efficiently, adding the necessary indexes, finding the best way to write the query. Sometimes the requirement is too expensive for the current data model and a redesign may be required for efficiency. The goal is avoid the chatter between backend and db, execute efficient queries to use as little resources as possible.
so I can’t really imagine how this can be abstracted away in graphQL without leaking severe performance issues.
Anything that hides complexity in favor of less code or simple looking calls is a temporary solution for a painful future realization. SQL itself is a huge abstraction and it takes a long time to really understand. one query might be fast but few months later the same exact query is slow, Code didn’t change but planner changed its mind. adding additional layers on top of it? just makes things way more difficult not easy.
so in summary I understand why facebook created graphql, they had a use case, but I doubt 90% of us all out there change the frontend as frequently.
Are you currently hiring for a role that includes using Node.js? Reply with a link to the opening and any relevant context.
If you're not, we'd appreciate a retweet for visibility 💚
Eng team 1: “We do what product or the business folks tells us to do. Not our job to decide what we work on!”
Eng team 2: “We work with product and the business folks to help decide what to do. Our job includes making sure we work on the right thing for the business.”
Over the last 2 months, I've spoken to 30+ PMs.
2 areas limit the growth of many people the most: Product Discovery and Strategy.
If you, too, get overwhelmed by so many resources, or struggle to understand what the PM job is about, start by watching those 3 videos: 🧵
I love the news people saying that you should stay off the roads unless absolutely necessary, while simultaneously driving around the roads while doing live reporting
[ i hate having to say this but the new twitter API announcement unfortunately means the end for iliad_bot :( this has been a passion project of mine for years and im glad so many of you enjoyed it too <3 it will continue to post until the end that is death envelops its eyes ]
Warning: Advanced phishing attack. Got a pop up on both my iPhone & Apple Watch about password reset. I didn’t take action. Then received call from 1-800-MY-APPLE. Here’s what ensued:
Inventing a poll tax to disenfranchise voters so you don't actually have to come up with any good ideas... I told you Musk is as much like DeSantis as he is like Trump.
Guaranteeing 7 paid sick days to rail workers would cost the rail industry a grand total of $321 million a year – less than 2% of its profits. Please don't tell me the rail industry can't afford it. Rail companies spent $25.5 billion on stock buybacks and dividends this year.