読者です 読者をやめる 読者になる 読者になる

Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

CodeIQ出題開始から3年を振り返る。そのきっかけと、その後に与える影響の大きさ

f:id:tbpg:20161204001015j:plain

歴史

CodeIQ出題者としての今月で丸3年となりました。
良い機会なので歴史をまとめてみます。

ポイント

この記事のポイントは

  • 機会を得るきっかけ
  • 得た機会をどういかすか?
  • 機会を得た結果、何が起るのか?

です。

CodeIQというお題はあくまで私のケースであって、
他の方にとっては別の形で訪れるもの だと思っています。

つまり、

  • 何をしてどのように振る舞っていると自分に何らかの機会が訪れやすくなるのか?
  • どのようにすればその機会を活かせるのか?
  • その結果どのようなメリットが訪れるのか?

ということのサンプルケースとして読んでいただくことを期待しています。

前提としてCodeIQの出題をする前の私は、

  • 多重請負の現場の下請けから転職したばかり
  • ソフトウェア開発界隈の人脈は皆無で、勉強会にも顔を出したことがない
    • ※残業が多すぎて勉強会どころではなかった
  • 表に出す実績も特にない、誰にも知られていない存在

でした。

きっかけ

f:id:tbpg:20161204001023p:plain

私はCodeIQの1挑戦者でした。結城先生の問題で関心をもち、CodeIQの挑戦をはじめました。
ある日、私が挑戦したCodeIQの問題のフィードバックに誤った箇所があったため運営に連絡をとり合った際に
雑談交じりのメールのやりとりがはじまり、「こんな問題どうですか?」と出題の提案を行いました。

すると翌日自分のブログに運営関連の人からブクマがついて、
「あー、運営の人がブログを見てくれているなぁ」と思っていました。
次の日には「出題しませんか」という連絡 がくるという急展開。

最近は出題者の人数は少ないですが、当時かなり多くの出題者がいて、
それぞれが様々な分野の著名人やベテランなどです。
いっぽう私は 多重請負の現場の下請け会社から転職したばかり
スキル的には見劣りするため、この話は分不相応な面が多かったと思います。
魔王クラスが揃う闘技場に紛れ込んだ スライムナイト くらいのイメージです

また出題者だけではなく挑戦者の中には私より圧倒的にスキルが高い方が多くいます。
そういった方々に手動で採点フィードバックを送る必要があるのです。
(当時は手動フィードバックだった)

そんなこんなで大きな不安はあったものの、挑戦することにしました。
転職した会社が基本定時勤務で時間的な余力があることも後押しになりました。

ここで、出題に至ったポイントを整理します。

  • 誤ったフィードバックに対して丁寧な指摘メールを行ったこと
  • メールとともに提案を行ったこと
  • 事前にブログに大量のアウトプットをしていたこと
  • 分不相応と思われる大役に臆せず挑んだこと
  • 職場で残業がなかったこと

2014年

※2013年に出題した2問も含めています

-- --
出題数 39問
挑戦者数 2,607名

出題直後は3問続けて 16,13,17名しか挑戦してもらえず中々厳しい出だしでした。
少ない挑戦者の方からも「この問題設定はおかしいんじゃないの?」というようなご意見もいただき、
胃が痛むような展開です。

その後、 HTMLやCSSの高速コーディングツールである Emmetコードゴルフをする問題x2 で 74名・100名 に挑戦してもらえました。
このあたりで「 色物出題者 」としての方向性が定まったように思います。

そしてコードゴルフでトーナメント戦を戦う「 デスマコロシアムシリーズ 」がスタートします。
以降私が出題を継続できたのもこの問題の存在によるところが大きいと思います。

デスマコロシアムシリーズ結果記事一覧 CodeIQ MAGAINE

この頃から、以下のような出題内容を扱うことが増えてきました。

  • デスマコロシアムのような色者問題
  • LTSV, Vagrant など新規分野の問題

です。

この頃は手動採点のみであったため、睡眠時間を削って採点に挑んでいました。
100名挑戦があったら、仮に1人の採点時間が10分だとして 1,000分です。

  • 多くのアドバイスをすべき初心者
  • 解読が困難なネタ的なコードを書く上級者
  • 私が知らない言語の回答へのフィードバック

など実際には1フィードバックあたりにかなり多くの時間をかけるケースもおおく、
10分平均よりは多かったように思います。
そんな私の姿をみて複数の挑戦者の方からTwitterのDMで「 くれぐれも無理をしないでくださいね
とあたたかい言葉をいただくほどの状況でした。
その節は本当にありがとうございます。

この時期に 丁寧なフィードバックを行っていたことは継続して私の問題に回答していただける方を
増やす結果に繋がった
と感じています。
また、ツイッターで出題に関する問題点やサービス自体に関する質問などが有る場合、
できる範囲で回答したり中の人に取り次ぐようにしていました。
それは自分以外の出題者さんに関わる内容に関しても同様です。

2015年

-- --
出題数 26問
挑戦者数 2,770名

この年の途中から自動採点システムがはじまりました。
そういったシステムの都合上、ネタっぽい問題の作問が難しくなり
比較的普通の問題を出すようになります。

