プログラミングは何から始めればよいか【現役エンジニアがお答えします】
プログラミングは何から始めれば良いか悩んでいる方に。
この記事を読まれている方は、
- プログラミングは何から始めれば良いか知りたい
- プログラミングをするのに学ぶべきことを知りたい
- 未経験からプログラミングを習得した方法を知りたい
おそらくこのように考えている方が多いと思います。
この記事を書いている私は、
プログラミング未経験から転職を果たした現役のWeb系エンジニアです。
エンジニア歴は3年ですが、本業とは別にフリーランスの副業で月10万円ほど、多いときで20万円ほどの収入があります。
この記事では、現役のエンジニアが、プログラミングは何から始めれば良いかについて、解説します。
まずは目標を持つこと
何をすべきかで迷ったら、まずはプログラミングで何を達成したいかを決めましょう。
「Web系エンジニアになりたい」とか、そういうことを言っているのではありません。
長期的な目標ではなく、プログラミングそのもので達成したい短期的な目標を考えます。
例えば、私の場合は、当時の業務で問題になっていた膨大な書類チェック&作成の手間を省くために、ExcelVBAで自動書類作成ツールを作りました。
こういった目の前にある課題を解決するための目標でOKです。
プログラミングで挫折する人は、具体的な目標がなく、ただひたすらプログラミング言語だけを一生懸命覚えようとしているイメージがあります。
そのため、迷うようであれば、プログラミングを始めようと思ったきっかけを思い出し、一度初心に帰り、具体的にどういうことをしたいのかをまとめてみましょう。
プログラミングで大事なことは、自分で処理のフローを考えていくことなので、過程をきちんと描けそうものを目標にすると良いでしょう。
よく「ツイッターを作りたい」などといきなり大きな目標を立てる方がいますが、この手の方は正直あまりフローを考えられていない方だと思うので、一度じっくりと処理のフローを考えてみましょう。
そのうえで、例えば、ログイン機能、ツイート機能、タイムラインの3つのシンプルな機能を持ったツイッターもどきのサイトを作ることを目標にしてみるなど、自分の手に負えそうな目標を決めることが大事です。
こうすることで、目標が単なる夢ではなく、現実味を帯びてきますので、目標の選定はとても大事なモチベーションになります。
くれぐれも目標なしで始めることだけは、挫折の原因にもなりますので、避けましょう。
過程はコピペで覚える
目標を決めたら、次はどのように設計して製造していくかです。
私は今「設計」と「製造」というキーワードを出しましたが、実務の伴わない初心者のうちはあまり設計と製造を分けて考える必要はないでしょう。
今はただ、設計は処理のフローを考えることで、製造はそのフローに沿ってプログラムを書いていくことと理解しておけば良いです。
どのようなフローでどのようなプログラムを書いていけばよいかは、初心者のうちは全く思い浮かばないかもしれません。
でも安心して下さい。
グーグルという心強い味方がついていますので、思い切って、考え方を聞いてみてしまえば良いのです。
初心者の方が作ろうとしているたいていのことは、世の中の誰かが既に実装していますし、サンプルコードも公開されているものです。
多少業務などによって方言はあるにしても、おおかたのフローはたいして変わらないので流用ができます。
例えば、先程のツイッターの例で言うならば、まずは「ログイン サンプル php」で検索をかけてログイン機能を実装してみたり、「ツイッター php」で検索をかけてツイッターの根幹部分であるツイート機能を実装してみたりして、おおまかなフローのイメージをつかんでみましょう。そこへ自分だけのオリジナリティを出していきましょう。
いずれにしても大事なことは自分の手で調べ、プログラムを組み合わせて書いていくことです。
パーツはいくらでもネット上に転がっているので、それをコピペで組み合わせることで、しっかりと自分のものにしていきましょう。
「コピペでは身に付かないのでは?」と思う方もいるかもしれませんが、逆に技術を利用するぐらいの人間でないと、この業界を生き残るのは厳しいです。
技術やシステムに利用される人間ではなく、技術やシステムを利用する側の人間になりましょう。
採用面接などで人を評価する際は、どうしても「言語やフレームワーク」に焦点が集まりますが、実力はそこではなく、論理的思考力やプログラムを組み立てる力によって、裏付けされます。
そのため、ある特定のプログラミング言語やフレームワークの開発者になるよりは、雑食系のエンジニアになることをオススメします。
言語はWeb系言語がオススメ
雑食系のエンジニアになるといっても、さすがに各言語の書き方や文法ぐらいは覚えないと、何も書くことができません。
そして、プログラミング言語にも難易度と需要の差がありますので、ファーストチョイスを間違えると無駄が生まれてしまう可能性もあります。
現役エンジニアの私がオススメするのは、Web系言語であるPHPとJavaScriptです。
理由は、主に以下のことが挙げられます。
- 動的型付けのため、データ型を気にする必要がない
- Web系は身近であり、ネット上にサンプルがたくさんある
- スクリプト言語のため、動かしやすい
1つ目の動的型付けというのは、簡単に言うと、データの型(タイプ)を開発者側で定める必要がない言語ということです。
そのため、データを扱うことが比較的容易で、エラーも少ないので、初心者でもストレスフリーで書くことができます。
しかし一つ注意点があって、キャリアの早い段階で、静的型付けの言語もやっておくと良いと思います。昔は静的型付けが主流だったのもありますし、今流行りのGo言語なども静的型付けの言語だからです。つまり歴史は繰り返します。今後動的型付けではなく、また静的型付けが主流になる時代が来るかもしれませんので、できれば両方を経験しておくとエンジニアとしての価値が上がると思います。
2つ目のサンプル数に関しては、PHPやJavaScriptが特に多いからです。
しかもこれらの言語は、素人の方も多く参入しているため、ネット上にあるサンプルが初心者にとっても理解しやすい内容であることが多いです。
キャリアの初期においてはPHPやJavaScriptから始めることで、プログラミングスキルを身につけ、成功体験を作ることが重要になります。
3つ目のスクリプト言語とは、簡単に言うと、プログラムを書いて保存して設置さえすれば、すぐに動かすことのできる言語ということです。昔はコンパイル言語が主流で、プログラムを書いて保存したら、コンパイラというものに通して、プログラムを中間言語に変換する必要がありました。
スクリプト言語では、たしかに処理速度はコンパイル言語に比べて劣るものの、その手間がなく、初心者にとっては余計なステップがないため、ストレスフリーで書いて動かせる楽な言語なのです。
以上の理由から、初心者の方はWeb系のPHPとJavaScriptから始めると良いと思います。
プログラミングは何から始めれば良いかまとめ
- 短期的な目標を決める
- サンプルをコピペしながら覚える
- PHPとJavaScriptを最初の言語にする
もし自分で計画を立てたり、上手くやれる自信がないという方は、プログラミングスクールも検討に入れると良いと思います。実際に、独学に向く人・向かない人はいますので、自分に合ったスタイルでプログラミングスキルを習得されると良いと思います。
現役エンジニアがオススメするプログラミングスクール3選【無料体験あり】
「一からきちんと学べるオススメのプログラミングスクールを知りたい。プログラミングの効率的な学び方を知りたい」←こういった疑問に答えます。本記事内容:まずはどのプログラミング言語を選ぶべきか/現役エンジニアがオススメするプログラミングスクール3選/プログラミングスクールにプラスして行うべきこと