Study
2023.02.16(更新)
稼ぐために始めたプログラミングのこれまでの振り返り。勉強方法や役立った本も紹介。
僕がプログラミングを始めてから2年8ヶ月が過ぎました。
今までは基本的にフロントエンドをメインに取り組んできましたが、勉強しているうちに興味が移り、今後はバックエンドに方針転換するつもりです。良いタイミングなので、今までの取り組みを振り返っておこうと思います。
本記事の内容
- プログラミング 2年8ヶ月の振り返り
本記事を対象とする方
- これからプログラミングを始める方
この記事を書いている僕はプログラミング歴2年8ヶ月です。webエンジニアとして”社内転職”しました。
プログラミングを始めた動機
僕がプログラミングを始めたのは2020年です。
僕はプログラミングのプの字もわからなかった文系出身者です。始めた理由はお金を稼ぐためです。というのも、本業の仕事がコロナで危機的状況だったからです。
本業が危機的状況に…
僕の本業は鞄・バッグのOEM製造メーカー。
お客さんの依頼に従って、中国の工場で商品を作り、それをお客さんに買ってもらう仕事です。お客さんはエンタメ関連のイベント系が大半でした。
皆さんご存知の通り、コロナでイベントは開催できずほぼ休業状態でした。当然売り上げが吹き飛び、仕事はほぼなくなりました
というわけで稼がなければいけない状況になってしまったのです。
勉強した順番
ではどのように取り組んだのかを振り返ります。
勉強は全て独学です。先程も説明したように本業の状況が散々だったので、高いお金をかけて学習することに気が引けていました。つまりスクールに行く気は最初からなかったということです。自分で情報収集して始めに手をつけたのはHTMLで、以降は下記のような順番でした。
- HTML
- CSS
- JavaScript
- PHP
- MySQL
- MAMP・Docker
- WordPress
- Python
なぜこの順番だったのか、簡単に説明します。
HTML
HTMLはマークアップ言語なので、プログラミング言語ではないと解釈していますが、まずは「コードを書く」ことに慣れる必要があると思い選択しました。HTMLはブラウザに反映されるので、視覚的に自分が書いたものが確認できることはとっかかりとしてわかりやすかったです。CSSはHTMLで反映された要素にスタイルをつけるためのものですが、HTMLとセットのようなもんですね。
CSS
CSSはHTMLで記述した要素にデザインスタイルをつけるためのもので、こちらもプログラミング言語ではありません。HTMLとセットでの勉強になります。ちなみにCSSの基礎が終わったら早い段階でSassに取り組むことをオススメします。
JavaScript
その2つの基礎を終えてから、いわゆる「模写」に取り組んだのですが、「スクロールした時にフワっと出てくるやつを取り入れるにははどうしたらいいんだ!?」ということで、JavaScriptの勉強を始めました。ここからがプログラミング言語のスタートです。JavaScriptは、HTML,CSSと違い、基礎を理解するのでさえ本当に苦労しました…。
PHP / MySQL
PHPは、WordPressのテーマ開発ができると「稼ぎやすい」というのを聞きつけ取り組みました。PHPは、バックエンドのプログラミング言語で、データベースも絡んでくるので、必然的にMySQLにも取り組みました。
MAMP / Docker
JavaScript,PHP,MySQLの勉強には結構時間がかかってしまいましたが、そこまで終わっていざWordPressへ!という時に、「テーマ開発はいきなり本番環境ではなく、まずはローカル環境で開発する」ということを知ります。そこでMAMPやDockerが出てきました。この2つはプログラミング言語ではなく、環境構築なので勉強する時間は少なかったです。
WordPress
そして、ようやくWordPressへこぎつけたという感じです。ここまで来るのにかかった期間は8ヶ月くらいでした。正直自分が思っていたよりは時間がかかったなという印象です。
Python
Pythonは、本業のエクセル操作を少しでも楽にしたくて取り組んだので、基礎だけ勉強しましたが、エクセル操作ぐらいしか経験できていません。
僕は本業でAdobe illustratorとAdobe Photoshopを日常的に使用します。このソフトが使えると画像ファイル(jpg, png,svgなど)が取り扱えますし、デザイン方面に進んでいくには必須ソフトです。しかし、1つのソフトで年間3万円弱のコストがかかるので、最初は無料ソフトを使用するのが良いでしょう。Googleで「イラレ 無料」「フォトショ 無料」と検索すると探せます。
勉強ツール
続いて勉強に使用したツールを紹介します。
- ドットインストール(有料)
- 公式ドキュメント
- Google検索
- 書籍
- アウトプット(ブログ)
まず、どんなプログラミング言語に取り組むにしても手を動かすことは必須です。これは独学だろうが、スクールに入ろうが同じことかと思います。ドットインストールを選んだ理由は、手を動かしながら学べることに加え、1つあたりの動画が短い(3分程度)、料金が高くない(月 / ¥1,080)、が理由です。
書籍、公式ドキュメント、Google検索は、ドットインストールでわからないことを補足していくイメージです。
アウトプットに関してですが、アウトプットするだけが目的であればメモ書きでも良いと思います。ですが、僕はブログをオススメします。ブログは「誰かに見られる」のが前提なので、記事内容の裏取りは必須になります。裏取りをすると、自分でもわかっていたつもりのことでも新たな知見が溜まるので勉強になるのです。
とはいえブログの場合は、レンタルサーバーを契約して、ブログサイトを作らなければなりません。そのためには少々のお金と時間が必要です。Qiita(キータ)などの無料ツールもあるのでまずはそこから始めてみても良いでしょう。Qiitaのリンクは下記の通りです。
僕はXserverでサーバーをレンタルしていますが、ドメイン取得からWordPressでのブログサイト開設まで自分で行いました。正直この程度が出来なければ、プログラミングで稼げるわけがないと思ったからです。FTPでのサーバー接続なんかも初めて経験することでした。
ちなみにXserverを選んだ理由は、国内シェアNo.1という触れ込みを見たからです。それ以外特に理由はありませんでした。実際使ってみて問題はありません。わからないことがあった場合、ネットで検索すればがヒットがたくさんありますし、何度か電話サポートで問い合わせしたこともありますが、対応も丁寧ですし、わかりやすく説明してくれました。また、個人ブログサイト程度ならアクセス集中によるサーバーダウンということも考えにくいでしょう。他のサーバーを使ったことがないので比較できませんが、全く問題ないレベルです。キャンペーンなんかもやっているみたいですので、興味がある方は下記リンクをご覧ください。
僕が勉強し始めた当初はありませんでしたが、最近はchatGPTやPerplexity AIなどのチャット型人工知能なんかも登場しているので合わせて使用しても良いかと思います。リンクを貼っておきます。
勉強に役立った書籍紹介
手を動かすだけではなく、時にはじっくり書籍を読むことも大切です。
基本的に手を動かしていくのがプログラミングの勉強法ですが、書籍で知見を溜めるのは大変有益でもあります。今まで読んでみて良かった書籍を順次紹介します。
HTMLの書籍
HTMLはマークアップ言語と呼ばれるもので、プログラミング言語とは異なります。しかしながら奥が深い言語でもあります。単純にブラウザに表示できれば良いということではなく、一つ一つの要素に意味(セマンティクス)があります。特にアクセシビリティを意識する上では大変重要になります。これらはある程度HTMLに慣れて、理解がある人が次に取り入れるべき知識なので、今回は入門書ではなくて、ステップアップをするための本の紹介となります。
コーディングWebアクセシビリティ: WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション
出版社:ボーンデジタル 2015/3/27発売
この本はアクセシビリティをこれから学ぼうとする人向けの本であり、同時にHTMLの初学者からステップアップしたい人向けの本です。アクセシビリティとは、身体の状態や能力の違いによらず、全ての人が便利にWebを利用できる状態のことを指します。建築物では「バリアフリー」と言う言葉がありますが、それのWeb版、と僕は解釈しています。実例コード付きで、アクセシビリティの実装方法を丁寧に紹介していますが、JavaScriptがわからないと読み進めるのが大変だと思うので、最低限JavaScriptの基礎が終わり、実際にいくつかWebサイトを構築した後に読むと理解が早いでしょう。
CSSの書籍
CSSはブラウザで表示される各要素のスタイル(見た目)を整えたり、設定するための言語です。Webデザインの分野では欠かすことのできないものであり、HTMLとセットで書かれている入門書も多いです。今回は入門書とステップアップ書を紹介します。
Every Layout-モジュラーなレスポンシブデザインを実現するCSS設計論
出版社:ボーンデジタル 2021/11/23発売
この本は、Webページやサイトのデザインレイアウトを構築した経験がある人に読んで頂きたい本です。CSSでブラウザに指示を出し、表現したいレイアウトを構築するために苦労した経験がないと、この本のポテンシャルを100%引き出せないでしょう。著者が提唱する、シンプルなレイアウトによって、ブラウザやCSSに組み込まれたアルゴリズムを上手に活用する方法は、著者が過去20年の経験に裏打ちされたやり方です。例えば、「メディアクエリの使用を意図的に避ける」という提案がありますが、「そんなことしたらレスポンシブできなくない?」と思っていました。しかし、この本のやり方を取り入れると、今まで複雑に設定していたCSSが、かなりシンプルになり、コード量も減り、保守性も高まります。僕にとっては目から鱗な発見ばかりでした。今回の書籍紹介の中で一番オススメしたい本です。
JavaScriptの書籍
JavaScriptの勉強は、とにかく諦めることなく粘り強く勉強する心が何よりも大事です。僕がJavaScriptを難しく感じた理由は、登場する語彙と記号の多さ、それと関数という仕組みでした。後に出てくるクラスの理解も一筋縄では行きませんでしたが、HTML&CSSを勉強してきた僕にとっては、そこが最初に乗り越えるべき関門だと思いました。そんなJavaScriptを理解するのに役立った本を紹介します。
他の書籍
これまでHTML、CSS、JavaScriptの書籍を紹介してきました。これら3つの言語で出来ることは、フロントエンドでの開発で、Web制作が中心となると思います。Web制作において、通信は切っても切り離せないもの。とりわけサイトの速度パフォーマンスは、ユーザビリティ向上には欠かせない関心事ですので、フロントエンドエンジニアを目指したい人には必須となる知識でしょう。僕も全く知識がありませんでしたが、以下に紹介する書籍でだいぶ理解が進みました。
超速! Webページ速度改善ガイド ── 使いやすさは「速さ」から始まる
出版社:技術評論社 2017/11/23発売
タイトルにある通り、Webページの速度改善を解説した本です。著者自身、現役のフロントエンドエンジニアであり、数々の経験からかなり具体的にノウハウを紹介されています。僕はこの本を読んで、パフォーマンス改善スキルが劇的にアップしました。また、ブラウザがどのようにソースファイルを読み込んで、表示させているかの流れも掴めるので、フロントエンドで起きていることが満遍なく把握できます。こうした知識は、フロントエンド開発者としての価値を大きく高めてくれるものになるでしょう。
これからプログラミングを始める方へ
諦めたらそこで試合終了です。
これからプログラミングを始める方で、目的が「稼ぐ」ということであれば、その目的は間違いなく達成できます。現に僕はWordPressでのWebサイト構築を5件担当しました。
僕はプログラミングどころか、Web業界に従事したことすらなかった人間です。プログラミングをスタートしたのは40歳の時でした。それでも「稼ぐ」ことができたわけです。今まで紹介した僕の勉強法が良いのか悪いのかはわかりませんが、結果は出ました。未経験でも稼げると証明できたと考えています。
現時点の僕のスキルは、僕の理想には程遠いのですが、意志を持って、諦めることなく行動し続ければ、道は開けるものです。
プログラミングをやってみて、自分に合わないなと思ったら、スッパリやめるのもアリだと思いますが、少しでも「コード書くの楽しいな」とか「わからなかったことができた時の快感」とか、そういうものが沸き起こるようだったら、諦めずぜひ続けてください。
今回のまとめ
今回は僕が取り組んできたプログラミングの振り返りについて紹介しました。最後まで読んで頂きありがとうございました。