ここ数日は、自身のWEBサービスの開発を始めようと色々と思いを馳せている日々を過ごしています。
自分でサービスを立ち上げたいと考えている人って、どのくらいいて、どの程度の人が実現できているんでしょうね?
自分自身で開発することが出来なくて諦めている人も多いのですかね。
僕自身も開発のスキルが全くないので、このままいくと諦めてしまう人に成りかねないです。
それは嫌だとずっと思っているので、ここでは僕の開発に対するマインドについてまとめていきたいと思います。

もくじ
PHP/MySQLを書籍で学習
PHPやMySQLについては、僕はたくさん本を買い込んでます。
ここでは僕が買ってみて初心者にとって比較的入りやすい参考書籍を紹介致します。
最初色々な本や動画を漁りましたが、基本のインプットとしてはとてもとっつきやすかったですね。
実はこの本から僕は入りました。
すごく分厚く、重いです。
ですが、やっぱり現場でもよく使われている言葉が実際にどのように開発されているかが分かる本ですね。
今もこの本は参考にしてます。
この本は結構しっかりやりましたね。
結局最後までいきませんでしたけど、初心者には分かりやすい本のレイアウトだったりします。
それに解説も分かりやすいので、序盤のインプットとしても良いと思います。
HTML/CSSを書籍で勉強
初めはドットインストールの「WEBサイトを作ろう」みたいな学習から入りました。
基礎となる動画はスルーしましたね。
HTML&CSSとWebデザインが 1冊できちんと身につく本
その後に、こちらの本で勉強しました。
この本一冊で入門はこと足りるかなと入門者でも思うほどいい本でした。
フロントエンドを専門にやる訳ではないので、まだまだ網羅されてないこともあるとは思いますが。
ですが、取っつきやすいですのでおススメです。
作りたいモノをイメージする
僕は人材系の仕事をしてきた為、自分でサービスを企画したり考えたりすると、人材系のサービスを思いつくことが多いです。
いつかは実現したい、往年の企画みたいなものもあります。
ですが、いま開発をしようと思っているものは、どちらかというと経理や総務が使うようなものです。
Excelで管理しているようなものを、WEBサービス化してみたいと考えています。
エンジニアの人とかに話すと「そんなのすぐ作れるよ!」と言われます。
ですが、いざ自分で作ろうと思うと何処から手をつければいいか分からないんですよね。
それでも、今回は強引に進めるようにしています。
ちなみにですが、僕が今回作ろうと思っているのサービスは過去に3回くらい開発を試みました。
ですが、実際に開発に手をつける前に本などの勉強に逃げ込んでしまってます。
その勉強も途中で忙しかったり挫折したりして頓挫してるという負のサイクルに陥ってます。
今年は何とかそこから脱却したいです!
手書きの設計図を考える
どうやって作るのかをイメージしながらやり方を本とかネットとかで探す前に、今回は簡単なラフの設計図を描いてみました。
設計図と行っても、システム開発の際のドキュメントというよりは、イメージ図に近い物です。
「データベースにこういうのが入るかなー」というのだったり、「画面はこんな感じかなー」とかを考えながら設計図を描いてます。
そうしてやってみた発見は、自分でイメージできてる部分は描けるんですよね。
逆に描いていない所が何なのかを把握することにも役立つと思います。
わからない事を受け入れるマインド
やっぱりどうしても開発を進めようと思うとすぐにつまづいてしまいます。
僕は何度もこれを経験していて、なかなか突破できないでいるのが現状です。
色々と勉強しようとすると、いかに短期間でその専門知識を身につけるかという考えになりがちです。
恐らく、ここに落とし穴があったんじゃないかと思います。
システムやWEBの開発は、広く深い分野ですから、少しの学習期間で身につくわけがないんですよね。
恐らくスポーツや音楽とこれは似ていて、身体で覚えるくらいの時間と訓練が必要なのだと考えています。
学習や実際の開発の実装の時に、分からないことがあったら、自分にその知識がないとまずは受け入れる。
そこから一つ一つ調べたり学習を繰り返す。
この積み重ねやそのスピードを上げる事が大事なんだと考えるようになりました。
これまでだったら、「わかんねー!」とストレスを感じて挫折をしてました。
けど、それって当たり前なんですよね。
そういう分野であると受け入れることから始めてみたいと考えてます。
サッカーでいう、はじめた頃のリフティングが続かないのと似てますね。
調べて、試して、また調べる
何事もTRY & error を繰り返して進むという事でしょうか。
分からないことに対して、調べて、TRYして、 の広がりが身体の中に記憶されるんだと思います。
僕自身もそうですが、こういうスタンスで物事を学ぶ人って、意外と少ない気がしています。
学者さんとか、一流と言われる人たちとかは、何か一つのことを学ぶと、それに波及することとかも調べたりして、たくさん知識を広げていっているのをみます。
インプットに対する質をものすごく意識しているんでしょうね。
プログラミング言語も、語学と似ている部分もあるので、一つ分からなことが会った場合、それに関連する様々なことが出てくるものだと捉えています。
それをひとつひとつ実装をして試してみながら進むということ。
今までの学び方を大きく変えないといけないですね。
動画サイトでイメージを作る
それでも分からなかったりした時は、僕はよく動画サイトをみて実装のイメージを持つようにしてます。
実際の画面で結果がどうなるかが見れるので、同じことをすれば基本的には同じものが出来る安心感はあります。
ただ、やっぱり説明している内容の詳細に関してはひとつひとつ自分でも調べていかないと身につかないなと感じています。
それに、ここでも復習をする意識で望まないと、単に動画をみて真似てみたというだけで、自分の技術としては成長しないので、要注意だなと自分を戒めてます。
まとめ 次の展開も見据えて
以上が僕が今進めている開発スキルの勉強のまとめでした。
今後は、フロントエンドの実装をリッチにしてみたくなったりするのかなと思っていて、おそらくJavaScriptなどにも興味を持つようになるのかなと。
ただ、Pythonなどで人工知能分野も精通していければとは思っています。
技術者として身を立てるという訳ではないのですが。
ただ、今の世の中、技術的な分野においてかかわる人の役割がどんどん複合的になってきていると感じます。
そういう人たちと一緒にチームとして動く際に、このベースとなる知識を持ちつつ、自己成長・自己研鑽を積み重ねられる状態に自分を育てていければいいなと考えてます。
この内容が一つのケーススタディとして役立てば幸いだと思います。