まとめ、参考資料、買った本、個人開発を始めよう
ということで、最後に個人運営するための手順をまとめておきます。
お疲れ様です! ここまでお読みいただきありがとうございます。本編では学習の部分は省略して概略だけ説明してきました。ここで個人開発をゼロから行う場合の学習ステップを簡単にまとめておきます。後半は勉強に使ったサイトや書籍、URLなんかを置いておきます。
--- 初心者向けの個人開発学習ステップ ---
■作りたいサービスを考える。
まず、これが基本です。
これがない場合はやめましょう。作りたいものがない場合は頑張っても続かないので。
自分が使いたいものや、機能なんかに想いを馳せましょう。勉強するモチベーションにつながるので、楽しいサービスを思い浮かべておきましょう。サービス名を付けると愛着がわきます。
アイデアや初心を忘れないようにどこかにメモをしておくといいです。定期的に見返しましょう。
個人開発はかなり勉強量が多いですが、それを知ってでも作りたいと思ったら次に進みます。
↓
■Webの仕組みを知る。
とりあえずどんな仕組みで動いているか簡単に知りましょう。ドメイン、サーバー、静的サイト、動的サイト、Webアプリケーション、スマホアプリあたりの知識を知っておけばいいです。
すでに知っている人はスキップ。学習時間は2時間くらい。
書籍より、Webサイトの方で十分。各用語をググってなんとなくの理解で結構。どうせ使わないと覚えないから。
↓
■HTML/CSS/JavaScriptについて学習する。
どこでも大抵必要になるのがこの3つの言語。バックエンドに徹する人でも、知っておいた方がいいので必ず勉強しましょう。特に近年ではバックエンドにもJavaScriptを使うところが増えてきているので抑えておきたいですね。
すでに知っている人はスキップ。ただ、古いHTML/CSSを覚えているだけの場合は再履修が必要です。
時間がない方は最低限HTML/CSSだけは覚えてください。完璧でなくてもいいです。ひとまず、使い方と役割だけ覚えれば大丈夫。詳細なものは実際にやるときに勉強しないといけないので。
書籍だと入門書を一冊程度、Webサイトのまとめを見るのでもいいです。そこまで徹底してやらなくても問題ないかなって思います。学習サイトのコース履修でもいいですね。
JavaScriptは絶対にES6の書き方を勉強してください。昔の書き方では通用しないことが増えてます。書籍を買う場合も最新版の書き方が載っているものを見てください。
各言語は2~4時間ずつくらいの学習でいいです。実践しながらじゃないとなかなか身につかないので。ひとまず、どんなものか、どう使うのか程度を目安に。
↓
■バックエンドの言語/フレームワークを学習する。
とりあえずバックエンド用の言語 (フレームワーク)を選びましょう。言語というよりはフレームワーク選んだ方が手っ取り早いですかね。初心者の方はRuby/PHP/Python/JavaScriptあたりから選ぶと間違いはないです。
学習難易度が低いのと参考書がそろっているという意味では初心者はRubyがいいと思います。それかJavaScript。まぁどれでもいいですが、ひとまず選んでおきましょう。何個か試してもいいです。
言語の勉強はしてもいいですし、しなくてもいいです。簡単な書き方くらいは覚えておくといいですが、フレームワークを使う場合は書き方が決まってるのであとでも平気。
初心者向けの書籍一冊を眺めるだけで問題ないです。1~2時間くらいの学習でいいと思います。
ここまでをできたら一週間以内に終わらせましょう。座学に時間をかけすぎてもあまりよろしくないので。作りながら覚えましょう。
↓
■エディタを用意する。
Webアプリケーションを作る場合は高機能なエディタが必須です。開発効率が段違いです。言語によっておすすめのエディタが違うので色々と評判を調べて何種類か使ってから選んでみてください。VSCodeあたりが無難かなって思います。
無料版でもいいですが、時間を無駄にしたくない場合は有料版を選んでおくといいです。チュートリアルでエディタのことについて触れているところもあるので、チュートリアルで選んでもいいです。
↓
■チュートリアルをクリアする。
大体のフレームワークにはチュートリアルが用意されているので、その中から2、3個選んでクリアしてください。流れと書き方が身につきます。できたら公開の部分までやっているチュートリアルがおすすめですね。
書籍でも学習サイトでも構いません。ひとまず、全体の流れと使い方さえわかればいいので。書籍の場合は初心者向けの本が大抵あるのでそれを選びましょう。経験者向けの本は選ばないようにしましょう。小説投稿サイトを作りたいのだったらブログサービスを作るチュートリアルをやるといいですね。
組み合わせとしては初心者向けのチュートリアルと公式チュートリアルを押さえるといいかなって思います。有名なフレームワークはいくつもチュートリアルがあるので、自分が作りたいサービスに近いものを選びましょう。
できる限り公開までチュートリアルでやってるものを選んでおくと後々役立ちますし、サービスを作るのが現実的になります。
自分が作ったものを眺めるのはモチベーションにつながります。
学習時間はチュートリアルにもよりますが、数時間~十数時間くらいの分量ですかね。
周回してもいいです。最初は単に写経して、ひとまず動くところまでやってしまうといいです。2週目に内容を理解しながら進めると全体がわかっていいかなと思います。
この部分はできたら1週間以内に終わらせましょう。流れを理解するのが目的です。
↓
■設計する。
作り方がわかったら、作りたいもののコンセプトや、対象について真剣に考えてください。どんなものを作りたいかを明確にしておけば後が楽です。できたら画面についてもここである程度決めておくといいでしょう。
少なくとも、コンセプトだけはしっかりと考えてください。ここが崩れるとすべて崩れます。
また、サービスが最低限成り立つ機能は抜き出してください。最初はそれで公開することになります。
↓
■スケジュールを立てる。
最初は1か月以内に終わるようなものを作るのがいいです。最大でも3か月以内にとりあえず完成させてください。それ以上かかるものはやめましょう。概ね失敗します。経験があれば、どうにかなりますが、初心者だと大体モチベーションがなくなって挫折します。
できれば、最低限の項目と、余裕があれば作る部分、挑戦する部分に分けておきましょう。最低限の項目ができたら公開して使ってもらってフィードバックを貰うのがいいと思います。
↓
■開発する。
できる限りタスクは分割しましょう。必ずやること、余裕があればやることに分けてやると効果的。わからなかったらすぐ調べましょう。
新しく機能を思いついてもメモするくらいで、脇道にそれないようにしましょう。一心不乱に作ります。最低限の機能だけ確実に終わるようにしましょう。
デザインが気に入らなくてもとりあえず動くようならそれでいいと思います。どんなに不格好でも動けば問題ないです。
一番大事なのは動くものを作ることです。完璧なものを作ってからという考えはやめましょう。
↓
■公開する。
最低限の機能ができたら公開しましょう。作ったものはサーバーで動かして公開してください。
【フレームワーク名 + デプロイ + サーバーサービス名】で検索すると動かし方は分かると思います。
サーバー会社はどこでもいいですが、無料利用期間があるものがいいかと思います。チュートリアルや書籍の内容が公開まである場合はそのサービスを使うと楽です。
ここまでの流れがわかったらあとは大丈夫だと思うので、ここまではできるだけ早く到達しましょう。1か月以内が理想です。できたら3か月以内にたどり着くのが挫折しないコツです。
公開の仕方までたどり着くことができたら、個人開発者として名乗れます。
サービスは友人などに使ってもらってフィードバックを受けるといいでしょう。
↓
■改善する
悪いところがあったら改善しましょう。また、作ってない機能があったら追加しましょう。
ユーザーからの改善要求が来るかもしれませんし、不満も出てくるかもしれません。
ですが、どんなサービスでも絶対に不満は出ます。AmazonであれTwitterであれFacebookであれGoogleであれ、口コミを見ていると不満は出てきています。どんな大手企業が作ったものでも不満は出るのですから、個人開発でも不満は出てきます。
完璧なサービスをあまり求めないようにしましょう。
↓
■まとめる
はてなブログやQiitaやnote、Zennなど技術公開しているところでやったことをまとめましょう。アウトプットは大事です。
記録を付けていると後々見返した時に発見があったり、リニューアルするときに役立ちます。
↓
■新しく作りたいものを考える/新機能を考える。
だいたい予定していたことが終わったら、既存の物を改良したり、新しく作りたいものを考えてまた作りましょう。
いくつも分野が違うサービスを作ると、色々な知見が得られて楽しいと思います。
以上。
--- お役立ちサイト ---
■GitHub
https://github.co.jp/
ソフトウェア開発のプラットフォーム。多くのオープンソースプロジェクトが存在。
開発の参考になるコードも多数存在。開発者にとってとても便利で有益な場所。
■MDN Web Docs
https://developer.mozilla.org/ja/
CSS、HTML、JavaScript などのウェブ標準の学習プラットフォーム。ウェブ技術とウェブを支えるソフトウェアについて学ぶことができる。
HTMLの要素、CSSのプロパティなど使い方がわからない場合はこちらを見るのがとても参考になる。
■Django Girlsチュートリアル
https://tutorial.djangogirls.org/ja/
Djangoのチュートリアルさいとの一つ。おすすめのチュートリアルを見たらここの評判がよかった。
ブログ投稿サービスを作るためのチュートリアルが用意されている。ちょっとのアレンジで簡単な小説投稿サイトができる。
■Qiita
https://qiita.com/
エンジニアリングに関する知識を記録・共有するためのサービス。プログラミングにおける多くの知見を有しており、参考になる記事が多数存在。
■note
https://note.com/
ユーザーがそのコンテンツを楽しんで応援できるメディアプラットフォーム。だれもが創作を楽しんで続けられるよう、安心できる雰囲気や、多様性を大切にしている場所。
技術的な記事ではなく、心構えや考え方がとても参考になる記事が多数存在。
特に、noteのCXOである深津 貴之さんの記事は必見。サービス設計に対する多くの知見をもたらしてくれる。特に以下の2つの記事は開発者にとってとても参考になるかと。
-サービスは荒野に旗を立てるがごとく
https://note.com/fladdict/n/ned53054ddc5b
-ビジネス、テクノロジー、クリエイティヴの バランスをとるには?
https://note.com/fladdict/n/nebde4365c1b1
■伝統色のいろは
https://irocore.com/
日本色を多く取り揃えている。色に悩んだ場合は眺めていると楽しい。
和風のサイトを作成するときの色使いに役立つところ。
■HTML&CSS入門 -サルワカ
https://saruwakakun.com/html-css/basic
サルでもわかるを合言葉に、分かりやすくHTML/CSSを学べるサイト。
はじめてHTMLとCSSを学ぶ人にとってもとても参考になる場所。
初学者におすすめ。
--- お役立ちサイトだけどあんまり使わなかったところ ---
自分は動画形式の学習には向いてないのであんまり使ってない。(試してはみた)
■Udemy
https://www.udemy.com/
動画形式の学習アプリケーション。
動画形式の学習が合う人には多くのコースがあって便利だと思う。
セール期間にまとめ買いするのがオススメ。
■YouTube
https://www.youtube.com/
プログラミング言語を検索すると結構出てくる。
動画形式の学習が合う人にはいいかと。
■Progate
https://prog-8.com/
初心者向けのプログラミング学習サイト。スライド形式、イラスト多め。
ある程度学習するためには有料会員になる必要がある。
--- 買った本 ---
■個人開発をはじめよう!クリエイター25人の実践エピソード
個人開発者の生の声を集めた本。
個人開発ってどんな感じなのかを知るのにいいかと思う。
■1冊ですべて身につくHTML & CSSとWebデザイン入門講座
■HTML5&CSS3デザイン 現場の新標準ガイド
■わかばちゃんと学ぶ Webサイト制作の基本〈HTML5・CSS3〉
■確かな力が身につくJavaScript「超」入門 第2版
■JavaScript コードレシピ集
HTML/CSS/JavaScriptを勉強するために購入。
HTML/CSSについては、「1冊ですべて身につくHTML & CSSとWebデザイン入門講座」とサルワカのホームページで十分かと。
JavaScriptはES6に対応した参考書を買うのが一番。古いサイトでvarを使っているところも多いので、そういう場所はなるべく避けるようにした方がよいかと。
個人的に入門書を一冊買って覚えたら、あとは「JavaScript コードレシピ集」を眺めて使えるようにするのがいいかと。
最近のHTML/CSS事情を知りたい方は、「HTML5&CSS3デザイン 現場の新標準ガイド」がまとまっている。
わかばちゃんと学ぶシリーズは、息抜きにいいと思う。絵がかわいいし。
■独学プログラマー Python言語の基本から仕事のやり方まで
■現場で使える Django の教科書《基礎編》
■現場で使える Django の教科書《実践編》
■動かして学ぶ! Python Django開発入門 (NEXT ONE)
■Djangoビギナーズブック
■Python Django3超入門
Python、Django関係の参考書。
PythonはともかくDjangoの日本語参考書は少ない。
Pythonは最低限の文法だけ見につけばいいので初学者用の参考書と独学プログラマーをよんでおけばDjangoを使う分にはをいいかと。
Djangoの参考書としては「現場で使える Django の教科書」は必須で、あとはDjangoチュートリアルの中から何個かやれば問題ないと思う。
AWSを使ってデプロイする場合は「動かして学ぶ! Python Django開発入門 (NEXT ONE)」が参考になるかと。
HerokuやPythonAnywhereなんかはググるのが早いかと。
■わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉
Gitの使い方はこれを読むのが最適だと思う。
最低限必要なことが網羅されているし、使う場面が分かりやすい。
■わかばちゃんと学ぶ Googleアナリティクス〈アクセス解析・Webマーケティング入門〉
もし、開発して運営することになったら役に立つ本。
カクヨムやノベルアップでは Googleアナリティクス使えるからそれ用に読んでもいいかもね。
■オブジェクト指向UIデザイン──使いやすいソフトウェアの原理 (WEB+DB PRESS plusシリーズ)
■インタフェースデザインのお約束 ―優れたUXを実現するための101のルール
UIデザインに関する参考書。
ユーザーが操作する画面をどうやって考えればいいか、役に立つ。
開発に慣れてくればこれがとても参考になると思う。
■ヘルプサイトの作り方 WEB+DB PRESS plus
ヘルプサイトを作るうえで大事なことを説明してくれる参考書。
■【改訂新版】良いウェブサービスを支える 「利用規約」の作り方
利用規約を作るうえで大事なことを説明してくれる参考書。
■21世紀最強の職業 Web系エンジニアになろう AI/DX時代を生き抜くためのキャリアガイドブック
もし、職業としての開発者になりたかったら、この本を読むといいかも。
必要な知識やどんな業界かなど説明されています。
とりあえずこの辺りの参考書を全部読んだら個人開発するうえで大体はいいのではないかなぁと思う。
とりあえず個人開発を始めるのに一番大事なのは、作りながら覚えることですね。
正直なところいくら知識を貯めても何かを作らないと身につかないです。
座学はそこそこにしておいて、実際に作ってみましょう。作りながら疑問に思ったことを調べてみてやっと覚える感じ。
まずやってみましょう。