SUZURIツイートはじめにこんにちはSUZURIでシニアエンジニアリングリードをやっております黒瀧です。今回このブログを書いている目的は採用目的です。GMOペパボの「採用目的」のようなことをやっていました。曲を作ったり、リリックを書いたり、アートワークを作ったりしていますね、2021年採用目的復活ということで、新しいリリックを書いたりはしていませんが、採用目的をやっていきたいと思います。SUZURIでは採用目的Tシャツも販売しています。関する記事一覧から見ることができます。テックカンパニーを見据えたエンジニア組織さて、SUZURIでは、すでに明らかになっている課題と、これから課題になっていくことを見据えて事業部のみんなが協力して日々課題解決に取り組んでいます。GMOペパボのエンジニア組織としての方針は「テックカンパニー」をエンジニアリングによって実現するためのエンジニア組織です。以下は、エンジニア組織と職位制度のアップデートv2020.07に記載されているペパボテックカンパニービジョンの一部です。テックカンパニーとは、あらゆる人々が常にインターネットにつながり、あらゆる産業がインターネットによってビジネスモデルを革新していく中で生まれる新たな表現形式・手法を背景に、「つくるひと」を増やし・その活動を実現し・成長を支えるためのしくみを、物理空間・スクリーン・XR空間を通じて提供する企業のことである。私自身、SUZURI事業部としてもテックカンパニーならぬテック事業部になっていく必要があると考えています。「つくるひと」を増やし、その活動を支えることをSUZURIというサービスを通して実現していきたいです。SUZURIのエンジニア組織は昨年末にブログを書きましたが、それからも継続的にアップデートを重ねています。現在の編成やテックな事業部に向けてどのような目的で行なっているのかは別の記事で紹介したいと思います。現在、事業部の下に複数のチームが存在していて、各自ミッションを持って活動しています。新機能!リクエスト機能ができるまで生産性を可視化したい!SUZURIの技術スタックペパボの技術スタックについてはこちらの記事に書かれていますが、サーバーサイドはRailsがメインで、画像変換サーバーはNode.jsとRustを使っています。フロントエンドは元々はCoffeeScriptとBackbone.jsでしたが、TypeScriptとReactで書き直しているところです。Enterpriseを使っていて、社内のプライベートクラウドとGCPも使っています。SwiftUIのネイティブアプリで、AndroidがFlutter製アプリです。Reloadや必要なウィジェットやプラグインが揃っていることによるFlutterの開発者体験の良さ、デザイナーの学習コストを考えてもSwiftやKotlinでやるよりは敷居は低いという話もあり、デザイナーと協業しやすいことから、スピード感を持ってAndroidアプリをリリースできそうだと分かりました。SwiftUIやReactに近い構造なので、iOSアプリを将来的にSwiftUIに移行する際でもメリットがあると思い採用しました。これからの課題フロントエンドと画像合成サーバのリプレース例えば画像変換サーバーは現在2つの言語で書かれたサーバが動いているため、これからはRustで書かれたサーバーをメインで動かしていくというのが一つの課題です。画像合成などの処理時間が早くなりサーバーの台数削減も見込めます。フロントエンドに関してはTypeScriptとReactで刷新しているところです。SUZURIでは画像をアップロードしてアイテムを作成するページやアイテムのお手入れ画面においてJavaScriptで色々と動きをつけているページが多いです。新アイテムがどんどん登場したり、様々なニーズが求められる中で、フロントエンドの改善をすることで、SUZURIのコアとなる機能開発においてユーザー体験を向上させることに直接繋がります。同時に開発者体験を向上させることにもなりますので、ユーザーがWebブラウザ上で操作するような機能改善をより早く対応できるようになると考えています。モバイルアプリエンジニアの不足3人のエンジニアがiOSアプリとAndroidアプリの開発をやっています。SUZURIのエンジニアは「フロントエンドとサーバーサイド両方できます」というようなエンジニアもいますし、「Androidアプリ開発とインフラ両方いけます」みたいな人もいます。ユーザーの課題に対して〇〇エンジニアという役割で線引きをすることなく実行できることが強みですが、例えばインフラの施策に注力したい時に、Androidアプリ開発とインフラ両方できる人がインフラの改善メインで担当してしまうとAndroidの改善が止まってしまうという弱みもあります。モバイルアプリを継続的にアップデートしていくという点ではまだまだモバイルエンジニアが足りません。SUZURIのモバイルアプリは日々改善を続けていますが、Webブラウザで見ているSUZURIの体験と同じか、もしくは新しい体験ができるようなものを目指してやっていきたいと思っています。過去のモバイルテックカンファレンスの資料を載せておきますので、最近のモバイル開発への取り組みを知りたい方は是非読んで下さい!ペパボモバイルテックカンファレンスを開催しました!FlutterでSUZURIのAndroidアプリ作りました。検索やミドルウェア周りの継続的改善サービスの拡大に伴い、Elasticsearchを使った検索サーバの継続的バージョンアップやPostgreSQLのデータベースの安定運用やパフォーマンスチューニングの重要度が高くなってきました。Add-onsで使われるようなものや、ログや監視に関わる部分の改善など、継続的に改善していく必要があると感じています。TOPページの3つをメインにしていましたが、これからは「検索サーバにおいて95パーセンタイルのレイテンシが〇〇msを95%を維持する」のようなSLI/SLOを追加して、Railsアプリケーションだけでなく、その周りのミドルウェアも含めて、改善する範囲を広げて取り組んでいきます。他にも色々とあるのですが、今回は3つに絞って紹介しました。これらの改善活動はすべてユーザー体験を向上させることと、エンジニアの開発者体験を向上させるためにも注力して取り組んでいきます。これからもSUZURIを通してクリエイターの方が楽しくオリジナルアイテムを作ったり、クリエイターのファンの方が安心してお買い物ができるように技術を活用し、SUZURIをもっとおもしろくしていきます。まとめ今回挙げたような課題について一緒に解決に向けて取り組んでくださる方、SUZURIというサービスを一緒に盛り上げてくださる方を大募集中です。エンジニア新卒採用に関する情報をまとめたページも公開中!ツイート書いた人kurotaky採用目的です。