転職するためにプログラミングを始めたい!
今話題のAIを自分で作ってみたい!
フリーランスとして働きたいから、プログラミングをマスターしたい!
なんかかっこいいからプログラミングをやりたい!!
生成AIの時代が来て、ChatGPTの登場やAIエンジニアという響きや、フリーランスという働き方の自由さに憧れてプログラマを目指し始めた方は多いと思います。
私は現在、機械学習モデルの運用周り(いわゆるMLOps)やWebアプリ開発など、手広くなんでもやる一人社内SEのような仕事をしている会社員ですが
「プログラミングをはじめてみたい! なにからやればいい?」
と相談を受けることが非常に多くなってきたと感じます。
めちゃくちゃ面白いITの世界に興味を持ってくれていることは私としても非常に嬉しいことです。ただ…
ちょっと待ってください
プログラミングを始める前にしっかり理解しておいてほしいことがいくつかあります。
これから記載する内容を理解しないまま始めてしまうと、すぐに挫折してしまうかもしれませんよ!
プログラミングを始める前に知っておくべきこと
プログラミング学習を始めて、就職/転職や副業などを考えられている方にまずお伝えしておきたいことは…
けっこう大変だぜ
ということです。
一朝一夕で身につくスキルではないことと、様々な分野の知識も身につけていく必要があります。
例えば、電子工学、コンピュータアーキテクチャ、インターネットの構造やセキュリティといった知識はベースとしてあった方が良いです。
さらに、AIなどの分野で活躍したいと考えられている場合は、先述のベース知識に加えて微分積分・線形代数・確率などの数学の知識、機械学習のベースの理解や最新の動向なども把握していく必要があります。
そのため、「いや、ちょっと学び続けるのは…」「文法覚えるだけじゃだめなの…?」と思われいている方は、もう一度「本当にプログラミングを学びたいのか?」「エンジニアとして成長し続けることが苦じゃないか?」といった点を踏まえて考えられると良いかなと思います。
なんちゃってエンジニアの若造が偉そうなことを言って本当に恐縮なのですが…
プログラミング教室に通って「基本的なプログラミングの文法」を理解しただけで、IT業界に足を踏み入れたものの合わなくて苦しんでいる
という方もたくさん見てきたので…!
逆に言えば、それらを「楽しい!」「もっと学んでいきたい!」と前向きなモチベーションに感じられる人は絶対に成功します!
ここまでの内容を踏まえて、それでも「エンジニアになりたい!」と思ってくださった方に、プログラミング学習をする前に知っておいてほしいことをお伝えしていきます!
マインドセット編
1. プログラミングは難しい
プログラミングは、決して簡単なスキルではありません。
初心者にとっては、最初はまったく理解できないことも多く、挫折してしまう人も少なくありません。
プログラミングの難しさは、主に以下の3つが挙げられます。
- 論理的思考力が必要
- 覚えることがたくさんある
- エラーに悩まされる
プログラミングでは、論理的思考力が求められます。
プログラムは、正しい順番で実行されることで、目的の動作を実現します。そのため、プログラムを記述する際には、論理的にかつ構造的に課題を捉えることが重要です。
また、プログラミングでは、覚えることがたくさんあります。
プログラミング言語の文法や構文、アルゴリズム、データ構造など、覚えなければならないことがたくさんあります。
さらに、プログラミングでは、エラーに悩まされます。
プログラムを記述する際には、必ずと言っていいほどエラーが発生します。エラーを解消するためには、論理的思考力と、エラーの原因を特定するスキルが必要です。
それらは、あなたの能力が低いのではなく、「プログラミングというものがそもそも難しいんだ」というマインドセットがないと、必ず挫けてしまいます。
そのため「難しいを楽しむ」という気持ちが非常に重要になってきます。
2. プログラミングはすぐには身につかない
プログラミングは、すぐに身につくスキルではありません。ある程度の時間をかけて、地道に学習する必要があります。
そんため、プログラミングを身につけるためには、以下のような学習方法が効果的です。
- 基礎をしっかりと身につける(焦らず、飛ばさず)
- 実践的な課題に取り組み、アウトプットを繰り返す
- 他の人と交流し、学び合う
基礎をしっかりと身につけることで、応用力が身につきます。
※プログラミング言語の種類を問わず、文法などの考え方は共通していることが多いので、基礎知識は複数種類の言語の習得にもちゃんと役立ちます
また、実践的な課題に取り組み、アウトプットを繰り返すことで、スキルが定着します。
さらに、他の人と交流し、学び合うことで、モチベーションを維持することができます。
SNSや今の職場、学校などで同じ志を持った仲間を見つけてみるのは意外と長続きの秘訣になります。
3. 学習する目的を明確にすることが重要
プログラミングを学ぶ目的を明確にすることで、学習の効率が上がります。
プログラミングを学ぶ目的は、人によってさまざまです。
転職のため、AIを開発するため、フリーランスとして働くためなど、目的によって学習すべき内容は異なります。
目的を明確にすることで、学習すべき内容を絞り込むことができます。
また、学習のモチベーションを維持することにもつながります。
エンジニアとして継続的に活躍し続けている自分を想像して行きましょう!(妄想って大事です)
おすすめ編
初学者におすすめのプログラミング言語
プログラミングは外国語のように様々な種類があり、プログラミングを始める際には、まずどの言語を学ぶかを決める必要があります。
基本的には目的や用途に応じて選択をしていくのですが、最終的に何をするにしても応用が効くおすすめの言語もあります(めちゃくちゃ主観が入ります)。
AI開発をしたいなら『Python』
Pythonは、文法がシンプルで読みやすいため、初心者でも習得しやすい言語です。
最近はAIなどの分野でも多用されているため、書籍やインターネット上での情報量も多いです。
PythonはWeb開発やデータサイエンス、AI(機械学習)など、さまざまな分野で利用されているため、非常に汎用性が高いおすすめの言語です。
AIエンジニアになりたい方は絶対にPythonをやっておきましょう。
Webサービスを作りたいなら『JavaScript』
JavaScriptは、主にWebブラウザで動作するプログラムを記述するための言語です。
WebサイトやWebアプリケーションの開発に欠かせない言語であり、初心者でも習得しやすい言語です。
JavaScriptはPython同様に情報量が多くてかつ、始めるまでの環境を整えるのも簡単なので、継続して学習し易い言語かなと思います。
とりあえず何も決まっていないなら『GAS』
Google Apps Script(GAS)は、Googleが提供するプログラミング言語です
JavaScriptをベースに開発されており、Googleの各種サービス(Gmail、Googleスプレッドシート、Googleカレンダーなど)を自動化したり、連携したりするためのコードを作成することができます。
Googleアカウントさえあれば学習を始めることができて、スプレッドシートやGmailと簡単に連携できるので、すぐに役に立つアウトプットができるのでモチベーションの維持がしやすい言語です。
ただ、PythonやJavaScriptに比べると情報量は少ないので、基本的な文法が完全に同じであるJavaScriptの情報なども効果的に活用して補っていく必要があります。
おすすめの勉強方法(プログラミング教室に通う以外で)
プログラミングは必ずしもプログラミング教室に通う必要があるわけではありません。
もちろん、お金を払って優良で効率良い学習を行う上でスクールは効果的ですが、現在活躍しているエンジニアで「全部独学」という方も非常に多いので、自身が投下できる費用などと相談して学習方法を検討してみてください。
僕のおすすめは書籍+動画での学習です。
書籍で学ぶ
最もベーシックで一番多いと思われるのが、とりあえずなんか本を買って始めてみるという方法です。
費用も抑えてかつ、自分のペースで進められるのでおすすめの方法です。
一方で、「誰にも質問できない」「文字だけだとイメージができない」といったデメリットもありますので、後述する方法も効果的に取り入れてみてください。
以下は、ゼロから学習しようと考えている方におすすめの書籍です。
Pythonならこちら↓
JavaScriptならこちら↓
動画で学ぶ
書籍と同じくらいおすすめの方法が動画で学ぶという方法です。
YouTubeなどで投稿されているものも良いのですが、より専門的なサービスを用いたほうが質の高い学習を進めることができます。
ちょっとした移動中や、ふとした時にすぐに学習を開始できないというデメリットもありますので、書籍での学習と併用していきましょう。
以下はおすすめのサービスです。
※ちょっと宣伝になっちゃうのと、やや趣旨がズレますが、僕も初心者用に講義を公開していますので、学習が進んだ際には…m(_ _)m
まとめ
プログラミングは、IT業界で活躍するために必要なスキルであり、フリーランスとして働くためのスキルとしても有効です。
しかし、プログラミングは難しいスキルであり、すぐには身につきません。
プログラミングを始める前に、プログラミングは難しいこと、すぐには身につかないことを理解しておきましょう。また、プログラミングを学ぶ目的を明確にしておくと、学習の効率が上がります。
プログラミング初学者におすすめの言語は、Python、JavaScript、GASなどです。また、プログラミングを学ぶ方法は、書籍+動画がおすすめです。
それでは、本記事が良いエンジニアライフの最初のステップになれることを願って…
※ご質問などお気軽に!