クリエイターの台頭 - プログラミング
今や、自身の制作プロセスを加速させるために、多かれ少なかれプログラミングを行って作業を効率化するクリエイターがますます増えている。
こうしたクリエイターたちは、ボトルネックがどこにあるのかを非常によく理解している。そして、もっと創作に時間を割きたいという欲求があるため、そのモチベーションや探究心は、エンジニア自身の自己学習よりも時に強烈であり、エンジニアよりも的確に解決策を見つけ出すことすらある。
ドキュメントを読み、APIを叩き、簡単なアプリケーションや日常のタスクをこなす程度であれば、それほど高度なエンジニアリング能力は必要ない。少しのプログラミングの基礎知識さえあれば、手軽に始められる。
これは僕にとっても、エンジニアとしてこのような状況下でどう生き残っていくべきかを考えさせられるきっかけとなった。
僕たちとクリエイターが同じプログラミング言語、同じライブラリを使って、同じ問題を解決しようとするとき、相手の書くコードは多少不格好かもしれないが、問題を発見して解決策を見出す点においては、相手のほうが優位に立っている。もちろん、アーキテクチャ設計やエンジニアリング化、高トラフィック対応、専門性の高い領域などでは、今でも経験や専門知識の蓄積が必要だということは分かっている。しかし、各領域の境界がもはや曖昧になり、誰もが複数のスキルやドメイン知識を同時に持てるようになる未来において、エンジニアとして何ができるのかをじっくり考える絶好の機会でもある。
こうした状況でこの先も進み続けるには、いくつかの切り口があると思う:
- 堅実で深いコンピュータサイエンスの基礎
- プログラミングそのもの以外の領域を深く、広く掘り下げること
- コードを書くこと以外の分野(マーケティング、プロダクト、マネジメント、コミュニケーション、セルフブランディングなど)に多く触れること
数週間前にNiceChord(好和弦)が公開した動画「字幕をつけよう(上字幕吧)」について触れてみよう。音楽からは少し脱線するけれど、僕が驚いたのは、彼が自分のアイデアを行動へと移す精神を持ち、さらにはそれをGitHubにアップロードしてみんなが利用・修正できるようにしたことだ。
この機能自体はとてもシンプルで、プログラミングができるエンジニアなら短時間で作れるはずだ。だが、僕が言いたいのは、より重要なのはアイデアそのものと行動力だということだ。
このアイデアを思いつくだろうか? コードを見るやいなやリファクタリングやオーバーエンジニアリングに走り、時間をかけても機能すら完成させられないエンジニアたちなら、なおさら思いつかないだろう。
それに、コードを詳しく見てみると、実はそれほど難解ではない。せいぜい変数が外出しされていて少し管理しにくい程度で、むしろ非常にストレートでシンプル、複雑な抽象化もされていない。
NiceChordのチャンネルをよく見てみると、彼には優秀なエンジニアの資質が満ち溢れていることがわかる。論理的で分かりやすく、筋道が通っていて、共有することを好み、行動が早い。これらはエンジニア業界の中ですら貴重なことなのに、異分野の人間がやっているとなればなおさらだ。彼はピアノで電話をかけたり、動画をデコードしたり、Google翻訳で曲を作ったり、字幕ジェネレーターや五度圏のツールを書いたりしている。そのコードの中には、エンジニアでも書けるか分からないようなものもあると思う。
NiceChordは僕が大好きなYouTubeチャンネルで、高校を卒業してからずっと見続けているし、そこから実用的な楽理知識もたくさん学んできた。
実際のところ、ある領域を学ぶことで培われる学習方法論は、プログラミングを学ぶことと大差ない。だからこそ、相手が情報系の専門出身でないにもかかわらず、短期間で使いこなし、必要な知識を身につけられるのは、他の領域での訓練があったからなのだと気づかされる。
僕はこのことを前職で目の当たりにした。
そしてクリエイターたちは作品を生み出すために膨大な時間を費やしており、業界で生き残っているなら、間違いなく自分なりの法則やノウハウを身につけている。彼らは別分野の専門性も同時に持っているからこそ、解決策や問題の本質をより素早く見抜くことができる。
では、これはエンジニアがもはや価値を失ったことを意味するのだろうか? もちろんそんなことはない。
この現象はむしろ玉石混淆を淘汰し、実力のない見かけ倒しのエンジニアはすぐに淘汰されるだろう。
クリエイターがプログラミングを始めること自体は素晴らしいことだが、彼らは往々にして目の前の問題を解決するためだけに書いており、原理やパフォーマンスまで理解しているとは限らない。そこにこそエンジニアの価値がある。しかし、マシンスペックが過剰な現代においては、そうした価値が必ずしも目に見えて発揮されるとは限らないとも言える。
もう一つは、より難易度の高い大規模なテーマだ。たとえばGPS、ビッグデータ、機械学習、コンピュータビジョンなど、短期間の学習だけでは太刀打ちできず、膨大な時間と労力を注ぎ込んで研究・習得すべき知識こそが、エンジニアの代替不可能な領域だ。それ以外にも、OSや、時代が変わっても変わらないデータ構造とアルゴリズムといった、より低レイヤーの知識もある。
NiceChordのほかにも、すでにプログラミングの世界に足を踏み入れているクリエイターはたくさんいるはずだ。とても興味深い現象だと感じるし、より多くのクリエイターがプログラミングを学んだ体験談をシェアしてくれるのを楽しみにしている。
関連記事
- 人生観を変えた言葉 ファインマン、チャップリン、そして映画『ひゃくえむ。』。劣等感を抱えていた少年から誰かを助けられるようになるまで、僕に最も深い影響を与えた思考と生き方についての共有。
- 独立したウェブサイトを持つN個のメリット ショート動画やSNSが全盛のこの時代に、なぜわざわざ時間をかけて自分のブログを運営するのか?約10年間ブログを書き続けてきた僕の考えを共有する。
- 筋トレ(ウエイトトレーニング)の記録と感想 ここ最近の筋トレの振り返りと感想をシェアする。
- 権限と責任:職場の消耗を生む根本原因 社員に毎日残業させ、経営者のように必死に働かせるにはどうすればいいか?同じだけの株式を渡せばいい