今回は、私のサイトのお問い合わせフォームに以下のご質問がありましたので、回答させて頂きたいと思ってます。
ご質問内容
失礼致します。これからプログラミングを覚えたいと思いメールしました。自分でも調べたのですが情報が多く取捨選択が難しいと感じました。稼げるレベルになるにはどの程度出来る様になればいいのか、また教材などやHTMLなど聞いたことがある程度です。宜しくお願いします。
Sさんからのご質問
サイトを読んで下さり、ありがとうございます。
私が答えられる範囲でご回答させていただきます。
私がプログラミングの勉強を始めたのは、令和2年4月でした。
新型コロナウィルスが話題なり、また高速ネット環境5Gの普及が広がると話題になっている中、プログラミングを学ぼうと思ったのがきっかけです。
又、将来独立をした時に備えて、ブログやサイト運営をしたいと思ったのも勉強を始めた要因の一つです。
今回は、WEB関係のプログラミングを1年半ほどの勉強の感想を書いた後に、質問に対する回答したいと思います。
令和3年11月において、未経験で1年半ほど独学でプログラミングを学んできた私の感想として読んで頂けたらと思います。
プログラミングを学ぶとは
義務教育にも取り入れられて、プログラミングは今とても人気が高まっているスキルだと思います。
しかし、プログラミングを勉強するにあたって最も悩むことは、具体的に何を勉強をして、何を出来るようにしたいかだと思います。
プログラミングはあくまで手段であり、目的ではないことは意識を持っておかなければなりません。
私の場合は、WEBを通じて自分を知ってもらいたい、そしてサイト制作も仕事としたいと思い、WEB関係のプログラミングを学ぶことにしました。
WEB関係のプログラミングの他に、業務効率(RPA)のためのプログラミングや、機械学習のためのプログラミンなど細分化されております。
そのため、プログラミングに関しては何をしたいかを、ある程度明確化し、その目的を達成するために必要な技術と知識をまず把握してから、学ぶ必要があります。
私が学んだ分野
私は、WEB関係に興味があり、それに必要なWEB関係の知識をこれまで勉強しました。
私が取り組んできたことを、順番通りに記載しておりますのでご参考ください。
ワードプレスでホームページを作成
ホームページをWordPressで作成することは、プログラミングを知らなくても出来ます。
しかし、自分でドメインを選んで、サーバーを設置し、ホームページを公開することは形に見えます。
そのため、今後勉強するにあたって、WEBに関して興味を持って取り組むことが出来るかの判断材料となります。
WEBに関するプログラミングを学びたい方は、最初の一歩として取り組んでみることをお勧めします。
また、自分のホームページを持つことに興味を持つことが出来なければ、WEB関係のプログラミングを学んでも楽しいと思えないため、他の機械学習や業務効率のためのプログラミングを学ばれることをお勧めします。
HTMLとCSSの勉強
WEBプログラミングに興味を持った方がまず最初に勉強するのが、HTMLとCSSです。
ただ、HTMLとCSSはプログラミング言語ではなくマークアップ言語と呼ばれます。
HTMLはタグを挟んで文章を作成し、それをCSSで装飾するもことになります。
HTML (HyperText Markup Language) はウェブのもっとも基本的な構成要素です。 HTML はウェブページの基本レイアウトに従ってウェブページのコンテンツを記述し定義するものです。
https://developer.mozilla.org/ja/ 引用
カスケーディングスタイルシート (CSS) はスタイルシート言語であり、HTML や XML (方言である SVG、MathML、XHTML などを含む) で記述された文書の体裁や見栄えを表現するために用いられます。 CSS は、要素が画面上で (あるいは紙や音声といった別のメディア上で) どのように表現されるのかを定義します。
https://developer.mozilla.org/ja/ 引用
JavaScript
HTMLとCSSを学んだ方は、次からプログラミング言語を学ぶことになりますが、ブラウザで動く JavaScriptを学ぶことが多いです。
JavaScriptはWEBブラウザ(chromeやsafariなど)で動くプログラミング言語です。
そのため、サーバーで動くプログラミング言語であるサーバーサイドプログラミング言語と区別して、フロントエンドプログラミング言語と呼ばれます。
主にHTMLやCSSの記述内容を変えるために用いられ、画面上の動きや変化などを出します。
プログラミングを実行するための必要なものが、ブラウザ(chromeやsafariなど) で済み、記述内容がすぐ反映されるため、初心者が取っ付きやすいです。
JavaScript (JS) は軽量で、インタープリター型、あるいは実行時コンパイルされる、第一級関数を備えたプログラミング言語です。ウェブページでよく使用されるスクリプト言語として知られ、多くの非ブラウザー環境、例えば Node.js や Apache CouchDB や Adobe Acrobat などでも使用されています。 JavaScript はプロトタイプベースで、シングルスレッドで、動的型付けを持ち、そしてオブジェクト指向、命令型、宣言型 (関数プログラミングなど) といったスタイルをサポートするマルチパラダイムのスクリプト言語です。
https://developer.mozilla.org/ja/ 引用
PHPの勉強
PHPはサーバーで動くことから、サーバーサイドの言語と呼ばれます。
サーバー上で動き、検索などのリクエスト(依頼)に対して、データベースから必要な情報を取得し、依頼者にその情報を加工した上で、レスポンス(返答)するために使用される技術です。
サーバーサイドの言語には、PHPの他にJava、RubyやPythonもありますが、最も使用されている言語はPHPになります。
PHP (
https://www.php.net/manual/ja/intro-whatis.php 引用PHP: Hypertext Preprocessor
を再帰的に略したものです) は、広く使われているオープンソースの汎用スクリプト言語です。 PHP は、特に Web 開発に適しており、HTML に埋め込むことができます。
ワードプレスはPHPで出来ている
PHPの人気は、プログラミングの実行環境を構築しやすい、レンタルサーバーのほとんどで導入されているなど様々な理由がありますが、一番の理由はordPressがPHPで出来ていることが一番の要因であると考えられています。
そして、PHPで作られているWordPressは、世界のサイトのほとんどに導入されており、PHPを理解できるようになると、WordPressのカスタマイズをすることが出来ます。
WordPressを少しでも手を加えることが出来るようになると仕事の幅も広がりますが、昔からあるシステムで複雑な構成になっており、ブラックボックスが多いことには注意をしなければなりません。
LinuxとSQLの知識
PHPはサーバーサイドで動くことからサーバーに関する知識、そしてデータベースの知識と密接に関係しています。
特に、PHPはデータベースにアクセスし、必要な情報を表示・加工することが仕事であるため、データベースを操作するためのSQLはPHPの学習に必須になります。
Linuxはウェブサーバーによく使用されるOSであり、プログラミングを実行する環境を作るために必要な知識ですが、PHPとSQLなどのデータベースを使用するくらいなら、ほとんどのサーバで事前に用意されています。
そのため、自分で好きなプログラミング言語などを選びたいと思った時に、Linuxを勉強する必要があります。
プレームワークであるLaravel
私は、今はこのLaravelを勉強しています。
MVCという概念、どのオブジェクトやファイルを引き継いだかの名前空間とオブジェクト指向の考え方が大切になります。
フレームワークまで出来るようになれば、WEBエンジニアとして就職することが出来ると言われています。
プログラミング以外の画像編集
もし、WEBサービスを作るWEB開発ではなく、ホームページを作成するようなWEB制作に興味があるならば、プログラミングよりホームページに載せる画像を作成するスキルの方が大切かもしれません。
WEB制作をするならば、AdobeのPhotoshopなどの画像編集は、ほぼ必須になります。
私が依頼を受けた仕事
私自身、ワードプレスを使用したホームページ作成を数件受注しました。
ここまで多くのことを学んできましたが、最初に取り組んだワードプレスのサイト制作と画像編集ソウトの知識しか使わない案件でした。
副業でWEB関係の仕事をするならば、プログラミングというより、Wordpressでのホームページ作成方法と画像編集ソフトの使用方法を覚えた方が、稼ぐという側面では効果的だと思います。
私がこれから勉強したいこと
プレームワークまでとりあえず勉強することが出来たため、これからは今までの知識の定着をさせ、基本的なWEBサイト運用をできるようになりたいです。
また、Linuxを通じてサーバーの構築方法やまたセキュリティーに関することも勉強していきたいと思ってます。
回答
ここまで、読んで下さりありがとうございます。
以上のことを行ってた上での、以下の3の事項に質問を分割し回答させて頂きます。
ただ、今現時点での私の回答であることをご理解ください。
『情報が多く取捨選択が難しい』が何を選択すればいいのか?
目的が明確であるならば、その分野を学べばいいと思いますが、決まってなければ上記に記載したWEB関係をオススメします。
また、業務の効率化に興味をお持ちなら、ExcelのVBやパイソンなどで、表計算の自動化などのプログラミングの学習でもいいのかもしれません。
『稼げるレベルになるにはどの程度出来る様になればいいのか? 』
ワードプレスとそのサイトに使うための画像の作成が出来れば、WEBサイトの制作で稼ぐことは出来ると思います。
ただ、 ワードプレスでのサイト作成自体、操作方法が分かればスキルは必要がないため、単価がかなり低いことを認識しなければいけないと思ってます。
また、プログラミングでWEBサービスを作るようなWEB開発になると、どうしてもチームでの開発になってしまうため、副業には適さないかもしれません。
そのため、今後は副業で稼げるレベルになるためには、WEBサイトを制作をして、そこから集客などのマーケティングを付随させる必要があると思ってます。
『教材などやHTMLなど聞いたことがある程度』の状況で何をすべきか?
ワードプレスでサイトを設置してホームページを一度作ってみることをオススメします。
それで楽しいと思えたら、HTMLを勉強してみて、一からホームページを作ってみることをお勧めします。
まとめ
記事を最後まで読んで下さり、ありがとうございました。
今現時点では、勉強時間に対して、それを回収できるほど稼いでいません。
しかし、これからの時代に備えるという意味では、勉強することが出来てよかったと思ってます。