Fusicってなんしようと?What is Fusic doing?

2017/07/04 インターンレポート「長期インターンシップ エンジニアコース」#赤木レポ

2017年1月17日(火)~2017年5月31日(水)の期間、
Fusicでは、エンジニアを目指す学生を対象に、長期インターンシッププログラムを開催しました。

上記プログラムには、福岡工業大学大学院 工学研究科情報工学専攻の
赤木 里騎さんにご参加いただきました。

以下、参加した赤木さんのレポートです。

================================================

こんにちは!
福岡工業大学大学院 工学研究科情報工学専攻1年の赤木 里騎(写真中央)です。
私は株式会社Fusicにて約5ヶ月間のエンジニア長期インターンシップに参加させていただきました。
※実際インターン生として出社した日数は35日間です。




インターンシップでは、始めの1ヶ月ほどCakePHP3というPHPのフレームワークを学習し、
その後、Fusicの自社サービスである「360度評価支援システム」の一部改修や、
そのオプション機能である「評価者選択システム」の改修を行いました。
開発は、チューターである嶋生さんが所属するチーム「KIND」にて行いました。



その中でも、最も時間を費やしたのは、「評価者選択システム」の改修です。

通常は、360度評価支援システムの管理画面にて、管理者が評価者を決めていくのですが、
オプションの「評価者選択システム」を使えば、被評価者自らが評価者を選択できるようになり、
管理者の運用コスト削減につなげることができます。

上記のシステムについて、もともとお客様からのリクエストが多かったのが、
評価者選択システムの管理者画面の作成です。
360度評価支援システム本体と同じように回答状況などが管理できる管理画面があれば
企業様の運用がさらにスムーズになる上に、Fusic側の運用コストの削減も見込めるため、
今回のインターンシップで取り組むことになりました。

評価者選択システムの管理者画面の作成にあたり、
エンジニアの嶋生さんだけでなく、営業の方、サポートの方も巻き込んで
必要な機能を洗い出し、設計、実装を行いました。




設計の段階で、見積もり(工数)や完成予想図の作成、データベース設計など
今まで経験していなかったことを学べました。
下の写真はその一部ですが、嶋生さんに
「実装したいものを忘れない程度に、手書きでいいから簡単にまとめてもらってもいい?」と
言われたにも関わらず、数時間かけて作成し、
後々嶋生さんから工数の大切さについて、あらためてご指摘いただいたことは忘れられません。





実装していく中で苦労した部分は、以下2点です。
・既存システムとCakePHP3の理解
・GitHubを使用した開発

評価者支援システムは、既存システムということもあり、
初めは他人が書いたコードを理解しつつ、コーディングしていく作業に困惑しました。
さらにCakePHP3のチュートリアルを終わらせただけという当時の状態では、必要な知識が足りず、
わからないことが出てきた時点でCakePHPの公式を確認したり、
それでもわからない時はチームKINDのメンバーに助けていただいたりしました。

そして、ソースコードの管理についてはGitHubを使用しました。
私はそれまで研究室のサーバーかUSBで管理していたので、GitHubのコマンドを
ある程度使いこなせるようになるまでは、ソースコードを削除したり
間違った変更を加えたりしてしまうのではないかととドキドキしながら作業していました。
それでも、今ではGitHubにも慣れてきて「No GitHub, No Life.」状態です(笑)




私は5ヶ月間のインターンシップをとおして、以下3つのポイントで成長することができました!

1. 苦手意識のある技術に対して逃げなくなった
このインターンシップに参加するまでは、必要でも苦手意識のあった技術を
避けてとおれる方法があるのであれば、その方法を選択していました。
しかし、そのやり方では実際の開発現場で通用しないので、苦手意識のあった分野も使用しなければなりませんでした。
人間すごいもので、どんなに意味のわかっていなかったものでも時間をかければ道が拓けてきます。
この作業をインターンシップ中繰り返していたら、「調べれば解決する!」という意識が出てきて
これまで避けて通っていた苦手なことも躊躇することなく取り入れることができるようになりました!


2. 自分にわかる知識ではなく、人に伝わる知識を持つことの重要さを学んだ
GitHubを使用してコード管理する過程で、自分がコーディングしたコードを
チームのメンバーにレビューしていただきました。
自分よりも圧倒的に知識のあるエンジニアの方々に指摘されることは、単に間違っていることだけではなく、
「今後運用していく中で、長期的に見るとこうした方が良いのでは?」や、
「どういう意図があってこのような書き方をしているのか?」という目先のことではない部分を問われました。
その時にしっかり答えることができればいいのですが、「う、確かに…」と思うことばかりで、
システムをお客様に提供し、保守運用をしていくことの難しさの一部を体験しました。


3. エンジニアとして働くことが好きだと実感できた
今回のインターンシップに参加したのは技術を学ぶためという理由はあったのですが、
エンジニアとして働くことは自分にとって本当に幸せなことなのかという部分に不安を感じていたことも
1つの要因です。
インターンシップの中で苦しいことや悔しいことは幾度となく体験しましたが、
それ以上に、自分が実装した機能が本番環境で動いている時、社員の方に褒めていただいた時の幸福感は
遥か上を行き、知識をつける時間はとても楽しく感じました!
日々、より良く、新しいものを求めて仕事ができるエンジニアという職業を、
私は「好きだ!」と実感することができました。





Fusicでのインターンシップは私の人生において非常に重要なターニングポイントになりました。
技術はもちろんですが、エンジニアとしての大きな一歩を進めることができました!

インターンシップ参加にあたり、面接の時からお世話になった代表取締役社長の納富さん、
5ヶ月間チューターとして常に気を配ってくださった嶋生さん、
何度も質問に答えてくださったチームKINDのみなさん、
そして、お忙しい中でインターンシップ生として受け入れてくださったFusicの社員のみなさんに感謝します。
5ヶ月間、本当にありがとうございました!