はじめに
こんにちは!watnowアドベントカレンダー23日目担当のKUROです!
今年もこのアドベントカレンダーの季節がやってきましたね。
watnowのアドベントカレンダーを書くのも5年目らしいです。(去年は何故か書いてないので、回数的には4回目ですが)
今までは、技術の実装について色々書いてきたので、今回は僕のモノづくりに対する考え方の部分について少し書いてみようかなと思います。
作りたいものを作れ
僕がモノづくりを意識する中でよく意識していることがあります。
それは「作りたいと思うものを作る」です。
え、当たり前じゃんと思う人もいると思うんですけど、プログラミング初学者ってこれ出来てない人意外と多いんじゃないでしょうか?
というのも、プログラミング初学者の時って
何から触って良いか分からない
↓
一旦、技術書やサイトでチュートリアルをやってみよう
↓
チュートリアル終わった!アプリ作ろ!
↓
で、何から始めれば良いんだっけ?
のループにハマりませんか?(絶対誰もが一度通ってるはず!)
このループにハマり結局チュートリアルより先のことが身につかないまま、飽きてしまいやめてしまうことが多いと思うんです。
「学んでる」つもりでほとんど「学んで」ないと思うんですよね。よく、スポーツなどでは体で覚えろと言うと思うんですけど、ものづくりにおいても用意されたものをなぞるだけでなく、自分で失敗した経験を元にトライ&エラーを繰り返していくのが一番成長につながると思います。このトライ&エラーも作りたいものではない時が結構苦痛な作業になってしまうと思うんです。なので、作りたいものを作りながら技術力を上げていってほしいと思います。作りたいものだと目標も明確になりやすくて、モチベも維持されやすいですしね。
AI時代での「学び方」
今の時代、便利な世の中になりAIがコードを生成してくれる良い時代になりました。そこで最近よく見るのが、プログラミング初学者が、とりあえずAIにアプリを作らせて動くものが出来て満足してそれ以上を知ろうとしないことです。これが必ずしも悪いと言いたい訳じゃなく、便利な世の中になり、深い知識を知らなくても動くアプリを作れてとても良いことだと思います。
ただ、それだけだと面白くはないでしょ。M-1を見ていても知らなければ笑えるネタも笑えないことがあると思います。(ちょうど、去年のバッテリィズの偉人ネタとかがそれに当たるんじゃないかな)プログラミングにおいても、知識がつけばつくほど選択肢が増え、色々なことが出来るようになります。
僕自身、高校生の時にプログラミングを始めたのは、Webサイト作成、いわゆるフロントエンドからでした。最初はHTMLとCSSだけを使いWebサイトを作っていて、その後にRubyを使ってバックエンド、大学に入ってiOSアプリ開発やUnityを使ったゲーム開発、研究ではPythonを使ってデータ分析なども身につけました。どの言語を習得する際もAIは使わずに自分でエラーと格闘しながら一つずつ知識を積み上げていきました。
僕自身はこの経験が今の僕の「技術力」に繋がっていると思っているし、これからプログラミングを始める人にも是非、AIだけに頼らずに自分の力で技術を身につけていってほしいと思
います。
こういった経験をすることで、AIにとりあえず投げればいいという発想から、理由づけをしながらAIを使うという発想になっていくと思います。最近の「技術力」や「エンジニアリング」と言った言葉は5年前からは変わってきていて、どれだけ実装できるかよりもなぜその技術を使うに至ったかという意味合いに段々と近づいてきていると思います。その理由づけをできるようになるために、色々な技術をAIを使いながら貪欲に学んでいくのがこのAI時代の「学び方」だと考えています。
なぜこの考えに至ったか
普段からチーム開発や中高生の指導を行なっている中で、やはりAIに頼りきりになってしまっている人をよく見かけます。
作りたいものが明確にあるけど、AIに指示してなぜその技術を使っているのかやどういった意図を持ってその機能を作っているかなどが伝わってこないことが多いです。それだったら、わざわざ、プログラミングを学ぶためにプログラミングスクールに通ったり、情報工学部に入学したりする必要はないのでは?と思ってしまいます。せっかく、環境に恵まれているのだから、色々な技術を触りながら自分の考えの軸を作っていってほしいです。
終わりに
ここまで読んでいただき、ありがとうございます。
結構、お気持ち表明的な文章になってしまったので、アドベントカレンダーとして少しふさわしくないかもしれないですが、この記事を読んでくれた人たちはモノづくりに興味がある人たちだと思います。これからもモノづくりを続けながら、少しでも面白いものを世に出していきましょう!