非エンジニア、学生さんへ向けたプログラミングの勉強方法
最近は非エンジニア(デザイナー、営業)でもプログラミングの知識が問われることが多々あります。
また、将来IT業界で仕事をしたいが、学校でプログラミングの授業が受講できない学生の方もいらっしゃるかと思います。
私の場合、IT業界歴は長いのですが、インフラエンジニア(サーバーエンジニア)でしたので、プログラミング技術は自主学習にて取得しています。
私の経験を踏まえたうえで、これからプログラミングを勉強したい方に向けた、勉強方法を紹介してみようと思います。
【1】勉強するターゲット絞ります
プログラミングと一言に言っても、さまざまな種類の言語があります。ざっくり分けると以下のような感じです。
・アセンブラ、機械語といった組み込み系に向いたプログラム
・C、C++、Javaといった業務アプリケーションに向いたプログラム
・Javascript、J-queryといったWeb画面に直接かかわるプログラム
・PHP,Ruby,PythonといったLightWeight言語と呼ばれるWeb処理向いたプログラム
・Unityのようなスマートフォンゲームに向いたプログラム
あなたが将来進む方向に向けて、勉強対象となるプログラムを見つけましょう。
【2】 人脈を作ります
・すでに就業されている方の場合
会社に掛け合って、プログラミングスクールやセミナーへ参加して勉強されるのが一番の早道です。
ただ、将来的に役にたつかどうかわからない技術への投資を行ってくれる理解のある会社は少なく、スクール・セミナー料金も高いため、なかなかプログラミングセミナーへの理解は得られないでしょう。
基本は本を購入しての自分で勉強になるかと思います。
しかし、よほどストイックな方でないと、理解のできない言葉が出てきたり、専門知識を求められたりと、プログラミングの勉強は続けられません。
まずは社内のプログラマーと交流を深めてみましょう。
特にデザイナーの方でしたらプログラマーと話す機会が多いかと思います。
交流を深め、その方がどうやってプログラミングを身につけたのかを聞いてみるのが早道です。
社内にそういった方がいない場合は、異業種交流会や学びたい言語のイベントに参加し、そこで情報を収集します。
大丈夫です。
大抵のITエンジニアは「教えたがり」です。簡単な質問でも答えてくれます。
(実際、私もこういった記事を書いていますので)
・学生さんの場合
あなたが大学生であれば、履修登録していないプログラミングや情報技術の授業に自主参加されるのはいかがでしょうか。
かのスティーブ・ジョブズも大学中退後に元の大学のデザイナー授業に勝手に参加しては、デザインの考え方を学んだそうです。
もしくは、サークルに参加しているのならば、そのサークルの中で情報系の学科を専攻している人を見つけ、交流を深めてみるのが良いでしょう。
どうやって勉強しているのか生の声を聞くことが大切ですし、利用しなくなった履修済みの教科書を譲ってくれたりします。
何ににしろ、プロからプログラミングのアドバイスを受けるのが一番の近道です。
ただ、相手もプロ(セミプロ)ですので、お礼の言葉と実際の物によるお礼をすることは忘れないよう心がけてください(ご飯をおごったり、飲み物やお菓子をプレゼントしたり、呑みに連れて行ったり)。
【3】 学ぶべき教科書を見つけます
人脈を作ったら、実際に手を動かしながらプログラミングの勉強をしてみるのが一番です。
勉強ほどやった分だけ結果が出ることはありません。
教科書の見つけ方ですが、「対象言語名 入門書」などのキーワードでGoogleで検索しましょう。
だいたいその言語を勉強された方が推奨する入門書をまとめたblogなどがヒットするかと思います。
そういったblogをいくつか見つけ、入門編で紹介されている「重複した」本を探します。
複数の方がその本でプログラミングの勉強したということはそれだけ良書であり、わかりやすい記述がされていることが多く、自主学習向けになります。
また、うまく人脈が作れた方なら、その人の紹介する本でプログラミングの勉強するのも良いかと思います。
教科書を見つけたら、とにかく教科書に沿って、一つ一つ地道に勉強していきます。
プログラミングに近道はないです。
たまに基礎を疎かにしたまま業務をしている方もいらっしゃいますが、大体の入門書は、読者が途中で挫折しないように Step-by-Step形式で書かれていることが多いので、最後まで読み進めることができるかと思います。
入門編が終わったら、次は中級者向けへと進ます。
中級者向けの本でわからないことがあれば、入門編へ戻り復習し、場合によっては培った人脈でプロに質問したりしながら、中級者向けへの本を最後まで読み進めます。
ここまでくればある程度の成果物(アプリケーション)が作成できるようになりますので、実際に何かの成果物を作成します。
実際に自分の作ったものを見ると感動しますし、中級編までクリアされた方ならそれを業務に活かしたり、就職活動の際のポートフォリオとして提出することが可能です。
プログラミングの勉強を業務に活かして成果物を作り上げれば、会社からの評価も上がりますし、就職活動のポートフォリオは大きな武器となります。
あなたの努力が結果に結び付くのもプログラミング学習の大きなメリットです。
【4】 それでも挫折してしまった場合
成功例だけあげていきましたが、それでもプログラミングで挫折してしまうことはあるかと思います。
私自身、仕事が忙しかったり、環境の変化などで中途半端に覚えたまま使っていない技術はたくさんあります。
そもそも勉強するのが困難であるからこそ、プログラミング技術(プログラマー)が仕事として成り立っているのです。
そういう場合は、自分で勉強することを諦め、他人に教えを請うことに変更します。
最近はSkypeやGoogleハングアウトといったビデオチャットを利用したオンラインスクールがあります。
比較的安い値段で、丁寧な指導を長い期間受けることができます。
そちらを活用して勉強されるのはどうでしょうか。
確かに金額は若干かかりますが、そこは未来の自分への投資として考えを切り替え、利用してみることを検討してください。
講師の方が懇切丁寧に教えてくれます。
オンラインスクールですので、好きな時間に好きな場所で受講可能なことは大きなメリットです。
(金額も通常のスクールよりはかなり割安です)
私の場合は最後の総仕上げと復習を兼ねてオンラインスクールを活用しています。
【5】まとめ
あくまでITエンジニア目線で、私なりの勉強方法を紹介させていただきました。
プログラミングを勉強することは、論理的思考能力の開発にもつながり、「デキる」社会人として活躍できる可能性が広がります。
みなさんも是非プログラミングの勉強に挑戦してみてください。
【補足】
プログラミングですので、パソコンは必要になります。
また専用の「エディタ」と呼ばれるソフトウェアや開発環境なども必要になってきます。
この辺りは入門書に書かれていることが多いので、割愛させていただきました。
勉強方法などの細かな手順は別ジャンルと大きく変わらないため、自己啓発書などを参考にされるのが良いかと思います。