upvote
You apply first principles thinking, but also be mindful of your role in the team.

When you say something isn't warranted because it takes too much time, it isn't valuable: you're still thinking about what it is you're doing (working), what tools you have (your team, people), to create value (your product or service).

It's the measurement of value part that's tricky. Who determines value? Sometimes it's the customer, sometimes it's just you.

It's about perspective, and seeing where you fit in the picture. Apply the principles from there. Nobody says you have to be a jerk about it, that's up to you and how you wish to apply the output of the first principled thinking.

reply
> However, I think sometimes we overvalue thinking from first principles

The problem isn't the thinking though, but the lack of grounding.

You don't have a problem with people coming up with a technically better solution. Your problem is with the people not realizing that they exist in reality and not in a vacuum.

Please don't question the act of thinking itself. It is the wrong target.

reply
I mean that's always been the paradox that good devs need to live in, and I often go backwards and forwards on the scale between technically pure, and straight up problem solving.

Fundamentally software we create exists to solve problems, if bad code solves the problem is it bad code? Counter to that is we are engineers and it's our job to design systems that mean problems can be solved safely and effectively.

Like most things in life the truth lies in the middle

reply