はじめまして!
ネクストイノベーション株式会社でインターンさせていただいている古賀です。
つい最近、ネクストイノベーションのエンジニアチームに参加してちょうど1年ほどたったということに気づきました。未経験エンジニアから駆け出しエンジニアくらいには称号が上がったのでないしょうか。
始めたころは当然右も左わからないような感じでしたが、今ではWebフロントエンドをほぼほぼ1人で実装しているというのは感慨深いです。成長を自分でも実感しています。
今回はそんな1年を振り返って、ネクストイノベーションでインターンしてみてどうだったのか振り返ってみようと思います。
インターンを始める前
大学では経営学部に通っており、文系です。授業でプログラミングを学ぶことはありませんが、当時は「ゼロイチ」という部分に強い思いがあり、自分の力で何かを生み出せるようになることを目指して勉強し始めました。
まずは HTML/CSS から始め、Ruby on Rails に入っていきました。Ruby は Rails を勉強する過程でサラッとやったというレベルでした。
勉強し始めて一番苦労したことは、言われたままに書いて「動いた!」以上の何かをなかなか得られなかったことです。初心者向けの内容をしているのだから仕方ないのですが、勉強に段々と作業的な気持ちが混じっているように感じていました。
また、なんとか基本の学習を終えたとしても「オリジナルサービス開発」で立ち止まってしまっていました。
なぜ私がこの課題で止まってしまうのかというと、サービスの中身や、運営、集客、収益構造まで意識し企画が進まず、手を動かすまでに至らなかったり、サービスの中身が中途半端なままで作成し始めると開発にも気持ちが乗らないというのがいつものパターンで完成に至らないからです。
これらから環境を変えたいと思い、エンジニアとしてインターンをしようと考えました。インターン先を探すにあたり、経験値をガッポリ獲得するために以下の条件を基本として探し始めました。
- 長期での採用をしている(得られた経験を基にさらなるチャレンジをするために)
- 社内の過半数がインターンという体制ではない(日本人が少ないとこに留学に行く人の心境とたぶん同じ)
- 自社サービスを運営している(自分たちが作ってますって言えるのいいよね)
このような欲張った条件のもと、色々探し、紆余曲折を経てネクストイノベーションで働かせていただくことになりました。
1年間インターンしてみてどうだったの?
ここまででインターンを始めるまでのあれこれについてお話をしました。ここからは、実際に1年間インターンしてみてどうだったのかについて話をします。
目的を意識するようになった
「こういう機能ほしい」「〜ができるようにして」などざっくりした感じで開発の要求を受けることがほとんどでした。ここから自分なりに要件を考えるのですが、その際、意識するようになったことがあります。
それは、それを行うことによって何を達成したいのかという目的をきちんと確認することです。
インターン当初はタスクが小さかったので、いわれるがまま作業を進めていても問題がなかったのですが、タスクが大きくなるにつれ要件を考えるために目的をしっかり把握しておくことが必要に感じていきました。
目的部分がわかっているからこそ、より詰めなければならない仕様が作業開始前に把握できたりするなど、エンジニア目線だからこその発見があります。
世の中のベンチャーなどで働くエンジニアの方にとってはこれ普通のことなのでしょうが、インターンで気づけて良かったことの1つです。
UI・UXの重要性を理解した
インターン当初はHTML/CSSやJavaScriptを使用して、UI・UXの改善を主に行っていました。
ですがその頃は、UI・UXというよりデザインは大事というざっくりとした認識しか保っておらず、さらに当時はデザイナーもいなかったため主観的な改善がほとんどで、効果としては不確かなものがほとんどであったように思います。
そのような状況もあってか、その後プロダクト改善のためにCTO主導のもとデザインスプリントが導入されました。
デザインスプリントについてざっくり説明すると、この手法はデザイナーの思考プロセスを元にしており、検証すべきビジネスの問題をデザインの観点から考え、答えを導くための生産サイクルといった感じです。
デザインスプリントを通して、UI・UXの改善はただ見た目を整えて終わりではないと気づきました。改善する必要のあるところには、ユーザーの離脱率が高いなど何かしら問題を抱えてています。そしてこの問題をUI・UXという視点で解決するのですが、そこには検証という段階が不可欠であることも新しく学びました。
UI・UXに関しては、検証されたものが事例となって出版されていたりするので、そういったものを読んで基本部分を学んでおくのも大事だと思っているので今後取り組んでいきたいです。
デザインスプリントの導入では以下の書籍を参考に取り組みました。
デザインスプリント ―プロダクトを成功に導く短期集中実践ガイド
AmazonでRichard Banfield, C. Todd Lombardo, Trace Wax, 安藤 幸央, 佐藤 伸哉, 牧野 聡のデザインスプリント ―プロダクトを成功に導く短期集中実践ガイド。アマゾンならポイント還元本が多数。Richard Banfield, C. Todd Lombardo, Trace Wax, 安藤 幸央, 佐藤 伸哉, 牧野 聡作品ほか、お急ぎ便対象商品は当日お届けも可能。またデザインスプリント ―プロダクトを成功に導く短期集中実践ガイドもアマゾン配送商品なら通
技術力が向上した
インターン前は、自分でロジックを組み立てる力がとても低かったと思います。基本の文法を身に着けても、それらを使って大きなプログラムを組み立てるイメージが湧いていませんでした。
インターンを始めてこの部分の改善に大きな役割を果たしたのはソースコードでした。
スマ診のリリースまでの開発はCTOと業者の方で進められており、私はその途中で参加したため、ソースコードを読む必要がありました。書籍やブログに書かれたコードを除くとで他人の書いたコードをしっかり読むのはこれが初めてだったのですが、これがとても勉強になったのを覚えています。
ここで、わからない事は調べながらではありましたが、自分の力で処理の流れを追える、理解できるということに1つの達成感を感じられました。
また私と業者の方はプルリクエストを出してレビューしていただくといった形以外ではコミュニケーションを取る機会がなかったため、業者の方が書いたコードから、なぜそのように書いていのるかなどの意図を考えてなるべく把握しようと努めていました。
そうこうしてるうちに、それまで意識していなかった設計や責務などの部分の重要性を理解し始めました。これがあったからこそ現在の開発で設計についても考えられるようになったいるのだと思います。
スマ診のリリースまでのお話はCTOがこちらでしています。
自分で考える力が伸びた
インターンで求めるものは、わからないことを質問できる環境というのが多いと思います。実際インターンをして、すぐに質問できるという環境は非常に助かっています。
しかしながら、インターン当初はCTOを除けば、先輩という立ち位置の人はいませんでした。またCTOも忙しい身なので、謎のエラーにハマったり、どのように解決すればよいのかわからない問題というのを自分の力で解決していく必要がありました。
もちろん、全てを自分の力だけで解決できるわけではありません。自分なりに調べ、考えてみて、それでも何かしらの解決策が出なかったり、いくつか解決策はあるがどれがベストなのか判断できないときなどは、かき集めた情報やそれらをもとに考えた自分の考えを引っさげて質問に行きます。わからないままにするのは良くないです。
このような環境に新人をおくことに対して賛否両論あると思いますが、エンジニアにとって自分で試行錯誤する時間は成長の機会でもあると思うので、色々試行錯誤してから質問するという環境になっていたのは自分には良かったと思っています。
今では、経験豊富なメンバーも増え、質問や相談がよりしやすい環境になっています。
ですが、現在ではWebフロントエンドをほぼ1人で開発するようになり、自分でより良い答えを出すしかないような場面もあります。このような状況下でも割と普通にやれてるのは、当初から自分なりに問題を解決するための試行錯誤をしてきたからだと思っています。
まとめ
今回はインターンとしての1年間を振り返ってみました。
この1年で技術力の向上はもちろんのこと、それ以外の部分でも得られたものは多く、インターンにチャレンジしたことは本当に良かったなと思います。
ここまで長々と私の振り返りにお付き合いいただきありがとうございました。今後はより事業にコミットできるエンジニアを目指して邁進していきたいです。
ネクストイノベーションではエンジニア募集中です!!