Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

経験を知識・スキルに置き換えて細分化する - CodeIQ 編

過去の経験の一つを個別の知識・スキルとして細分化することで、一つの経験談からどのくらいの知識・スキルを持ち、それを実践で使ってきたのかを伝えられるのか、という取り組みの第二弾です。

第一弾はこちら。

tbpgr.hatenablog.com

今回は CodeIQ の出題者という経験を掘り下げます。

CodeIQ とは?

CodeIQ は 2012年 にスタートしたエンジニア向けのプログラミング腕試しサービスです。
問題に挑戦したユーザーを企業がスカウトするサービスになっています。
2018年4月25日にサービスが終了しています。

事例

2013年末に、回答に関する問い合わせをして、そこで運営の方とやりとりをしたことをきっかけに出題者としてスカウトされました。
そこから 2018年4月末のサービス終了まで出題者をつとめました。
また、 CodeIQ には CodeIQ MAGAZINE という Web 媒体もあり、そちらの執筆も行いました。

項目 数値
総出題数 109 問
総挑戦者数 17,331 名
1問あたりの平均挑戦者数 159 名
記事執筆数 39 記事
記事の最大ブクマ数 233
出題前フォロワー数 20
出題終了時のフォロワー数 1,739 ( + 1,719 )

CodeIQ の出題者以外にはさほど多くの活動をしていないのでフォロワー増のかなりの部分は CodeIQ によるものだと思います。
(最近は別の活動も増えましたが、当時はなかった)
その他は、 Hatena や Qiita の記事を見た方が多少、という感じでしょう。ブログの閲覧増加も、CodeIQが始まってからだったのでその影響もあると思います。

前提として、私以外のほとんどの出題者の方は元々技術的に尖っていて、名も知れていて、ある程度の影響力を持つ方でした。
その前提の中で、技術的には並で、ほぼ無名で開発界隈で直接のユーザー層にはほぼ知り合いがいない状態でスタートし、ある程度早期で結果(=一定の挑戦者数を集める)を出せなければ出題者として首、という状態からのスタートでした。

三国志五虎将軍の真っ只中に放り出された雑兵が五虎将軍と戦い抜いて生き残る必要がある、みたいなものです。

業務目的の理解

基本的には指定の問題数を出すこと以外はほぼ全てが出題者各自の裁量に委ねられていました。(と思うけど、他の出題者がどのように指示されていたか知らないので実際は私だけの前提かもしれない)
そのため、まずは CodeIQ がどんなサービスで、その挑戦者はどのような人々で、求職サービスとして企業が何を求めているか、などサービスコンセプトからターゲットやビジネスモデルまで、外部から見える情報を元に類推し、把握していく必要がありました。
また、出題ディレクターの方から「ゲーミフィケーションを意識しているとよい」という意見をいただいたので、このタイミングでゲーミフィケーションの Web 情報をあさり、本を数冊読みました。

知識・能力

成果

※個別の成果というよりは大前提

この能力は、企業に配属されたケースに置き換えると

  • 組織の目的(MVVなど)を理解する
  • プロダクトのビジネスモデルを理解する
  • プロダクトのユーザーを理解する
  • プロダクトの中で自分が任されている役割と責務を理解する
  • 自分が任されている役割に必要な知識を自発的に身につける

ということになります。

出題方針の決定

前提にもありますが、出題者の中で圧倒的弱者の状態でスタートしました。
実際に、初期の2問は挑戦者 16 名、 13 名とここで即終了になってもおかしくない閑古鳥状態でした。

そこで、明確な差別化の必要性を感じ、既存の問題で特に挑戦者が多いものの傾向を分析しました。
大枠で

という感じです。

アルゴリズム系の問題は数学の知識をベースにしたものが多く、私には向かなそうだったのでパスしました。
コードゴルフ系の問題は元々その辺りの出題が得意な方が2名いらして、そのまま似たようなことをやっても太刀打ちはできなそうに思いました。
簡単な選択問題については、もともとネームバリューのある方が更に簡単な問題をやっていることで挑戦の気軽さと集客力がマッチして挑戦数が伸びている用に見えました。

ここには当てはまらず、かつ、ユーザーに楽しんでもらえるものを考えました。
実際に数少ないサービス利用者の知人にヒアリングをしたり、ツイッターのTLで挑戦者の意見を眺めたりして、以下の方針に決めました。

  • 奇抜な問題を作問すること
  • 新規分野の問題を作問すること

どちらも事前に存在せず、挑戦者にとっても挑戦する動機が出る問題だと予想しました。

