プログラミングは独学できる!【現役エンジニアが解説】

PROGRAM

これからプログラミングを学ぼうとしている方へ。

この記事を読まれている方は、

  • プログラミングを習得したいけど独学でできるかどうか不安
  • 独学でも習得できる学習法などがあれば知りたい

このように考えている方が多いと思います。

この記事を書いている私は、
プログラミング未経験から転職を果たした現役のWeb系エンジニアです。
エンジニア歴は3年ですが、本業とは別に副業のフリーランスの収入が月10万円ほどあります。

この記事では私の体験談を交えながら独学でのプログラミングスキルの習得法について解説します。

プログラミングは独学できる!

プログラミングは独学できる

結論から言えば、プログラミングは独学で習得可能です。
私も未経験・異業種からの転職で現在Web系エンジニアをやっています。
部下も未経験でしたが、私のもとでPHPのシステムの改修案件などを任せています。
つまり、未経験からでも独学・転職はできるのです。

プログラミングに求められるもの

プログラミング自体は順次処理・繰返処理・分岐処理という主に3つの処理しかないので、何も難しいことはありません。
おそらく早い人で2、3週間、遅い人でも数ヶ月あれば覚えることができるでしょう。

さらに言うとコードも全て覚える必要はありません。

私は前職ではエンジニアとは全く関係ない仕事をしていましたが、
仕事でエクセルを使っていたため、効率化できる業務はExcelVBAなどを使ってコンピュータに任せていました。

各処理の意味はもちろん理解していましたが、一からコードを書けるほどの実力ではなく、
基本的には参考サイトからコピペをして、値や条件等を変更しているだけでした。
そしてエンジニアになった現在もそのスタンスは変わっておらず、プログラミングのコードの暗記はあまりしていません(笑)

実際に、ExcelVBAやPHP、Javaなどは言語そのものが有名すぎるので
グーグルで検索すればすぐに目当てのものに近いコードが手に入ってしまうのです。

そうです。
実は、プログラミングで大事なことは、コードが書けるということではなく、
何をどのように効率化するか(要件定義や設計)です。

給料が高いのは上流工程

求人サイトで調べるとわかることですが、基本的にはコードを書く人よりは、
要件定義や設計の工程を担当する人(いわゆる上流工程)の方が高給取りです。

なぜなら、ここが最も頭を使うところだから。
そのため、コードを書くだけなら、基本的なプログラミングの知識と、
あとはGoogleで検索できる能力があれば、誰でもできてしまうのです。

したがって、最初のうちはコードを書くところから始めて、徐々に上流工程にシフトしていくことでエンジニアとしてのキャリアパスを進めていくスタイルで良いと思います。

プログラミングというのはそれ自体は実はハードルが低いものなのです。

まずは身近なものを効率化することから始めよう

まずは身近なものを効率化することから始めよう

さて。それではこれからプログラミングを学ぼうとしている人は具体的には何をしたら良いのでしょうか。

ExcelVBAで身近な業務を効率化してみよう

現在会社に勤めていて、プログラミングスキルを身に付けたいと思っている方は、
まず身近な業務をExcelVBAを使って効率化してみましょう。おそらく営業職でも事務職でも開発職でも今時Excelを使わないところはないと思います。
顧客や商品の管理をしたり、書類を作ったりする業務は時間がかかりやすいところなので課題も多いはずです。
そういうものをExcelVBAを使って自動化してみましょう。プログラミングの楽しさもわかりますし、会社にとってもプラスになります。

WordPressを使ってブログを始めてみよう

もしかしたら職場でExcelを使っていないかもしれません。そんな人たちも含めてお勧めしたいのが、WordPressです。WordPressはCMSと呼ばれるものなのですが、簡単にいうと楽にホームページを作れるシステムです。レンタルサーバーを借りることで誰でも簡単にホームページやブログが持てます。ホームページは他のサービスでいくらでも作れますが、大きな違いはWordPressはカスタマイズができるという点です。
例えば、デザインの一部分が気に入らなかったり、動作を少し変えたいとき、自分で編集することで細かいところを手直しできますので、プログラミングを自然と覚えられることが期待できます。

余力があればオブジェクト指向型言語を覚えよう

余力があればオブジェクト指向型言語を覚えよう

ExcelVBAやWordPressなど身近なものでプログラミングに触れていくようになると、だんだん自分の思ったようなプログラムが書けるようになってきます。
でも、そのようなプログラミングはおそらく上から下に流れるだけの単純なもの。

実際の開発ではデータベースを扱ったり、関数という便利なものを定義したり、色々あるものです。
開発の現場でライブラリやフレームワークなど便利なものを使おうとするとき、
頻繁に出てくるキーワードがクラス、オブジェクトというものです。

PHPやJavaなどモダン言語はオブジェクト指向型の言語

PHPやJavaをはじめとするほとんどの言語はオブジェクト指向型の言語と呼ばれており、簡単にいうとクラスという概念が新たに追加され、オブジェクト(モノ)ごとにカプセル化ができるといった機能を持っている言語です。
カプセル化というのは、他からの干渉を受けないようにすることです。余計なものを読み込まないようにするとか、変数名がぶつからないようにするとか、そんなものです。

オブジェクト指向の理解は難しい

オブジェクト指向の考え方を理解するのは独学では少し難しいかもしれません。
なぜなら、独学で自分のためにやっているときはあまりカプセル化をする必要がないからです。
自分一人でコーディングしているのですから、干渉はあまり起きないですよね。

これを理解する一番の近道はやはり実際に現場に入るしかないのかなと思ってます。
もしくはプログラミングスクールで学ぶというのも一つの手かもしれません。

プログラミングがわかっていてオブジェクト指向の部分がわからないのと、
プログラミング自体がわからないのとでは大きな違いがあります。

不安であれば、プログラミングスクールを利用して補完しておきましょう。

Web系エンジニアがオススメ。WordPressでWeb知識を磨こう

Web系エンジニアがオススメ。WordPressでWeb知識を磨こう

独学する際にWeb系かアプリ系かで迷ったら、Web系エンジニアがオススメです。

私は本業以外にアフィリエイトサイトの運営やフリーランスの副業で月10万ほど稼いでいますが、
その時に大いに役に立っているのが、WordPressの経験と知識です。

このサイトもそうですが、アフィリエイトのサイト用にSEO対策がされた環境が無料で手に入るのがWordPressです。
また、その裏返しでもあるのですが、フリーランス向けの案件でもWordPress関連の仕事がたくさん転がっています。
内容も様々で、フロント(UI)の動きを修正してほしいというものから、プログラムの内部的な機能を追加してほしいというもの、サーバーをお引越ししたいなど多岐に渡ります。

WordPressはなんだかんだ10年程度続いていますので、今後も急になくなるといったことはないと思います。
興味がある方は一度ランサーズやクラウドワークスなどのサイトでプログラミングの仕事を探してみてください。WordPressのお仕事がたくさんありますよ。