会社を辞めプログラミングを学び始めて3ヶ月経ったので振り返ってみる 後編

前編の続きです。
プログラミングを本格的に始めて2、3ヶ月目の過程です。

PHPを学ぶ

HTML、CSS、JavaScriptを一通り学び、次にサーバサイドの言語PHPを学びはじめました。はじめは書き方に違和感がありましたが、書いていくうちに段々、3日目頃には慣れてきました。JavaScriptを必死にやってきてたので、その時の勘所やエラーの対処方法が他の言語でも生きてる気がしました。PHPとMySQLで作った作品がこちらです。


初めてのサービスをローンチする

PHP最後の課題は、前回のJavaScript同様、ハッカソンで今まで学習してきたPHPの集大成を作るものです。
そこで今回は作ったサービスをローンチまでしようと決めて作りました。ローンチの体験を早くする事で、プログラミング以外にも、規約関連やセキュリティ、UI・UX、サービスの作りこみに真剣に向き合え、多くの学びが得られると思ったからです。
その時に作ったサービスがこちらです。
GoogleMapのストリートビューを投稿出来るインスタのようなSNSです。
サービス名は StreetView Shot を略してStosho にしました。

これ開発期間1週間だったんですが、多分この時も食事、睡眠以外は全てこのプロダクト制作に当てて、1日16〜18時間ぐらいやってたと思います。
この時のモチベーションは絶対にローンチして、学校のみんなをあっと驚かそうという気持ちで、苦しい時間も乗り越える事が出来ました。
結果、学内ハッカソンでは2位を受賞することが出来ました。

こちらはWebサイト公開してるので良かったら使ってみて下さい。
ここまででプログラミング本格的に始めて2ヶ月です。


100DaysOfCodeを始める

ちょうどこの頃からTwitterの#100DaysOfCodeを始めてみました。進捗をTweetし、みんなで楽しく100日間プログラミングをして習慣化させようという取り組みです。実際毎日投稿すると、反応もあるし、頑張ろうというモチベーションになります。


Laravelフレームワークに挑戦

LaravelとはPHPのフレームワークです。PHPは割とすんなり学べたので、フレームワークもいけるだろうと思っていましたが、これは本当に訳が分からなく難しかったです。
尊敬する先生が「フレームワークはまずは理解しようとせずに飲み込むしかない」と言っていたので、その言葉を信じてとにかく飲み込むことに注力しました。

飲み込んで進めた結果、CRUD自動作成やログイン認証、次に行うチーム開発において、フレームワークの便利さが分かり、段々理解出来るようになっていきました。さらに今やってるVue.jsやExpressのフレームワークもすんなり入って行けるようになりました。


チーム開発

次の課題はチーム開発です。
3〜4人でチームを組み、企画から開発、デプロイまで行うハッカソンです。
今回のお題が「学校の課題を解決する」というもので、最終的にソーシャルファイターアワードに提出するような課題でした。

チーム開発では、企画段階で中々意見が合わず、チーム解散の危機がありながらも、企画をまとめていきました。そしてGitHubやCloud9を使って共同開発をするという経験をして、今後の仕事に役に立ちそうな経験をしました。

そしてチームで開発したものがこちらです。
コンセプトは顧問の先生の負担を軽減し、生徒達が作りあげる部活動です。
スタディサプリの部活版みたいなものです。

学内ハッカソンでは10チーム中4位と結果が振るいませんでした。
僕たちは企画からビジネスモデルを考えサービスを作ったのですが、2位のチームはそんなものは考えずに彼らが面白いと思うものを作り上げてきました。
結果、そのプロダクトは多くの支持を集めて、人の心を動かすものはこーゆうものなんだなと改めて感じました。
そんな体験もあり、今後は自分がワクワクするものを作ろうと心に決めました。


入江開発室で学ぶ

チーム開発をもっと本格的に、そしてWebサービスの開発からプロモーションまで学んでみたかった為、オンラインサロンの入江開発室に加入しました。

