DIVE INTO CODE

2019年5月30日

Pythonを習得するためにはどのくらいの期間がかかるのか

Pythonを習得するためにどのくらいの期間がかかるのか?また「習得した」ということを自信を持って言えるというのはどういう状態か?今回は「自律自走」をキーワードにPythonを習得するために必要なプロセスと期間について解説していきます。

【こんな方におすすめ】
・Pythonを習得するためにどのくらいの期間がかかるか知りたい方
・Pythonをスクールで学ぶか独学で学ぶか迷っている方
・いま現在Pythonを習得している方

【目次】
1.Pythonの習得には「自律自走」がカギ
2.自律自走とは何か?
3.自律自走までに最低限必要なこと
4.自律自走までの期間
5.まとめ

■話し手
DIVE INTO CODE 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

Pythonの習得には「自律自走」がカギ

今回は「Pythonを習得するためにはどのくらいの期間がかかるか」という話をします。pure Pythonの書き方や使い方、簡単なプログラムを実装など、なんとなく「分かってきたんじゃないかな」と思えるくらいになり、自分で調べて何かをできるようになるレベルを習得するまで、というイメージでお話ししていきます。

どうせやるなら「マスターしたい!」という気持ちになると思うんですけど、マスターした!という目安はあるんですか?

結論から言うと、学習自体にゴールはありません。マスターするというレベルでお話するなら、なおさら常にキャッチアップしなくてはならず、際限なく学習は続きます。
ただし、ステップごとの目安などはあると思います。まずあるとすれば、「Pythonを自力で触れる人になりましょう!」ですかね。

ゴールはないんですね(笑)

ゴールはないです!ですから、分からないことがあった時に「分かりません」と放棄するのではなくて「どうすればいいかな?」とインターネットで調べたり、人づてに聞いたりして、自分からできるようになる「自律自走」がカギだと思います。

なるほど、確かに。スクールではいろいろ教えてもらいながらできますが、いつかは卒業が来る訳ですからね。

そうです。それはスクールだけではなくて、無料で学べるようなものもそうだし、会社の研修とかもそうです。最近、私は新入社員研修やブートキャンプを行なったりしていますが、そういった場でもやはり「自律自走できるようになるまで」が目標と考えます。それそれゴールはエンジニア職だったり、それ以外の職種だったりで違いますが。

プログラマーじゃなくても大事なことですよね。

そうです。なので今日は精神論に近くなりますが、あえて「学びのスタンス」や「仕事のスタンス」といった話をしていきます。ポイントは3つです。1つ目に「自律自走とは何か」をお話しします。2つ目に「自律自走までに最低限必要なこと」、そして3つ目に今回のメインディッシュである「自律自走までの期間」についてお伝えします。

自律自走とは何か?

最初に「自律自走」とは何か。自律とは、自動的に自分を律して動けること。そして自走とは、自分で「走って」いけること。「歩き」だけではなくて、時にはスピードを速めたりできることです。つまり、自分から物事を調べることができたり、分からないことを特定してネット上で調べながら自分の中で自己解決ができたり、それでも解決しない問題があればまた調べたり、ということができる状態です。自分の中だけではなく、外の情報もとりにいく姿勢も重要です。

「自律自走」している状態というのは、「自律自走しなきゃ」と考えているのとは違う、ということですか?

考えているのとは違います。最初に意識すべきは「次の一手が常に明確である状態」です。次の一手が不明確な状態というのは、自律できていない状態ですから。次の一手が分からないときに「こうすればできるんじゃないか」と思ってやり方を調べて明確にして、ひとまずやってみようという状態を「自律自走」といいます。失敗するかもしれませんが、その失敗をしたときに学び、できるようになっていけば、やがてスジが良くなっていきます。

なるほど。挑戦を怖がっていると難しそうですね。

そうです。答えを知ることだけしか考えないのは良くないです。Pythonは自ら作りに行かないと、目標に到達できません。正解を見つけたとしても、また次の課題が出てきます。そこに対して自分自身を進化させ続けられるかが重要です。

自律自走までに最低限必要なこと

次に、自律自走までに最低限必要なことについてのお話です。Pythonを習得するためには、どんなものが必要なのかというお話をしましょう。私はプログラミングを学ぶとき、まずは「プログラムの書き方や動き方を知る」ということが必要だと思っています。
例えば、プログラミングの書き方や動き方の基本は「手続き型プログラミング」といいます。他にも、例えば「1+1=」みたいな「関数型」や「オブジェクト指向型」などのいろいろな概念がでてきます。それらの読み方や書き方、反応の仕方を見るということが、最初は重要です。

うーん。

