実践型プログラミング学習の始め方。目的、目標の立て方 | 小さなサービスができるまで
こんにちはマツイです。
現在サービスを作っているので、その工程を何回かに分けてブログにまとめて行こうと思います。
ブログの内容は順を追って書き、検索時にもわかりやすくするために、実行・実装した内容をタイトルとして記載します。その他、作る際に心がけていることなども記載していきます。
ちなみに、記事は初めてサービスを作ってみたい、プログラミングを作りながら学びたい方を対象に書いています。
今回は、手始めの段取り部分なので「始め方」というタイトルに集約しています。次回から実装などの分野に入っていきたいと思います。
サービスかプログラミング学習か?目的はどれか?
まずは、自分がどちらなのかを意識しておく事は必要かと思います。 プログラミング学習が優先度高めならば、どんなサービスを作るかというよりも、どんなサービスであれば作れるかという視点で考えていけばいいからです。 そもそも、人がやらない事を思いつき、時間をかけずにリリースができ、マネタイズも考えプログラミングが身に付けば理想的なのですが、初めから「革新的なアイディア」「プログラミングスキル」「リリース」「マネタイズ」のこの4つを同時に行うのは至難の技ではないかと思います。
サービスを作るためのテーマと目標を設定をする
次にルールや目標設定が必要です。設定する事でリリース後、達成度を図る事も可能です。 また、少人数でやる場合は目標を共有する事で、共通認識のもとプロジェクトを実行できるので非常に便利です。これは、個人だけではなく企業でプロジェクトを進行するときにも不可欠だと思います。例えば、私だとこんな感じです。
- ・きちんとリリースする事を目的としてみんなで走っていく事
- ・一つづつでも自分のレベルを上げる
- ・きちんと3月にはリリースをする
- ・楽しむという事を忘れない
- ・土日はプライベートを優先する
どんなサービスだと作りやすいか
経験のある方は、初めは作りやすいものから始めるといいよ!と言われるのですが、そもそもどれが作りやすいのかは初学者にはわかりません。 といはいえ、初学者でもわかる事はあるはずです。機能が多いとその分実装が掛かる。ページ遷移が多いと設計が大変という事はわかると思います。 なので、下記の内容ではじめるといいかと思いました。
- ・まずは1,2つの機能だけの小さなサービスを作る
- ・sns系のシェア系の画面遷移が少ないサービスなどを真似て作る
きちんとプログラミング学習を行いながらサービスをリリースするために大切な事
基本、個人的な感覚値で申し訳ないですが、サービスは長引けば長引くほど心が折れます。そして、一人でやるとだらけます。技術がないとやる気が失われます。なので、この逆をやった方がいいです。
- ・あまりに壮大なサービスを作らない
- ・3ヶ月でできるものを作る
- ・一人ではなくメンターをつける
- ・初めは2,3人で始める
- ・マネタイズは一旦忘れる
人員はあくまでも最小限にする事で、コミュニケーションコストやタイムロスも抑えれますし、2人以上だと責任感も出てよい緊張感が生まれます。 また、復習するときに教え合いができるので、相互理解が深まります。マネタイズも考えれると理想的ですし、そうあるべきだと思うのですが、まずはリリース事が目的なので、ここも優先度低めでいいかと思います。
サービス設計フェーズ
上記の件が整理され作りたいものが決まれば、いよいよサービス設計のフェーズに入ると思います。 実際、サービスを作る場合は、UXリサーチやユーザーインタビューなどが必要だと思いますし、初めはLPを作りアナログでやっていく方が課題に対してはベターな事が多くあると思います。
学習を中心に考えていても進行していく段階でサービス作って使われなかったらどーしようと不安が出てきます。 ブログの始まりで立てた軸はそのためのものです。使ってもらわないとサービスではないですが、目的を最優先すべきです。
リサーチフェーズ
プログラミング学習であっても、リサーチの癖はつけた方がいいと思っています。普段デザインの仕事をしていますが、沢山調べた物とそうでない物とのアウトプットの精度で言えば、当たり前ですが断然前者の方がいいです。 デザイン業界では、有名なgood design companyの水野さんも最近twitterで発言されていました。
学習が最優先であっても、課題の本質を掴む行為は無駄にならないと思うので、私もできるだけ調べることを心がけています。
デザインする前に徹底的に調べる。最低でも16ページ前後のパンフレットがつくれる程度は調べる。200ページ前後の書籍ができる程度まで調べられたら最高。調べることで知識が集積し、自然とデザインの正解へと導いてくれる。プレゼンも、ただ研究発表するだけで済む。近道なのに、知識欲も満たせる。
— good design company (@g_d_c) May 16, 2019
完了
- ・テーブル定義,ER図作成URL設計
- ・必要な画面のblade処理
- ・ルーティングの設定
- ・マイグレーション、モデルの作成
- ・ログイン/ログアウト機能実装
進行中
- ・登録フォーム周りの実装(詳細画面への反映/編集)
です。Qooonプロジェクトって何って方はこちらをご覧ください。
サービス作りをどうやって進めているのかを公開していきます