入江開発室では、メンバーは参加したいプロジェクトに立候補し、GitHubのissueを担当していきます。この時は丁度学校の授業でLaravel、GitHubを学んだところで、出来るか不安だらけでしたけど、思い切って手を挙げてやってみました。

やはり実践に勝る学びはないと思いました。恐れずに思い切って手をあげ、チャレンジしてみて良かった。
今は時間が取れず退会してしまったのですが、Webサービスを学びたいなら入江開発室オススメです。


dApps開発に着手

この約3ヶ月間でプログラミングの基礎を学んできたので、そろそろ本命のdApps(Decentralized Applications / 非中央集権・分散型アプリケーション)、ブロックチェーンを使ったアプリ開発に着手し始めました。
3ヶ月間全力で取り組み、ようやく会社を辞めてまで、やりたかったブロックチェーンのサービス開発が出来る土俵に立てた気がします。


長くなりましたが、ここまでがプログラミングを本格的に始めて3ヶ月間の過程です。


今後

今通っている学校(ジーズアカデミー)では、6ヶ月間で自分のプロダクトを作り、卒業する前に投資家や採用担当者含め約100〜200人の前で発表する機会があります。
大勢の前でピッチ出来る事は中々得られる機会ではないので、ここに集中して卒業作品を作っていこうと思っています。

卒業制作では、今の所、ブロックチェーンとVRを組み合わせたサービスを作りたいと思っているので、solidityやJavaScriptのES6、Vue.js、Nuxt.js、Three.jsを勉強していく予定です。



プログラミング学習で大事な3つのこと

改めて振り返るとプログラミング漬けの濃〜い3ヶ月でした。プログラミングを学び、僕が大事だなと思ったことはこの3つです。

・ 一つの言語に集中する
・ 自分が好きなものを作る
・ モチベーションを保てる環境に身を置く

まず "一つの言語に集中する" ですが、僕は最初JavaScript、ruby、php、pythonどれも中途半端に手を出しましたが、結局一つの言語に集中したら(僕の場合はJavaScript)その後、他の言語を学ぶ時もすぐにキャッチアップ出来ました。一つの言語に集中したことで、構文の理解が深まり、エラーの対処も自分で出来るようになり、結果その経験が他の言語でも生かされるようになりました。

次に "自分が好きなものを作る" は、技術書を最初からやって文法を覚えるやり方よりも、まず自分が好きなものを作り、分からないところをその都度調べて作っていくやり方です。このやり方は実践的ですし、最後に好きなものが出来上がるし、何よりプログラミングが楽しくなります。

そして最後の "モチベーションを保てる環境に身をおく" が、一番大事かなと思っています。僕はジーズアカデミーに入りましたが、同じ目標を持った仲間がいる中で学習するのはとても刺激がありモチベーションが維持されます。もちろんオンラインの環境でも良くて、僕の場合はオンラインでも100DaysOfCodeで毎日投稿したり、入江開発室に入って学んだりしています。そういった環境に身を置くことで、より成長が加速します。


プログラミングを学んでまだ3ヶ月で、こんなこと書いてしまいましたが、同じようにプログラミング始めようと思ってる方々の参考になれば幸いです。

最後まで読んで頂きありがとうございました。


追記) 続編書きました。


この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

note.user.nickname || note.user.urlname

最後まで読んで頂いてありがとうございます。 良いと思って頂けたらスキと感想をSNSに投稿して頂けると喜びます。

ありがとうございます。よろしければシェアもお願い出来れば嬉しいです😊
270

田中 康平

note編集部のおすすめ記事

様々なジャンルでnote編集部がおすすめしている記事をまとめていきます。
5つのマガジンに含まれています

コメント5件

koheiさんの努力もあるのでしょうが、3ヶ月でこんなに覚えたのは凄い!
Takagawa16さん
今の時点で起業は考えていませんので今回は見送らせて頂きます。
Yジロさん
ありがとうございます😊
田中康平様 私はプログラミング能力が伸びずにずっと迷っていました。この記事を読んで少し元気が出ました。ありがとうございました!
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。