さらに、これらの学び方にはステップがあります。
最初は「上から実行されるもの」を学び、次に「変数に一旦データを入れて処理するもの」を学び、さらに「データ構造」というものを学んで「配列」とか「リスト」とか色んなものがあるんだということを知り、さらにそれらを一個ずつ処理して100件全部処理をするにはどうすればいいのか、とか。それができたら、さらに複雑な「オブジェクト指向」というのが出てきて…みたいな話が順番に続いていきます。この順番を守りつつ学んでいくことが必要ですね。

ルールをちゃんと知らないといけないということですか?

そうです。ルールを知らないと「自律自走」は難しいんです。ルールすら知らないで自分一人で全部学ぶのは、すごく時間がかかるし大変です。筋よく学ぶのだったら、自分が必要なものを読む、それを探しに行く、という力が必要です。そしてそのためには、「今、自分が何がわからないかを明確にする」必要があります。

分からないことが分からない、ってことはありそうですが…?

「分からないことが分からない」というのは、言い訳かもしれないですね。どこまで分かるのかをまず特定するのは自己責任ですから。
自分の中で「自律自走」までに最低限必要な「自分が何が分からないかを明確にする」ということをして、ひとつずつ潰していくということを繰り返しやっていく必要があります。

野呂さんも、もちろん最初から出来ていた訳ではないですよね?

私も「どこかに答えがあるんじゃないか」と思っていました(笑)
例えば「計算機システムを作りなさい」という課題に「計算機システム 作り方」で調べたら出てくるんじゃないかと思ったら、何も出てこない(笑)そういうときに頑張って調べれば「1+1はこう書くとこうなるんだ」とか「変数にこうやって入れるんだ」というのが分かってくる。一気にやろうとするとワケ分からないですけど、それを構成する要素って何だろう?計算機を作る時って?さっぱり見当つかないから、とりあえず言語で動かすって何だろう?というところまで分解してやってみる。

自分で何が分からないかを明確にしていくと、だんだん掴めてきたんです。つまり「なぜ」っていうのを常に考える「なぜなぜ思考」を持つことが大事ですね。これが5年10年積み重なっていく、大きな差がついていきます。

自律自走までの期間

プログラミングの勉強は、ちょっとサボってしまうことで、大きな差がついてしまうんですね。それでいうと、今回のテーマは「期間」なんですけど、野呂さんはどのくらいの期間で…?

私自身はフルタイムでやって3か月くらいかかりました。3か月くらい経った頃に「そういうことか!」と、自分で次の一歩が見える感覚が出てきました。これは、誰も教えてくれる人がいない中で我流でやった場合の規模感です。

フルタイムでやって3か月ですか!?やはり難しいですね。

知識を知っているかどうかじゃなくて、思考法に近いですからね。「教えてくれる人がいて、短期集中で、テキストを使って講義を受けて演習まで行う」という環境であれば、自律自走ができるようになるには、未経験の人で最短で1か月くらいだと思います。独学でやる場合の3倍の効率というイメージです。ただ、本気でやらないとダメですよ!

それこそスクールだったら、講師としてはワーッと教えちゃった方が楽じゃないですか?

「これはこうです」と教えちゃえば、その場ではすぐ解決します。ただし、結局後からツケが回ってくるんですよ。魚を与えるのではなく「魚の釣り方」を教えていかないと。もちろん、答えを教えているだけでも最後までいけちゃいますけど、卒業してからが大変です。例えば就職活動で質問をされても何も答えられませんし、それどころか「教わればできます」って答えちゃいます。でも「自律自走」ってそういうことじゃないですよね。

「自律自走」していかないと、後から自分にツケが回るよ、ということですね。

まとめ

・Python習得のひとつの目安は「自律自走」ができる状態
・自律自走とは、自分から物事を調べて自己解決ができ、また解決しない問題があれば調べられる、という状態
・自律自走に至るまでに最低限必要なことは「自分が何が分からないかを明確にする」こと
・自律自走に至るまでの「期間」はフルタイムで取り組んでも最低1か月はかかる

Pythonを「マスターしたぞ!」と自信を持って言えるような明確なゴールはありません。重要なのは、自分から物事を調べて自己解決ができ、また解決しない問題があれば調べられる、という「自律自走」の状態に持って行くことです。

自律自走に至るまでには、自分が何が分からないかを明確にし、それらをひとつずつ潰していく必要があります。フルタイムで取り組んでも最低1か月はかかるような大仕事ですから、根気強く取り組んでいくことが重要です。

プログラミング初学者を対象としたDIVE INTO CODEの無料教材「PREコース」こちら

DIVE INTO CODEのことをもっと知ってみませんか?