機械学習エンジニア(Machine Learning Engineer)
Tokyo, Japan
Eureka – Development, Technology /
Hybrid
株式会社エウレカでは、現在、累計会員数2,000万人を突破した恋活・婚活マッチングサービス「Pairs」を展開しています。これらのブランドの提供・拡大を通じてデーティングや婚活領域などのライフステージ領域でのリーダーシップを高めて、ミッションである “人生に「あってよかった」と思ってもらえるものを” の実現を目指しています。
また、「Pairs」は収益面でもすでにワールドクラスのプロダクトへと成長していますが、日本国内でもアジアでもまだまだ大きなポテンシャルがあります。直近のフォーカスは更なる成長を続ける日本市場ですが、すでに展開済みの台湾などアジア市場での更なる拡大もスコープになる可能性があります。
実際の業務内容
機械学習エンジニアとして、推薦や検索、自然言語処理や画像処理とその結果がシステムの中心となるプロジェクトに携わり、プロダクトチームが正しくそれらが提供する結果を利用し継続的にプロダクト指標を改善できるような状態に導くこと。
仕事の進め方
- 機械学習エンジニアとしてプロダクトチームと共に企画段階からコミットし、プロジェクトの目的や評価指標、何をアウトカムとするかの定義からプロダクトマネージャを支援する。
- ハンズオンで分析及び概念実証を行い、プロトタイプを作成し、プロジェクト内外の理解を深めることで説明責任を果たしながら成功確率を高める。
- 性能(精度、UXに影響する処理速度等)、コスト、リードタイムなどのトレードオフを意識しながら機械学習コンポーネントを含むシステムの技術選定、設計、実装を行う。
- 専用の情報共有ツールを使って、ノウハウや議事録などの情報共有を行う。
仕事から得られるもの
- 最大級のオンラインデーティングサービスのデータを用いた機械学習を含む機能開発に企画段階からプロダクトチームと共に関わり、最適解を実現する為の過程で得られる知識とテクニカルスキル
- エウレカでは技術選択は全て開発者が責任を持って行っており、必要に応じて最新技術も積極的に活用できます
- サービスマインドの高いメンバーが多く、あるべき姿を議論しながら、調整力、コミュニケーションスキル、解決力を磨くことができます
- 定性・定量のバランスを持った高度で本質的なデータ・ドリブン組織の推進・実務経験
- 外資系IT企業ならではの論理性、圧倒的スピードのある開発経験
- 英語力(業務上必須ではありませんが、親会社や外国籍メンバーとのコミュニケーションのため英会話学習をサポート。また、社内メンバーの国籍は、台湾・韓国・フィリピン・オーストラリア・イギリス・アメリカ・フランスと多種多様です)
- 開発を通した社会貢献(晩婚化問題、少子化問題、人生における自由な選択etc.)
使っているツール/環境
開発言語:Python, Go
データベース:BigQuery, MySQL(AWS Aurora), DynamoDB, Redis, ElasticSearch
データ処理:Google Cloud Vertex AI, Fivetran, Google Cloud Dataflow, Cloud PubSub, Fluentd, Fluent-Bit, dbt, dagster etc
BIツール:Tableau, redash
構成管理:Terraform
開発、その他:Github, Slack, JIRA, monday.com
G Suite 各種ツール:Google SpreadSheet / Google Slide
インフラ:GCP/AWS各種サービス, Kubernetes
必須条件
1. 次の一般的なソフトウェアエンジニアとしての知識・スキル・経験を持っていること:
WebApp開発の知識、スキル
- 一般的なWebアプリケーションの大まかな構成を理解していること
- バックエンドアプリケーションの開発経験(設計及び実装)(Sr. Backend engineer レベルであると尚可)
フルタイムの業務経験最低2年以上
2. 機械学習、検索、推薦、自然言語処理、画像処理等、高度なアルゴリズムのいずれかをコアコンポーネントとするソフトウェア開発プロジェクトに携わり、継続的に改善した経験:
- 例: ECにおける商品推薦、UGCテキストや画像の分類問題、Elasticsearch/Solrを用いた検索システムの結果改善をはじめとした運用
- コンポーネント自体はマネージドサービスでも可
3. ビジネス/エンジニアとのコミュニケーション力:
- プロジェクトのアウトカムをプロダクトマネージャや分析者と共に議論し定義でき、機械学習タスクとして要件に落とし込める
- 複雑な要件を整理、適切なステークホルダーを巻き込んで合意形成できる
4. 日本語Fluent(流暢)レベル以上:
- ネイティブでない方であれば、日本語が共通言語であるチームでの業務経験があること
5. 英語ビジネスレベル以上:
- 必要に応じてマッチグループの英語話者ステークホルダーとのコミュニケーションや英語による正式な資料作成が可能なレベル、もしくはそこまでキャッチアップ可能であること
任意条件
(特に1. 2. の要件を重視します)
1. 機械学習プロジェクトをリードした経験:
- 複数の職種が関与する機械学習プロジェクトにおけるテクニカルリード
- 曖昧で制約が自明でない状況においてトレードオフを明確にした技術的意志決定(性能、コスト、UXを考慮した要素技術の選定・設計)
2. 統計学、機械学習、A/Bテストの知識、スキル:
- 各種統計検定に関する理解があり、ケースに応じて適切な利用と結果の解釈ができる
- 機械学習(主に教師あり学習)の評価指標を理解している
- 機械学習、検索、推薦、自然言語処理、画像処理等の幅広い分野に関する知識と経験を持ち、プロジェクトの目的に対してこれらから最適なタスクへの落とし込みができる
- A/Bテストについて網羅的な知識を持ち、プロジェクトKPI/KGIとテストターゲット、機械学習のドメインとの関連を理解した上で設計及び実施、評価が出来る。
- NumPy, Pandas, SciPy, Matplotlib, scikit-learn, Tensorflow, Pytorchなど機械学習に関わるライブラリ・フレームワークの本番環境における利用経験
3. データ処理におけるテクニカルスキル:
- SQL言語の知識、技能
- Python/Ruby/Java/Scala/Goいずれかの業務での開発経験
- ストリーム/バッチのデータ処理経験
- RDB以外のデータベース利用経験
4. MLサービスの運用経験:
- kubeflow/TFXなどMLパイプラインの開発・運用
- Kubernetesの監視・運用
- SageMaker, Vertex AI などのMLマネージドサービス群を利用したML基盤の開発・運用
5. 機械学習チームをリードした経験:
- チーム内の担当領域のロードマップの策定(四半期から1年)
- 機械学習チームと事業及び企業全体のロードマップとの整合性をとる為の継続的な行動
6. データエンジニアリングスキル:
- リアルタイムでオンライン推論が行われる機械学習パイプラインの設計・構築・運用・監視経験。
- 高トラフィックサービスのストリームデータ処理経験
- 大規模データのバッチ処理経験
- データに対する要求水準が高い Applicationのデータストアやデータパイプラインの設計、技術選定の経験
7. 大規模システムの運用経験、トラブルシューティングスキル:
- ボトルネックを特定し、適切な解決策を提案、実施した経験
- または運用を事前に考慮して、高可用性、高信頼性のあるシステムを設計した経験
- SREのプラクティスを改善しながら運用する経験(SLO, エラーバジェット等)
ほしい人物像
- 担当領域に関して、物事を前に進めるためのあらゆることを実践できる
- 経営陣、法務、プライバシー保護担当等のプロジェクトチーム外のステークホルダーとのコミュニケーションを必要に応じて行える
- 自身の仕事の価値を理解してやりきれる力がある
- 最新技術を常にキャッチアップし、必要に応じてプロダクトに導入できる
- あるべき理想を持ちながら、現実問題に落とし込んでギャップを埋める議論ができる
雇用形態
・正社員(試用期間:3ヶ月)
給与
・基本給+45時間分みなし残業代+賞与/経験・能力を考慮の上、当社規定により決定いたします
・昇給:上長との定期面談があり、年に1回昇給を決定いたします
・賞与:業績貢献度に応じて年に1回支給いたします
勤務時間
・フレックスタイム制、ハイブリッドリモート
休日・休暇
年間休日:130日(2022年実績)
・完全週休2日制/土日祝休み
・夏季、冬季休暇
・有給休暇
・特別休暇(誕生日休暇、アニバーサリー休暇など)
・産前産後/育児休暇、生理休暇 etc.