この記事はドワンゴ Advent Calendar 2014 – Qiita 12/25の記事です。まだ12/25ですよ!セフセフ!!

なお、この記事はドワンゴ所属のエンジニアが書いたものですが、あくまでも個人の見解であり、ドワンゴという会社やその関係者とは無関係です。

TL;DR

エンジニアの可視化

日本の未来、明るいかも

先日、とある採用イベントに参加してきました。プログラミング経験のある就活中の学生さんが、新卒を採用するIT系の企業20数社と交流する、というイベント。ブースでは企業ごとにプレゼン + 質疑応答、フリースペースでは「高専出身」「プロコン」「データサイエンティスト志望」などのテーマごとにたまり場で交流、というものでした。1枠20分が12枠あり、プレゼンと交流を6枠ずつ担当しました。

フリースペースのテーマの中に「作ってきたもの見せます」というコーナーがありました。「とりあえず話しましょう」とか「今日から就活開始」みたいなカジュアルなテーマに比べると人の集まりは少なかったけれど、予想よりずっとたくさんの学生さんが集まってくれたのには驚きました。スマホアプリ、Webサービス、Unityのゲーム。動画見せてくれた子もいたし、CSVのデータから正規化されたスキーマを返す、なんていうめっちゃ業務なプロダクトの説明もありました。

密かに少子化とスマホの普及、ゲームの高度化による「プログラミング人口の減少」を危惧しているおっさんとしては、いろんなものを手を動かしてコード書いて作ってきた学生さんが思いのほかたくさんいたので、日本の未来も捨てたもんじゃないな、と見直す気持ちになりました(老害発言)。

個人的には、いろいろ作ってみること、それを見える形で公開することは、ソフトウェアエンジニアとして楽しく生き、腕を磨くための大事な行動だと思っています。特に、ある程度時間が取りやすい学生時代にそういう習慣をつけておくと、そのあとのエンジニアライフがより充実したものになるのではないでしょうか。

「技術アピール」お待ちしています

ドワンゴでは、エンジニアとして新卒採用に応募する際、「技術アピール」を添付することができます(必須ではありません)。技術アピールは選考において不利に取り扱われることはなく、提出物の内容によっては選考のプロセスが短縮されることもあります。つまり、「作ってきたもの見せます」の準備ができている学生さんは、ドワンゴにエンジニアとして応募する準備が整っている、ということですね!!!

「作ってきたもの」があるみなさん、ぜひ応募の際は「技術アピール」をご提出ください。

「作ってきたもの」がないみなさん、まだ間に合うかも!年末年始の期間を使って、なにか「人に見せるコード」を書いてみてはいかがでしょうか。提出にはGitHubを使うのがオススメです。GitHub、使ったことない?大丈夫です。最近は初心者にもわかりやすい書籍も出ていますし。

社会人も「技術アピール」大事です

中途採用に応募する、いわゆる「転職」を目指すエンジニアにとっても、普段のアウトプットをアピールするのはとても大事だと思っています。職務経歴書の「ジャバ3年」「Pえっちピー5年」なんていう表(それもWordで書かれた読みづらいヤツ)よりも、GitHub・Blog・Speaker Deck・slideshare・Qiita…などにアウトプットされた日常生活のほうが、「腕のいいエンジニアかどうか」「一緒にやっていけそうかどうか」の判断材料としては適切だと思っています。

ちょうどタイミングのいいことに、みんな大好き「Rebuild.fm」のAftershow 71で、関連する話として…

  • 「年に2コミットしかしてないような人でもすげえ優秀だったりするから、GitHubに草が生えてるかどうかを判断の基準にするのはナンセンス」
  • 「CPANモジュールのURLを送ったら即決、みたいなこともあったので、普段のアウトプットを晒しておくの大事」

というくだりがありました。

どちらも納得できる内容なので非常に悩ましいのですが、「年に2コミットしかしない人」はそれ以外のなにかで腕前を証明してくれないと、なかなか「では一緒に働きましょう」となりづらいように思います。代表的なプロダクトや実績、著書など、圧倒的な「腕前の証明」を持っているロックスターはそれで十分ですが、そういうものを持っていないなら、日頃の成果をコツコツアウトプットしていくべきではないでしょうか。

ドワンゴエンジニアの可視化

「エンジニアレジュメ」という文化

さて、GitHubなど「普段の生活」をアウトプットするプラットフォームは充実していますが、実はエンジニアが「プロフィール」を書く仕組みというのはあまりないように思います。

一方ドワンゴには、数年前から「エンジニアレジュメ」という内製のシステムがあります。名前と顔写真、個人のプロフィールやスキルタグ(「きのこ派」とかスキル関係ないのもあったり)、経歴や経験したプロジェクトなどを書くためのCMSです。前述したとおりエンジニアが自身のスキルやキャリアを可視化することはとても大事なので、このシステムは非常によい取り組みだと思っています。