またモチベーション面でも難しい問題があって、
手動採点の頃は回答に出題やフィードバックに対する 感謝や感想のコメント
をいただけることがありました。
自動採点になったあとはこれを見る機会がなくなってしまいました。
そういった経緯があるため、時折ツイッターで言及ツイートとして「 楽しい問題でした 」などを見かけると
モニターの前でニヤニヤしているおっさんがいる ことをお伝えしておきます。

数学・アルゴリズム系の問題は他の出題者さんが得意としているため、
私は基本的な分岐、文字列加工、配列処理など「 かんたんで業務っぽい問題 」を中心にしはじめます。
問題文や回答データがふざけている ことはよくありますけど。

また、自動採点導入前後の時期にアイコンをパワーアップすべく、
"最新の1件しか見えないゆるふわブログサービス"である pplog を通して知り合った 湊川あいさん に出題アイコンを依頼しました。

  • 自動採点ちゃん

f:id:tbpg:20161204001043j:plain

  • デスマコロシアム出題アイコン

f:id:tbpg:20161204001015j:plain

私の個人アイコンも作成してもらっています。その過程は記事にまとめてあります。

tbpgr.hatenablog.com

この時期以降の挑戦者数については、湊川さんのイラストおよび
湊川さんのツイート拡散による影響を強く受けていると考えています。

2016年

-- --
出題数 15問
挑戦者数 5,099名

※出題受付終了前の問題については2016/12/03の時点の挑戦者数でまとめてあります

今年の問題はすべて自動採点問題です。
出題期間が長く、湊川さんのマンガと連動している git 関連の問題は私個人の出題力とはあまり関係なく、
湊川さんが持つ数字 だと思っています。
その他の問題に関しては3週間の出題の場合 200-250名 くらいの挑戦者数 のことが多いです。

3年トータル

f:id:tbpg:20161204001109p:plain

-- --
出題数 80問
挑戦者数 10,476名

1万名突破!

CodeIQの出題者としてどのように軌道にのったか?

f:id:tbpg:20161204001115p:plain

  • 試行錯誤
    • 色々試して失敗したらすぐ軌道修正した
  • ポジショニング
    • 色物、新分野問題にターゲットを絞ったり、自動採点後も他の出題者と異なる層を狙ったりした
  • 丁寧なフィードバック
    • 手動採点期に丁寧なフィードバックを心がけていた
  • 顧客満足度を意識
    • Twitterで挑戦者の方々からの質問に応じたり、中の人への仲介的な役割をしたりしていた
  • 宣伝
    • 問題の宣伝を怠らなかった
  • 強力なパートナー
    • 湊川さんにアイコンを依頼した
  • 高い視点
    • 出題部分だけではなく、サービス全体のことを考えて中の人と関わったこと

過去の出題者さん達のなかで、技術力で私以上の方は山ほど・・・というかほとんど全員じゃないかと思います。
その中で生き残ることができたのは上記のような点かな、と考えています。

CodeIQ出題によって得た機会

本業へのフィードバック

  • CodeIQ の出題がきっかけで私個人が本業の営業案件を数件受注した(私は開発担当で本来営業は業務範囲外です)
  • CodeIQ の出題がきっかけで CodeIQ を利用した採用を行い 1名 の優秀な開発者の採用に成功した
  • CodeIQ の出題による認知範囲の広がりがきっかけで 2名 の優秀な開発者の採用に成功した(本業、副業それぞれ1名ずつ)

優秀な開発者の獲得は開発業務に大きな影響があります。
私が出題者になることで会社に対して相当大きな貢献をできたことになります。

新たな仕事

  • CodeIQ の出題がきっかけで副業を得る。1年以上開発をお手伝いしている

CodeIQ の出題時に 1出題者の枠を超えて改善や企画の提案などを行っていた姿勢
評価されてのスカウトを受けました。
1年間は本業の一部として週1回お手伝いをしていました。
また本業以外でも個人として夜リモートでお手伝いをしています。
こういったことができるのは本業が定時勤務だからこそです。

業務については大きな裁量をもたせてもらっています。
また本業のBtoB系のシステム開発とは違いWebサービスの開発をさせてもらっているため
本来同じ時期に一度にできないはずの経験をできています。

人との出会い

  • CodeIQ がきっかけで直接私を知った人
  • CodeIQ がきっかけで私の情報が認知される頻度があがり結果として私のことを知った人
  • CodeIQ がきっかけで知り合った人をきっかけに知り合った人

こういったケースが増えたことで、 刺激をもらえるような優秀な方々と出会える機会が圧倒的に増えました
これはオーバーな表現ではなくて、ソフトウェア開発者としての価値観や、それに収まらない物事の考え方
や振る舞いなどそういったところから根本的に変わるような刺激を与えてくれる人々と関わることができるようになりました。

個人交流、コミュニティの交流、仕事仲間など様々な人の縁が広がりました。
もともと積極的に新たな人に会いに行くタイプではない私にとってはすごく良いきっかけでした。

まとめ

特に技術的に突出したものがあるわけでもなく、
対人スキルが高いわけでもなく、
元々のネームバリューもまったくない私がどんなことをしたらどんな結果になったのか?
というのは誰かの役にたつのかもしれないな、ということもありまとめてみました。
(あらためてまとめてみて自分の役に立った面もあります)

私の CodeIQ のようなきっかけは転機を求める人のすぐそばにあるかもしれないですし、
何か大きな変化を得るきっかけはちょっとした一つの行動なのかもしれませんね。