株式会社Nulab
Nulab一次面接 自己紹介原稿
基本情報・経歴紹介(1分30秒)
脇元さま・森さま(サービス開発部Backlog課):
皆さま、本日はお忙しい中、貴重なお時間をいただき、誠にありがとうございます。盛と申します。どうぞよろしくお願いいたします。
私は中国出身で、2016年に来日して以来、8年以上にわたり日本国内でソフトウェア開発に従事してまいりました。学歴としては、武漢大学で電気工学と自動化の学士号を、浙江大学でシステム分析と統合の修士号を取得いたしました。
これまでMonotaRO、エクレシア企画、そして現在のSynXという3社で、フロントエンドからバックエンド、データ基盤、そして近年では生成AIを活用したシステム開発まで、幅広い領域での開発経験を積んでまいりました。
技術経験・強み(2分)
技術面では、Python、Golang、TypeScriptを主要言語として使用しており、特にフルスタック開発と最新技術への適応力に自信を持っております。
最近の代表的なプロジェクトとして、現在の会社では「Walkure Operator」というLLM活用型インテリジェント監視自動化システムを設計・開発いたしました。これは、ZabbixとMistral、Mixtralなどの複数LLMを統合し、監視アラートの要約、原因推定、予知保全を実現するシステムです。LangChainやRAG構成による知識検索機能、JSON-RPC応答構築なども含む包括的なAI統合プロジェクトでした。
また、AWSの最新生成AIサンプルプロジェクトを活用した社内エージェントシステム「Intelligent Agent Platform」の設計・開発も手がけました。MCP(Model Context Protocol)を採用したサーバーレス構成により、スケーラブルな自動化システムを構築し、Amazon Bedrock、Amazon Kendraを活用した知識検索機能を実装いたしました。
これらの経験を通じて、生成AIの実用化とシステム統合における深い知見を培ってまいりました。
志望動機・価値観(1分)
Nulab様への志望理由は三つございます。
まず、御社のBacklogチームが推進されている生成AI機能開発に強く魅力を感じております。私のこれまでの経験を活かし、プロジェクト管理ツールにAI機能を統合することで、ユーザーの生産性向上に貢献したいと考えております。
次に、御社の行動指針である「Try First」「Love Differences」「Goal Oriented」に深く共感いたします。私自身、常に新しい技術に挑戦し、多様性を尊重し、目標に向かってチーム一丸となって取り組むことを大切にしております。
そして、「このチームで一緒に仕事できてよかった」を世界中に生み出していくという御社のミッションに、心から賛同いたします。私も技術を通じて、チームの協働と成果創出に貢献したいと強く願っております。
締めくくり(30秒)
私は、技術的な挑戦と継続的な学習を通じて、Nulab様のBacklogチームの一員として、より良いプロダクトの開発に貢献できると確信しております。ぜひ、皆様と一緒に働かせていただき、生成AIの力でプロジェクト管理の未来を創造していきたいと思います。
本日は、どうぞよろしくお願いいたします。
読み上げ時間目安:約5分
ポイント:落ち着いて、適度な間を取りながら、相手の目を見て話す
脇元さま・森さま(サービス開発部Backlog課)
プロダクトとカルチャーに共感しており、ぜひ一緒に働きたいと考えております。
>転職の判断軸(環境や年収など)
現職ではインフラ向けのAIチームに所属しておりますが、今後はLLMと組み合わせたアプリケーション開発など、より技術的に成長できる環境と、柔軟な働き方が可能な職場を重視しております。プロダクトやカルチャーにも強く共感しており、長期的に貢献できる環境を探しております。年収については柔軟に考えております。
技術課題について、以下の点をご相談させていただけますでしょうか:
技術課題の選択について:
・選択肢2(自由なアイデアでBacklog APIを使ったアプリケーション作成)と選択肢3(サンプルアプリケーションの要件に基づく作成)で迷っております
・採用側の観点から、どちらの選択肢がより評価されやすいでしょうか?技術課題の提出形式について:
・GitHubリポジトリでの提出は可能でしょうか?
現在主にPython、Golang、TypeScriptを使用しておりますが、TypeScriptまたはGolangでの挑戦を特に歓迎されるとのことです。しかし、技術スタック資料を拝見しましたところ、BacklogチームではScalaが主要言語として使用されているようですが、採用側の観点から、GolangよりもScalaでの技術課題の方がより評価されやすいでしょうか?
Nulab一次面接 想定質問と回答
- 技術スキル関連
Q1: Scalaの経験はありますか?もしなければ、どのように学習しますか?
A1: はい、Scalaでの開発経験がございます。以前、大規模なWebログデータの処理・解析プロジェクトでScalaを使用いたしました。分散処理プラットフォームを活用して、セッション分割、セッション時間の計算、ユニークURL訪問数の統計、最もアクティブなユーザーの識別などのタスクを完了いたしました。Scalaの関数型プログラミングの特性と、大規模データ処理における並行処理の優位性を実感しており、御社のBacklogチームでもこの経験を活かせると確信しております。
Q2: OpenAI APIの使用経験について教えてください。
A2: はい、OpenAI APIを使用した実務経験がございます。現在の会社で「Walkure Operator」という監視自動化システムを開発した際、OpenAI APIと複数のLLMを統合いたしました。具体的には、監視アラートの自動要約、根本原因の推定、予知保全のためのインテリジェントな分析機能を実装いたしました。また、プロンプトエンジニアリングやRAG構成による知識検索の最適化も経験しており、生成AIの実用的な活用に深い理解を持っております。
Q3: TypeScriptとGoの経験はいかがですか?
A3: 両方とも実務で使用経験がございます。TypeScriptについては、React と組み合わせたフロントエンド開発で使用しており、型安全性を重視した堅牢なWebアプリケーション開発を行ってまいりました。Golangについては、AGV制御システムのバックエンド開発や、高性能なAPIサーバーの構築で使用いたしました。特にGolangの並行処理能力を活かしたgoroutineとchannelベースのスケジューラ開発では、効率的なタスク管理を実現できました。どちらの言語も御社の技術スタックに適合していると考えております。
- 生成AI・プロジェクト経験関連
Q4: 生成AIを活用したプロジェクトで、最も困難だった課題と解決方法を教えてください。
A4: 最も困難だった課題は、LLMの出力の一貫性と精度の確保でした。「Walkure Operator」プロジェクトでは、異なるLLMモデル(Mistral、Mixtral、LLaMA)を統合する際、それぞれの特性や出力フォーマットが異なるため、統一的な応答品質を保つことが課題でした。
この問題を解決するために、MCP(Model Context Protocol)構造を採用し、構造化プロンプトテンプレートとセマンティック検索を組み合わせました。また、RAG パイプラインを構築して知識ベースとの連携を強化し、段階的LLM統合戦略を設計することで、モデル間の互換性と拡張性を確保いたしました。結果として、アラート対応の自動化精度が大幅に向上し、予知保全の信頼性も高めることができました。
Q5: チーム開発での経験について教えてください。
A5: これまで複数のプロジェクトでプロジェクトリーダーとして、チーム開発を主導してまいりました。特に「AGVフロア間タスク調整システム」では、要件整理から設計・開発・テスト・導入まで、チーム全体をリードいたしました。
チーム開発で重視していることは、まず明確なコミュニケーションです。定期的な進捗共有会議や、技術的な課題についてのオープンな議論を心がけております。また、コードレビューを通じて知識の共有を図り、メンバー全員のスキル向上を支援しております。御社の「Love Differences」の価値観のように、チームメンバーの多様性を尊重し、それぞれの強みを活かせる環境作りを意識しております。
- 志望動機・カルチャーフィット関連
Q6: なぜBacklogの生成AI機能開発に興味を持ったのですか?
A6: プロジェクト管理ツールに生成AIを統合することで、ユーザーの生産性を劇的に向上させる可能性を感じているからです。私自身、これまでの開発経験で、繰り返し作業の自動化や、複雑な情報の整理・要約がいかに重要かを実感してまいりました。
Backlogのようなプロジェクト管理ツールに生成AIが統合されれば、例えば、過去のプロジェクトデータからの自動的な見積もり生成、課題の自動分類・優先度付け、進捗レポートの自動生成など、多くの可能性があると考えております。私の技術経験を活かして、ユーザーにとって本当に価値のあるAI機能を開発したいと強く願っております。
Q7: Nulabの行動指針についてどう思いますか?
A7: 御社の「Try First」「Love Differences」「Goal Oriented」という行動指針に深く共感しております。
「Try First」については、私自身、常に新しい技術に挑戦し、実践を通じて学ぶことを大切にしております。「Love Differences」については、多様な背景を持つチームメンバーとの協働により、より創造的で包括的なソリューションが生まれると信じております。「Goal Oriented」については、個人の成果だけでなく、チーム全体、そしてプロジェクト全体の成功を常に意識して行動することを心がけております。
これらの価値観は、私がこれまで大切にしてきた考え方と一致しており、御社でより一層成長できると確信しております。
- キャリア・将来展望関連
Q8: 今後どのようなエンジニアになりたいですか?
A8: 技術の深さと幅の両方を兼ね備えたエンジニアになりたいと考えております。生成AIという急速に発展している分野において、最新技術をキャッチアップし続けるとともに、それを実用的なプロダクトに落とし込む力を磨いていきたいです。
また、技術的なスキルだけでなく、ユーザーの視点を持ち、本当に価値のある機能を企画・開発できるエンジニアを目指しております。将来的には、チームのテクニカルリードとして、メンバーの成長を支援しながら、革新的なプロダクトの開発を主導できる存在になりたいと考えております。
Q9: 英語での業務についてはいかがですか?
A9: 英語での業務には積極的に取り組みたいと考えております。これまでも技術文書の読み書きや、海外のエンジニアとのコードレビューなど、英語を使用した業務経験がございます。現在も継続的に英語学習を続けており、翻訳ツールなども効果的に活用しながら、グローバルな環境での開発に貢献したいと思います。
御社のグローバル展開強化に向けたエンジニア組織の英語化という取り組みにも、ぜひ積極的に参加し、国際的なチームの一員として成長していきたいと考えております。
あなたが質問できる内容
🔧 技術開発関連
1. AI機能開発現状
「現在開発中のBacklogのAI機能について、どのような機能を優先的に実装されていますか?」
2. 技術的課題
「生成AIをプロダクトに統合する際の、最大の技術的課題は何でしょうか?」
3. 技術スタック選択
「Scalaを選択された理由と、今後の技術スタックの展望について教えてください」
👥 チーム・組織
4. チーム体制
「AIチームの現在の体制と、新しいメンバーがどのような役割を担うことになりますか?」
5. 連携体制
「フロントエンドとバックエンドのエンジニア間で、どのような連携体制を取っていますか?」
6. 成長支援
「エンジニアの技術的成長をサポートするために、どのような制度や環境がありますか?」
🎯 プロダクト・方向性
7. プロダクトビジョン
「BacklogのAI機能により、ユーザーにどのような価値を提供したいとお考えですか?」
8. 市場競争
「プロジェクト管理ツール市場で、Nulab様の差別化ポイントは何でしょうか?」
🌱 作業環境
9. 評価・フィードバック
「エンジニアのパフォーマンス評価や、定期的なフィードバックはどのように行われていますか?」
10. 学習機会
「最新技術のキャッチアップや、カンファレンス参加などの学習機会はどの程度ありますか?」