しかし残念なことに、現在とくに更新のルールなどは決められていないので、熱心にメンテする人、お遊びで使う人、脆弱性を探す人、存在すら知らない人など、レジュメに対しての熱量は各自様々です。個人的にはMarkdownで書けないこと(当時はtextile記法で十分だったんだけどなぁ…)、アイコンが設定できないこと、Twitter / Slack / GitHubなど各種SNSのIDと名寄せできないことなど、いくつかの点が不便だと感じていました。

ないものは作るしかない

さらにほかの仕事においても「エンジニアのスキルやキャリアを一覧したい」という欲求が出てきてしまい、レジュメが整っていないことは「残念」ではなく「致命的に不便」という状態になってきました。

おっさんですが僕もエンジニア、「ないものは作る」のが仕事です。普段の仕事の合間にちまちま要素技術を試し、このアドベントカレンダーのネタとして一気に書き上げました!ご覧ください!!

ごめん

…と華々しく言いたかったのですが、諸事情により「誰でも動かせる」ところまでは実装しきれませんでした。本当にごめん。

ソースコードはGitHubにあがっていて、MacOS X上でなら比較的簡単に動かすことができます。興味のある方は試してみてください。

ena

ここからは「ena」というRailsアプリについて解説していきます。それほど高度なことをやってるわけではありませんが、出たてほやほやのRails 4.2と、もうすぐクリスマス恒例リリースされるRuby 2.2.0で作りました。

名前は期せずして綾瀬家の三女っぽくなりました。


目的

ドワンゴで使っている「エンジニアレジュメ」のリプレイスを狙ったプロトタイプです。こっちで各種実装を試しつつ、ドワンゴ独自の要件を実装したものを社内で使おうと考えています。

使ってるもの
  • Ruby 2.2.0-rc1
    • クリスマス恒例のリリースが待ち遠しいですね。
  • Rails 4.2
    • 「rc使うかー」と思っていたら、クリスマス前にstableリリースされましたね。
  • increments/qiita-markdown
    • GitHub Flavord Markdownの拡張であるQiita Markdownです。使い慣れた記法で書きたいよね。
    • インストールはちょっと手こずるかもしれません。OSX / Homebrewの環境ならこちらが参考になるでしょう。
  • kwappa/username_not_reserved_validator
    • 拙作Validatorです。取られると嬉しくないありがちなユーザ名をvalidationで弾いてくれます。
    • 詳しい紹介はこちらRuby Advent Calendar 2014 – Qiita 12/20の記事としてエントリしています。
  • plataformatec/devise
    • ユーザ登録 / 認証まわりをよしなにやってくれるEngineベースのプラグイン。今回は普通の認証しかしてないけど、パスワード再発行やメールアドレス確認、さらにはOAuthやLDAPにも対応可能らしいので期待しています。
  • Pure
    • YUIベースのCSSフレームワーク。シンプルできれい、レスポンシブ、かつ「Bootstrapではない」という理由で選定。サンプルのBlogレイアウトを流用して使ってみました。おおむねよさげ…ですが、フォント指定とか日本語周りはもう少しいじらないとイマイチですね。
いいわけ

ここまできたらHerokuのURLが貼ってあるべきだし、「Deploy to Heroku」ボタンが設置してあるべきですが、悔しく恥ずかしいことに、そこまではたどり着けませんでした。間に合わなかった理由を分析してみました。専門用語でこれを「いいわけ」と言います。

  1. 自業自得
    • 個人的にAdvent Calendarに4つもエントリしてしまい、謎の自作デスマが発生してしまいました。エントリは計画的に。
  2. 取りかかりが遅かった
    • 最終日なので余裕だろう、tech関係ないエモ話でお茶を濁したろう、などと甘く見ていたら、カレンダーの中身がめっちゃ濃い口で青くなりました。あわてて仕掛かり中のネタを前倒しで実装し始めたのですが、時既に遅し…。
  3. Herokuでqiita-markdownを動かすのが大変だった
    • アプリさえできちゃえばHerokuにぽちっとdeployして完了…そう思っていた時代が僕にもありました。実際はここでハマったことをまるっとHeroku上でも解決する必要があったのでした…。

メリークリスマス!

よりカスタマイズされ完成度があがったenaを触ってみたい、プロフィールを書いてみたい!という方は、学生さんはこちら、社会人エンジニアの方はこちらからご連絡ください。

ということで、ドワンゴ Advent Calendar 2014 – Qiita、無事完走することができました(まだ12/25だからね!セフセフ!!)。メリークリスマス、そしてよいお年を!

追記

2012-12-31 追記

Herokuにpushしてbundle installが通るところまで到達。db:migrateしたら無事に動いた…。

qiita-markdownを含んだGemfileをHerokuにpushするには – Qiita