こんにちは、だいきです。
今回は、大学3回生までプログラミング知識ゼロだった僕がどのようにして、プログラミング知識を身につけ、複数のサービス開発ができるようになったのかについてお話していきたいと思います。
僕は大学3年生のとき、
何か新しいことをしたいと思い、
友達4人と会社を立ち上げました。
そのとき、僕たちができる仕事と言えば、
ワードプレスを使ったホームページ作成でした。
それを様々な工夫を取り入れ半年続けることろには、
営業戦略が成功し、順調に売り上げと利益は上がりましたが、
ある一種の限界も感じるようになりました。
というのも、ホームページ作成は
フロー型のビジネスであり、
常に動き続けないと行けなかったのです。
さらに、この時期はかなり
属人主義的な経営をしており、
恥ずかしながら一切安定していませんでした。
また、外部要因(不況や天災)による
影響がかなり大きく、大地震が起きたとき、
月の売り上げが0になったこともありました。
そこで、今まで行なっていた
フロー型ビジネスではなく、
ストック型ビジネスに転換していき、
会社経営を安定させることになりました。
ところが、そのとき僕が思いついたビジネスが、
全てプログラミングが必要になるものでした。
例えば、
そこで、
実際にこのシステムを開発するのに
いくらかかるのかを知り合いの企業に
見積もりをだしていただきました。
その額が全て500万以上で、
全く払うことができませんでした。
僕は独学でプログラムを0から勉強し、
サービスを作ろうと考えました。
プログラミングを始めると決意してから、
僕はひたすらProgateで学習しました。
Progateの凄いところ
結局Progateを何回も何回も繰り返し
ひたすら時間をかけて勉強しました。
ちなみに、
プログラミングを勉強する時は
絶対にコード書くようにしましょう。
自分で考えて、コードを書くことが、
一番成長することができます。
Progateを3周こなしたあとは、
ひたすらYouTubeとValuのサイトを
真似たサイトを作りました。
このときは、
毎日10時間以上プログラミングを行い、
メンターがいなかった僕は、
分からないことがあると、
ひたすらググり、英語の記事を読み漁りました。
一番きつい時期でしたが、
一番実力が伸びた時期でもありました。
複数のサービスを模倣し終えると、
なぜか設計書をある程度読めるようになり、
イメージしたデザインでサイトを
作れるようになっていました。
ある程度実力がつくと、
僕は自らの力でサービスを作り始めました。
最初のサービスは、
自社専用の出退管理のサービスです。
この時期、バイトを雇っていたのですが、
出退勤の管理が全て手書きで、
効率が悪かったので、それを解決するために、
4ヶ月かけてシステムを作ることを決めます。
そこで初めて僕は、
設計書を書くことになりました。
しかし、ここで早速つまずきました。
なんと、設計書を読むことができても、
全く書くことができなかったのです。
今まで模倣したサイトを作って、
0からある程度は作れると思っていましたが、
その思いは崩れおちました。
設計書を書くことができなかった僕は
本屋にいき、設計書を書くための本を買い、
それに基づき設計書を作成しました。
しかし、ここで複数の関門が
僕の前に立ちふさがりました。
関門
そこで、1ヶ月以上かけて、
データベースの設計方法、保守管理、
安全性、セキュリティー問題、
UI/UXの概念、効果的なデザインなどなどを勉強しました。
この時期はひたすら本を読み、
自分でノートにまとめて、
次の日に実際にプログラムを組んで
作ってみるという生活をしていました。
ひたすら勉強をして、
やっと拙いながらも設計書を書くことができ、
サービスを作ることになりました。
実際にサービスを作っていくと、
設計書を作ったときには
想定をしていなかったことがたくさん起きましたが、
ググって、1つずつ確実に解決していきました。
ちなみに、このとき、
僕しかプログラミングを行うことができなかったので、
この辛さを共感してくれる人がおらず、辛かったです。
想定よりも1ヶ月以上も遅れて、
サービスが完成し、
社内でそのサービスを使い始めました。
その日は何も問題なく、
そのプログラムは動作しました。
しかし、次の日事務所にいき、
サービスを立ち上げると、
バグが発生してログインすることが
できなくなっていたのです。
そこで、急いでそのバグを解決することになりましたが、
1箇所バグを解決すると、他の場所でバグが発生したり、
バグを直すうちに、デザインが崩れたりして、
結局きちんと運用するまでに、1ヶ月以上もかかりました。
今になってはいい思い出です(笑)
あの時は、笑うことはできませんでしたが。
このようにして、
僕は社内用のサービスを複数作り、
経験を少しずつ積んでいき、
クラウドサービスを作れるようになりました。
僕がプログラミングを勉強する
きっかけは複数ありました。
そのときに、
必要だからプログラミンを勉強し、
ひたすら分からずに迷いました。
結局、迷いながらも、必死に考えて
確実にコードを書いていくことが、
プログラマーにとって大切なのではないかと思います。
自らが欲しいサービスを作って、
実力を上げていきましょう。
以上、だいきでした。