DEV Community

Discussion on: Response to 25 Tips for New Developers

Collapse
 
nestedsoftware profile image
Nested Software • Edited

Get good at pattern recognition: I think the key thing to understand about pattern recognition is that it's an emergent property. I don't believe that it's possible to explicitly develop intuition. Instead it's a byproduct of experience; of solving lots of problems; of digging into the fundamentals; and of breaking down problems into simpler ones -- all of those other things discussed in Ali's article and your video.

For me, it's playing the game of go that has made this really apparent. I've studied and played go over the last several years, gradually improving over time. I'm by no means an amazing player, but I have mastered some of the important fundamentals. One thing I've found out recently is that I can evaluate a game in which a couple of hundred moves have been played, and I can generally tell who is leading without counting if the difference is at least about 5 points. I can just look over the board and say "okay, I think White is leading by about 5 points." I'd say I'm right about 75% of the time when I try this and then count carefully afterward to confirm. A few years ago, I had no idea how this was even possible, and I marvelled at players who could do it. Now I can do passable job of it myself, although I'm not really sure how I am now doing it either!

As a side note, it's interesting that machine learning algorithms have become powerful enough to do this too! They're even better at it in many domains than we humans are - in the last couple of years, this has been extended to the game of go! It's kind of amazing that they can just look at a situation and make an accurate overall evaluation of it. It's a pattern recognition that is very similar to human intuition. However, these algorithms are even worse than we are at breaking down their intuition into some kind of "explanation."