エンジニアの八谷 (@hachi_eiji) です。元々はサーバサイドエンジニアなのですが、2016年9月にClassiにジョインして以降、サーバサイドだけでは飽き足らずフロントエンド開発にも首を突っ込んでます。好きなツールはIntelliJ IDEAとvimとtigです。
今日はフロントエンドエンジニア(FE)についてご紹介したいと思います。
どんな体制?
2017年10月1日時点で弊社のFEという肩書のエンジニアは3人(業務委託含む)です。(サーバサイド|フロントエンド|アプリ|インフラ)エンジニア、デザイナーが所属しているプロダクト部は30名強所属しているのですが、他職種と比べて少ない人数になっています。
使っている技術
弊社のサービスは複数ドメインのサービス(=複数のGitHubのリポジトリ)で構成されています。サービスの歴史的な経緯などがあり、AngularJS, Backbone, React, Angularと複数のライブラリ、フレームワークが乱立しています。
流石にこれ以上乱立すると本当に大変なので、2017年初頭に新規開発はAngularを使っていこうという決定を当時のFEだけで決めて、決まった後に上司に「Angularでいきますので」と緩く、でもみんなが納得できる形で決めました。
なぜAngularを採用したか?
当時盛り上がってたReact, Angular, Vue.js(2系)から比較をしました。以下はその時にメンバーから上がってきた内容の一部です。詳細はきちんと社内のesaにまとめています。(なお、2017年初頭の情報をベースにして採用したので現在は違う可能性があります)
- 静的言語で型があるTypeScriptで安心感がある
- Reactを採用してもstate管理ライブラリ、ルーターライブラリと様々なライブラリを選ぶ必要があるのは大変
- パフォーマンスは比較したものでほとんど変わらない
- Vue.jsは学習コストは低いが、View層だけなのでリポジトリが複数あったり、複数人で開発すると実装に差異が出やすい
- フルスタックフレームワークのAngular,TypeScriptだと開発がスケールしたときにもそこそこ耐えられる
余談ですがこれを決めたあとにGoogleがTypeScriptを標準言語にするというニュースがあってホッとしてます。
最後に
FEチームはまだまだ人数少なく、色々な課題や技術負債はたくさんあります。学校という特有の制約や限られた時間の中で積極的に取り組めるチームを今まさに作っている最中です。ユーザへ最大の価値を届けることができるように、でもエンジニアとしての楽しさを忘れないようにどんどん挑戦していきたいと思います。
少しでもご興味をお持ちいただけた方は、まずはご一報ください!
Classiのサービスはもちろん、メンバーやオフィスもご紹介させていただきます。
Classi株式会社では一緒に働く仲間を募集しています