That was a beautiful morning. As usual, I woke up early, ate my small breaky and headed to the ocean to catch a few waves before my whole world woke up. Drove down to the beach, changed into my wetsuit, grabbed the board and ran to the shore to see what mother nature had to offer today. I wasn’t pleased with what I saw. Not much wind, but not much swell either. Some small sets were breaking here and there, but it was far from the best day of the year. Sun was shining, though, the water was glassy and every now, and then I saw a wave coming through, offering a clean ride to whoever was near. “North”, — I thought after some analysis, and I quickly headed to this part of the beach. After a few routine stretches, I paddled to the lineup and sat between a few more people, hoping to find an excellent wave. Suddenly I felt the urge to paddle further out and to the left. Nobody was moving, but something told me there would be action. So I did. After a few seconds on the horizon, I saw a mass of water slowly forming into a swell. I was already close to the potential peak, and once everybody else realised it was too late for them to get into the right spot. The wave was getting bigger and bigger, and I was in an excellent position to paddle into it. Once it started breaking, I stood up and rode it all the way to the shore, leaving all the people to duck diving under the whitewash behind.
This story is just an example. I’ve learned to trust my feelings about the position in the water. Sometimes I look far into the ocean and can’t say what is there, but I “feel” there will be a wave, and often there is. When I start to analyse, some little signs don’t make sense, but my subconscious mind somehow pattern matches. I use this often with other surfers too. When I see an experienced guy out, and he suddenly paddles in some random direction, I check if there won’t be a wave coming, and often there is. When you look at the horde of surfers, sometimes you can see that they paddle in one direction without reason. One of them probably noticed something, started paddling, and people around, guided by intuition, followed. This intuition is not learned. It is built with tens, hundred or even thousand of hours spent looking into the patterns in the ocean. Some rules are good to know. Still, if somebody offers you a way to learn how to read the sea in the classroom during a 45min lesson, he is probably exaggerating, and you will get a set of rules that will make perfect sense until you hit the water.
The subconscious pattern matching applies to much more than just surfing. I inspired this essay by the Dave Thomas talk on Software Engineering. He made a point that, even though all the best practices like SOLID, DRY, KISS etc., are good, nothing can replace the intuition gained by years of experience. Once you’ve seen enough and made enough mistakes that you know about, you can start pattern matching and build the intuition that will guide you without any conscious effort. Single responsibility, the right abstraction and all other best practices become evident once you work in the industry long enough. It doesn’t mean studying other people's work is not a good idea, but nothing can substitute real-life experience. Like with surfing, it is good to have some introductory theoretical study, but this knowledge can only be verified in the wild.