Preferred Networks
MN-Core Driver and Runtime Software Engineer
MN-Coreドライバ・ランタイムソフトウェアエンジニア
Tags: Full-time, 4~5 YOE, Business Japanese, Remote
Remote (Remote) / Japan・Fetched 30+ days ago
Job Description
Job Description
本ポジションでは、PFNが開発するアクセラレータであるMN-Coreシリーズを、PFN社内クラスタやPFCP等の実サービスで動作させるために必要なドライバやランタイムソフトウェアを開発・維持していただくソフトウェアエンジニアを募集します。下記は本ポジションで想定する典型的な業務の例で、各人のスキルや得意な領域を活かして複数人で全体を担当します。また、ここで挙げたもの以外にも、他チームとの協力や事業の拡大に伴って、広くさまざまな業務を担当していただく可能性があります。##### 業務内容例- 以下のコンポーネントを設計・実装・テストします。設計にあたっては、MN-Coreのパフォーマンスを最大限に引き出すために余計なオーバーヘッドをできる限り削る観点と、実サービスで提供する際に必要な信頼性やセキュリティ要件を満たす観点で両立を図ります - MN-CoreのLinuxドライバ (カーネルモジュールおよびユーザーランドドライバ/ランタイム) - MN-CoreをKubernetesクラスタで運用するために必要な、Device PluginやモニタリングシステムなどのKubernetesコンポーネント - MN-Coreチップの動作を補助する、MN-Coreボード上のマイクロコントローラやFPGA等で動作するファームウェア- 次世代MN-Coreを設計するにあたって、ドライバのレイヤの実装しやすさやクラスタにおける運用のしやすさの観点から見た機能レビューおよびフィードバックを行います- 複数のレイヤの相互作用によって発生する不具合への対応や原因の解析を行います##### 本ポジションの魅力- MN-Coreが動作する際に必要なすべての要素を触ることができます。計算機を動作させることに面白さを感じる人にとって、最高の題材です- クラウド基盤ソフトウェアとして広く使われるKubernetesに関して、幅広い業務経験を得ることができます##### チームでの働き方日本国内であれば、勤務場所について裁量があります。ほぼ毎日オフィスに出社するメンバーもいれば、首都圏外からリモートで勤務するメンバーもいます。
Qualifications
- C言語によるソフトウェア開発経験- GitおよびGitHubを利用したソフトウェア開発経験- Linuxホストシステムについての基礎的な理解- コンテナ仮想化およびVM仮想化についての基礎的な理解- 大学学部レベルのコンピュータサイエンスについての基礎的な理解- ビジネスレベルの日本語能力- 平易な英語で書かれた技術資料を読み書きする能力
Preferred Qualifications
- Kubernetesクラスタの構築・運用経験- GPUクラスタの構築・運用経験- PrometheusやGrafanaによるモニタリングシステムの構築・運用経験- Linuxシステムソフトウェアや組込みファームウェアの実装経験- Go言語によるソフトウェア開発経験- SystemVerilogによるFPGAでのRTL設計・開発経験- PCI Expressを用いたソフトウェアの開発経験- debian package (deb package) によりソフトウェアを配布する手法と慣習についての理解- カンファレンスや勉強会等での発表経験- 多人数のチームでのソフトウェア開発経験・OSSコミュニティでのソフトウェア開発経験- 機械学習・深層学習の基礎知識- アクセラレータを利用する計算のパフォーマンスチューニングやボトルネックの解析の経験- その他、さまざまなコンポーネント・さまざまなレイヤにおける、トラブルシュートやバグ解析・修正の経験
Portrait of a person
- 様々な分野への関心、新たな技術領域の知見獲得の意欲のある方- 同職種・他職種に関わらずリスペクトして一緒に楽しく働ける方- 強みを活かして、チームメンバと助け合える方- 誰の持ち物かに関わらず自分事として捉え課題解決を推進できる方- 様々な専門性を持つ人がいる環境で新しいことを吸収し、楽しめる方
本ポジションでは、PFNが開発するアクセラレータであるMN-Coreシリーズを、PFN社内クラスタやPFCP等の実サービスで動作させるために必要なドライバやランタイムソフトウェアを開発・維持していただくソフトウェアエンジニアを募集します。下記は本ポジションで想定する典型的な業務の例で、各人のスキルや得意な領域を活かして複数人で全体を担当します。また、ここで挙げたもの以外にも、他チームとの協力や事業の拡大に伴って、広くさまざまな業務を担当していただく可能性があります。##### 業務内容例- 以下のコンポーネントを設計・実装・テストします。設計にあたっては、MN-Coreのパフォーマンスを最大限に引き出すために余計なオーバーヘッドをできる限り削る観点と、実サービスで提供する際に必要な信頼性やセキュリティ要件を満たす観点で両立を図ります - MN-CoreのLinuxドライバ (カーネルモジュールおよびユーザーランドドライバ/ランタイム) - MN-CoreをKubernetesクラスタで運用するために必要な、Device PluginやモニタリングシステムなどのKubernetesコンポーネント - MN-Coreチップの動作を補助する、MN-Coreボード上のマイクロコントローラやFPGA等で動作するファームウェア- 次世代MN-Coreを設計するにあたって、ドライバのレイヤの実装しやすさやクラスタにおける運用のしやすさの観点から見た機能レビューおよびフィードバックを行います- 複数のレイヤの相互作用によって発生する不具合への対応や原因の解析を行います##### 本ポジションの魅力- MN-Coreが動作する際に必要なすべての要素を触ることができます。計算機を動作させることに面白さを感じる人にとって、最高の題材です- クラウド基盤ソフトウェアとして広く使われるKubernetesに関して、幅広い業務経験を得ることができます##### チームでの働き方日本国内であれば、勤務場所について裁量があります。ほぼ毎日オフィスに出社するメンバーもいれば、首都圏外からリモートで勤務するメンバーもいます。
Qualifications
- C言語によるソフトウェア開発経験- GitおよびGitHubを利用したソフトウェア開発経験- Linuxホストシステムについての基礎的な理解- コンテナ仮想化およびVM仮想化についての基礎的な理解- 大学学部レベルのコンピュータサイエンスについての基礎的な理解- ビジネスレベルの日本語能力- 平易な英語で書かれた技術資料を読み書きする能力
Preferred Qualifications
- Kubernetesクラスタの構築・運用経験- GPUクラスタの構築・運用経験- PrometheusやGrafanaによるモニタリングシステムの構築・運用経験- Linuxシステムソフトウェアや組込みファームウェアの実装経験- Go言語によるソフトウェア開発経験- SystemVerilogによるFPGAでのRTL設計・開発経験- PCI Expressを用いたソフトウェアの開発経験- debian package (deb package) によりソフトウェアを配布する手法と慣習についての理解- カンファレンスや勉強会等での発表経験- 多人数のチームでのソフトウェア開発経験・OSSコミュニティでのソフトウェア開発経験- 機械学習・深層学習の基礎知識- アクセラレータを利用する計算のパフォーマンスチューニングやボトルネックの解析の経験- その他、さまざまなコンポーネント・さまざまなレイヤにおける、トラブルシュートやバグ解析・修正の経験
Portrait of a person
- 様々な分野への関心、新たな技術領域の知見獲得の意欲のある方- 同職種・他職種に関わらずリスペクトして一緒に楽しく働ける方- 強みを活かして、チームメンバと助け合える方- 誰の持ち物かに関わらず自分事として捉え課題解決を推進できる方- 様々な専門性を持つ人がいる環境で新しいことを吸収し、楽しめる方