奇抜な問題は例えば

  • Ruby の静的解析ツールである RuboCop でどれだけ多くの警告で怒られるか競う
  • HTML を短く書くためのツールである Emmet でコードゴルフをする
  • あるコードの入出力の条件を保ちつつどれだけ汚いコードにするかを競う逆リファクタリング問題
  • 多言語で参加可能で、参加者が多い言語ほどペナルティをもらう特殊ルールのコードゴルフトーナメントシリーズの「デスマコロシアム」

などを作りました。
「てぃーびーさんいつもどおり頭おかしい問題出してるな(褒め)」
というようなツイートが見られるくらい「頭おかしい問題を出す出題者」として認知されました。めでたい。

また、新規分野に関しては、

  • Coffee Script 問題 ※当時は新しかった
  • Crystal 問題
  • Hubot 問題
  • Opal 問題

など。 Crystal ,Opal などけっこうせめていきましたがおかげさまで多くの参加をいただくことになりました。

知識・能力

ランチェスター戦略は、たまたま本業の経営戦略に絡んでいたので、書籍を買って学習していました。

これは、自ら必要な情報を集め戦略を練って行動をできる人材であるということになります。

成果

順調な挑戦者の伸びと、主力出題者としてサービスへの安定した挑戦者を生む問題の継続提供。

改善サイクル

継続して挑戦者数を多めに保つことが貢献であり、ユーザー満足であり、低ければ首である、という前提をもとに、挑戦者数の増加とユーザー満足に対して改善サイクルを回しました。

基本的に確認できるのは

  • 挑戦者数
  • 回答に添えられる挑戦者のコメント
  • ツイッターに流れてくる挑戦者の感想やその量

です。これらを目安に、自分の問題の評判・評価を確認し改善サイクルに活かしました。
例えば、これは私の問題に限らず他のプロコン系のサービスに比べて、 CodeIQ の問題は定義が曖昧だ、というご意見を見かける事が多くあり、そういったことから私の問題では入出力の上限・下限・文字制約や、サンプル入出力の明記などを徹底することで、対応していたため、その点に関するクレームはかなり少なくなっていました。

知識・能力

  • 改善サイクルを回す

誰に指示されるでもなく、改善可能な要素を見つけ、自ら解決する能力があります。

成果

サービス終了まで出題者として残り、広告や MAGAZINE の記事連動の問題以外では常に比較的多めの挑戦者数を保ったこと。

短納期対応

常に期日通り遅れることなく安定して出題していたことによる信頼もあり、外部のイベント連動や企画連動で急遽必要になる問題の作問を依頼されることがあり、その期待に応えて短いものでは2−3日など超短期での作問に応じました。

知識・能力

  • 緊急対応能力
  • やり遂げる能力
  • 信頼構築能力

誠実に普段の業務を求める水準以上で行い続け、いざというときの対応も場に応じで行う能力があります。

成果

短期で期待される出題制約を満たしつつ、挑戦者を集める問題を作問した。

自動化能力

CodeIQ は手動採点期と自動採点期があり、手動採点期は出題者としてアナログ対応が必要な部分が大きくありました。
特に、選択問題は本来自動化できる対象のはずが、当時は自動化の仕組みがなかったため、自分で Ruby のプログラムを作り大枠を自動化できるようにしました。

また、特殊ルールのコードゴルフトーナメントシリーズの「デスマコロシアム」に関しては、日次で参加言語と最短コードの文字数を発表して盛り上げる、という運用設計をしていたこともあり、日次集計+集計結果の記事を Markdown で生成するプログラムを作りました。
また、トーナメント実行プログラムとトーナメント結果の大枠を Markdown で出力するプログラムを作りました。

これらの盛り上がりの様子は以下の Togetter で確認できます。

togetter.com

知識・能力

  • 自動化能力

非効率な作業を自ら発見し自動化します。

成果

必要な業務を自動化することで、費用対効果を上げることや手動では日次運用が不可能な仕組みを実現することができました。

場づくり

特殊ルールのコードゴルフトーナメントシリーズの「デスマコロシアム」は、毎日経過発表をすることや、トーナメントの結果記事が後日行われることもあり気づけば常連参加者が増え、この問題に限らずツイッター上で挑戦者同士の交流が広がっていきました。

「デスマコロシアムを中心とした、挑戦者の場」というものができました。
これは、挑戦者目線ではサービス利用への楽しみが増え、サービス視点ではサービス利用の継続率の上昇と、SNSでの発信量が増えたことによる新規ユーザー獲得量の増加につながります。

知識・能力

  • 場づくり力

