Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
QuipperのWebエンジニア採用におけるコードテスト / Coding Test for ...
Search
Kazuyuki Suzuki
November 26, 2018
Programming
11k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
QuipperのWebエンジニア採用におけるコードテスト / Coding Test for Web Dev Candidates at Quipper
GO GLOBAL meetup #1 でLTした内容です。
https://go-global.connpass.com/event/108021/
Kazuyuki Suzuki
November 26, 2018
More Decks by Kazuyuki Suzuki
See All by Kazuyuki Suzuki
browser-review: 指さして直すUIレビューツール
kechol
0
9
CTOのあたまの中
kechol
0
7
Eval 入門
kechol
0
9
kura: ローカルで完結するナレッジ管理 CLI
kechol
0
10
heal: AIが書いたコードの健全性を保つためのCLI
kechol
0
37
ProductZine Day 2025 Assuredのプロダクトディスカバリー
kechol
0
860
BtoBプロダクト開発の現場 - forTeachers に最速で価値を届けるには -
kechol
7
3.8k
Other Decks in Programming
See All in Programming
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
250
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
320
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
650
Webの地図
yosuke_furukawa
PRO
6
4.7k
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
スマート反転とウェブアクセシビリティ
camiha
0
210
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
500
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
iOSDC2026登壇資料.pdf
riofujimon
0
180
Jetpack Compose メカニズム
skydoves
0
470
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
200
Featured
See All Featured
From π to Pie charts
rasagy
1
380
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
280
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
670
Making Projects Easy
brettharned
120
6.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Un-Boring Meetings
codingconduct
0
420
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
550
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
480
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Transcript
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol QuipperのWebエンジニア採用におけるコードテスト Software Engineer at Quipper 鈴木
和幸 @kechol GO GLOBAL meetup #1
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol Quipper という会社について ➔ 教育系の(元)スタートアップ ◆ 現在はリクルートマーケティングパートナーズの子会社
➔ Quipper とスタディサプリというプロダクトを展開 ◆ サーバサイドは Ruby on Rails 、フロントエンドは React/Redux ➔ インドネシア、フィリピン、メキシコ、日本の4つの国に拠点がある ◆ 採用は各拠点でそれぞれ行っている ◆ プロダクトチーム全体で60名ほどの規模
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol 今日のお話 https://quipper.hatenablog.com/entry/2018/10/09/coding_test ブログに書いた話を 改めてご紹介させてく ださい。
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol Web エンジニアの基本的な採用プロセス 1. 書類のスクリーニング 2. 一次面接
3. コードテスト 4. 二次面接 5. VP of Engineering 面接 6. オファー面談
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol 現在行っているコードテスト ➔ 1問あたり2時間程度で解ける問 題を3問程度解いてもらう ◆ テストがありTODOが明確
◆ 1ファイルの編集で完結 ➔ 候補者には自宅で解いてもらい、 解答を送ってもらう形式 ➔ 言語はRuby/JavaScript ◆ 未経験でもキャッチアップで きるレベルのもの ※実際の問題ではありません
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol こういう形式になった経緯 ➔ もともとは1つのアプリケーションを丸ごと作ってもらう形式だった ◆ コードテストのプロセスだけで2週間かかっていた ◆
提出されるコードが様々で合否判定が難しいものもあった ➔ 結果、採用プロセスの中でコードテストでの落ち率が高かった ◆ コードテストに時間がかかるため、選考中に他社に決まってしまう • そもそもコードテストを実施している会社が国内では少ない ◆ コードテストをそもそも提出してもらえない ◆ 偽陽性を避けるため合否判定が保守的になる
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol 譲ったところ、譲れなかったところ ➔ そもそもコードテストはなくさない ◆ 候補者がどんなコードを書くのかを面接で聞き出すことは難しい ◆
書いたコードを公開していない候補者も多い ➔ あくまで最低限のレベルを担保することに集中する ◆ 最先端の技術やFWレベルのマイナーな知識は問わない ◆ (現時点では)判定が曖昧になりやすい設計に関する知識を問わない ➔ 1つのアプリケーションを作ってもらうことはしない ◆ 要素技術(DB、API、フロントエンド等)を分解してそれぞれを問う ◆ テストではより軽いライブラリ/FWを採用する場合もある
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol なぜ(今のところ)純粋なアルゴリズム問題ではないのか ➔ 日本ではまだメジャーな手段と言えない ◆ 欧米と違い、ソフトウェアエンジニアが必ずしもCSの学位を持っていること を前提としていない
◆ 訓練が必要な技能であるが、日本企業がそうした問題を出すことがほとん どないため、候補者が訓練を積んでいない ➔ 我々がサービスを作る上でまだボトルネックになっていない ◆ 現時点ではDBのアクセス数やキャッシュ戦略がシステムのパフォーマンス に対して支配的なので、そちらをまず確認したい ◆ 未経験の新卒を受け入れられるほど成熟したエンジニア組織ではない
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol どのように作っていったのか(1) ➔ コードテストで見たい要素をスプレッドシートにまとめた ◆ 同時にコードテストで担保できない部分をどうするかを議論
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol どのように作っていったのか(2) ➔ 問題のたたき台を作り、社内のエンジニアのフィードバックを集めた ◆ 適切な難易度かどうか(難しすぎないか、必要な時間は適切か) ◆
想定していない解答がないか(意図しない簡単な解き方がないか等)
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol どのように運用/レビューしているのか ➔ 提出があったら GitHub のリポジトリ上に Pull
Request を作ってレビュー ◆ 環境の差が出ないように Dockerfile をテストに含めている ◆ 普段のワークフロー(自動テスト/PRへのコメント)がやりやすい ◆ 採用メンバーのエンジニアがモブレビュー ➔ Codility や track などのオンラインテストはまだ利用していない ◆ 正直まだちゃんと使ってみた上で判断ができていない ◆ GUIを含むコードテストで CodePen を使って提出してもらうのはレビューし やすいかもしれない
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol 導入してみた結果 ➔ 狙った通り提出までの時間が大幅に短縮 ➔ スクリーニングプロセスとしては機能していそう ◆
コードテストで見たい部分の要件を満たしているかに加えて、書いて もらったコードの品質はどうかも見ている ➔ とはいえまだ調整やメンテナンスは必要 ◆ まだ簡単すぎるのではという疑念を捨てきれない ◆ 継続的なライブラリのアップデート ➔ コードテスト後の二次面接(技術面接)も合わせてまだまだ議論中 ◆ コードテストを踏まえてどういう観点の質問をすべきか
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol (余談)一方、インドネシアでは ➔ 1アプリケーションを丸ごと作る構成を変えずに実施 ◆ 現地企業はほとんどがコードテストを実施しており、日本のようにコード テストの実施が採用上の不利になることがない
◆ 過去、他の候補者のコードを使ってチートしてきた候補者がおり、それな りの量のコードを書いて欲しい ➔ アプリケーションの実装の達成レベルを段階的に定義 ◆ コードテストの結果でオファーが変わる ◆ どのレベルのテストを送るかは面接等で事前に判断
#go_global QuipperのWebエンジニア採用におけるコードテスト by @kechol QuipperのWebエンジニア採用におけるコードテスト Software Engineer at Quipper 鈴木
和幸 @kechol GO GLOBAL meetup #1 Fin.