職務内容
このシニアソフトウェアエンジニアのポジションでは、Monadプラットフォームのコアコンポーネントの設計と構築を行います。主な責任範囲には、ストレージシステムやリモートプロシージャコール(RPC)インターフェースなどの補助機能を備えた高性能マルチスレッドスタックベース仮想マシン(VM)の開発が含まれます。また、ビザンチン障害耐性(BFT)コンセンサスメカニズムを通じて同期を維持する分散システムの構築も行います。さらに、開発者がプラットフォーム上でより強力なプログラムを構築できるようにするVM機能を実装し、システムアーキテクチャの拡張性と効率性を確保します。
主な責任
- 包括的なプロファイリングを実施し、設計選択を分析することでパフォーマンスのボトルネックを特定・解決し、計算フローとシステム効率を最適化します。
- クロスファンクショナルチームと協力して技術デスクを維持し、コードレビューを通じてガイダンスを提供し、プロジェクト目標に沿ったアーキテクチャ決定を推進します。
- システム開発における技術的なステークホルダーとして活動し、エンジニアリングチームとビジネス要件の整合性を確保しながら、コード品質とシステム信頼性を維持します。
- 分散システム向けのスケーラブルなソリューションを設計・実装し、複雑な環境におけるフォールトトレランス、同期、高可用性に焦点を当てます。
- 開発者の生産性を向上させ、Monadプラットフォームの機能を拡張する革新的なVM機能の開発に貢献します。
求めるスキル
- 並行性とメモリ管理を強く意識した高性能・低遅延システム構築のためのC++およびRustの習熟。
- デバッグ、パフォーマンス分析、低レベルシステムコードの最適化のためのClang、LLVM、GDBなどのコンパイラツールチェーンの経験。
- 分散アプリケーションの展開と維持のためのUnix/Linuxシステムおよびコマンドラインツールの深い理解。
- ボトルネックの特定とシステム効率の改善のためのPerfなどのパフォーマンス監視ツールの知識。
- 複雑なシステムにおいてパフォーマンス、拡張性、保守性のバランスを考慮した技術的意思決定を行う優れた問題解決能力。
- ステークホルダーを調整し、分散プラットフォーム向け技術ソリューションに関する合意を推進する経験を有する協調的なマインドセット。
- フォールトトレランス、セキュリティ、本番環境における高可用性に重点を置いた堅牢なソフトウェアシステムの提供実績。
- チームの一員として、また独立して作業できる能力と、技術文書作成およびクロスチームコラボレーションのための強いコミュニケーションスキル。