もう1ヶ月前になってしまいますが、実力がばれるのを恐れず自分が作ったものを公開しました。
公開したことはどうでもいいとして、作ってる中で改めて感じた事を書きます。ものすごく当たり前のことなんですけどね。
「知ってる」ことと「できる」事には大きな壁がある
今まで色々と技術書を読み漁ってきたわけですが、それを実践する事がほとんどありませんでした。仕事でコード書くことはほとんどないし、プライベートではというと作りたいものがなかったり、最後まで作りきる根気がないとかで中途半端な感じでした。
今回、プロ生勉強会の受付が少しでも楽にできたらいいなぁということで手を動かしてみたわけですが、「できる」レベルには程遠い事を痛感しました。
「知ってる」ことと「できる」事には大きな壁があるよなぁと。
大きく3つのステータス(知ってること、わかってること、できること)に分類できると思います。
知ってること
IT関連のWebサイトやブログ記事、勉強会等で「こんな技術、やり方があるんだぁ」という事を知っている状態。「何となくこんな感じ」というイメージしかないので、実戦投入にはほど遠い感じですね。
今の自分で言うと
Knockout使うとなんかよくわからんけどMVVMパターンのWebアプリが作れるんでしょ
みたいな感じですね。
わかってること
知ってる状態からもう一歩踏み込んで、自分の場合だと本を買ったり、Web上の情報などを読んである程度理解した状態。
概要は押さえてるので、ざっくりと問題の解決方法や実現方法を提案することができます。
例えば、
Webサイトに接続してるクライアント(ブラウザ)にサーバ側からプッシュ通知したい
という要件に対して、
それなら、SignalR使えばだいぶ楽にやりたい事実現できると思うよ
みたいな感じですね。。
できること
ただ、頭ではわかってても、やってみないとわからない事がたくさんあります。
例えば、受付アプリでいうと
- 勉強会に参加者を登録するとき、どんなURLにするのが気持ち良いかな
- Viewにデータを渡すときはViewModelで渡したけど、受け取る時はどうしよう
というような設計に関するものであったり、どうコーディングしたらいいかというものであったりします。
これは机上で勉強したり、写経するなどしてある程度得られるものもあるのかもしれませんが、実践で悩んて試行錯誤したり、他の人と会話したり、経験を積まないと身につかないように思います。
これからのこと
会社でできないことは家でやろうと思います。「会社でVisualStudio触れないなら、家で触ればいいじゃない」という事ですね。
もちろん、会社でも家でもVisualStudio触ってる人とは経験値の獲得スピードは全然違うと思いますが、だからって諦めても楽しくないです。*1
少なくとも自分は知ってること止まりで、会社の後輩とかに「○○使ったら簡単にできるんでしょ?」みたいな根拠のない振り方はしたくない。
というわけで、今後もいろいろ散らかしていきますので生暖かい目で見過ごしてもらえると嬉しいです。
*1:新しい技術が発表されたら翌日にブログ書いたりする人や、そういった技術について語り合ってる人、学生のうちから勉強会で登壇してる人などを見るとキラキラ眩しくて正視できなかったりしますけど