エンジニアリング、マネジメント、日常、生活

時がうつろい環境が変われば好みや感じかたに変化が出るという事実を織り込み,それらも含んだ多くの要因の交互作用の中で,あらゆる営みは行われている(前田, 2014, p. 375)。

【勉強会参加記録】"GO GLOBAL" meetup #1

参加イベント

go-global.connpass.com

目的

  • コードテストの実態を知りたい
  • 他社におけるエンジニア面接の実態を知りたい

メイン登壇

[スマートニュース]:コーディング試験Codility運用の実態と実績

感想

  • コーディングテストアプリを使用している実態のお話
  • コードテストがどのように運用されているのかの実例がわかりやすかった。コーディング中の様子が動画化するのはすごい。
  • 平均スコアが低いこともあり、面接で確認するのであれば、何でわざわざコストをかけてコードテストをするのかが今ひとつわからなかった

発言メモ

  • スマートニュースの実例
  • 基礎体力測定のようなもの
  • メールで届いたURLリンクから飛び、2時間で2問の設問を解いてもらう
  • IDEは使用可能
  • デモテストや練習問題もある
  • 以下の2つの平均でスコアが出る
    1. 正確性スコア
      • 実際の業務でも問題を起こしそうなケース
    2. パフォーマンススコア
      • 超でかいデータ量をつっこんでのケース
  • どういう風に書いていったかは動画で出てくる。
  • コードテストだけで実力を測ることは不可能であり、真の能力は面接で確認する
  • 採用プロセス:書類選考+コードテスト→面接
  • テストスコアは社内の機密情報として、関連部署内
  • 過去の実績
    • 期間:4年以上
    • 平均スコア:相当低い
      • 難しそうだと思っても心配しないでほしい。完璧は求めていない。
  • 満点は3.1%。0点は16.7%。
  • チートもある
    • 途中までC#で書いて、後からPHPで書いたりした人もいる
    • 面接でコードの意味を聞くことは多々ある

[メルカリ]:メルカリにおける技術者採用方法の変遷

感想

  • アウトプットがあるということはメリットであると断言されていたのが収穫
  • 以前落ちたとしても、その時の要求とマッチしていなかっただけで、後日また受けたら合格するということもある
  • Hangoutsの音が切れた場合に推測して補完せず、何度でも聞き返すというのが印象的だった。面接ではなく、リモートワークでもやりがちなので気をつけたい

発言メモ

  • 技術課題によるコードテストと技術面接を実施する
  • 技術課題
    • 課題を解決するコードを期限内に提出してもらう
    • コード面接&オンラインテスト
  • 技術面接
    • 技術について聞く
    • 技術課題のコードに対して聞いたり、その場でコードを書いてもらったり
  • GO GLOBAL at Mercari
    • 海外の技術者が日本オフィスにJOINしている
    • 海外在住の候補者が多く、最初からみんな面接のために日本に呼ぶわけにもいかない
  • メルカリにはGOTチームというものがあり、同時通訳が可能
  • 海外のコーディング面接
    • Google DocsSkype Interviewsにリアルタイムに書いてもらう
    • Hangoutsの音が切れた場合に推測して補完しない。何度でも聞き返す。
  • Scale
    • 基準について標準化していく
    • HackerRankという自動採点をするアプリを使う
  • フローは人によってカスタマイズされる
    • 十分なアウトプットのある人は、技術課題をスキップしたり、面接内容はアウトプットについて深掘りしたりできる
    • 十分にアウトプットしてる人にはメリットがある
  • 組織のフェーズによって技術採用(課題/面接)のやり方、求められるスキルは変わる
    • 以前落ちたとしても、その時の要求とマッチしていなかっただけということは本当にある

[リクルート]:コードテストでtrack.runを使ってる話と採用フロー

感想

  • 弊社では面接の前の職務経歴書を事前に読んでおくのはやれていない。ここからやっていこうと思う。
  • 面接は相互理解する場であるということに共感する。出来る人に当たると、学びが多い。

発言メモ

  • インターン時のコードテストとしてtrackを採用している
  • コードテストの内容

  • 全部回答するのに2〜3時間かかるが、これはある程度実力だけじゃなくてモチベーションも見ている

  • 面接は相互理解する場である
    • 相互がwin-winの場にするために
      1. 面接の前の職務履歴書からある程度質問を考えておく
      2. 面接時には何をしたかではなく、何を学んだかを聞く
      3. 面接も育成の場として捉える
    • 入社にフォーカスを合わせた話をするのではなく、入社後にフォーカスを合わせた話をしてほしい
      • 入社にフォーカスをあてて話しても、会社側にどんなメリットがあるかわかりにくい

[インディーゲーム開発者]:付け焼き刃でベイエリアの面接を突破するたった一つの方法

感想

  • ホワイトボード面接の場合に型のある言語を使うのはやめようの納得感がすごい
  • 怠惰はプログラマーの美徳を地で行って、使えるものは使っていこう

発言メモ

  • ホワイトボード面接は嫌い。怖い。
  • コードインタビューはふとつのスキルであり、通常の業務では鍛えられない。下手したら新卒に負ける。
  • Cracking the Coding Interview

    Cracking the Coding Interview

    が全部悪い。
  • もはや受験
  • 本当にいい人を落とす可能性はあるけど、へんな人が入るよりマシ
  • この辺は全部嘘
    • うちのエンジニアと話してみない?
    • 簡単だよ
    • ただの事務的なプロセスだよ
    • 落ちる方が難しい
  • 電話面接
    • 対面以上に英語力がないと無理。
    • Best Time to Buy and Sell Stock.
  • 頭が真っ白になる現象
    • 「おうちかえりたい」
    • いきなり最適解を出そうとすると死ぬ
  • ホワイトボード面接 Tips
    • ホワイトボードの場合に型のある言語を使うのはやめよう
    • 書き始める前に大枠の方針を決める
    • 標準関数もBig-O-Complexityを説明できれば使っていい事が多い(O(n)とかそういうやつ)。楽しよう。
    • ホワイトボードを買って練習すべき
    • 線形代数、3D数学、円と線の当たり判定とか
  • Tech Interview対策
    • LeetCodeに課金してひたすら過去問を解く
    • 面接官「この問題知ってたら言ってね」 → 言うわけない!
  • 必勝法
    • CEO/CTOに気に入られる
    • 契約社員ではじめる
    • 受験者と共謀する
      • 同じ問題が出てきたりする!
    • すでにその会社にいるひとと練習
      • 友情はNDAを超えるのか!?

酔っ払ってしまったのでLT枠は省略。