概要
- Kagi Search のソフトウェア開発者ポジション応募体験を紹介
- 「Take-home assignment」 の課題内容とやり取りの詳細を解説
- 応募者の労力 と企業側の対応の問題点を指摘
- 選考プロセスの不透明さ や課題の無償労働化を批判
- 今後の採用活動への提案 と個人的な反省を述べる
ソフトウェア開発者採用における「Take-home assignment」の現実
応募と課題依頼
- Kagi Search のバックエンド開発者職に応募することを決定
- 求人要件は Go言語経験、バックエンド構築・スケーリング知識、Docker等コンテナ技術、チーム連携力 を重視する内容
- 書類選考通過後、 「Take-home assignment」 (自宅課題)への招待メールを受信すること
課題内容と要件
- 最小限のメールクライアント を構築する課題を提示されること
- ターミナルUIまたはWebアプリで実装すること
- メール閲覧・送信機能を実装すること
- バックエンドは擬似でも実バックエンドでも可
- プレーンテキストのみ対応でOK
- 完成物をGitHubリポジトリ&デプロイ済みで提出 すること
- 要件が非常に広範かつ抽象的 で、実質的に大規模な開発作業を無償で求められること
採用担当者とのやり取り
- 要件の曖昧さ から、メールで追加質問・提案を送信すること
- どんな追加機能を評価するか→「自分で考えよ」と返答されること
- 実装計画(Proposal) を詳細に作成し、事前合意を試みること
- Webアプリ(Go+AWS+Postmark+認証+DB)を提案
- インフラ自動化(Pulumi)、デプロイ、UI設計、運用性も説明
- 納期延長の相談と、事前の評価可否を確認 すること
- 採用担当者からの返答は 「楽しみです」とだけで、質問に一切答えない こと
実装と結果
- フルタイムで1週間かけて 要件通りのアプリケーションを構築・提出すること
- デモ動画(YouTube)、ソースコード(GitHub)、詳細ドキュメントを用意すること
- 結果は 自動送信の不合格通知 のみ、フィードバックを求めても「他候補者の方がシンプルかつ強かった」と一言だけ
- 事前提案時点で不合格や方向性の指摘がなかった 点に強い疑問を持つこと
- 課題提出後に要件が「デプロイ必須」に変更される など、運用の不透明さを実感すること
採用プロセスと課題方式への批判
- 複数ポジション募集のため求人が消えない状態 で、応募者の労力が無駄になる危険性
- 無償労働の強要、特に失業中の候補者にとって過酷な現実
- 選考プロセスの改善提案 として、より明確な要件提示・事前合意・課題の有償化を提案すること
- LeetCode型面接 (コーディングパズル)も含め、現状の採用手法に疑問を呈すること
結論と今後の考え
- Take-home assignment は応募者の時間や労力を軽視しがちで、無償労働を助長する傾向があること
- 採用側の誠実なコミュニケーションと、応募者の権利尊重 が必要であること
- 今後は同様の課題依頼に対し、 本記事を共有し問題提起すること も検討すること
- より良い選考プロセスの実現 を業界全体に求めること
この体験談は、 ソフトウェア開発者の採用現場における「Take-home assignment」課題の問題点 を具体的に示し、今後の改善に向けた議論の一助となることを目指す提案。