🐥

人生経験で得た、何かを学ぶ上で大事なこと3点

に公開

お久しぶりの更新です。
今日は僕がこれまでの経験から得た「新しく何かを勉強する時のコツ」的なものを書いていこうと思います。

エンジニアとしては変な経歴ですが、一応プロとしてベーシストをやっていた時期があったり、10年ほど飲食業界で働き、料理が趣味でほぼ毎日作っており最近では興味のある国の食文化を調べたり作ってみたりしています。

プログラムやITについても独学で一年ほど勉強し30歳で今の職に就きました。音楽も料理も独学ですし別に学歴とかもそんなよくないです。高校の偏差値は47くらいだったと思います。

こういった今までの経験を積んでいくうちに、何事にも共通点があるんだなということに気がつきました。
今日はそれを備忘録がてらまとめていこうかなと思います。

とにかく基礎

まず1つ言えることは「基礎を大事に」です。
地味でつまらないことが一番大事だと思っています。

ベースやギターでいえばしっかり弦を押さえて音を鳴らす「運指のトレーニング」やゆっくりなテンポでメトロノームを鳴らしそれにしっかり合わせて演奏する「リズムトレーニング」などです。

学生の頃はそういうストレッチのような練習フレーズを考えて毎日繰り返し練習したり、スマホで音楽ではなくメトロノームを聴いたりしていました。
見た目のインパクトが大きいテクニックや機材の良し悪しなどに気が移りがちですが、そういう基礎が出来てこそ正しく判断できるものだと思っています。

料理で言うと調理法や食材の扱い方についてYouTubeで暇さえあれば動画を見ていました。
イタリアの料理が好きなので、いろんなイタリアンシェフの動画を見漁っていました。

たくさん動画を見て実際に作ってみて、トライ&エラーを重ねていくうちに日本の料理でも海外の料理でも調理法や下ごしらえの仕方といった食材の扱いには共通している部分が多くあることに気づきました。
いい食材やいい包丁を使えば美味しいというわけではないですよね。

プログラムで言えば「ネットワークの仕組み」とか「アプリはどうやって動いてるのか」とか「コンピュータの仕組み」とかそういうところから勉強しました。
もちろん最初はチンプンカンプンでしたが、まずは具体的にではなく抽象的に、ぼんやりと頭の中に図やイラストを浮かべるようにしていました。
勉強していくうちにそれの解像度が上がったり、言葉が追加されていきました。

次にプログラムを書いてみるのですが、言語がたくさんあるので1つに絞りました。
プログラム言語をいくつか見比べてみて、大まかな構造(変数を宣言する、関数を宣言するとか)が共通しているので、1つ覚えれば他の言語も大体は感覚が一緒だろうと思ったためです。
ひろゆきがPHP良いよって動画で言ってたのでとりあえずPHPを軸に勉強しました。

ここで大事なのが、最初はLaravelなど使わず、MAMP環境を構築してアプリを作るみたいなのをUdemyで勉強しました。
いきなり便利なものを使ってしまうと、プログラムやアプリの大事な構造や中身を意識しなくなってしまうのではと思いました。
これも音楽の経験が活きていて、「出音を綺麗に整えてくれる機材に頼りすぎないで、まずは楽器1本で良い音を出せるようにする」という感覚の応用です。これも基礎あってこそですね。

何事もそうですが、複数の選択肢が現れた際には「とりあえずさっさと1つに絞る」が僕の中で重要だと思っていて、そうやって単純な思考で取り組めば初期段階でいちいち迷うことがなくなります。

基礎を学ぶというのは全てにおいて「共通点を見出す」作業なのかなと思いました。
そして「とりあえず1つに絞る」は次の項目でもあります。

とりあえず1つ

何かを実践しようと思ったら大事なのが「とりあえず1つ」です。

好きな曲を「とりあえず1曲」納得のいくまでコピーする

好きな料理を「とりあえず1品」得意になるまで作れるようになる。

簡単なものでいいからアプリを「とりあえず1つ」作ってみる。

1つコレをやろう!と思ったらもう絶対変えないでやり切ることが大事だと思っています。
上にも書いてますが「いちいち迷ったりあれこれ手をつけてる時間がもったいないのでさっさと1つに決める」ということです。

ギターを始めたての頃の話ですが、僕はBUMP OF CHICKENが大好きでギターを始めました。
好きな曲を弾いてみたいと思ってとりあえず楽譜を買い「スノースマイル」を練習しました。
がしかしなかなかうまく弾けず、他にも買っていた楽譜に手をつけて違う曲を練習したりもしました。
結果全て中途半端になってしまい、「1曲最後まで弾けるようになろう!」と決めました。

