「焼き付ける」という感覚が重要です。覚えようとするのではありません。すると、パソコンがなくても、それらが残像のように頭に広がります。パソコンの前でやっていた思考ワールドを、いかに頭の中だけで再現するかがキーポイントです。コードが頭の中をあちこち飛び交うようにしましょう。頭の中で思考をして、パソコンの前で作業して、また頭の中で思考をして、またパソコンの前で作業して...の繰り返し。一回で終わりにする必要性はまったくないというか、隙間時間を活用するために作業が細切れできる方が良いです。頭の中でこれ以上考えるの無理!と思ったら、遠慮なく別のトピックの思考をすれば良いです。複数の課題を同時に持っていたほうが良いですね。パソコンの前にずっといても、「書いて考えて」を繰り返しますから、そのリズムと、「パソコンの前にいる、パソコンの前にいない」のリズムを合わせられたら良いのかなと。暗闇とお友達わからないことがあっても先に進む力。わかるわけないから、もう考えようがないように見えますが、でも、わかることもすごくたくさんあります。それらが同じ別に頭の中だけで答えを全部導きたいわけじゃないですから、これだけわかれば思考できることはたくさんあります。やってはいけないことは、一段ずつ思考してわからないところで止まってしまうこと。出てきた瞬間にもうわかんないからおしまい」にならないように。パソコンないので確認ができないものがどうしてもあります。なり変数にして、論理を積み上げていけばいいだけです。対して仮説を立ててアプローチすると良いでしょう。間違ってても無駄ではありません。それだけ分析が進んでることになるので、パソコンの前でもスピーディにやっていけるはずです。やりたいのは、全体作業の完遂ではなく、思考作業の塗りつぶしなので、暗い部分は暗くて別に驚かなくていいのです。ちなみに、パソコンを持っているときは、ちょこっとだけ開いて一瞬だけ見て閉じるとか。立ち状態で、ずっとはパソコン開いてられないけど、一瞬見るだけならできるって場面もあるでしょうし。何かをやっていたとしても、頭のCPUパワー100%使ってないこともあります。24時間CPUパワー100%は人間耐えられませんが、ある程度は残ってるパワーがもったいないって思えます。両方パソコンの前でのたとえですが...メールの返事を書くのに100%使うかというと、そうでもありません。パワーが余っています。メールを書きながら、プログラミングのロジックのことをぼんやり考えます。すると「あっ!!!こうすればいいのかも」って、唐突にひらめいて、いったんメール止めてEclipseへ。プログラムを書いて...プログラムを書くときもCPU100%とは限りません。わかりきったことを書くときは少し余裕があります。その残ったパワーを使って、メールの返事の内容の方向性とかをぼんやり考えます。プログラムでまた少し悩むようなことが来たら書くのを止めて、メールの方に移って考えた内容を書き込む。方向性とかも少し考えてあるので、100%使わずにメールを書き進められるので、プログラムのことを考えながらメールを書き書き...繰り返し。すごく重宝しています。8,9年前にMacに移行したときに一番のポイントはそこでしたね。日常生活でも、これができる場面がたくさんはずです。メインのものが疎かになっちゃうと良くありません。配分コントロールが大事です。10%,20%だけ使うというようなバランス感覚。車の運転してるときとか、恋人と話をしているときは100%集中しましょう。このブログも分離して書いたプログラミングだけじゃないですね。このブログ記事も、休日の午前中起きてスムージーを飲んだ後、すっかり一週間の疲れが溜まっていたので、布団に潜りながら考えていました。休んでいるわけなので、100%のCPUを使うと疲れてしまって本末転倒なので、もやもやっと思考するくらい40%くらいですかね。記事の全体の流れ、途中のサブタイトル、ところどころ具体的な語り、思考とコツに分けようとか、「思考1,2」と「コツ1,3,4」は、布団の中で思いついて、大体の内容を考えました。休んで元気ばっちりなので、一気に書き出しました。書くことでまた「ひとりフィードバック」が生まれます。「コツ2,3,4」とかは、コツ1を書いたことで、わりと流れに影響しない独立セクションだなと思ったので、そこは飛ばして全体の流れの骨組みを確立する方を優先。後半もざっくりだけ書いて途中で中断、もう支度して出なきゃいけないからー。見通しが立つところまで一気に書けましたよ。残りはまたシャワーでも浴びながらとか、ストレッチをしながら頭の中で書こうと。普段のブログも、電車の中や舞浜でショー待ちしてるときに、ストレッチしてるときなどに考えたりしてます。四六時中プログラミングjfluteは、こういったプログラミングスタイルを「四六時中プログラミング」と名付けて、意識してやっています。四六時中講演のイメージトレーニング)自分は何かと移動することが多いので、移動直前は狙ってキャッシュします。10秒から30秒、怖いくらいにパソコンを睨みます。目的地に付いた頃には悩んでたロジックが解決されてて、「うおー」と書き出して実現、また悩んでパタン。移動して目的地に付いて「うおー」で完了みたいな。レアケース対応の抜け発見やバグ発見なども、お風呂の中での脳内レビュー中に思いつくこともしばしば。複雑な実装の解決アイディア出しや、新機能の実装デザインポリシーの構築などは、恐らく半分くらいはパソコンの前じゃないですね。_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/(早速お風呂の中で脳内レビュー中に思いついた話)ただ、そのためには、「頭に焼き付けやすいコードを書く」ということが大前提ですね。そこはわりとこだわっています。他人のコードはキャッシュがしづらいものですが、でも自分が書いても結局とっ散らかっていれば同じです。jfluteが徹底してクラスのコードスタイルにこだわるのは、そこが大きいかもしれません。みんなもっと、パソコンに縛られずに、プログラミングできるようにしようよ!って。_/_/_/_/_/_/_/_/_/_/というか、こんなブログも書いてましたね。jfluteの日記http://d.hatena.ne.jp/jflute/20121209/shirokupgこのスキルを狙って鍛えるでも、最初はあまりうまくできなかったかと思います。人間、頭の中の思考って意外にコントロールできないもので。ぐるんぐるんしちゃいがちです。整理整頓できないとアウトプットにならないですから。狙って鍛えていました。急ぎじゃない機能の実装とかのときに、「これは徹底して頭の中だけで考えてみよう!」とか縛りを付けて、書きたくても書かない、ひたすら考える。うーんうーんとうなって最後に書いてフィードバック生まれて、思考のどこが精度悪かったのか?とか振り返って、また繰り返し。オープンソース活動は、時間の確保が命、これがDBFluteの生命線だとも思って。これはスポーツと一緒で、しばらくやらないと徐々に衰えていくんですね。時々...「ああ、なんか最近パソコンの前にばかりにいるなぁ」とか思ったら、また狙って鍛えます。パソコンの前にばかりいるということは、他の生活的な用事がこなせてないということですから、サスティナブルじゃなくなっちゃうので、これが人生の生命線だとも思って笑。そのチ...2017-09-24意外と忘れがちな優秀なプログラマーになるための10のコツ月並みなものは、ここでは話題にしません。再開したディズニーシーにはてなブログをはじめよう!jfluteさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。