僕は今、自分の研修計画を自分で立てている。とりあえずネットの海から企業で実際に行われている研修の内容を集めている段階だ。
最近では研修工程を公開していたり、カンファレンスの内容がSlideShareに上がっていたりするので、参考になるような資料はたくさん見つかった。
そしてそれらを読み解いていく中で、社会人経験0の僕でも研修の「形」は何となくわかってきた。
基礎、チームワーク、自走
いくら現場で役立つスキルが求められていると言っても、ITエンジニア、特にWeb系においては、今使われている技術がこの先ずっと重宝されるかどうかは誰にもわからない。だからこそ常に思考の軸となるエンジニアとしての基礎が重要になってくる。
そして実際の開発においては、仲間と協調するためのコミュニケーション能力であったり、プレゼンテーション能力が必須だ。
また、DeNAの講演の中で「自走」というキーワードを見つけたのだが、これは、ある程度の教養と経験がついたらその後は自ら技術を習得して成長していく、という意味だそうだ。
企業によって研修で扱う言語だったりフレームワークは異なるが、「基礎」「チームワーク」「自走」という3つのキーワードが共通項だと認識した。
一人じゃアウトプットできない (しにくい)
最近はプログラミングの学習サイトや書籍は非常に充実しているのでインプットに関しては問題ないだろう。
主なプログラミング学習サイト
- codecademy (世界的に有名。英語)
- Code School (動画が良質らしい。英語。有料)
- ドットインストール (動画のみ。コンテンツ多し)
- CODEPREP (漢字ドリルみたい。システムが凄い)
- Progate (発展途上だがUIが素敵)
しかし問題はアウトプットだ。
企業の研修の場合、各自が勉強した内容について新人同士で教え合う輪講形式が取られることが多い。また新人だけでチームを組み、課題のプロジェクトを1ヶ月に渡って進めていくという実践形式の研修もあるようだ。
このように、企業ではアウトプットに非常に力を入れている。
しかし僕の場合、教え合う同期もいなければ、教えを請う先輩もほとんど会社にいない(海外出張とか)。なのでインプットだけでなくアウトプットさえも自作自演で整備していく必要がありそうだ。
エロサイトがアウトプットだった
これまで僕がやってきたPHPやデータベースの勉強は全て独学だった。当時は「アウトプット云々」については何も考えていなかったが、今思うと、エロサイトを作って2chに公開することが、僕のプログラミング学習において有効なアウトプット工程だったのかもしれない。
2chの板やスレッドを巡回するためにクローラーを作成し、それを定期的に動かすためにCronを覚えた。
取得したテキストから必要な情報 (xvideosのリンク) を抜き出すために正規表現を覚え、それらを保存しておくのにはSQLiteなどのデータベースを利用した。
さらに収集したリンクをSQL構文を使って集計し、レス数でsortして人気動画を割り出し、jQueryを使ってページ内に動的に動画を埋め込んだりもした。
まあこのように「不純な情熱」があったからこそ今の僕があるのは間違いないが、こういうアウトプットが出来てフィードバックも受けられる場所があるかどうかが、結構大事なのかもしれない。
フィードバックする側のメリット
オンラインで勉強の進捗を共有したりペアプログラミングできるようなコミュニティがあればいいような気がするが、フィードバックする側にもインセンティブが働くような仕組みがなければただ初心者が群がるだけになり、コミュニティとして機能しないだろう。
そのインセンティブはポイント(=お金)?Yahoo知恵袋のようなアバターとしての名声?それとももっと現実的に、転職先の斡旋とかか?
まあとにかく独学におけるアウトプット方法について模索してみるいい機会になりそうだ。あわよくば初学者の為のアウトプットの場所なんかの構想も練ってみたい。