adish intelligence

アディッシュ株式会社のエンジニアブログです。

3Q(7月~9月)の成果報告会を実施しました

はじめに

 皆さんはじめまして。adish技術開発部.雪風チーム所属の田原と申します。
 前回の掲載から随分時間が経った気もしますが...それは気のせいということで。

 さて、adish技術開発部(以下TEC)では、四半期毎(1Q毎)に成果報告会があります。 これは以下を目的として、2015年より実施しています。

  • 前Qを振り返りの報告
    • 自分のやってきた業務
    • 新しく知見を得た技術
    • 熱い思い(?)
  • プレゼンテーション技術の向上
  • ドヤる

 今回は、10/14に行われた、3Q(2016年6月〜2016年9月の活動)の成果報告会について、勝手ながら私の印象に残ったトピックを、印象に残ったスライドとともにピックアップしてレポートします。 なお、諸事情によりスピーカーの写真がない状態ですが(ただ単に撮ってないだけ...)、弊社を含むガイアックスグループは「佐藤健率」が高い人が多かったらしいです(社内技術展示会「さきがけ展示会」を開催しました - Gaiax Engineers' Blog)。 なので、ここはひとつ、いろんな佐藤健(?)の顔を思い浮かべながら、以下ご覧いただければと思います。

発表順はbotで決めます

 ところで、「発表順を決める」場合にどんな方法を採りますか?  昔だと「じゃんけん」とか、人数が多ければ「あみだくじ」とか、サイコロとかもあるのかな... TECの成果報告会では、『Software Design』にも登場したことのある「gaiachan」というbotに決めさせてます。

f:id:tech-adish:20161019165052p:plain

 ちなみに「gaiachan」は、順番決め以外にも、いろんなことができます。 詳しくは、雑誌『Software Design 2016年1月号』をご覧ください。

Software Design 2016年1月号|技術評論社
第1特集「はじまっています。ChatOps」
Case5:組織にChatOpsを根付かせるために~GaiaxのChatOps実現までの軌跡~

iOSアプリ開発者が、Webアプリの開発をやってみた話

 gaiachanに指名された、トップバッターは片山さん。TEC唯一無二の、iOSアプリ開発エンジニアです。その片山さんが、iOSアプリの開発から離れ、WEBアプリのメンテナンス開発をすることになった、そのときの思いを語りました。

f:id:tech-adish:20161018184846p:plain

 ...その苦労わかります。
 WEBアプリの開発経験のある方はご存じだと思いますが、開発環境を構築する場合に、サーバーを1個たてることから始めますよね。 今はVagrantなどもあり、サーバー調達の敷居は低くなりましたが、それでもNginxやMySQL他必要なミドルウエア、そしてPerl,cpanモジュールなどアプリ開発用言語など、いろいろインストールしなければなりません。 ansibleなどのプロビジョニングツールを使用するにせよ、最初は何のどのバージョンをインストールするか、セコセコ書いてあげなければなりません。 新規開発ならともかく、メンテナンス開発の場合、稼働中のものにバージョンを合わせる必要があるが、時間が経ってると、そのバージョンがなかったりとかで、当時の環境構築手順のドキュメントに沿ってやったとしても、うまくいかない場合がままありますよね。 エミュレーション環境もエディタもUI開発支援も全て揃ったXcodeは確かにすごいですよね。

Perlプログラミングを学ぶのに最適な本

 続いては私、田原が、3Q業務の振り返りと、最近思ったことを話しました。
 iOS10にアプデしたら、ロック解除が変わってイライラした話とかありますが、ここはポジティブに。最近感動したのは、『雅なPerl入門』という本です

f:id:tech-adish:20161019172246p:plain

 私も、ラクダ本とかリャマ本とかロングテール本(最近そんな呼び方があるんだって知りました)などを、安くないお金を出して、重たいのでヒーヒー言いながら持って帰ったりしてましたが、たぶん実際に読んで役に立った部分をまとめると、この本の薄さになるんでしょうね...それくらいよくできてます。初心者の方はもちろん、重たい本で学んだ中級以上の人も、知見の整理に是非読んでみてください。
えっ!?非売品...残念。
 先輩や知り合いのPerlエンジニアに頼んで、みせてもらいましょう...

google apps Scriptのお作法

 続いては、本ブログの5回目「adishの技術開発部とは」にも登場しました、井上さんの発表です。 井上さんからは、「Google Apps Scriptのお作法」のお話しでした。

f:id:tech-adish:20161019105003p:plain f:id:tech-adish:20161019105021p:plain f:id:tech-adish:20161019105045p:plain

 ExcelVBAと比べると、まどろっこしくてわかりにくい書き方だな、なんて思いましたが、クラウドである以上、APIリクエスト回数とかやりとりするデータ量の爆発は、ユーザーにとってもgoogleのサービスにとっても致命的になりますからね。納得。

UI/UX改善の話

 続いて登場は、その生意気さ貫禄とスキルレベルに、もう5年目くらいかと思っていたら、まだ2年目だったという坪井先生です。
 先ほど片山さんのときに「唯一無二のiOSエンジニア」といいましたが、実は坪井先生も書けるみたいです。最近はReact.jsがお気に入りみたいです。
 さらにはRailsもPerlも使えるマルチリンガルプログラマです。ちなみにPerlはあまり好きじゃないみたいです。
 そんな坪井先生の発表で印象に残ったのは、先日プレスリリースもありましたhitoboのスタッフが使用する画面のUI/UXの改善のお話しでした。

f:id:tech-adish:20161019173247p:plain

 何でもかんでもすぐに対応してしまうのはよくないと思いますが、「なるべく要望はすぐ叶える」という姿勢は大事だと思いました。あと、「1画面で完結するを掲げる」というのもいいですよね。
 最初にこういったポリシーを決めて作業をするという姿勢にすごく共感しました。

プレゼンテーションを成功させるための4つのポイント

続いては、スーパーママエンジニア、菊池さんの発表です。 最近はブロックチェーンに関するプロジェクトに携わっており、先日、その知識を見込まれて、SMART CONTRACT CONFERENCE 2016にも、スピーカーとして登壇しました。 そんな、菊池さんからは、大舞台での経験を元に、プレゼンテーションを成功させるためのポイント4つについて、発表がありました。

f:id:tech-adish:20161019105148p:plain f:id:tech-adish:20161019105200p:plain f:id:tech-adish:20161019105220p:plain f:id:tech-adish:20161019105230p:plain

1. 構成を見直す

 スライド資料を作った後で、その流れで言いたいことが伝わるかとか、前置きの紹介が長すぎないかとか、盛り上がりとか、第3者の立場で見てみる

2. 練習する

 トータルな時間はもちろん、ひとつひとつのスライドにかける時間とか、間とか。壇上にあがってやる場合は、身振り手振り目線の配り方などの立ち居振る舞いを、実際にやってるつもりで練習する また、壇上でやる場合、スクリーンから離れると見にくい場合もあるので、フォントと文字サイズは大事

3. 準備する

 ノート(カンペ)はプリントアウトして持っておく。いざとなったらカンペを読めば、最低限プレゼンは進行する(真っ白になってとまらない) ...という準備と心構えが、大舞台での安心感、緊張を抑えることにつながる。

4. 基本が大事

 別に特別なテクニックはいらない。基本が大事。

 巷には、パワポの使い方を初めとする、成功するプレゼンテクニックに関する本や情報があふれてますが、なかなか覚えきれないし、覚えて実施しようとしても大変ですよね。 とりあえず4つ押さえておけば、大舞台でも大丈夫。いいですね。 ちなみに、テクニックでいうと、アニメーションの使い方。パワポはいろいろアニメーション効果がありますが、

  • 聴衆の先読みを防ぐためにも、アニメーションは使うべし
  • ただし、いろんな効果を使うのではなく、フェードもしくはスライドインだけでいい
  • 伝えたいポイントは、別スライドにして、フェードやスライドインとは別のアニメーション効果にするとよい

ということです。 プレゼンで悩んでる方は是非参考にしてください

機械学習の成績を劇的に改善!

 続いては、本ブログの4回目「adishにインターン生としてjoinしました!」にも登場してくれた、インターン生の岩渕さんから、「画像認識のディープラーニング」に関して、検出の成績をあげるための試行錯誤に関する話がありました。

f:id:tech-adish:20161019173126p:plain

 この表だけでは、何がどうなのかよくわからないと思いますが... 理論的な詳しい話とか、追試のできる技術的な話とかは、また別の機会に岩渕さんから本ブログで発表してもらうことにしましょう。 ちなみに、この赤い数字の部分は、とある方法によって成績が劇的に上がったということですが、そのやり方は「夜突然のひらめきが降りてきた」らしいです。 んーっ、セレンディピティ...

プロジェクトあるある/運用あるある

 続きましては、仏の顔無制限のやさしきエンジニア西谷さんより「運用しているといろいろありますね」ということで、3Qのシステム運用業務の中での、いろいろ困ったことを発表されました。

f:id:tech-adish:20161019081108p:plain

 技術だけではどうにもならないこと、「私」の力だけではどうにもならないこと、システムを運用していると、いろいろありますよね。 読者の方の中にも、そういった「あるある」経験あると思います。 いろいろ都合もありますので、詳しくは書けませんが...

React.jsとCSSに挑む

 さて、お次は、私と前述の良書『雅なPerl』とを巡り合わせてくれました、白木さんの登場です。
白木さんは本ブログの2回目と3回目を執筆しています。
PythonでBing Search APIを使って画像データを集める方法
ITエンジニアのためのDeepLearning #6 レポート

 先に発表した岩渕さんの師匠でもある、白木さんなので、ここはよくわからない興味深い機械学習の話かと思いきや、先ほどの坪井さんと同じhitoboのスタッフの方が使用する画面の開発をすることになり、React.jsやcssとお付き合いするようになった話です。 白木さんは「React.jsは触ったことない」「cssはそこらへんの大学生レベル(どんなレベルだ?)」ということで、これではイカンということで、以下をかかげて自主練したそうです。

f:id:tech-adish:20161019081825p:plain

 さきほどのプレゼンの話もそうですが、やはり不得手だけどやるしかないってときは、自主練あるのみですね。  ちなみに私は「else if」なのか「elsif」なのか「elseif」なのか、あと「leaveとlast」とか「continueとnext」とか、ごっちゃになるときあります。 この辺言語を作った人の思想が表れている?

業務改善/愛ある採用

 続いての登場は、adish のフィリピンオフィス(adish international)バナナチームのボス、岡安さん。本ブログの6回目、7回目に記事を書いてくれてます。
2016-08-25 私が感じるフィリピンという国 (前編)
2016-09-02 私が感じるフィリピンという国 (後編)

岡安さんの発表で印象に残ったトピックはこれです。

f:id:tech-adish:20161019181923p:plain

 SASとは、本ブログの第1回目「エンジニアブログ始めました」にあるソーシャルアプリサポート事業(Social App Support)のことです。
TAHMS(タムスと発音)とは、SAS事業に携わるスタッフの方たちが使用する稼働管理システムのことです。このシステムは岡安さん率いるフィリピンオフィスの開発チームが作りました。 開発者にとって、みんなが使ってくれているということが、一番の喜びだと思います。
 私も、直接TAHMSを使ってるわけではないですが、TAHMSより出力されたレポートを見せていただいて、大いに役立つことがありました。
 稼働管理状況を「WORK(作業中)」「REST(休憩中)」「ETC(その他)」「BLANK(未入力)」というカテゴリで色分けしてグラフが出せるみたいなのですが、そこで6チームのグラフを比較した際に、他の5チームに比べてBLANKが突出してるチームがありました。事情をヒアリングしてみると、特殊な運用業務フローのために業務過多になっているということでした。
 TAHMSのような稼働管理システムは、いろいろな所で使われていると思います。未入力が多い場合には「未入力を減らそう」みたいな感じのアクションを取るのが一般的だと思います。導入間もない場合は、それもアクションとして正しいと思いますが、横並びで比較して突出している場合、「なぜ未入力が多いのか」について深く掘り下げることが大事であると、気づかされました。
 あと、新しく採用した4人のメンバーについての紹介がありましたが、なんかを感じられてよかったです。ほっこりしました。

Perlエンジニアとしての矜持に感銘

トリをつとめたのは、福本さん。@papixと言ったほうがわかる方も多いのではないでしょうか。 歳は親子ほど離れてますが、私もリスペクトしているPerl Mongerです。

そんな福本さんの発表で印象に残ったスライドはこれです。

f:id:tech-adish:20161019113747p:plain

Perl向けにマイグレーションツールや、ActiveRecord的世界観を提供できるスキルがあるのが、単純にうらやましいです...。
ところで、これに関して面白いやりとりがありました。

坪井さん:「そこまでやるなら、Rails使ったほうがいいんじゃないですか?」
福本さん:「...そんな無粋なこと言わない...」

...そう、無粋なんですよ...。その気持ちよくわかります。

こだわりのある出張料理人が、出張先で万能包丁を使うのではなく、わざわざ自分の使い慣れた包丁を持ってきて料理することと、同じ感覚ではないでしょうか。
福本さんのPerlエンジニアとしての矜持を垣間見て、感銘を受けました。
(ほら、Rubyistの方もcron使わずにwhenever使ったりするじゃないですか...。今はちがうのかな...)
※あくまで個人の主観です。正しい/正しくないの問題ではないのでご了承ください。


 さて、こんな感じで、成果報告会のレビューの中から、私が独断で印象に残った各メンバーのスライドと発表内容をピックアップして、レポートさせていただきました。
 より突っ込んだ、参考にできるレベルの技術的な話などについては、また別の機会にでも、各メンバー(私も含め)に書いてもらいますので、乞うご期待。