プログラミングをやっていると、想定外に「ハマってしまうこと」ってありませんか?
たとえば、以下の状況。
- 1日に数回しか起きないエラーがある。
- 10回以上コードを見直したけど、何が悪いか見当もつかない。
- 原因を見つけて早く解決したいけど、どこから手を付けていいかわからない。
ハマるとまさに迷宮。入り込んで出口が見えない状態。
「早くなんとかしたい!」ってあせるけど、原因がわからず対策も打てない。こんな出口が見えない状態が続くと精神的につらくなりますよね。
そんなプログラミングでハマったときに今すぐできる『プチ気分転換』を紹介します。
わたしは『プチ気分転換』をしたおかげで、根本原因が見つかってエラーを解決できたことがあります。
『プチ気分転換』の中身は、実は、日常の「いつもの行動」です。だれでもできます。
この記事を書いているわたしは、組み込み系のプログラミングとデジタル回路設計歴を合わせて20年です。主にマイコンを搭載した製品のプログラミングをしています。
もくじ
『プチ気分転換』で問題解決
プチ気分転換の例
プログラミングでハマったときに今すぐできる『プチ気分転換』の例は、次のとおり。
- ストレッチをする
- トイレに行く
- 水・コーヒーを飲む
- 散歩をする ←故スティーブ・ジョブズ氏(Apple創業者)
- シャワーを浴びる
- 寝る
「えっ、こんな内容!?」って思いましたよね?
はい、「プチ気分転換」とは、日常の「いつもの行動」です。こんな「いつもの行動」がきっかけで問題解決できることがあります。
次のような事例があります。
- バグの原因がわからず悩んでいるときは、すっぱりあきらめて寝る。翌日、原因が判明してすんなり動いたりする。←プログラマーあるある
- 机からはなれてコーヒーを入れているときに、新しいアイディアを思いつく。
- ハリーポッターの作者 J.K.ローリングさんは、「ハリーポッターの構想は、ロンドンに向かう列車の中で思いついたの」、と言っていた。
この事例の共通点はなんでしょうか。
それは、今かかえている問題からはなれて、「別のことをしているときに、新しいアイディア(解決策)を思ついた」、ってこと。
あなたのこれまでの経験を思い出してみてください。
何かトラブルが起こったとき、すぐに解決策が浮かばなくても、「あるとき、アイディアがぱっとひらめいた!」ってありませんか?
解決策がとつぜんひらめく理由
解決策がとつぜん思いつく理由は、「問題からはなれることで、自分の視点が変化し、新しい気づき・発想が生まれたから」です。
上記で紹介した「プチ気分転換」は、問題からはなれるための一つの”手段”です。あなたがいつも何気にしている行動が問題解決の”きっかけ”になることがあります。
ハマったときこそ、あえてその問題から一歩はなれて、別の作業をしてみる。
ハマったときは、上記がおすすめ。あえて一歩引いてみてください。
次は、わたしがハマった話を紹介します。
ハマった沼から脱出できたポイントは『メンタル』(実体験)
トラブルの内容
わたしは組み込み系のプログラム開発が多いのですが、「ハードウェアが不安定でソフトが動かない。」ってトラブルが度々起こります。
「Linuxでカーネルパニックが起きたけど、ほんとにソフトが原因なの? ハード要因ってことない?」とか。
組み込み機器ではハードとソフトがお互いに関連して動くので、どちらが悪いかの切り分けが一番苦労するところです。
特にエラーの発生頻度が低くて、1日に数回しか発生しない現象だとホント困ります。デバッグがしにくくて、「一体どうやって直すの? 助けてー!」って叫びたくなりますね。
寝て起きたら、問題解決
そんなとき、本記事の前半で紹介した「プチ気分転換の例」をやることで、何度か切り抜けました。
わたしがやったのは「寝る」です。
徹夜続きで疲れた頭と体。
週末にゆっくり休ませたことで、月曜日はスッキリ。結果、短時間で原因を特定し解決することができました。
もちろんこの方法でいつも100%解決できるとは、言い切れきません。
今振り返ると、問題解決できた一番大きな理由は、コーディングの技術ではなくて、「時間をあけたことでメンタルが落ち着いて、冷静な分析・判断ができたから」だと思います。
問題解決のカギは「メンタル」
ハマった沼から脱出するには、「メンタル」をいかに落ち着かせるかが大事。
ハマっときほど、あせらず、ゆっくり深呼吸をして、気持ちをリラックスしよう。
上記がわたしの教訓です。
もし寝不足なら、いさぎよくあきらめて、さっさと寝ましょう!
まとめ:あえて問題からはなれてみる
この記事では、プログラミングで『ハマった』ときに今すぐできる「プチ気分転換」を紹介しました。
今かかえている問題から一旦はなれることで、「メンタルが落ち着く ⇒ 冷静な分析・判断ができる ⇒ 問題解決ができる」につながると思います。
ハマっときほど、あせらず、ゆっくり深呼吸をして、気持ちをリラックスしてみませんか?
エラーが解決して、あなたの気分がすっきり晴れやかになること切に願っています。
ここまでの内容は、プログラミングの技術的な話ではなく、「メンタル寄り」の内容でした。
もし技術的な質問がしたいのに、身近に相談できる人がいなくてひとりで悩んでいるなら、「プログラミングの質問サイト」を活用するのがおすすめです。
以下リンクでは国内・海外のメジャーな「質問サイト」紹介しています。もしよければ参考にしてみてください。
>>【プログラミング】自力でエラーを解決できないときは、『質問サイト』を利用しよう!
-
【プログラミング】自力でエラーを解決できないときは、『質問サイト』を利用しよう!
続きを見る