わりと変な経歴だと言われることが多いので書いてみる
将来について考えましょうとか,キャリアがなんてことをまあ子供のころから大人に言われてきて,けれど,将来なると微塵も思っていなかったプログラミングを教える教員という立場になっているので,人生何がどうなるかわからないよという話です。
プログラミングと関係なさそうなのに案外役立っていることを並べてます。プログラミングを学び始めた人に,こんな人間でも何とか元気にやっているという事実を知ってもらえれば幸いです。(とても雑な文章を書いていたので内容を結構修正しました。言いたいことは変わっていません。)
いきなりの結論
- わりと個人の考え方や捉え方次第なことってたくさんあると思う
- 色々あったり,何もなさすぎて虚無感とかあるけど,それでも時を過ごしてきたってことが重要な気がしてる
私の性格
- めんどくさい
- めんどくさいことが嫌い
- めんどくさいことばかり考えてる
学生時代の基本ステータス
- 超ド級の文系
- 数学できない
- 英語できない
- 好きな授業は国語,体育,家庭科,技術
絵を書くのが好き
別に色を塗るのは特に好きなわけではありません。シャーペンで黙々と風景を描いてるのが好きです。大学を出てからは人も描くようになりました。
絵を描くときにはとにかく観察してます。全体も細部も。なるべく再現できるようにしたいので。この性質をプログラミングに活かせると思い込むことにしました。そうなるとどんなとこに活かせるかを考える必要が出てきました。無理やりでも結びつけることにします。今回はそういうお話です。
プログラミングをするときはどんなものを作りたいかを考えて,どうすればそれが動くかを考えます。どうすれば動くかを考えるとき,全体をどうするのかと,細かくどんなふうにコードを書けば全体が成立するかを考えます。この全体と詳細を考えるということが絵を描くときの癖とつながっていると思い込むことにしました。
粘土をこねてるのが好き
粘土で何かを作るのが好きですが,生き物とか植物とか作るのが好きです。絵を描かないジャンルを粘土で作る感じです。
絵とは違って,目の前に見えている現実を再現する気は毛頭ありません。自分の脳内のイメージ(○○ってこういう形状)を再現することを考えてます。抽象化(汎化)するときは明確なイメージというかどういうところが共通しているかをピックアップする必要があると思いますが,脳内のイメージを明確にすることはクラス化と似ていて,そのイメージを形作ることはインスタンスを生成することに似ていると結びつけることにしました。
本を読むのが好き
小学校時代はミヒャエル・エンデとか。中学の趣味は辞書を先頭から読んでいくとか(これは読書という範疇ではないと思うけれど)。高校では南総里見八犬伝の原文?とか。十二支考とか。所謂国語の古典は結構好きでした。授業内で学ぶ文法にはテンションが上がりませんでしたが,本を読みながら文法を考えることは好きでした。あとは,各地の文化が違うにもかかわらず文学作品に共通する部分があるということも学ぶことも好きでした。
この部分はプログラミング言語を言葉と認識して文法を学ぶ楽しみにつなげたり,各プログラミング言語の違いと類似性を知る意欲につながっていると感じます。
学生時代はずっとスポーツをしていた
小学校,中学校,高校,大学とそれぞれ運動部でしたが,スポーツ自体は学校が変わるごとに変えました。スポーツが好きというより,自分の身体性能を高めることが喜びだったようで,こんな遍歴となりましたが,地道な基礎連が嫌いではなかったです。どっちかというと好きだったかもしれません。地道に努力すればタイムが0.01秒でも縮んだり,1cmでも高く跳べることが喜びでした。その経験は身体能力はまったく向上している気がしない(むしろ低下してきている)プログラミングにも生きています。記録が伸びることはよりシンプルに実装を考えることができるようになることと似ている気がします。ならば地道に毎日反復練習をし,新しい技(始めて作るサービスなど)に挑戦し続ければいつかは身につくだろうという考えになりました。
大学時代は哲学を学んだ
高3の秋に勢い余って本気で哲学を学びたいと思ってしまったので,大学の専攻は哲学です。他人からしたらとてもめんどくさいと思える問題や,その問題に対する論理的帰結などをめんどくさいなどと思えなかったので,今まで学んだ学問の中で一番好きです。イデアとかその辺を学んできた影響か,クラスの設計や,コードの分割すべき場所を考えるのは好きです。
こう考えれば反駁する余地がなく,みんなに理解してもらうための文章(コード)を書くということはプログラミングではまだまだ実現できていませんが,そのトレーニングができたことは非常に価値があったと今なら思えます。就活の時は強力なアピールポイントには転換できず,理系のスキルがある人は良いなあなんて考えたりもしましたが。
思えば知識の塊を格好いいと思えたのは,ゼミを担当してくれた先生のが初めてでした。凄いではなく格好いいってところがポイントです。目から鱗でした。こっそり感謝しています。
引っ越し会社で働く
引っ越し会社で事務作業から現場作業,トラックの運転までやりました。荷物をきれいにトラックに積めるととても気持ちいいと知りました。イメージ通りにモノがきっちり収まるのを目指すときと同じ感覚で,メソッド・関数を分割しています。割と感覚でコード書いてるなと今更ながらに思います。一種のパズルに近い感覚です。
きれいに積み込みが完了しても荷物を降ろすときに降ろしにくかったら完璧ではないということも,使いにくいプログラムに意味はないという認識に結びついて役立っていると思います。
客層も本当に多種多様かつ,お客様の家にお邪魔するわけで接触時間も長いです。話題が豊富であることや,話題が豊富でも相手の好みの分析を失敗すると意味がないことを学んだのは,欲しいプログラムのイメージを共有することに役立っています。
引っ越し会社で得るものは多かったと思います。主に身体能力の向上とか。こっそり感謝しています。
事務員をする
会社で名札を付けていると,自分の名字に関してお客様から話題を振られました。ちょっと珍しい部類の名字ではあるのですが,お客さんって案外従業員を見ていることを気づかされました。自分で気づかないことを他人は簡単に気づいたりすることを学んだため,プログラムは作成中でも友人に見せて,意見をもらうという考え方に結びついています。
あと,自分の名字すら話題のネタにできるということを教えてくれたお客様たちには,こっそり感謝しています。
不良品の選別をする
工場で黙々と不良品を見分ける作業を行っていました。黙々とバグを探すときに生かされている気がします。不良品の選別をしている境地に入れれば,バグが案外早く見つかったりします。これはたぶん気のせいなんですが,でも,無理やり結び付けて考えることにしています。思い込んだら思いがけない力を発揮したりすることもあるので,意識的に自分をその領域に入れようという作戦です。
バグとかうまく実装できないとかは焦ったり,いろいろイライラしたりすることもありますが,雑念は余分だと思っています。ただ,そこまで自分の感情をうまくコントロールできるわけでもないので「ああああああああああああ」などと奇声を発しながら修正作業をしていることも多いのですが。
手品師をする
特に社交的だという自覚はないのですが,昔から手品が好きでした。結果,やろうと思ってやってみたら案外できたのでバーでマジシャンとして活動してみたという経験は,思いついたらとりあえずプログラムを書いて試してみるというプロトタイプ作成のスタンスに結びついています。
質の良いものを提供するための努力を惜しむとショーのパフォーマンスが上がらないということを学んだため,これはプログラムを書き続ける習慣に生きています。気が向かないことを延々とやるのは嫌で,でも,手品の練習なんて,物理的な話をすれば地味でめんどくさいことしかないのですが,その先の喜びに焦点を当てて修練を積むという姿勢学べた結果プログラミングにもつなげることができています。自分の作ったもので誰かが喜んでくれると純粋に嬉しいですから。
また,他人の視線を気にしたり,視線を読んだり,視線を誘導したりする技術はUIを考えるうえで結構役に立っています。
不思議や驚きを提供することの楽しさを知れた,そしてそれを提供するのが好きだということに気づけた手品そのものと,バーの皆様にはこっそり感謝しています。
プログラムを学びだしたのは20代後半
一般的に言えば遅いです。が,回り道をした分頑張らなくちゃと思えたのも事実です。高卒後すぐにこの分野に手を出していたら割とのんびりやっていたかもしれません。ここまで夢中にならなかった可能性が高いです。でも,様々なことを経験した結果出会ったプログラムはとても素敵なツールと感じました。今の自分には一番適したツールだと思っています。もっと早くからプログラミングというものに出会っていればなあと思うことだってありますが,今まで過ごしてきた時間と他者とのかかわりによって自分が形成されていることを考えたら,私はこのタイミングでプログラミングに出会ったことがベストなんだと思っています。
プログラミングを通じて素敵な出会いが多かったのも夢中になった理由の1つかもしれません。
でも,1つだけ伝えることができるとすれば,やりたい or やってみたいという欲求以上に優先すべきものはないということです。こと,プログラミングの学習においては。やってみたいこと,作ってみたいものをとにかく作ってみるというのは大切なことだと思っています。
これからどうなるかは自分にもまったくわからない
もしかしたらプログラミングを超える何かに出会うかもしれません。そのときはプログラミングをばっさり辞めてしまうこともあり得ます。ただ,今のところプログラミングが楽しくて,プログラムで素敵なものが作れると思っていて,プログラムが人を笑顔にすることができるツールだと思っている以上は,ずっとプログラムに触れながら生きていくと思います。
結論
- めんどくさいことは嫌いだけど,他人のめんどくさいは自分のめんどくさいとは一致しないなんて多々あることなので,自分の感性を信じてみるのも良いことです
- 好きこそものの上手なれって言葉があるけれど,好きなこと,楽しくプログラムを書ける範囲から繰り返して,徐々に理解を深めるのもいいことだと思います
- もっと早くから勉強していればと思うこともあるけれど,後悔はしていない。どこかで,「今がベスト!」と感じ取ったから,このタイミングでプログラミングを学び始めたのだと思う。
心に誓ったこと
- 改めて文章にしてみると思った以上に勢いと感性と閃きだけで生きている気がするので,もうちょっとだけ地に足つけて生きていかなきゃいけないような気がしてきています
- 今,文章を書くよりプログラムを書きたいと思っているので,言語とPCとキーボードとトラックボールに敬意を払いつつプログラムを書いていこうと思います
- Cogito ergo sum