Description du poste
ソフトウェアエンジニア エンジニアリング|東京|正社員 キーワード:C++ / Python / Windows / Linux / IEC 62304 / ISO 13485 AIを用いた手術支援・術前計画システム(SaMD)の設計・実装・検証を担当していただきます。 業務内容 AIを活用した術中支援・術前計画医療機器(SaMD)の製品ソフトウェアの設計・実装・検証を行います。開発の過程では、AIエンジニアが開発した学習済みモデルの製品への組み込みも担当します。 動作環境はWindowsまたはLinux PC+NVIDIA GPUを想定しており、CPU-GPU間のデータ転送や並列化を意識したパフォーマンス最適化、低遅延の映像処理・描画、および医療機器としての安定動作のためのOSレベルのカスタマイズ(起動構成、サービス構成、ドライバ・GPU設定等)が主要な技術課題です。 UIは表示の誤りや遅延が臨床上のリスクに直結するため、ISO 14971に基づくリスクマネジメントと一体で設計・実装します。 開発はISO 13485に基づくQMSの下で行い、ソースコード管理(Git)やCIもQMSで策定したプロセスに適合した形で運用します。 IEC 62304に準拠した開発ライフサイクルの実践、検証・バリデーション(単体〜システムテスト、静的解析、要求トレーサビリティ)、さらに製品の品質・出荷判定テストの設計と実施までを担当します。現在はこれらを支える社内開発環境の整備段階であり、環境構築から参画いただきます。 必須要件(MUST) ・C++およびPythonを用いたソフトウェア開発の実務経験(3年以上目安) ・設計からテストまでを含む開発工程の経験 ・品質マネジメントシステムに基づく開発プロセスの下で仕事を進めることへの理解と適応意欲 歓迎要件(NICE TO HAVE) ・医療機器、車載、産業機器など規制・安全性要求の高い分野での開発経験 ・IEC 62304、ISO 13485、ISO 14971に関する知識 ・出荷判定・品質保証テストなど、製品リリースの判定に関わった経験 ・GPUを用いるアプリケーションの最適化経験(メモリ帯域、データ転送、並列化など計算機アーキテクチャへの理解) ・学習済みモデルや推論ランタイムを製品ソフトウェアに組み込んだ経験 ・映像入出力・低遅延描画に関する経験 ・Qt/QML等によるネイティブアプリケーションのUI実装経験 ・Windows/Linuxのシステム構成・カスタマイズの経験 Software Engineer Engineering | Tokyo | Full-time Keywords: C++ / Python / Windows / Linux / IEC 62304 / ISO 13485 We are seeking a Software Engineer to design, implement, and verify AI-powered intraoperative surgical guidance and preoperative planning systems (Software as a Medical Device, SaMD). Responsibilities You will be responsible for the design, implementation, and verification of product software for AI-powered intraoperative surgical guidance and preoperative planning systems classified as Software as a Medical Device (SaMD). Your responsibilities will also include integrating trained AI models developed by our AI engineers into production software. Our target runtime environment consists of Windows or Linux PCs equipped with NVIDIA GPUs. Key technical challenges include: ・Performance optimization with a focus on CPU–GPU data transfer and parallel processing ・Low-latency video processing and rendering ・OS-level configuration and customization to ensure stable operation as a medical device, including boot configuration, system services, drivers, and GPU settings Because incorrect or delayed information displayed through the user interface may directly affect clinical safety, UI design and implementation will be closely integrated with risk management activities in accordance with ISO 14971. Development is conducted under a Quality Management System (QMS) based on ISO 13485. Source code management (Git), continuous integration (CI), and other development practices must comply with the processes established under our QMS. You will also be responsible for: ・Implementing software development lifecycle processes in accordance with IEC 62304 ・Software verification and validation, including unit through system-level testing, static analysis, and requirements traceability ・Designing and executing product quality assurance and release acceptance tests ・Establishing and maintaining internal software development and testing environments We are currently building the internal development infrastructure required to support these activities. You will have the opportunity to contribute from the initial setup and help establish the engineering processes and infrastructure that will underpin our medical device development. Required Qualifications (MUST) ・Approximately 3 or more years of professional software development experience using both C++ and Python ・Experience across the software development lifecycle, from design through testing ・Understanding of, and willingness to work within, development processes governed by a Quality Management System (QMS) Preferred Qualifications (NICE TO HAVE) ・Experience developing software in regulated or safety-critical industries, such as medical devices, automotive systems, or industrial equipment ・Knowledge of IEC 62304, ISO 13485, and ISO 14971 ・Experience in product release testing, quality assurance testing, or release readiness assessments ・Experience optimizing GPU-accelerated applications, including an understanding of computer architecture, memory bandwidth, data transfer, and parallel processing ・Experience integrating trained machine learning models or inference runtimes into production software ・Experience with video input/output and low-latency rendering ・Experience developing native application user interfaces using Qt/QML or similar frameworks ・Experience configuring and customizing Windows or Linux systems Show more Show less