新卒2年目フロントエンジニアが1年間を振り返ってみた

こんにちは。新卒2年目でウェブフロントエンドエンジニアの久保です。この一年で様々なプロジェクトに関わらせていただき、今回はその軌跡を振り返ってみました。

ニジ★スタの立ち上げ

ニジ★スタには内定者の頃から配属され、ウェブフロントエンドをメインに開発を行っていました。

ニジ★スタについて

ニジ★スタとは、「オタク業界に風穴を開ける」を合言葉に、独自の切り口からオタクコンテンツを発信、声優・アニメへ虹を架けるべく誕生した新しいメディアです。

声優さんやアニメ監督、ゲームや各種イベントについてオリジナルの記事を毎日配信しています。

ニジ★スタの立ち上げとRiot.jsの導入の経緯

サービスの設計や記事作成については配属されたときには先行して進んでいる状態で、システム側はリリースに向けて、短期間での開発を要求されている状態でした。またゼロベースでの開発だったため、フロントエンド開発の環境構築からフレームワークの選定なども任されました。

その当時の開発体制は、サーバーサイドが2人、フロントエンドとデザイナーが1人でした。短期間でクオリティの高いウェブサービスを開発するため、フレームワークを導入するに際して気にしていたのが、学習・導入コストが小さく、またデザイナーがHTML・CSSなどのコーディングができたので、デザイナーがビューの実装までできるようなものが理想でした。

そこで、導入したのがRiot.jsです。

Riot.jsについて

Riot.jsは、コンポーネント指向によるウェブフロントエンドのUIライブラリです。類似のライブラリとしてはReact.jsやAngular2があります。Webページの高速化においては、ページあたりの通信量を少しでも減らすことがとても重要になってきます。同じくコンポーネント指向に則ったライブラリであるReact.jsやAngular2と比較して、Riot.jsは非常に軽量である点が採用のポイントとなりました。

また、タグの記述にHTML・CSS・JavaScriptをそのまま記述できるため、先述したデザイナーのビュー実装についても学習コストを軽減でき、開発スピードの向上に大きく貢献しました。

環境構築

Riot.jsの環境を構築するにあたって、以下のようなライブラリを用いました。

  • gulp
  • nodebrew
  • browserify
  • BrowserSync

特に目新しいライブラリは導入しておらず、比較的情報の多く、枯れたライブラリを採用し、極力学習コストをかけないように意識しました。

リリースと開発チームのマネジメント

8月にベータ版という形でリリースし、ユーザの動向に合わせて、毎週のように機能の改善を行いました。しかし、とにかく短期間での開発完了が求められていたためリファクタリング等に十分時間が避けず、機能の追加開発には苦労しました。

また、開発チームのマネジメントについても任せていただきました。工数の見積もりから開発のスケジューリング、企画職や営業職の方との方針のすり合わせは、初めてで慣れないことも多く大変でした。ですが、新卒ながらチームのマネジメントについての知見を貯めることができて、思い返すといい経験ができたと感じています。

データマイニングチームへのチャレンジ

ニジ★スタの開発の次は、データマイニング(DM)チームで社内ツールのウェブフロントの開発を行いました。

社内向けブラウザ拡張の開発

異動後、最初に任されたのが社内ツールのブラウザ拡張開発でした。

弊社のマーケティングチームでは、配信しているゲームタイトルの各種数値を毎日時間をかけてチェックしていました。そこで、各タイトルごとの代表的な数値をグラフ・表にして、設定した時間になれば自動でポップアップ表示する機能を持つブラウザ拡張機能を開発しました。

こちらは社内で好評をいただき、グループ内にも展開の要望があるようです。

現在取り組んでいること

現在は、フロントエンジニアとして新規プロジェクトのフロント開発を行っています。こちらも最新の技術を用い、市場に無い新しい価値を生み出すサービスとなっています。ご期待下さい。

また同時に、Pythonを用いて各タイトルのデータを機械学習で分析し、マーケティングに活かす取り組みも行っています。このように、フロントエンドの枠にとらわれず色々な経験を積むことでより幅広い領域で活躍できるエンジニアになれればと思います。

まとめと抱負

2年目になったので、この1年やってきたことを振り返りました。ニジ★スタでは、立ち上げからリリース、チームマネジメントまで担当でき、新卒ながら貴重な体験ができたと感じます。

現在はDMチームに配属されていることもあり、プロジェクト横断で便利なツール群の開発を行う反面、技術的な観点でも様々なことにチャレンジできればと思っています。

また、データマイニングチーム所属ということもあり、データ分析についてのツールを開発することが多いので、これを機にデータ分析や機械学習など、やったことのない領域についても積極的に取り組んでいければと思います。