プログラミング学習に本を使わなかった話【手を動かして覚えよう】

本を使わずにプログラミングを学習することもアリです

どうも、ハザマです!

今回は、「プログラミングを学ぶためには、分厚い本がたくさん必要」だと思われている方に、「本を使わずに学ぶ方法もあります(学んだ人がいます)」という一例を伝えたいと思います。

 

僕の体験談、個人的見解なので、この方法が合わない方もいるとは思いますので、参考程度にご覧ください^^

 

スポンサーリンク



はじめに

僕はプログラミング未経験の状態から中小ITベンチャー企業に転職して、Javaのシステムエンジニア(SE)、兼プログラマー(PG)になりました。

 

未経験からSEになった話は以下をご覧ください^^

プログラミング未経験で採用なんてしてもらえるの?どうも、ハザマです!今回は、実際にプログラミング未経験の状態からSE(システムエンジニア)に転職した僕の経験から、その方法をお伝えしたいと思います! その企業に転職後、僕はまた4年ほどで別の企業へ...

 

 

Javaをひと通り理解した後も、WEB系の言語を習得したりしたんですが、今回はその話はおいておきます。

 

本当に学習本は必要ないの?

僕が読んだのは1回だけ(満足した結果は得られなかった)

会社でSEとして働くことでプログラミングをゼロから学んだわけなんですが、会社の本棚には辞書のようなJavaの分厚い本が2冊ほど置いてありました。

 

当時、僕はJavaの配列が苦手でした。

そこでどうしてもよく分からない、理解できない問題にぶち当たったので、一度読んでみました。

 

ですが、分からないものは分からないんです(笑)

 

参考書を1冊だけ買うのはいいかもしれません(僕は買ってません)

Javaの初心者向けの参考書などを読めば、もしかしたら理解はできたのかもしれません。

ここは好みや自分の学習スタイルによって異なりますので、一概には言えません。

 

ですが買った本を読んでみて、かゆいところに手が届かない内容だったら?

また別の参考書を買いますか??

 

僕は買いませんでした。お金をかけずに学びたかったので(切実)

 

参考書コレクターにならないように注意しよう

確かに参考書は有用かもしれませんが、本を買ったからといって理解できるわけではありません。

あくまでも「補助」として考えるべきです。

 

本を使わない学習にどれぐらいの時間をかけた?

僕は成長に時間がかかる方です

先に書いておきますが、僕は何に関しても「成長したと実感できるまで」にかなりの時間がかかります。

最初のうちはとにかくひたすら集中しますが、なかなか成長の実感が湧きません。

 

うまく伝わるか分かりませんが、二次曲線のイメージです^^;

 

なので、時間数には個人差があるのであくまで参考程度に見てください。

 

学習にかけた時間

基礎を理解するまで:約400時間

一人前といえるまで:約2,000時間

 

業務時間+α(残業申請はせず、自分の勉強として)の時間をひたすら使ってました。

会社での仕事にはプログラミング以外の業務もあったので、だいたいの計算です。

 

200時間というのは、1日8~10時間を40日間、つまり2か月ほどですかね。

そもそもプログラミング自体が未経験だったので、そもそもの理解に時間がかかりました。

 

一人前といえる状態になるのに2,000時間だと、まぁだいたい1年ぐらいです。

 

プログラミングの知識はそれぐらいで習得して、その後は設計の考え方も徐々に学んでいった感じです。

 

スポンサーリンク

 

スポンサーリンク

 

実際にどのように学んだか

それでは本題へ。

 

手順というか流れを説明します

  • 既に構築されているプログラムを見て、実際に動かしてみる
  • プログラムを修正して、どのような動きをするか見てみる
  • また直して、次にどんな動きをするか確認
  • ひたすら繰り返し

 

こんな感じです。

「あ、これやったらどうなるんだ?」といった好奇心も出てくると、何度も何度も繰り返すことができますよ。笑

 

ユーザー(システム使用者)の声を聴き、洗い出した要望や問題点を修正する

これは結構大切だと思うんですが、自分が作ったシステムやサービスを使ってくれる人が近くにいるかどうかで「システムを作っている」という実感が湧きやすくなります。

 

また、要望等を聞くことでシステム修正の目的がはっきりします。

目的がはっきりすると、そのためにどのように構築したらよいかを考えることにつながるので、自然と知識が身に付きます。

 

また、「ありがとう」「とても使いやすくなったよ」という声を直接聞けることって、かなり幸せなことだと思います。

自分のやる気・モチベーションにも繋がり、更に学習が捗りました^^

 

大切なのは、自分の手を動かすこと

僕は自分の手を動かして学ぶことが、プログラミング学習の一番の方法だと思っています。

というかその方法でないと、僕はしっかり理解できません^^;

 

本を読んでも理解した気になっているだけで、実際にソースコード(プログラミングのコード)を読んでみても、そのコードで何が行われているのかが理解できないのです。

 

やり方(学び方)に拘っているというよりは、自分にとって理解のしやすい方法を見つけたという表現が近いですかね。

 

こんな場合はどうするの?

そもそもプログラムを動かすやり方が分からない場合

Let’s 検索です!

 

・・・でもあの頃を思い返してみれば、確かに難しいですよね^^;

 

後日、Javaのソースコードを動かす環境構築について書こうと思います!

 

そもそも構築されたソースコードがない場合

会社で働きつつ学ぶ場合は、ソースコードが既にあるというか、既に何らかのシステムが構築されていることが多いと思います。

 

ですがこれから自宅で独学されるという場合は、どこかからソースコードを集めてくるというのは難しいと思います。

そういった場合は、無料のプログラミングスクールがたくさんあるので、そちらを利用した方が良いでしょう。

 

様々なプログラミング言語のソースコードが用意されていますし、何より段階を踏んで学習できます。

 

プログラミングスクールには、プロゲートドットインストールなど、便利すぎるのに無料という鬼のような親切サイトが多いです。(鬼なのに親切とは・・・?日本語難しいです。笑)

 

最近は日本のサービスもかなり充実してますからね!

 

(余談)僕が学ぼうとして挫折した話

僕も無料スクールを利用したことはありますが、僕には合いませんでした

なんでしょうね、もう僕の性格パターンが分かってきた方もいると思いますが、やっぱり「自分でお金を払っていない」という状況だと、力が抜けて減速してきちゃうんです。。

 

かといって、あまりお金はかけたくなかった。

 

我が儘ですね~^^;

 

そんな僕にぴったりだったのが、冒頭でも書いた「会社でSEとして働くことでプログラミングをゼロから学ぶ」という手法だったわけですね!

 

まとめ

いかがでしたか?

 

今回の話はあくまで僕個人の見解ですが、結局のところは自分に合う勉強法を見つけることが大切だということです。

小さな成功や達成感を継続させることで、学習意欲のみならず、自分の自信につなげていくことができるでしょう。

 

「こんなことで困ってる」という相談等も受け付けていますので、「コメント欄」や「お問い合わせフォーム」から遠慮なく質問してくださいね^^

 

それでは♪

スポンサーリンク

 

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください