作りたいものがありすぎる

40歳を過ぎてプログラミングを始めた人の顛末とこれからなど

プログラミングを続ける心構えみたいなもの

プログラムのスキルを付けて行くためにコツコツやってきた際の心構えみたいなものをちょっとまとめます。 これは何も皆さんにどうこう言って上の年齢からマウント取りたいとかそういう類の事じゃなくて、自分がブログを続けて行く際に、プログラミングを学ぶ際に身に付けた事を、今度はブログの定期的な記事アップに役立てたいと思ったものをメモ程度にアップしようと思ったためです。自分メモの色合いが強いですが、何かの参考になれば幸い。

以前はてな匿名ダイアリーで読んだすげえ良い記事があって、そこにこんな様な事が書いてありました。という要約。
でも記事のクリップを思い出せない。でも、その記事を記憶を頼りに自分なりに要約するとこんな感じ。

ちょっとでも実行したらその日はOKとする。欲は出さない。

何かを成し遂げるなんてただでさえ凄すぎるんだから、構えちゃ駄目。毎日なんにもしないし、出来なくて終わるのを当たり前の状態に思うのがまず大事。
そこからまかり間違って、ちょっとでもなんか出来たらそれで大成功と思うようにする。
例えば、プログラミングやりたいなーと思ってたら、それに関する記事を読むだけでもOKにしてしまう。
もしまかり間違ってエディタ開いたりなんかしたら大成功だし、1行でもなんか書いたりコメントだけでも書いて保存すればその日はもうやんなくても良い。自分の勝ち。と思っていい。
でも、たぶんそれだけじゃ満足いかなくなる時があって、そういう時は飽きたりしんどくなったりする所までやってみる。めんどくさくなったりしんどくなったら遠慮なく辞める。
たぶんこれって物事を嫌いにならないコツにも通じてると思う。
それを、あくまでも自分のプレッシャーにならない程度に続ける。たまたま一月や二月なんにもしない日があっても、絶対に自分を責めちゃだめ。だってできなくて当たり前なので。
それでやりたい時だけやってみる事を繰り返す。
そのうち徐々にやっている時間が増えてきたらこっちのもの。それを嫌になる手前まで毎回やればいいだけ。

構えない、デキは悪くて良い。

当然、できたものは、出来の良し悪しとかも気にしなくて良いし。他人の批評も知ったこっちゃないし、途中で投げ出しているものでも良い。だって何もない所からそこまでできただけで凄いのだから。ゼロからスタートしてそこまで行ったのって本当にすごいので、それを自分でけなすのは絶対にしない。ていうかそこまでできたお前すげえな。って自分をホメると良い。

みたいな内容のものだった。
当然記憶の彼方で自分の要約や解釈がたぶんに入ったものになっているが、つまりはそういうことをいつの間にか繰り返しやって来ただけかもしれない。 で、ここから後は自分なりに心がけてきた追加の事柄。

ほんのちょっとでもやってみるを繰り返す

出来なくて良い。というのが上の内容だったりするけど、そこから一歩だけ進めて、毎回ほんのちょっとだけ、こう思うようにする。「ほんのちょっとだけやってみる」
つまりエディタ開いたり、仮想環境立ち上げたりするだけでもOK、あと、今やんなきゃ!って所と全く関係ない、楽で簡単な所をちょっといじるだけでもOK。面倒だなぁ。と思っている時に、よくやるのが文言やデザインの色とか空間の空き方をちょっとだけ変える。みたいな事。これだけでも出来たら十分と思う。

めんどくさくなったらなんにもしないか別の事をやる

処理が上手くいかなかったり、参考にしている書籍や記事の書いてある内容が理解できなくて「あーっ!」ってなったら無理しないで投げ出す。というか、ふて寝する。
もし、余裕があれば気分転換にWebのアホっぽい記事読んだり、散歩や遊んでも良いけど、最近は欲が出てきて、実装でハマったり一区切りついたら、記事を書く、とか、プログラム以外の何かをする。とかより生産性の高い事をしてやろうと思う自分がいるけど、頑張りすぎない様に適当に遊びを入れる様にもう一人の自分に監視をさせて適時、適当に遊ぶようにもしているし、最近は別の生産的な事もしようとしてる。このバランスを保つのが結構難しいけど、基本はやっぱりできなくて当たり前。の超低い所にハードルを設けるのが良いみたいです。

処理なんか動けばいい、汚くても良い

お客さんの付くサービスだとセキュリティをしっかりしたり動作を保証できるものにする必要がありますが、自分で趣味で作ったり、学習のために作っている様なものは、とにかく動けば勝ちだと思うようにしてます。プログラミングってある程度やって行くと、ルールや作法や思想的なものが多分にあって、どれを選ぶべきか?みたいな事に悩んだりすることもありますが、そんなのは後の後、必要になった時に仕方なくやれば良いと思ってます。目的は続けることなので、作法やルールに縛られて自分の中から沸くやる気を削ぐような事だけはしない方が良い。位に構えている方が、結果として続けられてより良いものを書こうという気持ちにも繋がるような気がします。

判んなくていい、わかる範囲でやれば良い

プログラムって基本的な処理の組み合わせだを愚直に続けてもそれなりに動いたり色んな事が出来たりするので、あえて高等なテクニックや処理などをして自分を苦しめる必要も無いと思ってます。でもいずれどうしてもそれをやらないと駄目な処理とかが出てくるのでその時に改めて新しい技を使えば良いのかなと思います。

ここは後で直すとかコメントに書いて放置する

かなり具体的になってきましたが、一人で書いていることがほとんどなので、遠慮なくこういうのを書いて他の部分を作り込んだりしてます。
***ToDo*** とか書いたまま放置してる所が山の様にある。

俺俺タスク管理をする

時間とかにあまり縛られないタスク管理表を自分なりに作ってます。作るべき項目を箇条書きでスプレッドシートにまとめて、適時項目を追加したり、終わったものをグレーアウトさせて表の下の方に移動させる。というものをしてます。見積もり時間と実装時間の項目も設けてますが、あくまで実感に伴う時間を書く程度にとどめ、厳密に書かない事が上手くいっているコツな様な気がしてます。また、優先順位も設けてますが、これもあまり厳密に管理せず、今必要だと思ったものや、ノってきた際には、優先度が低くてもそれを先にやる様にしています。優先度高いのにずいぶん放置してるものがあっても気にしない。ただ、セキュリティの部分やデータに異常が起こる可能性のあるものの処理だけは、優先度を高くしてちゃんとやってます。

ざーっとまとめたけど最後にこれも大事だなーと思うのがあった

精査しないで良い。ひとまず出しちゃう

という訳でこの記事もあまり文章校正や言い回しをチェックしないままアップしてみます。
言い回しとか文字の間違いを気にし過ぎると、めんどくさくなってアウトプットが億劫になる位ならほいほい出してしまう。というのも大事かもしれません。

関連記事: sakamata.hateblo.jp