迷ったらエントロピーの高い選択肢を選ぶ
昼休みに公園のベンチでボーっと考え事をすることが日課になっている。どっかのお爺さんの様だけど、思い返せば色々あったなあと。そして今この場所に独りで佇んでいる状況自体が、たまらなく滑稽で面白い。
一年前と言えば、ちょうど長野での農家バイトを終え、野宿しながら原付バイクで東日本を放浪していた頃だろうか。
ニートだったあの頃は一年後どうなってるかなんてあまり考えられなかったし、ましてや何のツテも無いのに関西の田舎から上京して来て、東京のど真ん中でエンジニアをやっている自分なんて全く想像もつかなかっただろう。
そんなことを考えていて一つ気付いたのは、想像もつかなかった、つまり想定外の出来事に対して僕は面白いと感じてしまうということだ。
不安定依存症?
今まで何となく色々な選択を繰り返してきたが、選択の結果をある程度想定できる方向には進んでいない場合が多いように思う。
大学受験では補欠でギリギリ合格できたものの、当初志望していたのとは全く違う分野を何となく選んだし、それも飽きて何となく休学したりもした。
「思慮が浅くて直感的」と言えばそれまでなんだけど、やっぱり何が起こるかわからない、言い換えれば可能性で溢れている方が面白い。
で、どうせなら今後はその方針を貫いてしまおうかと思う。
えんとろぴー
多少不安だったり嫌な選択だったとしても、何も起こらない方向へは絶対に進まない。これは逃げる・逃げないの話に似ているが、あくまで目的は混沌。立ち向かうとかそんな高尚なものじゃない。
理系的に表現するなら高エントロピーな選択肢と言えるだろうか。
エントロピー 原子的排列および運動状態の混沌(こんとん)性・不規則性の程度を表す量。
前回の記事で「将来どうなりたいかしっかり考えなくては」と書いたものの、やっぱり今のところ何も見えていない。なのでしばらくは自分の目の前を混沌(可能性)でいっぱいにすることを目指してみようかというわけだ。
それで何か掴めるかもしれないし、余計こんがらがってわけがわからなくなるかもしれないがそれはそれで面白い。とりあえず常に何が起きるかわからない不安定な位置に立っていたい。
結構真面目に考えたつもりなんだけど、これってふざけてるのかね。
「君は何がしたくて、どうなりたいの」
どうなんだろう。いや本当に。
半人前というか人外
これから少しずつ社外の人との関係も増えていきそうなんだけど、会社の先輩が言うには、相手になめられないというか、ちゃんと一人前の社会人として認めてもらうためには最低限この記事タイトルの問い(何がしたい/どうなりたい)に答えられなきゃいけないらしい。
そりゃ「なんとなく上京して適当に面接受けて一番ユニークな会社に入ってみただけです」なんてバカ正直に答えていい期間は長くてもあと半年ぐらいだろう。それまでに色々と吸収して自分なりに答えを見つけなくちゃならない。
なので今の時点で、今後やりたいこととやるべきことを適当に整理してみる。
人
これまで何か漠然と面白いモノが作りたいと思っていた。『面白』の定義は基本的には自分自身が楽しいかどうかであるけど、開発ってのは利用者がいるからこその開発だ(ということに最近やっと気づいた…)
作り手自身が利用者っていう自己満足型もあるけど、僕の場合発想力が無いし、ここをこうしたいとかいう欲も無いので、やっぱり使ってもらう人がいないと僕はモノ作りができないと思う。だからニーズを提供してくれる『人や組織』が必要になる。「あの人はこんなの欲しそうだな」なんて想像力が僕には無いし。
だからひとまず『会社』ってやつに入ってみたのは正解だったんだろう。
実績
人が誰かを頼るのは、過去に同じような問題を解決してくれたか、もしくはそういう評判を耳にしているからだ。投げたニーズに対して解決策を提案してもらえるという保障を相手に与えるためには、そういう『実績』を地道に積まなくてはならない。
社員数名の今の会社では扱える案件の数に限りがあるので、実績作りって意味ではかなりスローペースにならざるを得ない。
ただ、社員が少ないってことはその分、個人として存在感が増すことに繋がる。うまくやれば会社に依存せずに個人で戦っていくためのネットワークだって作れるかもしれない。まあコミュ力があってスキルもあって更に運も良い、ぐらいのステータスがあればの話だけど。
まとめ:まずはお友達から
自分次第でいくらでも可能性は開ける。そう考えられるぐらいには前向きなんだけど、如何せん『やる気』が持続しにくいのが問題だろうか。
あと、昔から人と喋ると疲れるし他人に興味をもつのも面倒だと思ってしまうきらいがある。『人脈』なんて単語を発することすら恥ずかしいレベルだ。というか人脈以前に、東京に出てからろくに会社以外の人と喋っていない。
そう友達が一人もいない!これは社会人というか人として結構ヤバい気がしている。まずはこの友達0の状況からどうにか脱却してみたい。
とまあ恥ずかしげも無く壮大な人生設計を立てようと思ったが、結局「友達を作る」という小学生レベルの目標になりましたというオチ。恥ずかしいことに変わりは無いけど。
本当の勉強は時間に比例しない
人生初の会社員となって1ヶ月が経過した。まだ何も出来ないし、これから何を出来るようになるべきなのかもわからない。そもそも自分の会社がどうやって儲けてるかも理解できていない。本当にわからないことだらけである。
セルフ研修のスケジューリングを撤廃
うちには研修制度的なものが無いので、自分でネットや書籍の情報をまとめて勉強するべき内容を体系化しようと試みたのだが、結局のところ、RailsTutorialというサイトの課題をダラダラとこなしているだけになってしまっている。
未知の分野に対してスケジュールを設定するのは非常に難しいと感じた。しかもメンターというか、監査役すらいない状態では、自分の進捗がどの程度のものなのか判断することもできない。「今日はここまで終わらそう」と思っても、その計画が妥当なのかわからないし、どこに重点を置いて学ぶべきかもあいまいなままだ。
なので今後は、僕の独学計画に関しては「何時までに」といった無理やり固定化したスケジュールは撤廃しようかと思う。かといって何かしらのメリハリが無いと、段々と学習ペースや効率が落ちていきそうなので、時間単位ではなく、モノ、成果物単位でざっくりとした目標を立てることにする。
何か新しいテクニックや手法などを勉強できたと感じたら、どんな些細なものでもいいので、一旦立ち止まってサンプルプログラムを作ってみることにする。自分なりに改造したり実験を繰り返していく課程で、おそらく本当の意味でその知識が身につくはずだ。
これまでJSフレームワークに馴染みがなく、一番シンプルで理解しやすいとされているBackboneにすら四苦八苦していたのだが、実際にBackboneを使って簡単な2chブラウザを作ってみたことで、Modelの扱いやViewによるレンダリングの仕組みを少しだけ理解できた。
プログラミング学習サイトで動画を見続けていると「計画通り感」と「勉強した感」は得られる。一方、実際に手を動かして試行錯誤している間は、特に価値のあるものも生み出せないし、時間だけが経過しているだけで何も得られていないような気がする。しかし、それこそが本来勉強というもので、絶対に削減すべきでない貴重な時間なんだと、最近特に感じるようになった。
時間に追われていても、そういう自由なアウトプットを大切にしていきたい。
セルフ研修とエロサイトを使ったアウトプット事例
僕は今、自分の研修計画を自分で立てている。とりあえずネットの海から企業で実際に行われている研修の内容を集めている段階だ。
最近では研修工程を公開していたり、カンファレンスの内容がSlideShareに上がっていたりするので、参考になるような資料はたくさん見つかった。
そしてそれらを読み解いていく中で、社会人経験0の僕でも研修の「形」は何となくわかってきた。
基礎、チームワーク、自走
いくら現場で役立つスキルが求められていると言っても、ITエンジニア、特にWeb系においては、今使われている技術がこの先ずっと重宝されるかどうかは誰にもわからない。だからこそ常に思考の軸となるエンジニアとしての基礎が重要になってくる。
そして実際の開発においては、仲間と協調するためのコミュニケーション能力であったり、プレゼンテーション能力が必須だ。
また、DeNAの講演の中で「自走」というキーワードを見つけたのだが、これは、ある程度の教養と経験がついたらその後は自ら技術を習得して成長していく、という意味だそうだ。
企業によって研修で扱う言語だったりフレームワークは異なるが、「基礎」「チームワーク」「自走」という3つのキーワードが共通項だと認識した。
一人じゃアウトプットできない (しにくい)
最近はプログラミングの学習サイトや書籍は非常に充実しているのでインプットに関しては問題ないだろう。
主なプログラミング学習サイト
- codecademy (世界的に有名。英語)
- Code School (動画が良質らしい。英語。有料)
- ドットインストール (動画のみ。コンテンツ多し)
- CODEPREP (漢字ドリルみたい。システムが凄い)
- Progate (発展途上だがUIが素敵)
しかし問題はアウトプットだ。
企業の研修の場合、各自が勉強した内容について新人同士で教え合う輪講形式が取られることが多い。また新人だけでチームを組み、課題のプロジェクトを1ヶ月に渡って進めていくという実践形式の研修もあるようだ。
このように、企業ではアウトプットに非常に力を入れている。
しかし僕の場合、教え合う同期もいなければ、教えを請う先輩もほとんど会社にいない(海外出張とか)。なのでインプットだけでなくアウトプットさえも自作自演で整備していく必要がありそうだ。
エロサイトがアウトプットだった
これまで僕がやってきたPHPやデータベースの勉強は全て独学だった。当時は「アウトプット云々」については何も考えていなかったが、今思うと、エロサイトを作って2chに公開することが、僕のプログラミング学習において有効なアウトプット工程だったのかもしれない。
2chの板やスレッドを巡回するためにクローラーを作成し、それを定期的に動かすためにCronを覚えた。
取得したテキストから必要な情報 (xvideosのリンク) を抜き出すために正規表現を覚え、それらを保存しておくのにはSQLiteなどのデータベースを利用した。
さらに収集したリンクをSQL構文を使って集計し、レス数でsortして人気動画を割り出し、jQueryを使ってページ内に動的に動画を埋め込んだりもした。
まあこのように「不純な情熱」があったからこそ今の僕があるのは間違いないが、こういうアウトプットが出来てフィードバックも受けられる場所があるかどうかが、結構大事なのかもしれない。
フィードバックする側のメリット
オンラインで勉強の進捗を共有したりペアプログラミングできるようなコミュニティがあればいいような気がするが、フィードバックする側にもインセンティブが働くような仕組みがなければただ初心者が群がるだけになり、コミュニティとして機能しないだろう。
そのインセンティブはポイント(=お金)?Yahoo知恵袋のようなアバターとしての名声?それとももっと現実的に、転職先の斡旋とかか?
まあとにかく独学におけるアウトプット方法について模索してみるいい機会になりそうだ。あわよくば初学者の為のアウトプットの場所なんかの構想も練ってみたい。
研修が無いのだが大丈夫だろうか
エンジニアと名乗れる人間になって1週間が経った。しかし中身はまだまだニート上がりのアダルトチルドレンのままだ。
主な業務はネットサーフィン
前にも書いたが、僕の会社は正社員が3人しかおらず、またバリバリのエンジニアの先輩は1人しかいない。その先輩も日々の業務に追われていたり、海外に出張に行ったりかなり忙しいらしく、新人は僕一人だと言うのにあまり構ってもらえない。
普通の企業なら、少なくとも数週間はビジネスマナーからコーディング環境の整備まで、とりあえず一通り研修を行うと思うんだけど、うちの会社には「研修」という文化が無い。
かと言って、次から次に仕事を押し付けられて叩き上げ方式で育てられるような、そんな前時代的な雰囲気も無い。
じゃあ何をやっているかと言うと、今は自社で運営するSNSの機能拡張に向けて、テキストマイニングやクラスタリングについて調べたり、たまに実験プログラムを書いたりしている。簡単にまとめると、僕は毎日ググってるだけで一日12,000円ももらっている(月給を時給換算)。
とりあえず、こんな業務(?)を一週間体験してみて感じたことは、生きるも死ぬも自分次第だということだ。
自力で成長できないと死ぬ
最近では、何から何まで教えこむような研修は実施せず、入社時からより実務に近い場所で「活きた指導」を研修としている会社も多いと聞く。リアルな問題に直面した時の判断力やら状況分析力のようなものを身につけさせたいのだろう。
しかし僕の会社の場合、そのリアルな問題すら自分で見つけなければならない。更に言えば、自分の成長プランすら自分で作る責任がある。
会社としては、今後社員を増やしたいが教育の人員が全く足りない。そこで僕が成長のプロセスを自分で見出し、それをソリューションとして形にすることで、いずれ後輩を育成する際に役立てさせようという考えだろうか。
まあともかく、教えられて勝手に育つなんて甘い考えのままでは生きていけまい。
どうなりたいの?
社長曰く、「10年後には給料を貰う側から払う側になるつもりで頑張れ」と。これは別に、野心を剥きだして成金になれということではない(と思う)。これからの時代、いつ一人になっても生きていけるサバイバル能力が求められるってことだ(と思う)。
そういや入社4日目で、いきなり「将来どうなりたいの?」と聞かれて慌てふためいてしまった。また1ヶ月後に同じ質問をされるようなので今のうちから回答を考えておかなくては。下手にカッコつけても、僕の場合直ぐにボロが出るので正直にいこうと思う。
「作りたいものをいつでも作ることができる技術力、そして、何かを作りたいという衝動を常に持ち続けられる創造力」 これじゃ曖昧すぎて話にならないかもしれないが、まあひとまずこんな感じの方針にしよう。