Even for simpler problems the ability to just sit with it for a few hours/days dramatically increases your ability to write quality solutions.
Good code isn’t the most difficult or complex CS algorithms. It comes from thinking about the problem until you understand it so well that the code is almost self-evident.
Of course, once you’ve thought things through so much it seems trivial to you - which I blame for the annoying verbal tick we all tend to get when explaining things where we say “Basically it’s…”, or “it’s really quite simple…”
The real fun starts when you get to the problems that _do_ need weeks of thinking, and multiple prototypes to validate your theories. That’s when you start to feel like the “science” in “computer science” might not be misnomer :)
Very true. I notice this in books on advanced deep-dives on graph theory, queue theory or neural nets, where the writers use the word "obviously" about things that are obviously not obvious.
Things are cyclical, and as it becomes obvious that sort of work has become more valuable, more people will start doing it.
I have to hope some young people eventually escape the attention-sucking technologies that try to sabotage their concentration, and eventually discover the satisfactions of thinking about complex problems, continuously, for months and months and months.