人が集まる場をつくることによって影響の範囲を広げたり、長期的な好影響を生み出します。

成果

サービスのユーザー定着率の向上と、新規ユーザー獲得量の増加。
※実データは私の立場では確認できないのであくまで予想

執筆

問題と連動した結果報告記事や、新規分野の問題と連動した技術分野の解説記事や、独立した技術記事の執筆を行いました。

知識・能力

  • 執筆力
  • 該当技術分野への理解力
  • 回答を楽しく伝わるように編集する能力

わかりやすく、読み手が求める文書を作成できます。

成果

最大で 233 ブックマークを獲得するなど、 CodeIQ MAGAZINE に多くの PV を集めることとなった。
いくつかの記事が常に CodeIQ 内の週次人気記事ランクに入るなど、サービスに対する継続的な挑戦者の増加に貢献しました。

顔つなぎ

CodeIQ MAGAZINE への執筆者の顔つなぎなど、アウトプットの機会を得たい側と良質のコンテンツを欲しい編集側のニーズをつなぎました。

知識・能力

  • 機会をつなぐ能力

Win-Win を前提に良質の機会をつなぎ、相互に成果をもたらすことができます。 また、そういった一つ一つの出来事がつながりを広げるので、少しずつこの発生可能性が広がっています。

成果

良質の記事によってサービスに対する挑戦者の増加に貢献しました。

フィードバック能力

手動採点期は、1件1件の回答にアナログにフィードバックを行っていました。
コードに関する優れた点に対するポジティブ・フィードバック。
コードに関する改善したほうがよい点に対する建設的フィードバック。
フリーコメント(雑談ぽいもの)に対する雑談コメント。

などを丁寧に行い続けました。
特に、Webのサービス上での建設的フィードバックは失礼に当たらないように、細心の注意を払いつつ Excuse の言葉を織り交ぜて行いました。

知識・能力

  • フィードバック能力
  • 雑談系のコミュニケーション能力

ポジティブなフィードバックでモチベートし、改善が必要な箇所は過度に落ち込ませずに必要なフィードバックを行います。

成果

フィードバックコメントに対するポジティブなリアクションや、次回問題の回答時に言及していただくなど、概ね好意的に挑戦者の方々の感情を上向きにしたようです。
サービス視点でみると、ユーザーエンゲージメントを向上させたのではないかと思います。

運営改善能力

出題者だから分かる、サービスの運用上の課題。
自分の問題改善と盛り上げのために徹底してSNSをウォッチしていたからこそ気づく問題。
これらを運営担当者の方にフィードバックするようにしていました。
元々改善好きなので、習慣的なものです。

知識・能力

  • 運用改善能力
  • 越境能力

自分の担当の枠にとらわれず全体にとって必要な改善に向けて自発的に動きます。

成果

すべてが改善されるわけではないが、一定のものは共有した情報をもとに運用が改善されるきっかけを作った。

その場限りの出来事を機会に結びつける

たまたまツイッターのTL上で面白系 FizzBuzz のネタが流行っている次期があり、その発信源になっている方にお声がけし、ネタを拝借する許可をいただき、代わりに CodeIQ の問題を問いた報酬になっている電子バッジのデザイン方針の決定権を委ねることでお礼をし、「不適切な FizzBuzz の世界」という問題を実現しました。

元々ツイッター上で流行っていたということもあり、かなり濃い回答が集まり結果レポートの記事が盛り上がりました。

その他にも、出題の過程でであったOSSの問題点に対して私や挑戦者の方が Pull Request を送ったり、 Rebuild.fm でたまたま話題になっていた「リファクタリング奉行」というワードを電子バッジのイラストにしたり、 実際にバッジをつくる など時勢に合わせた動きや、出題の枠外への相互影響をもたらしました。

知識・能力

  • 影響を広げる能力
  • その場限りの出来事をつなげる能力

人が集まる場の設計と、場が自走するまでに熱量をもって継続的に関与することで、自走する場を生み出します。

成果

現実の勢いを得た出来事は、その他の何のきっかけもない出来事とは別の広がりがありました。普段リーチしないそうへの広がりになります。

まとめ

一人で全体の仕事を回す。一方、出題者の立ち位置の中で取れる選択肢に限る。
という自由・責任・制約の中での活動を経験できました。
特にエンドユーザーとダイレクトにやりとりできて、結果が挑戦者数という数字に如実に現れる取り組みは過去の業務にはない種類のもので良い経験になりました。

そんな感じの私が 2019/03/15 現在転職活動中です

tbpgr.hatenablog.com

関連情報