第1回 プログラミング学習を始めるにあたって

プログラミング学習を始めるにあたって知ってほしいことを記載しています。

1.開発現場での重要性

1.1.常につきまとうプログラミングの知識
  ⇒ 逃げ続けるより今始めろ

プログラミングの開発現場でプログラミングの知識を全く知らないとどうなるでしょうか。
プログラマーは仕事にならないのは言うまでもありません。
プログラマーを率いる管理職(= リーダー)の人はどうでしょう。
開発者からは不信感を抱かれ裏ではバカ扱い、お客さんからは
本当にこのチームに仕事を任せても大丈夫かと不信感を抱かれるでしょう。
開発の現場にいるのであれば、プログラミングの知識から逃げるのは難しいでしょう。

ではいつ始めるか、今でしょ。

2.重要だからやるか、楽しいからやるか

2.1.重要だからやるのでは長続きしない
  ⇒ 楽しめないなら別の道を

重要だから、必要だから、仕方なく、は苦痛を伴います。
2,3年経ってもプログラミングが楽しめないのであれば、別の道を考えることをおすすめします。
苦痛を感じながらこの仕事を続けていくのか、転職するかはあなた次第です。

3.モチベーションを保て

3.1.ポイントはモチベーションの維持
  ⇒ モチベーションさえ保てればOK

ある程度学べば、多少時間の差はあれども誰でも習得できます。
問題は「ある程度まで学ぶことができるか」です。
これには想像以上に強いモチベーションが必要です。
社会人の方であれば会社から強制的に研修を受けさせられていること、
学生さんであれば、親にお金を払ってもらっているので申し訳なさのため、
中には少し始めたら楽しくて、というのがモチベーションだったりするでしょう。

3.2.モチベーションはどう作る?
  ⇒ おすすめは人を巻き込むこと

プログラミングを学びたいと考えたときに、必ず前述したような強いモチベーションや環境があるとは限りません。
無い場合は勉強する前にモチベーションを作ることを強くおすすめします。
他人を巻き込むとうまくいくことが多いです。
一緒に学ぶも良し、教えてもらうもよし。
途中で辞めたら自分だけでなく、他人にも被害・迷惑を与える状況を作るのです。

3.3.やってはいけないこと
  ⇒ 知識だけを詰め込まず、手を動かせ

コードを書かない勉強法はおすすめできません。
必ず自分でコードを書いて動かしてください。
急がば回れ、これが最短の勉強法だと思います。
うわべの知識だけを手に入れても、後々恥をかくのはあなたです。

4.とりあえず作れ

4.1.作りたいものを決める
  ⇒ 少なくとも1回は使うものを作ること

生活にあると便利だなと思うソフトウェアはありませんか?
ゲーム、家計簿、チャット、ひとそれぞれ何か思い浮かぶと思います。
どうしても思い浮かばない方は、普段よく利用しているソフトウェアを思い浮かべてみてください。
「ここがこうだと良いんだけどな」と思っている箇所はありませんか。
ほぼ同じものでも良いです。
自分だけのソフトウェアを作ることにしてみましょう。

4.2.作り方を調べてみる
  ⇒ 「調べること」はすごく難しい

インターネットで作り方を調べてみましょう。
実は、この調べ方に大きな能力差が出ます。
一通り調べてみたら、有識者に「作りたいもの」「作り方」を伝えてみましょう。
何かアドバイスをもらえるかもしれません。

4.3.いきなり書き始める
  ⇒ 何はともあれ手を動かすことが大事

アドバイスをもらって作り方を調べ終わったら、早速作り方に従って書き始めましょう。
しばらくすると、どこかで詰まるはずです。
この詰まるポイント、人によってかなり違いが出ます。
遠慮せずにかたっぱしから質問し、がむしゃらに進めてみましょう。
質問をすることで有識者は開発者の苦手なポイントや考え方、癖を知ることができます。

5.ペアプログラミングで進める

5.1.ペアプログラミングで作品作りを進めていく
  ⇒ レビューよりもその場で教わるペアプログラミングがおすすめ

作成物にもよりますが、特に初回は自力で全てを作成することは非常に難しいです。
ある程度まで作成したら、有識者の手を借りて協力しながら進めていってください。
コーディングをしながら、有識者が様々なことを教えてくれます。
すぐに全てを覚えて理解する必要はありません。
「こういうこともあるんだ」ぐらいの軽い気持ちで聞いておいてください。

5.2.作り終わったら別のものを作成してみる
  ⇒ やっぱり手を動かすことが大事

実装が終わったら、再び作成するものを決めて作成してみましょう。
最低でも2回はペアプログラミングを行うことをお勧めします。

5.3.成長したかどうか
  ⇒ 成長すると一人で進められるようになってくる

何個か作品を作ってみてください。
徐々に有識者の手を借りなくてもプログラミングを進めることができるようになってくるはずです。
有識者が邪魔だと感じだしたら、成長した証拠です。

6.プログラミングについて知っておくべきこと

6.1.常に変化しつづける業界
  ⇒ 数年でトレンドは変わる

他の業界と比較しても変化が激しいです。 ファッションのように流行りがあり、時代を繰り返したり、1年で世界に広まったりします。
2,3年もすれば流行りのツール・言語は変わります。
最近はマシになりましたが、Sierはこの流れに比較的鈍感だと言われています。

6.2.基本的にはより「簡単に」「早く」開発できるようになっている
  ⇒ 始めるならより新しいものを

時代が進むにつれて、同じものをより簡単に早く開発できる言語・ツールが出現します。
何かを作りたいと思ったとき、より新しい言語・ツールを選択すると良いことが多いです。
ただし、日本語の情報が少なかったり利用者が少なすぎるものは避けた方が良いでしょう。

6.3.今の状況
  ⇒ WEBで調べろ

今の状況を知るにはWEBで調べるのが一番でしょう。
自分で作成したいものを作成できるか、比較的新しいツール・言語であるか、
環境は準備できるかといったことを考えながら調べてみましょう。

7.フレームワークについて

7.1.フレームワークは一長一短
  ⇒ 勉強のためならフレームワークは使うな

フレームワークは非常に優れたソフトウェアです。
実際私も仕事で利用していて、まるで魔法のように簡単にソフトウェアを作成できます。
とりわけ大人数で開発を行う場合は必須といっても過言ではありません。
ただし、デメリットもあります。
多少なりとも利用するフレームワーク独自の使い方を覚える必要があります。
裏で何が行われているかは分からず、とりあえずこうやればできると覚えてしまいます。
残念ながらこの知識は他に応用が利きません。

テキスト一覧