Hacker News new | ask | show | jobs
by wruza 1198 days ago
My rule of thumb is to turn your doubt into a question with experience attached to it. E.g. when someone says “there’s an API for that, it should be easy”, I note that not all APIs are equal (enumerate examples) and it must be reviewed before we commit to deadlines. And until that we must assume it’s not “easy”. Ask if research was done and whose responsibility it would be. If it wasn’t, then why we decided to meet. Hanging responsibilities onto dangling tongues explicitly makes them dangle less.

How hard to push back depends on the nature of discussion. Being too pessimistic in a research phase is not useful. But if it’s a contract worth half a year or more, spending few days evaluating assumptions is wise.

Remember that fast thinking is not actually fast, but shallow and/or optimistic.

3 comments

>fast thinking is not actually fast, but shallow and/or optimistic.

Sometimes fast thinking is fast. If you have mental models that the other doesnt, and those mental models are good in the limit of the context you’re in, it’s faster.

Of course if you both have the same mental models, or the models don’t work in the limit of your context, then more time lets you think deeper. Take chess. Two players in a 1min bullet game (mental models very applicable) vs two players in a 20min grandmaster battle (better to take time and think deeper)

I really like this point, that fast thinking is shallow. I think there should be more respect for having to think deeply about things and process before coming to conclusions. I think that is more of a sign of intelligence than just responding to something right away.
Answering quickly or thinking deeply first doesn't have much to do with intelligence, some smart people answer quickly and other thinks first. It mostly have to do with how much you care about being right, if you are deeply afraid of being wrong you will think a lot first before answering since you prefer spending all that energy over being wrong, while if you don't care you just answer now and think later.

Speaking before you think makes you look dumb, but it doesn't make you dumb. You see the difference? You might have met many such people who were smart, but that you identified as dumb since they weren't afraid of appearing dumb.

Lots of people used to think that Obama pausing for thought meant that he was taking time to cook up lies in his head.

Skilled liars are usually quick though because they're not considering if something is correct or not, they just need to figure out what kind of thing to say to make you agree with them.

I tend to agree that thinking models are per se shallow. But I don't even believe much in thought models to be honest. I believe they are just heuristic for decisions and do not constitute the whole thinking process itself. But maybe I am wrong
I don't think you can generalize like that, at all.

A better sign of intelligence is knowing when thinking deeply is in place. And most often it's not. Most often it's more cumbersome to think for a long time than making the occasional mistake.

People that think long & hard about everything don't have their priorities right.

Again, it really depends.

If you're doing a research or fun project, where failure has no consequence? Then yeah, mess around, move stuff, go fast, break things. Worse is better.

There are so many situations where there are, consequences, though. Either because failure is pretty dang bad, or (perhaps more commonly for our industry) a mistake will increase our tech debt. Our failure to spend a few extra hours thinking it through in the short term might lead to hundreds of hours of tech debt or (in the extreme case) our entire project/company to fail in the long run.

Duh, that's my point.

The previous comment seems to suggest that a sign of intellice is taking time to think, in general. I'm saying a sign of intelligence is knowing when thinking longer is worth it. Some people take their time every single time, and I wouldn't say that this indicates that they're smart...

The chess example may though count as "shallow" thinking, in that your quick games are pattern matching out of experience without much time for deep or self-reflective novel analysis.
I’m sorry but in a practical corp environment this is a fast track to be fired. You become the person constantly in the room enumerating edge case doubts that aren’t often even relevant. You map the blockers vs the opportunities and end up focusing the team on them.

The goal is to avoid blockers, not enumerate them uselessly.

Can it be done? Yea? Sure ok then let’s figure it out. The million ways it can’t aren’t relevant.

I love this line of thinking, it's how old companies I worked with developed entire rest APIs using only AWS Lambda and after sinking tens of millions into it they abandoned it :)

CAN IT BE DONE? OH YEAH!

at least now they know that it can't be done
But this is the classic engineering mistake in how they communicate. They replace “why should we do this” with “we can’t do this” and it leads to the same old stupid conversations with eng who are probably pretty smart but have no self awareness of their communication failures
> Remember that fast thinking is not actually fast, but shallow and/or optimistic.

Q: What's the difference between a novice and an expert?

A: The novice thinks twice before doing something stupid.

Iterating on mistakes until it works is how most do programming, so yeah doing that faster is what experts do.
Software development as a whole is iterative, but you don't always get the chance to iterate on individual things.

If you and I are working on Project Blahblahblah with a team of 20, sure, we're iterating that. But the crazy bad, hacky, barely-works spaghetti code I crammed in there for feature ABC? It might be a long time until we get to iterate on that particular ball of tech debt.

I think maybe that's why I'm burning out on this industry. It's ship, ship, ship, new, new, new and never a chance to iterate for quality.