皆様初めまして! 杉谷(すぎたに)と申します。これまで有名芸能人と通話ができる(かもしれない)ライブ配信アプリとか、オリジナルマンガの配信サービスとか、コメントが横に流れるライブ配信システムとかを作ってきました。2022年1月にUUUMの子会社であるNUNW株式会社のCTOに就任しました。
※FORO株式会社は、2022年5月よりNUNW株式会社に社名変更を行いました。
本エントリではNUNWの企業文化や開発文化をご紹介いたします。
NUNW株式会社とは?
NUNW株式会社はUUUM株式会社の子会社で、有料SNSの『FOLLOW ME』や、NFTデジタルトレカサービスの『HABET』を運営しています。
UUUMはクリエーター様のポテンシャルを最大限に引き出し支援するのが主な業務ですが、NUNWは社長(鎌田和樹/UUUMとNUNWの社長を兼任)直轄でUUUMで得られた知見を生かし、あらゆるエンターテインメントにチャレンジすべく新しいサービスを作り出す事がミッションです。
『HABET』であればクリエーターに存在する価値をNFTを通じて可視化できるのではないか?『FOLLOW ME』であればクリエーターにはあえてクローズドな環境が必要なのではないか?という思いを持って挑んでいます。
どのような勤務形態なのか
NUNWは原則フルリモート勤務です。希望する人は赤坂にある東京ミッドタウンに勤務することも可能です。現在のエンジニアは全員リモート勤務です。Macbook Proが貸与されるほか、少額ながらも(¥5,400)月々リモート勤務手当が支給されます。
労働形態は裁量労働制を採用しています。チームで行うミーティングなどもあるので完全自由という訳にはいきませんが概ね自由な出社・退勤が可能です。私用をこなしてから出社したり、途中でジムに行ったり、早めに退勤してゴルフに行ったり、などが実際に行われています。
大規模リファクタリング進行中
NUNWでは『FOLLOW ME』と『HABET』を運営していますが、開発は『FOLLOW ME』を担当しています。(『HABET』はIndieSquare社との協業で開発は担当していない)
FOLLOW MEはFirebaseプロダクト群を多く採用しており
- Backend - Cloud Functions for Firebase / TypeScript
- Web - Riot.js / JavaScript ※1
- iOS - Swift / UIKit ※2
- Android - Kotlin / 従来のView方式 ※3
という構成になっています。
※1 TypeScriptに書き換え中 / ※2 SwiftUIへ切り替え予定 / ※3 Jetpack Compose切り替え予定
FOLLOW MEは歴史的経緯により開発衛生が悪い状態でしたが、開発体制刷新に伴い改善が進んでいます。ドメイン駆動設計とアーキテクチャに深い知見のあるメンバーで取り組んでおり、上質な開発体験が得られる場所になることを目指しています。
〈過去半年の実施内容※〉 READMEの整備/ドキュメント置き場の整備とチームルールの明文化/LinterとFormatterの整備/ JavaScriptプロダクトにtsc+JSDocによるゆるやかな型支援導入/TypeScriptも使えるように拡張/ESMへの完全移行とV2基盤の作成/Firebase Emulator利用の整備/総点検プロジェクトの立ち上げ/v2基盤の作成とストラングラーパターンでの移行/iOSプロダクトのSPM利用への移行とxcodegenの導入/Embedded frameworkでの分割によるUIプレビューの高速化/GithubActionsによるテスト実行やデプロイの整備/Androidの大規模リファクタリング
詳細はこちらをご覧ください
現時点の開発文化について
現時点ではシンプルで
- 運営としてやるべき事を全員でアイデア出しをしたり検討したり投票したりして決める
- やると決まったことの要件を運営担当と協力して詰めていく
- 実装をする / プルリクエストでレビューを受ける
- 動作確認やデバッグをしつつ、使い勝手をブラッシュアップしていく
- リリースする
という生活です。
厳格なスクラムなどは行わず、比較的牧歌的な開発体制になっています。
今後の開発文化について
原則として「高速に高品質な開発を楽しく行える」を目指します。("高速" AND "高品質" AND "楽しく" )
杉谷はこれまで様々なことをやってきました。とくにCTOを勤めていた株式会社セプテーニ・オリジナル(現株式会社FLINTERS)では様々な事を実施させていただきました
その後の株式会社SUGARにおいても、これらをバージョンアップした開発文化を構築することができました。NUNWにおいても規模や課題に応じて、これまでの知見を生かした手法を導入していきます。
評価制度を変更しました
NUNWの設立は2021年6月1日と日が経ってないことも有り、評価制度はUUUMと同様に「目標を設定する」「その達成具合によりボーナスや昇給ランクが決まる」という制度でしたが、目標設定方式は多くの企業で採用されていますが、エンジニアの評価には向かない印象です(状況がよく変わるので目先のことしか決められない/目標外のことをやっても旨みが薄い/意味が薄れたとしても目標を達成しなければ損がある)
今期より「お互い納得できるパフォーマンスが出ている状態であれば、評価には無駄に手間をかけないようにする」「できる貢献が大きくなった場合は、転職しなくても大きく昇給できるようにする」というコンセプトの新制度に移行しました。
大雑把にいうと「めっちゃ会話しようぜ」という少人数のときしかできない内容で、小さい組織であることを活かした制度です。
どのような方に来て頂きたいか
開発衛生の改善は進んでいますが、それでも奇麗な整ったコードベースでの開発という状況ではありません。もし「学ばせてもらいたい」「自信が無い」という方だと、申し訳ないですが辛いと思います。
「改善するリソース(気力と時間)があると申すか」「ならばやって進ぜよう(あれやこれやをこの手で試せるというのだな)」という豪傑な方であればとても輝くとおもいます。
前述のこちらの記事でも書いたのですが、杉谷は入社半年で
- 使ったことがないFirebaseプロダクトを使う経験と失敗の体験
- 比較的大規模なTypeScriptプロダクトの動かしながらのリファクタリング方法
- ES modulesとCommonJSに関する知識
- ES2016以降のJavaScriptへのキャッチアップ(await/async等。大規模開発はES6が最後だった)
- TypeScriptにおけるアーキテクチャ構築の経験
- XcodeGenやSwiftPMの知識
- GitHubActionsの経験
これだけの実戦を経験することができました。
豊富な経験値元以外にも、今後は高速高品質で楽しい開発を行うのだ、という誓いの元で行う新機能開発と新サービス開発が控えているのも魅力かと思います。
福利厚生について
NUNWの意思決定構造はスタートアップに近いので実態もスタートアップに近いと感じているのですが(意思決定周りはかなりスタートアップ/入社時にちゃんとした研修があったり、何かお金を使うときに稟議などが出てくるところには大企業感あり) UUUMの設備や福利厚生が利用できるのも魅力です。
- 有給多め
- 手当多め(リモート手当/交通費支給/時間外手当/役職手当/住宅手当/子ども誕生日手当)
- 技術書購入や外国語学習などへの補助/ベネフィットステーション/定期健康診断
- 企業型確定拠出年金(iDeCoより高い上限の5.5万円にできるのが魅力)
などがあり、ガチスタートアップを経験した身からすると”やっぱ大きなところは整ってるわー”感を感じています。
おわりに
いまは『FOLLOW ME』と『HABET』だけですが、UUUMグループの新規サービス開発企業として、今後もいろいろ作成していきますし、気分良く開発ができる環境も整えきる予定です。
採用も大幅に強化中でTypeScript/JavaScriptエンジニア、Swiftエンジニア、Androidエンジニアのどのポジションでも応募を受け付けています。
もし転職中の方でご興味がありましたら以下よりご応募いただけると幸いです。
カジュアルに話を聞きたい場合はその旨ご連絡ください。
最初から杉谷がご対応させていただく予定です。
どうかよろしくお願いいたします。