Tbpgr Blog

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

CodeIQ | CodeIQの出題者をやることになりました

概要

CodeIQの出題者をやることになりました

経緯

CodeIQの問題のフィードバックに誤った箇所があったため連絡をとり合った際に
雑談交じりのメールになり、出題の提案などを行ったりした。
その点と当ブログ内容などが目に止まってお声がけ頂いたようです。
人生何が起こるかわかりません。
このやりとりは2,3日程度。

誤フィードバックのやりとりの最中に自分のブログに運営関連の人からブクマがついて、
「あー、運営の人見てくれてるなぁ」と思うやいなや別の運営の方から出題打診のメッセージが来て
「出題しませんか」というような流れ。
CodeIQ運営のスピード感恐るべし。

詳細

この度CodeIQにて問題の出題を行うことになりました。
出題に向けて添削用のgem(https://rubygems.org/gems/akapen)作ったり、
それっぽいツイートをしていたけど、気づいた人は鋭い。
近日中に出題予定ですのでよろしければご参加ください。

他の出題者様方と比べて、経験や知識に関しては明らかに未熟な私がアルゴリズムやら
数学系の知識やら同じ土俵で勝負してもしょうがないので次の出題方針を取ることにしました。

出題方針

・解答者のメインターゲット層としては「自分の担当範囲の開発はある程度こなせるようになったが、
チーム全体に貢献する方法や広い範囲の共有化・効率化などはまだわからない」という人。
または、全体に対する改善方法を身につけていることを証明したい人。

・実務で役立つ問題であること。
問題に不正解だったとしても解説の理解を経て実務で該当技術を使えるようになること。
※ここで言う実務とは趣味の開発でも構わない。
基本的には実際に自分が実務で何かしらの改善をした際のノウハウをアレンジして問題化してます。
最低限、私のコンテキストでは役に立ったという実績付きです。
(人によっては低レベルに感じる内容かも知れないが、実際にそれが役立つ現場はあるということでもある)

問題に挑戦すると、業務を一つ改善できる、ぐらいになると嬉しい。
道具箱の充実に貢献したいです。

・「実務で役に立つ」がテーマだけど内容は堅苦しくしない。

・ほとんどの参加者の方は実務がある中の少ない時間で問題への挑戦を楽しまれていると思います。
そのため、出題テーマを絞った中で該当要素に関するできるだけシンプルな問題を作成することで、
解答者の貴重な時間を節約したいと思っています。

・高スキルの開発者には退屈な問題かもしれない。そのため、自由解答に近い解答方法を用意して
TMTOWTDI=There's more than one way to do it=やり方はひとつではない
の精神で、より良い方法があればそれを考えたり共有できる場にできればいいな・・と思ってます。

・ツイート等で話題にしやすいように問題に短い別名を付けます。結城先生がやられている手法のパク・・。
これアジャイル系手法の「プロダクトに名前を付ける」に通じるものがありますね。

自己紹介

・tbpgrと申します(このブログはtbpgですが。TwitterGitHubなどはtbpgrです)
・30中盤の男性プログラマ。要件定義、設計、開発、テスト、保守、開発寄りのチームリーダー等経験
・文系出身。特にパソコンに詳しくもなく情報処理系や数学系の知識の下地は少ない。
・稼働の高さから開発に嫌気がさして本格的な開発からドロップアウトした年数が長く直近だけで見ると開発3年目に入ったばかり
・SI'er系の開発出身。修羅場でもまれました。
・主言語はVBScriptIIS+ASP)〜JavaRubyにシフト。直近はJavaRuby率が多い。経験はほぼWebシステムの開発のみ。
・現在は自社向けシステムの開発で、開発の各種方針も自分たちで決めることができて、
新技術もどんどん挑戦可能で、無理な稼働も無い環境なので快適に過ごしています。
・このブログを見ていただけると分かるかもしれませんが、公私ともにずーっとプログラム書いてます
・このブログは私の外部脳です。頭が悪いので多くのことを覚えきれません。新たなことを覚える度に記事を作成します。
仕事中も常に資料として参照しています。同僚への説明にも利用したりしています。他の開発者の役に立てばという点もあります。

Twitter

@tbpgr