はじめに
アウトプット学習を初めて2ヶ月が経ったので振り返っていきたいと思います。
ちなみに1ヶ月目の振り返りはこちらになりますので、ご興味があれば覗いてみてください。
この1ヶ月の振り返り
やったこと
- Udemyでインプット(Next.jsに関する教材1つ)
- React + Viteで感謝日記アプリを個人開発
- Next.jsでブログサイトを個人開発
- Qiita記事投稿(計9記事)
この1ヶ月のダイジェストとしては、ゼロから個人開発プロジェクトを立ち上げてリリースまでできたことです。
作ったアプリの詳細は以下の記事に書いていますので、よかったら見てみてください。
このアプリを作る前はReactとTypescriptで学習時間記録アプリをJISOUのカリキュラム通りに作っていくという形で開発をしていました。
今回個人でゼロから作るというのは文字通りアイデア出しから要件定義、デザインなど全て自分で考えて作っていきました。
個人開発は難しいけど面白い
今まで気づかなかったのですが、ゼロから何かを開発するときは頭の使い方が全然変わってくるので慣れていないとすごく難しいということです。
というのも、エンジニアになってから現場で開発の仕事をしていてもすでに誰かが要件定義をしたものに沿って設計・開発を進めることが多かったり、ユーザーからの要望を吸い取って開発を進める機会が多かったので、そいうときはいかに要望通りに進めるかに焦点が当たっていました。
個人開発をするときは、すべてがまっさらな状態で全部自分で決めていかなければならず、唯一の指針となるのがユーザー視点のみです。
ユーザー視点をダイレクトに取り入れて考えることがなかったので、どのように世の中の悩みに開発を通して応えるかを考えていきました。結局まずは最初のユーザーである自分の悩みをもとに製品作りをしようと決めました。
今回作成した日記アプリは自分の実体験から生まれた悩みを解消するためのポイントをいくつか盛り込んでいます。
上記のような全く白紙の状態から徐々にプロダクトを組み立てていくことは確かに難しいのですが、同時にすごく楽しいということも分かりました。自由にやりたいようにできるのでUIもいろいろトライしつつ遊んでいるような感覚で進めることができましたし、機能も途中でこうした方がいいかも!と思い立ったらすぐに盛り込むことができました。
普段の業務はウォーターフォール開発なのでこのような思い立ったらすぐに機能追加するということに慣れておらず、新鮮で楽しい経験ができました。
普通に現場で働いて振ってくる業務をこなしているだけではこの思考を鍛えることは難しいというかそういう機会が滅多にない気がします。
逆に経験年数が少なくても、開発の難しさやゼロから作り上げる楽しさを経験できるのは個人開発をして自分でサービスを作ろうとしている人だけではないかと思います。
この面白さに出会えるからもっともっといいものを作りたくなる気持ちやさらに勉強してスキルを上げてプロダクトの性能を上げたくなる気持ちも出てきます。
アウトプット学習を続けるとこういう気持ちが自然に出てきて学習することが大変なことではなく楽しみに変わってきました。
以前と比べてどのように成長したか
アウトプット学習を続けていくと頭の中でこういうのを作りたい!と思った時に、すぐにどうすれば実現できるかというイメージを頭の中で作れるようになってきたように思います。
例えば、今は別の個人開発をしているのですが、その中で実現したいことを考えた時にそれをどのように実現させるかということをすぐに調べてソースを書いてみようという感じで軽い気持ちでやってみることができます。言い換えればアプリを作ることへの抵抗がなくなったのでアイデアからやってみるまでのハードルがかなり低くなり時間も短くなりました。
アウトプット学習を続けて気づいたこと
インプットをしつつアウトプットに重きを置いているアウトプット学習を続けると、自分の知らないことと出会う機会が圧倒的に増えていくと感じます。
それもやればやるほど知らないことがあることに気づくことができます。
この感覚はインプット中心の学習をしている時には全く分かりませんでした。
インプットだけしている時は、本を読んだりUdemyをみたりして勉強している感じを味わって、こんなにやっているからスキルが身についているに違いないと慢心した気持ちを持つこともありました。
今の学習スタイルだとこのように「理解できているに違いない」と空っぽな自信を持つことができません。
なぜなら何かを作るときに嫌というほど自分の知識の足りていないことやスキル面での不足と向き合わなければいけないからです。
不足部分に対しては「高速でインプットして、もう一度アウトプットして理解しきっていないことを実感してインプットを見直してまたアウトプットして理解しているか確認して」という繰り返しでだんだん知識と経験を増やしていっている感じです。
ただここで強調したいのは、自分の知識不足・スキル不足に出会える機会を持てたことは本当に良かったと思えることです。
なぜなら、逆にインプットだけをして自分で開発をしようとしなかったら自分の無知に気づけなかったと思うからです。
もしこの無知や不足部分に気づかずにエンジニアとして数年過ごしていっていたらと思うと今では恐怖に感じます。時代からどんどん取り残されていき、経験年数だけ増え、最新の技術のキャッチアップやスキルが伴っていないエンジニアになる可能性もあります。
エンジニアの価値はその人が置かれている状況によって変わってくると思います。
ただ、技術は年を追うごとに良くなっていることも事実です。その新しい技術を使えることで製品を使用するユーザーが得られるメリットも増えていくと考えています。
さまざまな選択肢の中から最善を常に提供できるようなエンジニアになることは自分の中で価値があることだと思うので、これからもアウトプット学習を続けながらゆっくり成長していきたいと思います。
おわりに
あっという間に2ヶ月が経ったなという感じですが、この期間に初めてのアプリを制作できたことは一つの自信になりました。
現在、別の個人開発を進めておりアウトプット学習は継続していく予定なので、また3ヶ月が経った頃に記事をアップしたいと思います!
JISOUのメンバー募集中!
プログラミングコーチングJISOUでは、新たなメンバーを募集しています。
実践的なカリキュラムで、あなたのエンジニアとしてのキャリアを最短で飛躍させましょう!
興味のある方は、ぜひホームページからお気軽にカウンセリングをお申し込みください!
▼▼▼