
プログラミングでプログラマーになる為にできる学習の始め方
プログラミングでプログラマーになる為にできる学習の始め方
【3カ月で達成!!】もし貴方がプログラマーを目指すならまず初めに読んでおくべき教科書
著者:相川正樹
まえがき
今後プログラミング学習を始めようと考えている人へ最適な情報をお伝えします。
✓ 「プログラミング学習の始め方と具体的な手順を教えて」
✓ 「プログラミングって、一体どこから手を付けたら良いの?」
✓ 「興味はあるけど、どうやっておこなえば良いのか手順が分からない」
このような疑問にお答えします。
私は現在、プログラミング歴5年ほどになります。
現在はフリーランスエンジニアとして収入を得ながら生活しています。
本書籍は
「プログラミングに興味があって、これから頑張りたいと思っているけれど、情報があり過ぎて一体どこから手をつけて良いのか分からない(泣)」
という方に向けて書いていこうと思います。
■ プログラミング学習の目標設定
■ 具体的な始め方
■ その後のキャリア
まで、よりリアルにイメージできるようになるでしょう。
会社で働くことに対して嫌気がさしていた私を救ってくれたのが、プログラミングでした。
プログラミングは私にとってはかけがえのない宝物でもあり、プログラミングで人生が変わったと言っても過言ではありません。
そのため、本書籍はプログラミングに感謝の気持ちを込めつつ、執筆しようと思っています。
インターネット社会となっている昨今、プログラミングを独学で学ぶことも安易になってきており、フリーランスとして働くことを視野に入れる方も年々増加傾向にあります。
就職をせずにフリーランスを目指すことは以前よりも気軽にできるようになってはきているのですが
「フリーランスコミュニティ」
などもありますので、まずはそういったコミュニティを活用してみるのも一案です。
【プログラミングは稼ぐことができる】
プログラミングで稼ぐには、まず目標設定をおこなうことが大事になります。
「プログラミングで稼ぐ」
ことの考え方として、
「プログラミングは人生を向上するツール」であると捉えるのです。
プログラミングで月に数万稼ぐことは案外簡単だったりします。
ではなぜ、プログラミングで月数万円稼ぐのが
「簡単なこと」
なのか?
その理由に迫ってみようと思います。
まずクラウドソーシングサイトで仕事情報を検索してみましょう。
プログラミング案件は年々増えており、これでもかというほど色々な案件が掲載されています。
ちなみにクラウドソーシングサービスというのは
「クラウドソーシング」=仕事を発注したい企業
がインターネットを通じて不特定多数の人々に仕事を依頼すること。
それを簡単にできるよう、発注したい人と受注したい人の出会いの場を提供するサービスです。
このクラウドソーシングという新し働き方が少しずつ日本でも広まってきていることで、クラウドソーシングサービスのサイトも増えてきています。
クラウドソーシングサービスには以下のようなサイトがあります。
参考にしてくださいね。
• クラウドソーシングサイトの代表的な存在『ランサーズ』
• クライアントの質が高いことで有名『クラウドワークス』
• とにかく自分のスキルを売り込みたい人向け『ココナラ』
• 自信がなくても安心して受注できる『クラウド』
• 自分の求める仕事とマッチングしやすい『スキルクラウド』
• スキルがなくてもOK!初心者も安心『Shinobiライティング』
例えば、
ランサーズでの案件で説明をしたいと思います。
1つ目の案件例紹介
「LPコーディング案件」
⇒こちらは大体1ページのWebサイト制作で2万円ほど貰えます。
この案件の場合ですと、大体3時間くらいで作れるでしょう。
2つ目の案件例紹介
「コーポレートサイトの制作案件」
⇒5ページのWebサイト制作で大体5〜10万円ほど。
一度きりではなくて継続的な収入に繋がるような記載もあり、狙い目の案件ですね。
このように、クラウドソーシングサービスを活用し、プログラミングの仕事で家に居ながら簡単にお金を稼ぐことができる時代になってきているのですね。
またサービス内で掲載されている案件は実に多種多様。
エンジニアとして経験があればあるほど、自ずと収入も増えやすい仕組みになっています。
質問
「サラリーマンをしながら、プログラミングの仕事を受注し、月に5万円以上稼ぎたいと考えています。その場合、一つの仕事の納期はどの位で設定するのでしょうか?」
⇒仕事によりますが、2週間〜2ヶ月ほどと考えると良いと思います。
特に初心者の頃はどうしても一つの仕事に時間がかかりやすいですので、余裕を持った納期設定ができる案件を選ぶようにしたいですね。
またここで注意したいのが急募、急ぎの案件の場合です。急募の案件は、金額が高めになっていることが多いのですが、その分納期を急いでほしいと発注者に言われることが多いです。
初心者でまだ慣れないうちは、納期がゆるめの案件を探して応募してみましょう。
私の周りにもエンジニアでバリバリ働く人いますけど、わずか20代で月収50万以上の人、います。
ひたむきに頑張れば実力が認められ、プログラミング業界で生き残っていけるのです。
そして、大事なのはやはり「伸びている業界で働く」ことだと思います。
それでは次は、
クラウドソーシング以外の仕事受注ルートについて解説しましょう。
【ブログからの受注】
これは、その名の通り
「自分の専門分野をブログで発信すること」
です。
例えば、以下をご覧ください。
『WordPressのおすすめプラグイン』
『WordPressのECサイト構築で失敗する理由とは』
等々。
このように、自分自信の専門分野をブログを通して発信していくことも大切な事柄だったりします。
また、ブログ内でのプロフィールも充実させましょう。
プロフィールといっても、細かく書かずともシンプルでOKです。
プロフィールページの作り方は、とにかく
「シンプル」
これに尽きます。
• 何者なのか
• 何ができるか
• 実績はどんなものか
といった点を簡潔に書くことです。
そしてSNSにも繋げるように、発信していくことも必須となります。
このように自分の専門分野をプロフィールでさくっと発信することで
「本当に知識を持っているんだな!」
ということが証明できて、後の受注に繋がったりもします。
自分が自慢できるポートフォリオになるということです。
また情報発信を継続すると、クライアント側が
「この分野はあの人が詳しいんじゃないかな」
「一度相談してみるか!」
という思考プロセスとなる場合が多く
「記事を読んだ人の記憶に残す」
ことが簡単にできるようになります。
本当に小さな積み重ねにはなりますが、諦めずに継続しましょう。
そうすると、ブログからの継続受注が叶います。
そのため、一生涯の収入を確保できる可能性の高いブログでの発信は必須タスクだと個人的にも思います。
しかしブログが無いという人もいると思います。
そんな人はWordPressブログを始めてみることをおすすめします。
質問
「WordPressを勉強したいです。WordPressの習得だけで、仕事をもらうことは可能ですか?」
答えは、「可能」です。
しかしながらWordPressを理解するためには、HTML/CSS/PHPの基礎であったりjQueryとJavaScriptの基礎知識が必要になってきます。
この知識はすごく難しいものではないですが、簡単なものでもありません。
例えば、
ランサーズに掲載されている仕事で「新規立ち上げ会社のコーポレートサイト制作をお願いします【報酬10〜20万円】」というのがあります。
報酬もそこそこ高く、魅力的に思えますよね。
この仕事こそ、まさにWordPress案件といえます。
上記のような案件を見て、最初にパッと
「大体7割くらいは作るんだな」
というイメージが湧くのであれば、十分に稼いでいける能力を持っている証拠です。
【営業パートナーから受注する】
あなたのスキルを商品化しなければ営業パートナーからは受注できません。
スキルを商品化(いわゆるプライシング)すること、これが大事になってきます。
ちなみにプライシング【pricing】というのは、取引の値段を決めることです。
基本的に長期で契約する際におこなわれる値段決めになります。
(goo辞書一部抜粋 引用)
仕事や値段などは以下のような感じです。
✓ コーポレートサイト制作:15万円〜
✓ 比較サイト制作:18万円〜
✓ Webメディア制作:20万円〜
こう見てみると全体的に報酬は良いですね。
特にWebメディア制作なんかは一回の依頼で20万円〜という値段ですので、十分に生活していけます。
プログラミングに必要になる「スキルセット」は、主に以下があります。
HTML, CSS, JavaScript基礎, jQuery基礎, PHP基礎, WordPress
です。
それぞれのレベル感なるものが存在しますので、ご紹介しておきます。
■HTMLとCSSのレベル感とは?
Bootstrapなどで、どんなサイトであってもコーディングできるよ!というレベルなら全然OKです。
■ JavaScriptとjQueryのレベル感とは?
jQueryのライブラリで、よくあるエフェクトを実装できるレベルであれば問題ありません。
JavaScriptに関しては必要最低限の理解でOKですし、参考書を一冊読む程度でかまいません。
■PHPとWordPressのレベル感とは?
WordPressのテーマを全くのゼロから構築することができれば、大丈夫です。
PHPに関しても基礎の理解が十分にできていれば良いかなと思います。
PHPのコードを細かく書けなくてもWordPress案件を引き受ける分には問題ないでしょう。
しかし、実はこの段階で
「えー!?自分には無理!」
と辞める人が99%です。
商品化というのは何度もおこなうものではなくて、1回やれば完了しますので、やらないなんて絶対に損ですよ。
商品化が完了すれば、あとは営業パートナー探しを始めると良いです。
これは一例になりますが、Web制作会社の営業の人などから案件をこちらに流して貰える可能性もありますので得です。
その他の方法として、営業パートナーをブログから募集する、というのも一案です。
余談になりますが、3、4年位前の話です。プログラマーの友人がいるのですが、その友人から
「エステサロンのホームページの設計をお願い!」
と依頼されました。
「え!?設計なんて無理なんじゃないか…?」
と不安だらけだったのですが、結局引き受けました。
設計代は30万円でした。
完成するまでに約1ヶ月(1日約3時間ほどの作業)かかりましたが、月収30万円というのは大きい報酬です。
このとき学んだこと、それは全部1人きりでやろうとしないことです。
1つのWebサイトを作る際は、まずプロデューサーがいて、設計者、
プログラマー、そしてwebデザイナー、webライター等々、たくさんの人が関わっています。
つまりこれは、自分にもできる仕事が存在するということでもありますよね。
【付加価値について】
プログラマーになって効率よく稼ぐには、まず商品の付加価値を考えるのが大切になってきます。
例えば
「SEOを付加価値にすること」
「モノを売るには未来を売れ」
とはビジネスの世界での有名な言葉です。
この言葉は、Web制作でも同じだといえます。
例えば、
単に
「Webサイトを作りませんか?」
と言われてもたいていの人は
「しません」
と答えると思います。
そこで付加価値をつけるのです。
例えば
「Webを作って売上アップを狙いませんか?SEO対策します」
→「そうなの?ちょっと気になるから話を聞かせて」
付加価値をつけることで、このようになる可能性が高いです。
つまり、上のようなやり取りをおこなった場合は、効率よく受注につなげることができ、尚且つ継続案件となりやすい傾向にあります。
「でも…SEOなんて分からない」
「マーケティングもやるの?」
と右も左も分からない状態になると思いますが、SEOが不可能であればSEOに強いパートナーを探せば良いことです。
つまり、SEOに詳しい人を探し、営業や開発者、デザイナーであったりマーケターと仕事のチームを組めば良いのです。
いわば一つの会社のようなイメージです。
少し極端な話になりますが、もしプログラミングが不可能でも、Web制作会社を作ることは可能だということになります。
すべてを外注すれば可能になるわけですよ。
そこで必要になるのが、SEOの付加価値を書いた価格表や解説文です。
価格設定は、中堅の制作会社程を目安にするのが無難かと思います。
【後はパソコンがあれば準備完了!】
次に環境をととのえましょう。
パソコンさえあれば用意完了です。
完全初心者から受ける、よくある質問で
「パソコンはどうすれば良いのでしょう?」
と聞かれることが結構あります。
結論として、予算に余裕があるのであれば、MacbookProの13インチがおすすめです。
この機種はとてもコスパが良いことで評判で、良い買い物になること間違いなし。
最低でも2〜3年は十分に使えますし、それ以上使うことも余裕でできます。
エンジニアを目指す場合は特に、MacbookProの13インチがあなたの強力なパートナーになってくれるでしょう。
MacbookProの13インチがおすすめの理由は?
理由としては、以下が挙げられます。
一つ目:プログラミング系アプリの充実度が高い
二つ目:直感的に操作可能。生産性がぐんとアップする
三つ目:スペックが高い。画面サイズもちょうど良く作業がしやすい
しかし予算的に厳しい方もいると思います。
そんな方は、すでに今持っているパソコンを使えば何も問題ありません。
半年ほど頑張って貯金して購入するのもありです。
また現在は分割購入もできるようになっていますので、どうしても欲しい!という方はそういったサービスを利用するのも一案かと思います。
どちらにせよお金のかかることですので、慎重に考えましょう。
「お金の余裕は心の余裕」
ですので、自分のお財布と心と相談することを忘れないようにしてくださいね。
【プログラミングとは何か?】
「そもそもプログラミングってどんなもの?」
と疑問を抱いている人の為に、解説します。
またまたIT用語辞典より一部抜粋 引用しますが、
プログラミングとは、コンピュータに意図した動作をおこなわせるために、まとめた処理手順を作成すること。
その作成された手順のことをコンピュータプログラム(computer program)または単にプログラムと呼びます。
プログラミングをおこなう人、職種のことをプログラマー(programmer)と呼ぶ。
要約するとプログラミングの仕事は、パソコンに指示を出す仕事というイメージです。
例えば、
普通の会社であれば、上司がいて、その上司が部下に仕事の指示を出すという流れになりますよね。
エンジニアの場合もそれと同じで、パソコンに指示出し、ビジネスを動かしていくのです。
プログラミングは
「言語」
ですので、言語の受け手=パソコンとなります。
対面の営業職などは人を相手に話をしてビジネスを動かしていきますが、プログラマーの場合はパソコンと会話をするというイメージですね。
では、ここでまたよくある質問に移りたいと思います。
「おすすめの言語は?」
この手の質問は今までに約100回くらいは聞かれたと思います。
結論を先に申し上げますと
「Web系の言語」
です。
IT用語辞典より、一部抜粋して以下にご紹介します。
さらっと読む感じでOKです。
Webとは、インターネット上で標準的に用いられている文書の公開・閲覧システムのこと。
実は、蜘蛛の巣を意味する英単語が
「Web」
で多数の文書が互いにリンクし、複雑に繋がり合っている様子を蜘蛛の巣のような構造に例えている。
※IT用語辞典より一部抜粋
ではここで、 Web系の言語とは何かという疑問が湧いてきますよね。
Web系の言語とは、主に
「HTML/CSS/PHP/JavaScript/Ruby」
このあたりのことを指します。
■HTML(HyperText Markup Language )エイチティエムエル
HTMLは、文書の一部を“<”と“>”で挟む構造の一般に「タグ」と呼ばれる特別な文字列で囲う言語。
この“<”と“>”の間に特定の英数字などを入れることで、文章の構造、修飾についての情報を文書に埋め込んで記述し、表現することが可能です。
■CSS(Cascading Style Sheets ) カスケーディングスタイルシート
htmlに飾り付けをしていくような感じです。
■PHP ( Hypertext Preprocessor)ピイエイチピー
PHPは、Webサーバの機能を拡張して、動的なWebページを生成するために活用されるプログラミング言語の一種です。
■JavaScript( JS )ジャバスクリプト
JavaScriptは、主にWebページに組み込まれているプログラムを、Webブラウザ上で実行するために使われるプログラミング言語です。
■Ruby
これは、まつもとゆきひろ(Matz)氏が開発を創始した著名なオブジェクト指向プログラミング言語です。
処理系(実行環境)として、ソースコードを実行に移せるインタプリタ採用。スクリプト言語の一種
以上<<<IT用語辞典より一部抜粋しています
上記のようなWeb系言語の仕事というのは、とにかく効率的に稼ぎやすい点が挙げられるでしょう。
前述しましたが、プログラミング学習の目標となるのはとにかく
「プログラミングで稼ぐこと」
です。
スピーディーに稼ぐために、まずはWeb系を選ぶことを忘れないようにしましょう。
それでも
「HTML、CSS、、PHP、、JavaScript、???私には無理」
と思うかもしれません。
けれども、皆誰もが初めは不安で、右も左も分からない状態からのスタートです。
やる気さえあれば絶対に大丈夫なので安心してくださいね。
とにもかくにも、実践あるのみです。
初歩のHTMLを学んでおくと、PHPも自然と理解できるようになります。
PHPを学べばRubyも理解しやすくなるでしょう。
それほど難しく考えないことが大切です。
他によくある質問で
「アプリ開発のプログラミングは?」
「iPhoneアプリを作ってみたい」
答えとしては
「OK」
です。
例えアプリ開発でもWeb開発でも、基本的な考え方は同じになります。
アプリ開発も十分なお金を稼げることは事実。将来性もあって、とても需要の高い仕事ですので、Web開発以外にアプリ開発もできれば仕事に困ることは無さそうですね。
【簡単なサイト作りに挑戦しよう】
プログラミングで実際にコーディングに挑戦してみると良いですよ。
見ているだけでは分かりませんし、実際に自分の手を動かして作業してみるとまた違った感覚で
「こうやってやれば良いのか!」
「意外と簡単かも」
となる場合が結構多いです。
学習手順としては、
まずは基礎を学んでおいて、次にサンプルサイトを自分で作る、たったのこれだけでOKです。
✓ HTMLとCSSを覚えたい
HTML、CSSの基礎を検索して、それらの記事や参考書、動画のとおりに学習を進めてみましょう。
ある程度基礎を理解できたと感じたとき、自分なりに簡単なサイトを作成してみてください。きっと自分の成長を肌で感じることができると思います。
✓ PHPを身につけたい
PHPの基礎を検索し、記事や参考書、動画のとおりに学習してください。これはさきほどと同じですね。
ある程度、基礎を理解したときに動くものを適当に作成してみましょう。
✓ JavaScriptを覚える
JavaScriptの基礎を検索し、記事や参考書のほか動画のとおりに学びます。
ある程度、理解したと感じたらなにか動くものを作成します。
色々なパターンを作ってみると良いですよ。
以下に深掘りして解説しますので、ぜひ参考にしてください。
■プログラミングをゲームで学ぶ!
ゲームを通してプログラミングを学習する方法も存在します。
2015年頃から流行りはじめ、2016年頃にサービスが登場してきました。
今後もプログラミングをゲームで学ぶ方はどんどん増えていくと思います。
• Progate(プロゲート)
プログラミング学習全般を学ぶことができます。
私の周りでも使っている人が多くいて、SNS連動もしています。
モチベーション維持にも役立つのではないかと思います。
• Codecademy
プログラミング学習全般を学ぶのに最適で、ゲーム感覚でおこなえるのが強みです。
サービス規模としてはProgateよりも大きめです。
ただしこのサービスは英語が出来たほうが良いです。
英語が得意だよっていう人はCodecademyがおすすめです。
利用は基本的に無料ですので、とりあえず登録しておくだけでも◎。登録だけしておいて、気になるレッスンを後でチェックするという方法も良いのではないでしょうか。
■動画を使用してプログラミング学習!?
動画で基礎学習をおこなうのであれば、「ドットインストール」をおすすめします。
動画を視聴する→一時停止などを使いながら実際にコードを書く→動画通りににコードが動くか検証
これだけでOK。
動画の通りに正常に動くならそれでOKですし、動かないのであれば巻き戻して、自分の間違いを探せば良いのです。
こんな感じで、あまり難しく考えずに学習していきましょう。
•ドットインストール(HTML入門/CSS入門の場合におすすめ)
HTML入門 (全24回)
CSS入門 (全23回)
が可能です。
Web業界においては、とても有名なドットインストール。
ドットインストールは、プログラミングの作業を動画でわかりやすく解説してくれているサイトです。
私も普段からかなり活用していて、お世話になりまくりです。
海外の場合は動画でプログラミングを学ぶことができるサイトがこれでもかというほどたくさんあるので、羨ましいですよね。
日本ではドットインストールくらいしか、詳しく解説してくれているサイトは存在しません。
•Youtube(プログラミング学習全般を学ぶのに最適!)
これは盲点だった!
という人も多いのですが、Youtubeでもプログラミングを勉強できます。
というか、私がプログラミングを独学で学んで、フリーランスデビューできたのはYouTubeのおかげといっても過言ではないです。
YouTubeは今や世界中で視聴されているプラットフォームですので、とにかく動画の本数が多いうえに、クオリティが高いです。
では、どうやってYoutubeを使って高品質なプログラミング学習動画を探すのか?
といいますと、PHPの場合ですと「php tutorial」と検索しましょう。
他の言語の場合でも、手順は同じ。
JavaScriptなら、[javascript tutorial]です。
そして視聴回数順に並べ替えて、良さげな動画を視聴します。
色々ありますが、シリーズものを選べばまず失敗は無いかなと思います。
• udemy(プログラミング学習全般が学べる!)
udemyは、動画を販売できるプラットフォームです。プログラマーの方々が動画をアップしていて、たまに良い感じのがあります。
• Laracasts(PHPフレームワークのLaravelを勉強できる)
PHPマスターを目指す場合は、Laravelは必須。さらにLaracastsも必須項目になります。
Laracastsの講師はプログラミング界においてもかなりの有名人ですので、初心者に分かりやすい解説をしてくれますので、ほんとにおすすめです。