- Have a vague understanding of the problem
- Architect an overcomplicated solution thinking of all possible contingencies
- Pitching the overcomplicated solution to someone else
- Ask them to come up with a simple solution. Ask questions to "birth" to the solution.
- Not providing any feedback as that would mean need you to be accountable for the work
- Trying to convince them they should work out the solution because they are the expert and much smarter then you
- Taking credit for solving the problem1. Define the problem.
2. Gather information about the problem.
This seems reasonable. "We need to know what we're trying to solve, not boil the ocean."
But it is really common that the information tells us that the problem definition is slightly or really wrong. Hence the importance of gather information, then define the problem... and iterate.
"First define the problem" also feels reasonable because picking the right problem requires a lot of context and experience. Some would add "taste." So in group discussions, people often suggest bad problem definitions. Others then want to get focus and traction. That impatience often results in committing too early to the problem definition.
Making thoroughly informed decisions and iterating on a decision doc before committing to a direction and plan is better than every alternative I’ve ever observed in my career.
The criticism I’ve read thus far on this thread seems unwarranted. I give the same kind of feedback to my mentees when their work product or process could use improvement.
My last company did this. It usually devolved into a design-by-committee full of compromises to make various stakeholders happy and often yielded a worse artifact.
It became more effective once people got burnt out on the process and most stakeholders stopped caring and started rubber stamping, allowing the one or two people willing to put in the energy to come up with something coherent.
My point here is that companies that love to have extremely formal processes around for to handle technical things are not necessarily less likely to have extremely arbitrary decisions without any process for recourse defined when it comes to how employees get treated. If someone describes a technical process that they say they use for everything that a literal reading seems pretty dubious in regards to things like burnout or micromanagement, I don't think it's that crazy to recognize that the reality is probably at least as bad as the obvious implication. Sure, they're not directly saying "I overwork my employees by imposing short deadlines on everything and I nitpick their processes if they different from my own", but there are enough managers who do act this way that it's kind of hard to think someone who cared about being perceived as saying that wouldn't go out of their way to clarify where the nuance is if it truly exists.
If you do this step well, in my experience, the next steps fall into place quickly.
My version: accurately naming the problem is the essence of problem solving. There are things you usually need to do before you can accurately name the problem, because most problems aren’t presented to you in textbook form.
Once properly defined and framed, it’s obvious how to solve most problems, most of the time.
If you’ve ever worked with someone amazingly good at accurately naming the problem, it’s hard to unsee it. This is one of the hidden talents of the most effective people I’ve met.
A. Why define the goal after identifying the solution? Or does define the goal mean identify a stopping point for step 4, in which case you must first define the solution?
B. Isn't the goal explicit in a clear problem definition?
1) Ambiguous problem definition with no implied goal: We need more money.
2) Clearer problem definition with implied goal: We need $500K by Monday.
“then ask Claude to do it fast with no mistakes”
(edited for accuracy)
There are mind blowing bugs in CC that go unaddressed for months.
Something like 15-20% of all Fable messages in CC are invisible to users. You've most likely noticed this when Claude references something it said but it never said it?
It happens frequently when Fable outputs a message above a certain number of tokens just before doing a tool call.
This has been going on for months. If "users can't see messages the agent sends" isn't a critical issue that gets addressed within 24 hours, I don't really care if you admit you're often wrong, we know.
CC (the desktop version) has a built-in terminal. It’s great idea when working with worktrees!
But the terminal is _in the sidebar_. Not as a panel that pops up from the bottom like in… every IDE ever that has this feature, but in the sidebar.
You can drag it to the bottom using tiny drag targets if you want, but if course this only persists for a duration of a single conversation.
And there’s a built-in keyboard shortcut to toggle it being shown/hidden. Again, great idea!
But using this resets the panel to its original position, again, making it appear in the sidebar.
Bonus points: when I tried to submit this via the GUI version of /feedback, it told me that it was disabled by workspace policy _after_ I filled out the form and hit submit. Brother, just hide the button that makes the form appear in the first place!
Sorry I meant it's too dangerous to be released.
You can be informed by the community, but the decisions are your own.
So what are they respecting themselves for, what do they take pride in? Anything I would care about?
Another example of "More AI, worse app" is amazon.com for me lately. Alexa AI Chat keeps showing whenever I scroll up on the amazon.com mobile page. I don't want Alexa to search for products. Worst thing is, I can't close it. The "X" button just isn't doing anything. So the only way out of it is to refresh the page and avoid scrolling up ...
This has been going on for at least 1 1/2 months by now, and I wonder if it'll ever be fixed.
(I too have been incredulous that this remains an open issue; if this gets it fixed, bring on the boris blog posts!)
#67071 is one of them
Or #83281 which you closed as a duplicate of #67051 which was closed as not planned.
There's a bunch more. Just ask Claude to search repo issues for messages not being shown.
I always thought that it was perhaps referencing something that’s in its hidden thinking tokens, but the grandparent’s explanation could also very well be it.
I've got a Claude session going which can check sessions and count how many of these messages I haven't seen due to this bug.
> I’m surprised that you haven’t noticed this yourself
How much money have you lost to crypto scams.
That is the modus operandi of Anthropic and all of its employees (at least those active on social media).
More here: https://news.ycombinator.com/item?id=49785996
This behaviour is regardless of whether the issue is an edge case or it affects most of their users who are shouting from the rooftops
See literally every isssue, even those widely reported.
(But I do not use CC and have never looked at their issue trackers, so maybe I'm missing something.)
No, not really. Anthropic is notorius for ignoring issues, pretending they don't exist, gaslighting and blaming users, then spending weeks fixing things that end up being obvious even to juniors.
At the same time they proudly tell everyone how they don't look at code anymore and only run a gazillion Claude sessions.
While Claude Code is a bunch of bugs held together by below-cost prices, and many have strong opinions on the seniority level of the lead dev(s), I think this is unnecessarily rude.
You're not talking to a bot here, you're talking to a person. Would you communicate your argument in this way to someone standing in front of you?
Whatever happened to attacking the idea, not the person?
First thread when searching for “Boris Cherny” : https://www.reddit.com/r/cscareerquestions/comments/1r161uq/...
Just read through their messages, they live with a bizarre, crooked worldview. Seeing something basic, like “you can pee and poo at the same time”, blows their mind.
1. Write down your problem statement.
2. State your knowns, unknowns, and assumptions.
3. Solve.
(Step 2 is also further enhanced by performing first principles reasoning, collecting data for evidence, and using reasonable estimates where data is absent.)
I think Boris's list is pretty solid, but I personally would unmix the problem solving methodology from the planning/goal setting SMART principles as two separate things. One addresses problem solving, while the other addresses human cognitive shortcomings for getting things done.
How about you stop taking things so personal instead and let others steer more.