少し私的な話をします。
私は連珠(れんじゅ)というゲームが好きで、長年続けています。五目並べの本格競技版で、禁じ手や定石があり、かなり奥が深いゲームです。
プログラミングを仕事にしていて、連珠を趣味にしていると、よく「全然違う世界ですね」と言われます。でも実際にやってみると、共通点がたくさんあることに気づきました。
共通点1:パターンを読む力
連珠は、盤面のパターンを認識して、数手先を読む能力が重要です。「この形になったら、次はこう展開する」という型の積み上げが強さにつながります。
プログラミングも同じで、「この処理は将来こういう問題を起こしやすい」「この設計パターンはこういう場面で使う」というパターン認識が、良いコードを書く力につながります。
共通点2:相手(ユーザー)の視点に立つ
連珠では、自分が打ちたい手だけ考えていると負けます。相手が何を狙っているか、相手の立場で考えることが必須です。
Web制作でも、「自分が作りたいもの」ではなく「使う人が何を必要としているか」を常に考えることが、良いものを作る上で一番大切だと思っています。
共通点3:地道な積み上げが強さになる
連珠は、毎日少しずつ盤面を並べたり、定石を覚えたりする地道な練習が実力につながります。派手なひらめきより、基礎の積み上げの方がずっと大事。
プログラミングも同じです。新しい技術を追い続けるより、基礎をしっかり理解している人の方が、長期的には強い。
---
こんな話をすると「連珠、興味出てきた」と言ってくれる人が時々います。もし興味があればぜひ。あと、Web制作・システム開発の相談もいつでもどうぞ。