ハードウエアとソフトウェア両方の開発チームがあるSynspectiveでは、各チームごとに独自の文化があります。本日は、PlatformチームのDevelopment CultureについてPlatform Backend UnitのマネージャーMarufさんにお話を聞いてみました。多様性の豊かなメンバーが集まるこちらのチームにおいては、「チームゴールの達成に集中する」「個人の成果よりもチームでの成果に価値がある」という共通認識を明確にすることで、チームのパフォーマンス最大化を目指しています。
Abdullah Al Maruf, Manager of Platform Backend Unit
ビッグデータ・機械学習プラットフォームやサービス開発の経験豊富なソフトウェアエンジニア。大学ではコンピュータサイエンスを学び、卒業後はAI開発、AIプラットフォーム開発、プロダクトマネジメントに従事。専門分野は、Python、Go、Reactjs、AWS、GCP、マイクロサービスアーキテクチャ。2018年10月に初のSoftwareエンジニアとしてSynspectiveに入社し、プロダクトの発掘と開発の両方に携わってきた。
Synspectiveのプラットフォームチームの役割とは?
Applied Scienceなどデータ解析チームが衛星データとその他ビッグデータを組み合わせて機械学習モデルを用い解析した結果をお客様に提供するWebソリューションの開発をするのが主な役割です。セールスチーム経由で入ってくるお客様の要望も開発に反映します。プラットフォームチームと呼ばれてはいますが、Synspectiveのソフトウェア開発チームとしてSaaS※とPaaSの両方を開発しています。チームには、Frontendエンジニア、Backendエンジニア、デザイナー、UI/UXのメンバーが所属しています。
膨大な量のデータを取り扱い、GCPのリソースを効率的に利用し、タイムリーにサービスを提供する点が難しくはありますが、一方で学ぶことも多く取り組み甲斐のある仕事だと思っています。既存のGIS解析と違い、Synspectiveの提供するWeb-GISソリューション(またはSaaS)はデータをダウンロードして解析ソフトウェアにデータをインポートする必要がありません。お客様自身が、AOI(Area of interset:見たい場所)を選ぶだけで、自動的に視覚化された解析結果が出てきます。
※SaaS:Solution as a Service
チームカルチャーについて教えてください。
7か国から集まる12人のメンバーで構成されています。言語や出身国の違いということだけではなく、スキルや思考の多様性も高いチームです。スキルセットの異なるメンバーが集まり、各々の専門性をチームゴールの達成のために持ち寄っています。同じスキルセットを持っているメンバーがおらず、一人欠けてもチームとして成り立たないためチームワークをとても大切にしています。個人で働くよりもチームで働いた方が大きな成果を上げることができます。そして、個人の成果よりも、チームメンバー全員で成果を出すことに価値があると思っています。
多様性が高いチームということで、意見の違いがある場面もあるかと思いますが、その辺りはどのように対処していますか?
ディスカッションの際には、主観ではなく客観的に議論するようにしています。チームのゴールにフォーカスすることが大切です。意見が衝突した時には、「チームの達成したいゴールは何か?そしてそのためにすべきことは何か?」について皆でよく考え、チームとして答えを出していきます。
「個人の成果よりもチームでの成果を重視する」ことをはっきりと打ち出すことで、チームメンバーがぶれずにチームゴールのために議論し、自然と協力できる体制ができあがります。
Platformチームでは、リモートワークで働くメンバーも多いと思いますが、どのようにコミュニケーションをとっていますか?
チームゴールを達成するためにはチーム内コミュニケーションを通じて、お互いを理解することが大切だと考えています。Platformチームでは、目的の異なる7つのミーティングがあります。
■Daily morning meeting
毎朝15分間のショートミーティングで、タスクの進捗確認や開発に関する問題を議論します。タスクのブロック化、スケジュール更新、サポートの必要性、その他お知らせの共有を行います。
■Scrum panning and review meeting
隔週開催の1時間のミーティング。チームメンバー、GM、オフショアメンバーでチームミーティングを実施します。製品のロードマップやマイルストーンについて話し合います。
■Retrospective meeting
月1回の振り返りミーティング。KPT法(Keep Problem Try)を用い、ホワイトボードにポストイットを貼り、K(キープしたいこと)、P(課題)、T(課題解決のためのアクション)を視覚化し自由にアイデアを出し合います。
■Tech meeting
技術的な課題を解決し、スプリント(2週間)の目標を達成するためのミーティング。週1回のバックエンドとフロントエンドの開発会議です。また、各々のメンバーが携わっているプロジェクトは違えども使われる技術は同じため、ナレッジを共有し技術を同期することが、このミーティングの目的です。
■Project meeting
Applied Scinentist、Customer Solutions Engineerおよび関連プラットフォームのメンバーが参加するプロジェクトミーティング。必要に応じて開催されます。
■Design meeting
デザインミーティングはワークショップ形式で実施されます。製品のアイデアやデザインコンセプトを生み出すために、ビジネスメンバー、エンジニア、アプライドサイエンティスト、デザイナーが参加し、各自が自分のアイデアをポストイットに書き出し、チームメンバーと共有します。
■Meeting without agenda
月1回のチームランチや週1回30分のAfter noon coffee chatなど、業務外のカジュアルな交流の場もあります。
-ミーティングが、すごく整理されていて目から鱗ですが、「ミーティングが多い?」という声はありませんか?
なくはないです(苦笑)。ただ、先に述べたように、個人での成果ではなくチームでの成果に重きを置いていますので、強制参加ではなく参加することで得ることがあると理解してもらい、自らの意思で参加してもらうようにしています。また、タスク管理会議や報告会議だけではなく、チームランチやアイデア出しの会議など、カジュアルでリラックスできるようなミーティングも揃え参加を促しています。どうしても参加できない場合でも、Slackやタスク管理ツール上でテキストベースで情報を残しているので、その辺りは問題ないかと思っています。
MarufさんにとってSynspectiveの好きなところはどこですか?
衛星データ解析を活用して社会貢献ができる仕事に携われることですね。例えば、Land Displacement Monitoring (LDM) やFlood Damage Assessment (FDA)などSAR衛星データ解析技術でしか提供できないことがあります。それらのソリューションが社会課題解決に繋がっていることを実感するとき、やりがいを感じます。
Synspecitveは、オープンでフラットな組織で、マネジメントメンバーも含め誰にでも、直接リーチアウトしやすい点も好きです。各々のメンバーが責任と専門性を持った集まりなので、チーム内のヒエラルキーはないと感じています。
SynspectiveのプラットフォームチームにJoinすることで得られることって何でしょうか?
最新の技術を使った仕事ができるので、その経験を通じてスキルを深め、新しい知識を習得することが可能です。開発には、マイクロサービスアーキテクチャを用いており、使用している技術を常に最新の状態に保つようにしています。技術面で、他により良い選択肢があれば、よく検討したうえで移行することもあります。
最新の技術を導入するために、各メンバーが日々勉強するように心がけています。会社には、新しい技術を学ぶための学習支援制度があり、書籍やE-learningを活用して知識を増やすことができます。アジャイル開発なので、問題解決に十分な時間をかけるようにし、自分一人では理解できず解決できない場合は、他のメンバーにサポートを依頼します。大事なのは、チームとして課題を克服していくことだと考えています。お互いに学ぶことについて、とてもオープンな環境です。
■使用している技術 (2022年4月現在)
Infrastructure: GCP, Kubernetes, Docker, Redis, Postgres
Programming language: Go, Python, TypeScript, React
GIS technology: Postgis, Mapbox, GDAL,BigQueryGis
Tools: GitHub, Asana, Docbase, Slack
UI/UX: Figma, AdobeXD
どんな人と一緒に働きたいですか?
- チームを理解することや他のメンバーとのコミュニケーションに前向きで、チームとして問題解決をするのが好きな人
- チャレンジングな環境で働き、革新的なものを生み出したいと考えている人
- 正確な解決策が分からない中で、トライ&エラーを繰り返すことが好きな人
- 様々な場面で、技術を使って問題を解決していきたい人
Synspectiveでは、一緒に学び会社と一緒に成長する仲間を募集しています!
募集ポジションはこちらから。