YAPC::Asia Tokyo 2011 スペシャルレポート

YAPC::Asia Tokyo 2011 2日目レポート[随時更新]

昨日、本日(10月14日、15日)の2日間にわたり、YAPC::Asia Tokyo 2011が開催されています。本稿では、このYAPC::Asia Tokyo 2011 2日目の模様を随時レポートしていきます!

※セッションすべてをレポートするわけではありません。ご了承ください。

本日はあいにくの雨模様ですが、開始時間にはやんできたようです。雨にぬれてしまった方は、もしよろしければ着替えにTシャツを買ってみてはいかがでしょうか、との話がされていました(受付の隣で販売されています⁠⁠。

画像

Kazuho Okuさん「Unix Programming with Perl 2⁠

2日目の最初のトークは、奥さんによる正しいコードを書くノウハウについてのトークでした。奥さんは昨年のYAPCでも同様のタイトルでお話しされており、今回はその続編に当たる内容でした。

まず、IPC::Open3を使ったコードがロックする例を挙げ、それを防ぐ正しい書き方として標準入出力やエラー出力を正しくcloseすることを指摘されました。また、shellの実行の危険性を指摘し、open3を使う重要性を説いていました。

次にシグナルのレースコンディションに関しては、syswriteを使うなどして十分注意するよう呼びかけていました。非常に実践的でためになるトークでした。

画像

画像

masahiro naganoさん「運用しやすいWebアプリケーションの構築方法」

masahiro naganoさんによるトークは、システム運用をしやすいアプリケーションとはどういうもので、それを作るためにはどのようにすればいいかを考えさせられる内容でした。

運用しやすいアプリケーションとして、masahiro naganoさんは障害をなるべく起こさないこと、障害が発生したときはなるべく速く復旧すること、スケーラビリティを確保できること、の3点を挙げました。

ログを適切に出力するという観点では、時間、ログレベル、環境、スタックトレース、メッセージが出力されることが重要であると述べ、よく利用されているLog::Dispatchでは力不足ではないかと指摘されました。その上で、Log::Minimal、Plack::Middleware::Log::Minimal、DBIx::Sunnyなどのモジュールが紹介されました。データベースに関しては、接続が長くなり過ぎると運用上問題が発生することを挙げ、その対策としてScope::ContainerやPlack::Middleware::Scope::Containerといったモジュールが紹介されました。

さらに、memcachedのキャッシュミスによる問題の解決として、Cache::Memcached::IronPlate、Cache::Isolator、さらにサーバステータスの表示に関してはPlack::Middleware::ServerStatus::Lite、Parallel::Scoreboardなど、長年大規模サイトの運用に関わってきたmasahiro naganoさんならではの実用性の高いモジュールがたくさん紹介された40分でした。

画像

画像

Kazuhiro Shibuyaさん「おたくのIPv4まだ残ってますか? - PerlにおけるIPv6への対応状況」

渋谷和弘さんによるPerlのIPv6対応状況に関するトークです。 実は筆者が個人的に興味のある分野であり、発表を心待ちにしておりました。

はじめに、今年の4月にIPv4アドレスが枯渇したことを話題に上げ、既存のIPv4を有効活用しつつIPv6への移行を視野に入れる必要があることを主張されました。

そして、World IPv6 Dayの紹介があり、Perlの対応状況の話へと議題が移ります。

また、とあるブログで「PerlのIPv6対応状況が非常に悪い」と指摘されていることを提示すると、実際にPerlコアにはIPv6対応が入っていないことを示し、CPANモジュールで対応可能であることを紹介。 さらに、今年の初めにSocket.pmのIPv6対応がPerl5.14にて取り込まれたことについても、それまではIPv6に対応してなかったのだと語ります。

後半は、PlackにおけるIPv6の利用実験についての成果を発表。 Plackそのものについては、plackupのipv6オプションでIPv6に対応するものの、SSL非対応であること、StarmanではNet::Serverのバージョンを0.99.6.1にする事でどうにか対応可能であること、StarletはStarlet::Serverに若干Hackを加えることで対応可能であることを解説されました。

最後にまとめとして、IO::Socket::IPを使うとIPv6/IPv4両方に対応可能であるとおっしゃってました。

画像

画像

tagomorisさん「Whada: Multi-Protocol Authentication/Authorization Tool」

以前、ISUCONの企画運営をされたtagomorisさんは、ご自身で開発された、マルチプロトコル対応の認証ツール「Whada」に関する発表をされました。

まず、Whadaの概要と名前の由来を簡単に説明。 作った理由については、社内向けWebサービスにおける認証まわりの面倒事(認証システム自体のばらつきや管理上の問題など)などがきっかけと語られました。

次に、社内認証によく使われているものの代表としてActive Directoryを挙げ、大抵は人事部などのエンジニアがあずかり知らない所で管理されているために、指摘や変更に伴う手続きが面倒と主張。 そしてWhadaを使う理由として、エンジニア側で権限付与・剥奪などを手早くやりたいということ等を挙げていました。

また、権限や認証情報などのデータの流れを細かく解説し、実績として社内プロキシでの利用を例にあげ、実際の利用方法などを説明していました。

今後については、OpenIDやOAuthへの対応などを挙げ、チューニングへの意欲も見せました。

質疑応答では、LDAPサーチでの属性情報取得の可否や、アカウントが複数フィールドを伴う場合の対処法についての質問が寄せられました。

画像

画像

kentaroさん「DISられないCPANizeを目指して」

CPANモジュールリリースでの悩み事と解決案をkentaroさんが紹介してくれました。CPAN Authorになるための道筋を示した、興味深い発表でした。

はじめに「便利モジュールを作成したとして、DISられるのが怖い」という話を耳にしたことを挙げ、その悩みを解決する為の考察を語られました。

そして、私的および公的な動機と阻害要因がそれぞれ多数あることを説明。 このうち阻害要因についてスポットを当て、問題解決の観点から分析、阻害要因は主に知識や技量などの「不安」からくるものであり、それ自体が「ボトルネック」であると指摘していました。

この不安について、ご自信の経験談(2005年頃はプログラマではなかったことなど)を交え細かく説明。 また、当初と比較して膨大になった情報量に埋もれないようにする必要があると語られました。

その解決案として、CPANにモジュールをアップする前に見てもらう場所として、ご自身で開発/運営されているサイト「PrePAN」を紹介。

それまでの「勝手に添削」に期待する風潮を、PrePANでモジュールに関する議論を行う方向にできれば良いとおっしゃってました。

画像

画像

Tokuhiro Matsunoさん「Hacking with metacpan」

和やかな雰囲気の中、松野徳大さんによる、metacpanの活用法に関する発表が行われました。

最初からいきなり「まとめ」として、metacpanは簡単に修正可能であるとおっしゃられました。

そしてmetacpanについて、⁠search.cpan.org 2.0」であると解説。情報がフレッシュであり、アップしたモジュールがすぐ見れて、APIが提供されている事を利点として挙げていました。

また、最初の「まとめ」の通り、簡単に修正可能であることの証として、MetaCPANExplorerを開発したことを説明し、依存関係等についてJSONなどで取得できる様子をデモしていました。

最後は、残った時間を利用し、UkigumoというCIツール(継続的にテストを実施するためのツール)を紹介。 同様のプロダクトとしてJenkinsが挙げられますが、アプリケーションを作り捨てするような開発状況では使いにくいことが開発動機の1つだと説明されました。

質疑応答では、Amon2で作られたWebアプリケーションをCPANにアップしやすくなる仕組みを用意したいと、語られました。

画像

画像

Ricardo Signesさん「闇のEメール伝説」

このセッションは、Ricardo SignesさんによるEメールの仕様周辺に関する発表でした。英語での発表でしたが、非常に共感できる部分が多かったです。

Ricardo Signesさんは、CPAN上にEmail系のモジュールを多数リリースされている方ですが、優先されてきたのはいつも互換性だと語ります。 そのようなことを語る理由を彼は、⁠みんなのコードが腐っているから」と説明していました。

彼が携わるPerl Email Projectでは、Email::SimpleをはじめEmail::MIME、MIME::Entity等、たくさんのモジュールを輩出しており、 その経験から、Eメール関連の仕様についてうんざりしていることが山ほどあることを強調していました。

それらを表現する言葉として、⁠身の毛もよだつ程の恐怖」であると言います。 特にヘッダについては、折りたたみが可能であることや、コメント・空白文字・改行を自由に挿入可能であり、それらがホラーかつ忌々しいこと、 さまざまな種類の日付フォーマットが許容され、ここにもコメントを入れられることなどを挙げて、これらを非難。聴衆からも笑い声が上がるほどでした さらに、本文に至ってははもっと酷いとも説明していました。

次にSMTPを取り上げ、⁠シンプルなんて嘘っぱち」とこき下ろします。マルチパートのメールについては「悲劇」と、RFC2045~2049に至っては「五重苦」だと表現していました。

その他にも、Content-Transfer-Encodingやエンコード済みのヘッダ情報についても仕様の問題点を指摘しており、添付ファイルの心痛、悲しみのネスト、SMTPはシンプルではなく単細胞など、おそらく考えうる問題箇所をことごとくこき下ろしていました。

画像

画像

Masahiro Honma(執筆者)「Monads in Perl」

このトークに関しては、実際に話をした本間自らが、どんな内容だったのかを簡単にお話しします。

トークの前半では、関数型言語を使う人々の間で流行となっている圏論とはどういうものかを、ごく簡単に紹介しました。その上で、圏論を使ってモナドについて説明し、さらにPerlでの簡単な実装を示しました。

後半ではAnyEventで使われるcondition variablesが、継続モナドとエラーモナドの性質を持っているという話をしました。これを実装するとJSDeferredと似たものとなり、コールバックのネストを防ぐことができます。

選んだ題材の割には多くの方に熱心に聞いていただき、YAPCの参加者のバックグラウンドの広さを感じました。

画像

画像

SKYARC System presents 招待 LT

SKYARC Systemさんの「遠方からの参加者支援制度」によって招待された方々によるLTです。

papixさん「Cコンパイラ用テストスイート自動生成システム」

K&RとC89コンパイラのテストを支援する、testgen2について紹介されました。testgen2はPerlで書かれており、Cコンパイラ開発の初期に便利なテストを9,000本程度実行することができるそうです。

画像

画像

hkataokaさん「僕とPerlとYAPCAsia」

PerlやYAPC Asiaとの出会いについて話されました。今回始めてYAPCに出席し、自作モジュールについてmiyagawaさんより直接アドバイスを頂いたりと、すごい臨場感を感じたと話していました。福岡でもこのような活気が生まれるよう、精力的に活動したいと決意を表明していました。

画像

画像

shinpei_cmykさん「プレNiigata.pm活動報告」

これから活動予定のNiigata.pmについてお話しされました。地方ではPerlを使っている人も企業も少ないのが残念であると述べるshinpei_cmykさん。しかし、⁠居なければ増やせばよい」と今後も前向きな活動をしていく意欲を口にしていました

画像

画像

lapis_twさん「Perl meets C++」

Sapporo.cppのコアメンバであるlapis_twさんは、C++からPerlを利用するというテーマでお話をされました。昨年のYAPCで動いていたはずのlibperl++が動かなかったため、perlembedの内容から始まってC++11のVariadicTemplatesやBoostライブラリまで、様々なものを試みたということでした。

画像

画像

1VQ9さん「Plack::Middleware::Auth::SAML2」

蜘蛛の遺伝子の解析をPerlでしている職場に勤めているという1VQ9さん。シングルサインオン技術としてSAMLを使おうとしたときに、PerlでモジュールがなかったためにPlack::Middleware::Auth::SAML2を作ったという話でした。最後には実際にデモも行われました。

画像

画像

Eikichi Gotohさん「仙台で1年間 PM をやってみた」

Eikichi Gotohさんのセッションでは、昨日のLTと同じテーマを少し掘り下げてお話しされました。

昨日のLTでは公開されなかった仙台の被災状況の写真も交え、震災で町の半分がなくなったと生々しい状況を語られていました。その中で、エンジニアが復興のために奮起する様子を目の当たりにし、今こそSendai.pmを進めるときだと感じたそうです。

トークの最後にはPMの作り方を説明し、英語が苦手でも大丈夫と自らの体験も交えて説明されていました。

画像

画像

Takatsugu Shigetaさん「Evolution of API With Blogging」

このセッションは、Takatsugu Shigetaさんによる、ブログ関連APIの進化に関するトークです。 今年のYAPCのテーマは「進化」であることから、ブログのAPIに関する進化を紹介されました。

最初はブログの歴史について簡単な説明があり、過去のことを学ぶことで、新しいものを見つけたいと語られました。

そして、そもそもブログとは、元々HTMLを直接記述していたものを、統一されたデザインで、本文を読み書きできるようにしたものであると語り、 トラックバックやフィード、HTMLのメタ情報、XMLRPC、AtomPub、RSD、weblogUpdates Ping、PubSubHubBub等について、手書きのフロー図などを交えて矢継ぎ早に解説されました。

途中で小休止をはさんだ後、今後のAPIについて、APIを自分で試しやすい等の理由から、データ形式にJSONを利用することを勧めていました。

さらに、リクエストにかかるコストの軽減に期待し、HTTPリクエストにPATCHメソッド利用すること等を提案。

BlogのAPIは大きく進化していないので、これから進化する必要があると思うという考えを説明していました。

また、大御所と触れ合うことが出来るようになったのは、プログラマ冥利に尽きると語っていました。

画像

画像

aloelightさん「少人数でのWebアプリ開発 - CGIからPSGIまでの変遷」

このセッションでは、aloelightさんがこれまで経験してきた開発スタイルの変遷について発表されました。

まず前置きとして、実装の話については出てこないことを説明。 そして、開発スタイルついて、開発に使うOS、バージョン管理システム。実行環境等の変遷について解説しました。

最初は環境がCGIで、その頃は趣味グラマからプログラマになったばかりだったことや、主にオライリーの動物本を読んで情報収集した事を語られました。 その中で、人力によるバージョニングや表計算ソフトによるタスク管理を不満だった点として挙げていました。

その後、YAPC::Asia 2007に参加してからは、RSSを利用して情報収集をするようになり、環境もCGIからmodperlへと変遷、CPANモジュールを利用するようにもなったと言います。 また、それまでの問題だった人力によるバージョニングや表計算ソフトによるタスク管理を解消する手法として、TracおよびSubversionを導入。業務上のストレスが軽減したことを解説していました。

それからしばらくして、インフラ担当者が退職した事を受け、ログの出力やコード保守性の重視、負荷の高い仕様についての再検討提案など、DevからDevOpsへ変遷したと語りますが、 それでもテストコードに関する不満などが残っていたことも併せて説明していました。

最終的に現在では、Plackベースの独自WAFを使って開発し、開発環境もVMware上のLinuxへと変化、テストも慣習化されたと語り、今後はgitを使う方針だと説明していました。

まとめでは、結果的にYAPC::Asiaがきっかけとなって、開発スタイルの改善を意識したと言い、YAPC::Asiaは定期的に開発スタイルを見直す良い機会である、と締めくくりました。

画像

画像

akiyamaさん「なぜ、高校生がPerlを使うのか?」

札幌在住の現役高校生であるakiyamaさんは、ご自身がPerlを始めたきっかけや、なぜ今もPerlを使い続けているのかという話をして下さいました。

akiyamaさんがプログラミングPerlをamazonで購入されたのは、なんと小学生の頃でした。しかも、たまたまプログラミングPerlを翻訳された方が会場にいらしており、とても感動してらっしゃいました。

RubyやPythonなどの言語があるにも関わらず、小学生の頃に使い始めたPerlを使っているのかという疑問に対しては、Perl言語の手軽さと、コミュニティの魅力を挙げていました。また、Perlハッカーに憧れていると話すと先輩ハッカーから質疑応答があったりと、世代を超えたPerlに対する熱意の共有を感じられたセッションでした。

画像

画像

minemazさん「PerlでJCL、基幹バッチをダウンサイジング」

OpenCOBOLのことをつぶやいているのは自分だけだと言う峰松さんが、Perlを使って業務系システムのバッチ等をダウンサイジングした事について発表されました。

まず前提として、既存環境が国内メーカ汎用機と専用プリンタ等のシステムを、Linuxサーバを軸にしたシステムに移行することを説明。 COBOLのコードにしておよそ500万行のシステムをダウンサイジングした事になると解説していました。

次に対応方法を説明されていましたが、COBOLのコードをツールで自動的にPerlのコードへと置き換える等のステップを経ることを説明されました。

また、JCLの置き換えにPerlを使った理由に、構文JCL的なDSLを構成しやすそうだった事などを挙げ、実際にデモを動作させて、聴衆を驚かせていました。

主に利用しているモジュールとして、Parse::EYapp(Perlのyacc互換パーサPerse::Yappの拡張実装)やCIsam(vbISAM操作用)、PDF::Haru(libharuを使用した高速なPDF生成モジュール)を挙げていました。

今後の課題として、公開許可をとることやOpenCOBOLのSCREEN SECTIONの実装を拡張することなどを挙げていましたが、Nagasaki.pmが出来たらうれしいと語っていました。

画像

画像

HIRATA Satoshiさん「Perlで仮想サーバ制御(ゆるふわ)」

このセッションでは、平田哲さんがPerlで仮想サーバ制御を行うノウハウについて発表されました。

まず本題に入る前として、Fukuoka.pmについて「最近はゲストドリブン開催なので、ぜひ遊びに来てほしい」と紹介されていました。

本題に入り、聴衆に仮想サーバをどのように利用しているかを問いかけ、XenやVMware等のハイパーバイザ共通のインターフェースライブラリであるlibvirtに関する説明をされました。 その後、Perlからlibvirtを触る方法としてSys::Virtを挙げ、libvirtによってSys::Virtのバージョンを変える必要があることを解説しました。

また、自作のクラウド構築ツールであるBeccoameを紹介し、Amazon EC2やEucalyptusと必要最低限の互換性を持っていると語られました。

話題は仕事の話へと移り、複数の物理サーバ上に多数の仮想サーバを迅速に配備する仮想化環境の構築を依頼された時の事を話されましたが、 ⁠Rubyで開発されていること」という要件が付いていることが原因で、最終的にBeccoameはお蔵入りになったと説明していました。

画像

画像

Kazuhiro Osawaさん「Perl Hackers Hub の舞台裏」

Kazuhiro OsawaさんことYappoさんがお話ししたのは、自身が立ち上げに深く関わった『WEB+DB PRESS』の連載であるPerl Hackers Hubについてです。Perl Hackers Hubは様々な著者がリレー形式で執筆を行う連載で、毎年年末に行われているAdvent Calendarにヒントを得て始めたそうです。

終盤、会場内をぐるりと一周したYappoさん。会場に連載関係者が居ることを確認すると、関係者を全員壇上へ呼び出しました。これは完全にサプライズだったらしく、突然のことに面食らう関係者達。しかし、会場から催促の拍手が起こると、inaoさん、dankogaiさん、kazeburoさん、xaicronさん、nakokakuさん、といったそうそうたるメンバーが壇上に上がり、それぞれ連載の経緯などを話しました。

最後にYappoさんは、⁠執筆をするのは特別なことではないので、技術系の原稿を書いてみたい方は連絡をください」と未来の執筆者が現れることへ期待を表し、会場へエールを送っていました。

画像

画像

Lightning Talks

2日目のライトニングトークです。

画像

kiwanamiさん「Perl, Emacs and Async⁠

手始めにEmacsで動作するマルチプレイヤー対応のFPSを披露したkiwanamiさん。EmacsからAnyEventで書かれたバックエンドを呼んでSQLを実行するデモの途中でトラブってしまい、修正して最後まで動作させられたところで時間切れとなりました。

画像

深町英太郎さん「Perl → Common Lisp → Perl⁠

Common Lispの経験が豊富ということで、PerlとCommon Lispを比較するという話をされました。マクロを多用するCommon Lispに比べれば、まだまだPerlは小さい言語ではないかと言うことでした。ただ、Modern Perlの進化が速過ぎる点が複雑化につながるかもしれないと述べていました。

画像

株式会社ガイアックスさん「Sponcered Session⁠

福岡の素晴らしい点を紹介するというテーマで話されました。中心部は都会であり、少し離れると自然も多く、Fukuoka.pmの開催数も多い福岡。エンジニアにとってはよい町であり、開発拠点を福岡に作るので人材を募集しているということでした。

画像

azuma kuniyukiさん「bounceHammerその後、導入、これから⁠

bounceHammerとはリターンメールの解析を行う、Perlで書かれたツールです。有名企業でも実績があり、大阪でもこのツールの紹介をされるそうです。将来的にはCoroやPlackへの対応も検討されているそうです。

画像

株式会社ライブドアさん「ロケタッチ⁠

今大人気のロケタッチ。参加者に挙手してもらい調査をしたところ、半分以上の人が今回のYAPC::Asia 2011へタッチしていたようです。ロケタッチAPIも提供されており、わからないところはfacebookで訪ねても教えてもらえるとのお話でした。

画像

Yappoさん「folkatdevs⁠

昨日に引き続いて登場のYappoさんのお話は、社内の開発環境を整えて行くというものでした。ちょっとしたツールを作るだけで経済的には非常に大きな額になることを計算で実証し、社内に広く目を配って必要なものを作っていくことで収益に貢献できることを示していました。

画像

Naoki Tomitaさん「This session is funny modules⁠

自らを「CPAN毎日チェックしている暇な人」としたTomitaさん。面白いモジュールをたくさん紹介するということで、AAAAAAAAAというよくわからないモジュールやMooseを高速化し過ぎてコードが何もなくなったMというモジュールを紹介され、会場の笑いを誘っていました。

画像

tokuhiromさん「File::Zglob⁠

File::Findを使う代わりにzglob('lib/**/*.pm')と書けるFile::Zglobを紹介したtokuhiromさんでしたが、時間があるからと突然20のモジュールを紹介し始めました。FCGI::ClientやDBIx::Inspector、DaikuにApp::watcherなど、短時間で数多くのモジュールが紹介されました。

画像

ミクシィさん「静的解析、しましょうか⁠

「会社とは関係ない個人的なトーク」と前置きした上で、静的解析を行うinspect-packageというプログラムについて紹介されていました。ソースコードだけでなく、コミット履歴からも分析を行い、問題のある箇所を検出できるそうです。最後に、働きたい人が居たら話しかけて下さい、と、スポンサーセッションとしての責務もきちんと果たしていました。

画像

Kenichi Ishigakiさん「Top Ten 2011⁠

毎年恒例の「輝け!全日本最強 CPAN Author 決定選手権 2011」の発表でした。が、今年はcpants.perl.orgにトラブルがあって自作されたりした関係で、公式な統計は出せなかったそうです。それでも、ランキング1位のXAICRONさんが発表されて本人が振り返って大きく手を振ると、会場からは大きな拍手が起こっていました。

画像

kamipoさん「MySQLでMessagePackの中身を検索⁠

kazuhoさんがMySQL上でJSONの検索を行うUser-defined functionを作ったことにインスパイアを受けて、MessagePackの中身を検索するmsgpack_getを作ったという話でした。デモでMySQL内のデータから無事に「みぃちゃん」のレコードが検索される度に、会場からは感嘆の声が上がっていました。

画像

YUSUKEBEさん「ぼくのかんがえたさいきょうのえろさいとの舞台裏⁠

運営されているアダルトサイトの歴史についての発表でした。バージョンを上げて品質を良くする度に、アクセス数が増えていく様子がわかりました。最後にはYUSUKEBEさんに影響を受けたという高校生のakiyamaさんを壇上に上げ、会場の声援を受けていました。

画像

TAKESAKOさん「Perlで無理ゲー攻略2⁠

Acme::MineChanでマインスイーパーを解くという内容のLTでした。1分半という超高速のLTでしたが、Windows付属のマインスイーパーが画面上でみるみると解かれていく様子はまさに圧巻で、TAKESAKOさんらしい非常に爽快なLTでした。

画像

makamakaさんによるカードゲームの抽選

最後に飛び入りとして、makamakaさんが数量限定のカードゲームの抽選を行いました。

Hideo Kimuraさん「Managing A Band Of Hackers」

Hideo Kimuraさん「Keynote - Managing A Band Of Hacker」

これまでのYAPC::Asiaで最後を飾るセッションとして、ゲストスピーカーによる基調講演が発表されてきましたが、今年のYAPC::Asiaを締めくくるのはhidekこと、DeNAの木村秀夫さんです。 ハッカー達を率いるマネージャーであり、またPerlを愛するハッカーでもある木村さんが、ご自身の経験に基づいてマネージメントの重要性を説く発表でした。

画像

まず、JPA役員と運営スタッフ、そして参加者全員の疲れを労い、自己紹介とご自身のこれまでのキャリアについて説明されました。

そして、過去の基調講演を振り返り、現在業務でコードを書いておらず、専らマネージメントをしている事を土台に、エンジニアリングマネージャの姿についての説明をはじめました。

なぜマネージャが必要か

開発を1人でやってると、プロジェクトの規模に限界が出てくるという問題を示唆。しかし、開発者が集まるのに伴って規模が大きくなり、より良いサービスを作れるようになると語られました。

また、木村さんは以前、個人で会社を興していたとおっしゃっていましたが、サービスを作るのが好きなので、現在はDeNAに所属しているのだと言います。

しかし、誰かが指揮をする必要が出てくるので、それがマネージャーの仕事だと思っていると語られました。

そして、アリストテレスの名言になぞらえ、1+1=2ではなく、より大きくするためにはマネージャーが必要だと主張されました。

Perlは歴史が長い言語なので、Perlハッカー達の中にはマネージャー経験者が多くなってきているとの分析でした。

プロジェクトマネージメント

計画・開発・運用のライフサイクルからなり、これを維持するのが、マネージャーの重要な任務だと言います。

計画にはシステムの設計やリソース・期間・費用の算定、開発には進捗管理やリリースの管理、運用にはシステムの健全性の維持がそれぞれ含まれ、 このライフサイクルを維持するには、エンジニアの経験が無いと非常に難しいことであると解説されました。

画像

人事

人事面の業務としては、面接・採用、配属、評価があると語られました。

面接・採用については、仲間を増やすために重要で、人のスペックを見極める能力が求められるとされ、配属についても、人の能力を見極める力が重要だと説明。 また、コミュニケーション能力が必要だと語られました。

そして評価については、エンジニアとしての経験がないと評価自体ができない事を解説されました。

画像

そのほか

事務処理はしんどいもので、淡々とこなすしかないと主張されていました。 しかし、出張準備や稟議などについての悩みを会社に打ち明けたところ、担当部署を作ってくれたという事を紹介されました。

そして、マネージャーになると会議が増えるということを説明。 サンフランシスコに子会社ができて、調整役としての働きをするようになった頃の話として、時差があるので、会議時間が非常に限られていたにもかかわらず、 図を描いたりして説明すると、1週間かかってた決め事が1時間程度で済んだりしたと語られました。

マネージャーに重要なこと

プロジェクトマネージメントと人事、そのほか事務処理などがマネージャーにとって重要なことであり、 これらのことをするには、エンジニアとしての経験が必要だと考察されていました。

ハッカーのマネージメント

木村さんが所属する部署についての説明があり、 主にMobageプラットフォームの開発・運用を担当する部署であると説明されました。

最初はフィーチャーフォンだけが対象でしたが、時間を追うにつれ、PCやスマートフォンにも対応していったと語られました。

すべて自分達の部署が運用していて、スタッフが最初3名だったところ、現在では20名にまで増えたと言います。

ハッカーは一人では寂しくて死んでしまう

色々意見を言うけれど、一人では声が小さいのだと解説します。

しかし、人数が増えることで声が大きくなり、いろいろな事が変わったともおっしゃっていました。

ハッカーは飽きっぽい。

飽きっぽいので、面倒な運用を他の人に押し付けるのだと言います。

しかし、⁠変えたい所は変えてもいいよ」と餌を与え続けることで、モチベーションの維持につながっていると語られました。

ハッカーにとっては、重要業務より自分の興味が優先

大抵のハッカーは、退屈な仕事を先に片付けて、その後で自分の興味があることに手を出す傾向にあるとの分析でした。

それに基づき、重要だがつまらない仕事を与えつつ、興味を引きそうな仕事も与えるのだとおっしゃっていました。

ハッカーは朝遅い。夜遅い。

朝早く来て夜早く帰るのも変わらないという事を強調し解説されていました。

そして、裁量労働制なので、相談したいときにいつ来るかわからないのが悩みだと語り、いつ出社するかをわかる様にしてほしいと主張されました。

ハッカーはKY

ハッカーはすぐ悪乗りするので、どこかで目標を作ることが重要であると主張されていました。

仕事はほとんど任せるようにしている。

コードを書くのが楽しいので、自分のプロダクトばかり見ていた時に、ZIGOROuさんからコードを書かないように指摘されて落胆したというエピソードを交え、 結果的に情報展開を遅らせる結果になった事を解説されました。

そして、10人くらいのチームになったときに、コードを書くのをやめたと言います。 また、人に物を任せる事の利点として、その人が成長するという事を挙げていました。

しかし、任せるのと、丸投げするのは異なることで、バックアップしてあげるのが重要だと説明し、失敗したときはマネージャーが責任を負うべきだと語られました。

画像

失敗の話

納期などのシビアな問題に関わると危険なので、悪い報告を先にするようにお願いしていると語られました。

また、Perlのモットーである「TMTOWTDI(やり方はひとつじゃない)」という言葉を借りて、多様性を許容していることを説明されました。

マネージャーになることはキャリアプランとして大きな選択

マネージャーはプロジェクトの健全性で評価されるため、エンジニアとしての経験が重要だと分析。 エンジニア以外はマネージャーになるべきでないとの考えを説明されました。

それをうけ、優秀なエンジニアでないとマネージャーになるのは難しい、と結論付けています。

最後に

締めくくりでは、I Love PERLと大きく書かれたスライドが表示され、若い人、学生の方にコミュニティに参加してほしいと語られました。 また、人脈が非常に重要であることを説き、人脈のお陰でエンジニアとして成長し、マネージャーという道を選んだときに糧になるという考えを伝えました。

最後に、DeNAで働けること、YAPCに参加できることへの感謝の意を表しました。

発表が終わると、聴衆の大きな拍手がなり響きました。 ほとんど全ての方にとって、この発表は大きな意味のあるものであったと感じられました。 また、Perlコミュニティに参加できることのありがたみを実感出来る総括となりました。

クロージング

牧さんによる、クロージングです。

画像

まずはベストスピーカー賞を発表しました。

  • 1位:FUJIWARA Shunichiroさん「Perlで構築された中規模サイトのDC引っ越し記録」
  • 2位:TAKESAKOさん「Perlで無理ゲーム攻略」
  • 選考外:Jesse Vincentさん「Perl 5.16 and beyond」
  • 選考外:Tatsuhiko Miyagawaさん「Carton: CPAN dependencies manager」
  • 選考外:Ricardo Signesさん「闇のEメール伝説」
  • 3位:徳丸浩さん「Webアプリでパスワード保護はどこまでやればいいか」

ゲストスピーカーのセッションは、ベストスピーカー賞の選考外のため、上記のような順位表となりました。受賞者の人には賞品が渡されました。次の写真は、1位のFUJIWARAさんの目録受け取りの模様です。

画像

その後、今回のイベントは昨年を超えるものだったことを数字を挙げて示し、発表者、参加者に感謝の言葉を述べました。そして、スタッフに登壇してもらいイベント運営を参加者の拍手でねぎらいました。

画像

最後に、次回のYAPCについて触れ、⁠Please be the catalyst for the next Evolution」であると締めくくりました。興味のある方はぜひ連絡を取ってみてください。

お知らせ

本日14時半頃から、スイーツエリアにはそうそうたるメンバーが集まっていました。これは、11周年記念号の『WEB+DB PRESS Vol.66』⁠12月23日発売)の連載「Perl Hackers Hub」において「小飼弾のPerlハッカーに逢いたい(仮⁠⁠」を予定しており、その座談会が収録されていたのです。ぜひ、こちらもお楽しみに!

画像

※ブラッシュアップする前にあったメモ書きの一部は、a geek born in Tomakomaiへ移しました。

おすすめ記事

記事・ニュース一覧