働く以外で、プログラマーとして実力をつける方法

に投稿

プログラミングする男性

働く以外でプログラマーとして実力をつける方法があれば知りたいです。
例えば、技術書とかキャンプとかセミナー参加などあると思いますが。

という質問いただいたので、それについて考えてみます。

知識 or 実践?

技術書を読む、キャンプ・セミナー参加も実力をつける方法の一つです。

技術書を読めばそれだけ知識が増えるし、キャンプとかセミナーみたいなものに参加すればそこで教わった知識だったり実習の体験をつめます。

ただ一番実力がつく方法は、私が思うにコードを書くことです。

プログラムを作る体験そのものが一番実力がつく方法だと思います。

技術書を読むのは、コードを書くためです。

読んで身につけた知識を使ってコードを書くために読むんです。

技術書を読むだけでは実力がつかないってことはよくあります。

実力がつく読書と、つかない読書

私は図書館でよく本を借ります。

本屋で技術書を買う場合は余程欲しい本だけに限られますが、図書館ではとりあえず気になったものを借りてきてバーって読むというのをかなりやってきました。

たぶん100冊は軽く超えています。

そんな中、実力がついた本とそうじゃない本があります。

前者は本に書かれてるコードを実際に打ち込んで実行したり、本で身につけた知識を使って仕事や趣味の開発で使ってみたりしたものです。

サンプルコードをそのまま打つだけでもやってみると、読むだけに比べて多くのことが学べます。

サンプルコードをちょこっと改造して何か別のものを作ってみるとさらに学べます。

ちょっと変えるだけでうまく動かないところがあったりして、「これなんで動かないんだろう?」って試行錯誤してるうちにいろんな知識が身に付きます。

そういう体験から実力ってつくものなんじゃないかなと思います。

量をこなすと、質が上がる?

明治大学教授でベストセラー作家の齋藤孝さんは「量質転化」って現象を説明しています。

  • 量が質に転化する
  • 量をたくさんこなすとある時、質が上がる

こういう経験って誰でもありますよね?

勉強でも運動でも、例えば、受験勉強で最初よくわかんないなと思いつつも「ここはこういうことか」と問題解いて答え見て、「なんかよくわかんないような、分かったような」みたいな感じを繰り返していくと、ある時、問題を見た時に、「これ解ける!これも解ける!」ってなります。

部活動でも私はサッカー部だったけど、最初はへたクソで、

  • ボールもちゃんと蹴れない
  • ドリブルができない

っていう時に基礎的な練習、ボールを蹴って止める、同じドリブルを何度も繰り返す、そんなことをずっとやっていると、ある時、練習試合でうまく体が動いてドリブルで相手ディフェンダーをきれいにかわしてシュートを決めれた、そんな瞬間が訪れます。

無意識に体が勝手に動くみたいなことが起こるんです。

これって量をこなしたから、ある時、質が上がったって話だと思うんです。

プログラミングも同じでずっと最初のうちは、教科書に書いてあるお手本のコードを書き写してくってことを半信半疑ながらひたすらやってやってくと、ある時、「こういうプログラムを作りたいな」とか「仕事でこういうの作って」って依頼された時に「あのサンプルとあの教科書のあれを組み合わせて作れそうだな!」と発想が浮かぶようになります。

これが実力がついたっていうことです。ですから、量をこなすことがポイントなんです。

では、何の量をこなせばいいのか?

学んだことを使ってコードを書くことです。

知識とコードを結びつける

たとえば、

ネットワークのプロトコルであるTCP/IPは、レイヤーに分かれていて物理的なネットワークをつなぐためのデータとセッションを維持するためのデータとアプリケーションのデータという風に領域が分かれている

みたいな知識です。

直接TCP/IPを実装するコードを書くことはなくても、仕組みを知っていることでバグの原因の当たりをつけられたりします。

こういう知識も、知識としてだけでなく、体験と結びつけて理解する必要があります。

たとえば、WebAPIを呼び出すコードを書くときには、「内部的にはどう通信してるのかなぁ?」と想像します。

そこで、先程TCP/IPの知識と結びつきます。内部的にはまずイーサネットでつながって、そこからルータにIPを問い合わせて接続先を探してるんだろうなという風に。

そうやって、知識と自分の書いたコードを結びつけていきます。

つまりは、知識を学び、使う、これの量をこなすんです。

プログラミングを楽しんだもん勝ち!

具体的には、

  • 本やWebサイト、動画から知識を学ぶ
  • お手本のコードを真似して書いてみる
  • お手本のコードを改造してみる
  • お手本のコードを組み合わせて何か作りたいものを作ってみる

こんなことをやってけばいいんです。

まずは、好奇心から、

「プログラミングってどういうものなんだろう?」

って、本を読み、学んだ知識でコードを書いてみる、それを繰り返してるうちに、

「あれとこれを組み合わせたらこういうものがつくれるんじゃないか?」

って発想が浮かぶようになる、そして作りたいものを作る、初めはなかなかうまく行かなくて試行錯誤を繰り返す、そしてプログラムが完成する、そして振り返ってみると、

「おれって、けっこう実力ついてきたかも!」

ってなります。

これって、勉強というよりは興味の向くものを追っていくうちに自然とつながっていくことなので、楽しみながらできると思うんです。

そんな風に、ぜひプログラミングを楽しんでください!

プログラミング初心者におすすめのサービス
1. 教室で学びたい派なら

プログラマカレッジは20代限定で、無料で受講できて、修了後、就職支援もしてくれるプログラミングスクールです。最高過ぎですよ、これ!!企業からの協賛金によって運営されいているため無料で受講できるんだそうです。すばらしいシステムだと思います!

30代の方には

プログラマカレッジは20代限定なので30代の方にはゼロスクがおすすめです。35歳以下なら無料で受講できます。教室も札幌、仙台、東京、大阪、神戸、福岡と全国展開しているので地方の方でも利用できます。

2. 自宅で学びたい派なら

TechAcademyの無料コースは20代限定でプログラミングのリモート学習 + 就職支援が無料で受けられるサービスです。なんといっても無料だし、就職に必要なスキルが身につけられるという意味でもやってみて損はないでしょう。

30代以上の方には

TechAcademyの無料コースは20代限定なので30代以上の方にはTechAcademyのJavaコースをおすすめします。Javaは求人が多くプログラマーとして就職したい方にはぴったりです。

3. つまづいた時に質問したくなったら

プログラマー専用の質問サイトteratailをおすすめします。 つまづいた時にteratrailで質問すれば教えてもらえます。

4. エンジニア未経験の人でも利用できる転職エージェント

ワークポートは未経験の人の転職活動も支援してくれますし、全国の求人を扱っているので地方在住の方にもご利用いただけます。お給料をもらいながら社内研修でプログラミングを学べる会社が狙い目です。

これらのサービスを活用すれば、全くの初心者からでもプログラミングをばっちり出来るようになると思います!レッツトライです!

 - 勉強法