A Blog On Avoiding Over-Optimizing (edited from a post I found online)

All actions stem from some higher order beginning function. A goal.

Often times we obsess with pieces of this goal which lose the basics of what that goal actually entails. I’ll give one example, but this is applicable in alot of various aspects of life. After all, life is a prioritization game.

You know that being healthy is important. And that there's a lot of stuff you could do to improve your health: getting enough sleep, eating well, reducing stress, and exercising, to name a few.

https://res.cloudinary.com/lesswrong-2-0/image/upload/v1676094022/mirroredImages/ma7FSEtumkve8czGF/wldchqc5qifutvp37u6a.png

There’s various things to hit on when it comes to exercising and you may start obsessing over that.

Strength, obviously. But explosiveness is a separate thing that you have to train for. Same with flexibility or cardio.

https://res.cloudinary.com/lesswrong-2-0/image/upload/v1676094022/mirroredImages/ma7FSEtumkve8czGF/e7gbmsvf3c4ysnvx6qrq.png

Strength is most important though, because of course it is. And there’s various things you need to do to gain strength.

It all starts with lifting, but rest matters too. And supplements. And protein. Can’t forget about the protein.

https://res.cloudinary.com/lesswrong-2-0/image/upload/v1676094022/mirroredImages/ma7FSEtumkve8czGF/duo4jmvnakow9vesow5z.png

When it comes to protein thats a more complicated subject than it may at first seem. Sure, the amount of protein you consume matters, but that’s not the only consideration. You also have to think about the timing. Consuming large amounts 2x a day is different than consuming smaller amounts 5x a day. And the type of protein matters too.

https://res.cloudinary.com/lesswrong-2-0/image/upload/v1676094022/mirroredImages/ma7FSEtumkve8czGF/tih0ouuxzs1jihllzvzm.png

But quality isn’t an easy thing to figure out. So you listen to a few podcasts. Follow a few YouTubers. Start reading some blogs. Throughout all of this you try various products and iterate as you learn more.

You may forget to get the timing right, you may still wonder if you have the right supplements or are getting the right amount. Some people go further down this rabbit hole.

2

You’re a product manager over at Danslist, an up-and-coming competitor to Craigslist. You’ve recently been promoted and are now in charge of the most important page of the site: the product listings page.

This page is Danslist’s bread and butter. It’s very important that it is a good web page. And there’s a lot you can do to improve it. These improvements can be grouped into aesthetics, usability, functionality and speed.

https://res.cloudinary.com/lesswrong-2-0/image/upload/v1676094022/mirroredImages/ma7FSEtumkve8czGF/dov6dypiaxiicslmfoky.png

Speed is something that the VP of Product has been talking a lot about. And you recently had a few meetings with the tech lead and some senior engineers. They had various ideas about how the speed could be improved. One is to parallelize the data fetching instead of doing it serially. Everyone agrees that this would be a good idea and a pretty obvious next step.

https://res.cloudinary.com/lesswrong-2-0/image/upload/v1676094022/mirroredImages/ma7FSEtumkve8czGF/cjwzrxlghkbizgt4ybjq.png

But in order to parallelize the fetching, well, some things need to be reworked. Currently the team is first fetching from Service A, then using the response from Service A to fetch from Service B, and then using the response from Service B to fetch from Service C. So given how things are currently structured, the fetching can’t be done in parallel. Service C needs the response from Service B, and Service B needs the response from Service A.

It’d take some effort, but these services can be rewritten in such a way where they don’t depend on one another and the data fetching can be done in parallel. Seems logical enough.

https://res.cloudinary.com/lesswrong-2-0/image/upload/v1676094022/mirroredImages/ma7FSEtumkve8czGF/diouvb7ypz3vcfp2ptmy.png

But unfortunately, things don’t stop there. It isn’t currently possible to restructure those services with the Postgres database the team is currently using. They need to switch to MySQL first, because MySQL has some features that Postgres just doesn’t offer.