どうもこんにちは、龍ちゃんです。今日は、このページを訪れた僕と立場が近い方、新卒・フロントエンド・時々バックエンドの方・プログラミング触ってみようと思ってる方に向けて書いていきたいと思います。
さてさてタイトルにもありますが、今回は「自主開発をしないかい?」というご提案から入らさせていただきます。皆さん自主開発はしていますか?
僕は、研修の以前といいますか入社する前から、一人で細々と何かしらを作りながらプログラミングの勉強に励んできました。そんな中で研修業務として、チーム開発という機会をいただけたので心が躍っていましたね。
さて、ここからは本題なのですが…「プログラミングの勉強では自主開発が良い」といった持論を押していきたいです。プログラミングといっても枠が広くてですね、割となんでもできちゃうといったところがあります(知識があれば..)。割となんでもできちゃうから「これをやろう」といったときにいろんなやり方や書き方があるわけですね。
初めてプログラミングに触ったときは、「if文とswitch文のどっちを使えばいいんや?」などで二時間ぐらい悩んでましたね。あれから十年ほど時間が経ちましたが、今思えば刺激的な時間だったな~と感慨深いものがあります。
プログラミングを学ぶ上で、自主開発をお勧めする理由としては、ゴールを明確にすることで知識のインプットに対するモチベーションの維持・勉強時間の短縮につながると考えているからです。
まず、知識のインプットに対するモチベーションの維持です。これは、目的があるほうがやる気は出るものですよね。想像してみてください。「ただ盲目に木を切る木こり」と「憧れのログハウスを作るための木を調達する木こり」の二人の木こりがいた場合、圧倒的に後者の方がやる気がありそうですよね。僕の短い人生経験からも、目的があるほうが強いと思います。
次に、勉強時間の短縮ですね。これは、先ほども書いたようにプログラミングにはいろいろな道があります。ですが、自主制作では作るものがはっきりとするので、どんな道をたどっても成果物が作ればいいという意識が生まれます(凝り性な方は若干つらいですが..)。プログラミングは手段であって目的ではないといった意識になることで、やみくもに勉強するよりも楽しいからという気持ちにシフトするというのもありますね。あとは、ネットには多くの場合、先人の知恵というものが転がっています。それを真似することで勉強する時間より、検討する時間を多くとることができるのでお勧めです(信頼度はチェックしないとですけどね!)。
以上の二点から「自主開発」をお勧めしているわけですね。
さてさて、ここまで偉そうにしゃべってきましたが、「お前は何をしているんだ!」とお怒りの方もいるかもしれませんので、これからは僕が「自主開発」をする上で、たどっているロードマップの紹介でもしようかと思います。ちょうど今、開発しているものを備忘録形式(シリーズもの)で書いていこうとも思いますので、あまり怒らないでください。
これが、開発に至るまでの流れですね。順を追って説明を入れていきたいと思います。まず、「企画」についてですね。偉そうに「企画」なんて書いていますが、大体友達とお酒を飲んでる場だったり、仕事と関係ない話から始まっています。ここで、重要視しているのは「自分が面白いと思える」・「誰かが欲しいといったもの」という観点ですね。自分が面白いと思えるものはモチベーションの維持がしやすいですし、誰かに必要とされているものだったら機能を詰める作業がヒアリングできちゃうところがとても楽できるのでお勧めです。最近の僕は、企画をGoogleのスプレッドシートにまとめちゃうことで、何かを作ってる感を出してモチベーション維持をしています。
次に「設計」ですね。ここも偉そうに「設計」なんて書いていますけど、デザインツールで遊ぼうに言い換えてもいいかもしれません。僕は、入社してから「Figma」というツール(最近Adobeに買われましたね…心配だ..)を勉強しだしましたが、これが最高に楽しいです。僕が今興味ある分野はフロントエンドなので、やはりデザインされた画面があるとテンション感が違いますね。あと、勢いで作っちゃうよりも機能を詰めることができるので、「あの機能つけたかった..」・「この機能なくね?」みたいな手戻りが発生しないというメリットもあります。まぁ自分でデザインしたらもっさり感があって悲しい気持ちがありますが、これからですね。
最後に「開発」ですね。これはもうプログラムを組んでいく段階ですので、作業するだけですね。
以上の流れで、自主開発を進めています。まぁ文章では何とでも言えちゃうので、今作っているものを断片的に落っことしていきますね。
これが企画のスプレッドシートですね。毎日自炊をしているとメニューを決めるのが、大変になる方向けのWebアプリ提案でしたね。
そして、こちらが「Figma」でデザインした画面です。
そして最後に、デザインをコードで再現したのがこちらになります。本当は、入れてよかったツールとかの話を書きたいところなのですが、長くなりすぎるので別の記事で書いていきたいと思います。
とまぁ~こんな感じで開発を進めているわけですね。これを読んで少しでも自主開発してみたいなと奮起してもらえてらうれしいですね。
僕自身、ノリで開発をするのが好きなので作っては壊しを繰り返して手元に何も残らないという開発をよくやってました。残ってるコードを時々見返すとなかなか面白い発見や恥ずかしい自分に会えるので積極的に成果物残していきましょう( *´艸`)
では、次回は少し開発のお話・社内イベントの話・お酒の話のどれかでも書こうかなと思いますので、その時に!!
ではではお疲れ様です。