スノースマイルはピックではなく指で弾く曲なので少し難しく、なんで最初にそれ選んだ?って感じですが半年くらいかけて何とか楽譜も見ずスラスラと弾けるようになりました。

そこでようやく他の曲も練習してみるかーと思い「supernova」などに取り掛かったのですがなんと1日で覚えることができたのです。

半年かけて覚えていくうちに基礎が出来上がっていって身体も頭もギターに慣れ、他の曲を覚えるのに苦労しなくなったんですね。

もちろんこの流れはアプリを作るとか3DCGを作るとか料理を作るとかも例外ではないと思っています。
なので「まずは何か1つだけを完成させる」ということから始めてみてください。
途中で疲れてきて他のものに気移りする瞬間が来ますがそこは堪えて頑張りましょう。

解像度を上げていく

3つ目はこれまでを踏まえて数をこなすということです。
基礎が出来てなくて中途半端な段階でこれをやってしまうと取り返しがつかなくなります。
あくまで1つ目2つ目が出来ている状態で視野を広げたり、より具体的にしていく作業に入ります。

1曲弾けるようになったら10曲、20曲と数を増やしていく
色んなジャンルに挑戦する
といったことです。
料理もまんま同じですね。

ここで大事なのは「好き嫌いをなくす」だと思います。

興味のなかったジャンルに挑戦することで意外と発見はあるものです。
ハードロックやメタル、ジャズやファンクを練習したり聴いたりしていましたが、アイドルやアニソンなどJ-POPもたくさん聴いたり練習したりしました。
結構音楽のジャンルって好き嫌い激しい人が多いのですが、そこであえて興味のない分野に挑戦してみるとすごく練習になるフレーズがあったり、めちゃくちゃいい曲だったりと発見が増えて視野もひろがります。

好きなものを広げるのももちろん大事で、僕はパスタがとても好きなので色んなパスタ作りにチャレンジしました。
何種類も作っていくうちに、違うパスタでも下ごしらえや工程に共通点があったりして、ここでもさらに新たな発見や基礎力の向上が隠れていたりします。

プログラムにおいては色んな言語やフレームワークに手を出すとかではなくて、色んなアプリを作ってみるというのが正確かなと思います。
Webやモバイル、ECサイトやSNS、はたまたゲームなど作るモノの幅を広げたりしてみると良いかなと思います。
そうするとモバイルだとSwiftやKotlin、ゲーム作りだとUnityやUnrealEngineでC#やC++など、どうせ色んな言語に触れなければいけなくなるので、言語がどうのこうのより「何を作るか」が結局のところ大事です。

基礎を学んでいるときに気移りしていたものに、この段階でどんどんチャレンジしていくイメージですね。
そしてこのあたりから「理論」も学んでいくのが良いと思います。
ITだったらクリーンアーキテクチャとかですね。
ぼんやりしていたものをより具体的に、鮮明にしていく作業もここからは大事です。

終わり

以上大きく分けて大事なこと3点でした。
結局のところ、何事もこれらを繰り返して繰り返して…です。
何かを勉強するとか、新しいことにチャレンジするというときにはこれらを意識してみると、上達への活路が見出せるかもしれません。

今ではYouTube見たりAIに相談するなり、3つのポイントを実践する上で色んなやり方があります。
とはいえそれは手段が変わっただけで努力の本質は今も昔も変わらず、「地道が近道」だと思っています。結局これがコスパもタイパも良いんじゃないでしょうか。

僕はいわゆる「10000時間の法則」って信じているタイプで、経験上確かにどれもこれも一丁前に習得するのに3年くらいかかっているんです。
1日8時間〜10時間で換算しても、大体10000時間に到達するのは1000日、つまり約3年です。

16歳でベースを始めて、全国のバンドコンテストで賞を取ったり演奏でお金を貰うってことが出来たのが18歳〜20歳あたり(1日のほとんどを音楽に費やしていました
毎日料理をするというのが習慣化して、ある程度思った通りに作れるようになったのも3年〜5年くらい経った頃です。

やはり何事もトータルでみると10000時間くらい継続したあたりでふと「出来る」ようになっています。
そう考えると「石の上にも三年」なんてことわざよく思い付きましたよね。

これからIT業界に就職・転職しようと思っている方、何か新しいことにチャレンジしようと思っている方はこれらを参考程度に、前向きに気長に取り組んでみてください。

Discussion