ひつじのにっき

mhidakaのにっきです。たまに長文、気が向いたとき更新。

Androidアプリ設計の技術書をクラウドファンディングで執筆します

本を書きます!

技術書のクラウドファンディングサービス「PEAKS」でプログラミング解説書「Android アプリ設計パターン入門」のファンディングをはじめました。みなさんの応援が、書籍を作る原資になります。よろしくおねがいします

Android アプリ設計パターン入門」

f:id:hdk_embedded:20170703093536j:plain

PEAKS(ピークス)|日高 正博 小西裕介 藤原聖 八木 俊広 - TechBoosterの新刊!「Android アプリ設計パターン入門」執筆プロジェクト

本の内容はリンク先から「プロジェクト概要」に思いの丈を書き綴りました。

アプリの設計を知り、考えるための議論に使える本を目指してます。プログラミングにおいて設計は重要な要素ですが、それ自体が目的ではありません。ソースコードを通じて何が実現できるか、という視点で良い選択(プロジェクトごと異なる解があるはず)を選べるようになりたいという気持ちです。特に第2部では生きたプロジェクトをテーマにプロダクトコードをベースに設計についてみていけるといいな、と思ってます。

クラウドファンディングの理由

本書がクラウドファンディングのカタチをとったのはいくつか理由があるのですが、ひとつは紙の本を作るのに、ページ数に比例してお金がかかるということです。部数を増やせば単価は安くなりますが、過度な発注での在庫リスクのせめぎ合いに悩まされます(本書は完成時250ページ以上!)。

同人誌(TechBoosterのBoothにmhidakaがいままで作ってきた本があるよ!)として作るのには「Androidアプリ設計を自由に議論するのにいささか余白が足りなさそう」&「せっかくだからみんなの課題を聞いてみたい」という気持ちもありました。そこで第10章は

第10章 みんなの広場

出資者の設計上の課題をきいて、一問一答形式で案を出すコーナー

というAndroid開発者が抱える設計の不安を共有し、よりよりプログラミングについて考えられれば、というコーナーにしています。めちゃくちゃ時間がかかる章になりそうですが、色んな意見を聞く機会になるし、クラウドファンディングぽさを楽しんほしいな、と思います。

著者(執筆に巻き込まれた人)紹介!

mhidakaが急に訪ねてどうしてもあなたの記事が読みたい、と無理を言って声をかけたひとびとです。それぞれが沢山アウトプットをだしているひとたちで、一線級のエンジニアです!

小西裕介さん(Konifar)

KonifarさんはQuipperで働くかたわらDroidKaigiアプリをOSSアプリとして開発するなど無限のバイタリティ(!)とベースにある技術的な裏付けがすごいドラえもんアイコンの人です。ブログでは独自の視点からハッと気づかせるような記事が多く、担当を予定してる「第5章 OSSにおける設計者の役割」も今から楽しみです。

藤原聖さん

Shibuya.apkやサイバーエージェントのCA.*のオーガナイザー。めっちゃたくさんイベントをホストしています。本書ではFluxアーキテクチャArchitecture Componentsを担当してます。アーキテクチャコンポーネントGoogle I/O 2017で発表されたばかりの注目度Maxなライブラリです。一方、全然こなれてないので使い方そのものについて議論していき、便利な使い方を提示できればいいな、と担当をお願いしました!

八木 俊広さん

アーキテクチャおじさん。クックパットに居た頃から尋常じゃない仕事量について風のうわさが耳に入ってきました。TechBoosterでもKotlinの記事などエッジなところを書いてもらっていて、八木さんの知識でしか書けないなー、という解説記事がちらほら(たとえばコミケで一緒に作った本では第5章 詳説Kotlin 1.1 async/awaitを担当。内部実装まで調べて解説してくれてます)。今回もGoogle I/O 2017で発表のあったKotlin正式サポートを受けて、第9章 Kotlinが設計に与える影響を担当してもらえました。またチーム開発について考える第7章 チームとアーキテクチャも楽しみです。

さいごに

個人としては、どんどんAndroid開発が難しくなっていく中で(少なくとも覚えることが格段に増えていっている)技術共有が大事だし、もっと重要なファクターになるとおもってます。

なのでTechBooster(夏コミがんばってかいてます!)やDroidKaigi(来年度計画始まりました!)をやっていってます。技術全体に視点を広げると技術書典なども開催しています(技術書典3の受付はじめました!)。

PEAKSは未成立だと決済されない系クラウドファンディングです。気に入ったらぜひ購入ください。1人が出資してくれたらそのお金で2冊つくれる!よし!余分にできた1冊はmhidakaが責任を持って普及活動するぞ!という気持ちです。

peaks.cc

よろしくお願いします。今後もまとまった知識として本を作って頒布していきたいです。

 

株式会社ソウゾウに入社した

2月より株式会社ソウゾウ(Souzoh,Inc)でお世話になっている。

そろそろ1ヶ月(2月は多少短いのだけども)たつので忘れないように感想をまとめておこうと思う。何か日記っぽいなとおもったけど、そもそもブログタイトルが「ひつじのにっき」なのでそれも気にしないでいきたい。

読み返してみると友達への私信っぽい感じになってるけど、やはりこれも気にしないでいようかな。

あ、どうも。mhidaka(🐑)です。Androidエンジニアとして過ごす傍ら、技術の共有や普及活動に興味が強くて技術書典を主宰したり、DroidKaigiの代表をつとめたり、講演したり、技術記事を執筆したり勉強会を開いたりしています。 

何の仕事をしてるの。

一ヶ月もたって社内がわかってきた…わけではない。実はまだ社内のプロダクトにはあまり貢献していない(もちろんプロダクトのリポジトリをみてPRやIssue、レビューなどは目を通してるけども大したことじゃない)。何をしてるのかといえばDroidKaigiのことをフルタイムでやってる*1。これは自分でも驚いてる。

ちょっと🐑のことを知ってる人なら「何をバカなことを。いつもフルタイムで応答するだろ」「そもそもいつ寝てるんだ」「お前はいったい何インスタンス起動しているんだ」とジョークが始まることも多いので混乱するかもしれない。

この場合のフルタイムは業務時間、ずっとっていう意味であってる。自分の場合は入社にあたってコミュニティ活動(社外へのアウトプット)を業務中にも認めて欲しいという要望は出していたんだけど、入った日に「今は忙しい時期だとおもうから全力でコミットしていいよ」と言われたときは驚いた。

社内の同僚に説明しても、みんな驚いたあと口を揃えて「いい会社だなぁ」と言って納得してたので本当にそうなんだろうな、と思う*2

個人的にはDroidKaigiが落ち着いたら社内のプロジェクトにも触れていきたいと考えてるけど(もちろん技術の普及やコミュニティへの貢献も継続するよ)、このあたりの詳しい話を聞きたい人は、しばらくたってから声をかけてくれると嬉しい。もうすこし突っ込んだ話もできるとおもう。会社のミートアップやイベントには参加予定なので、そこで捕まえてもらっても大丈夫(外から入ったばっかりの感想が聞きたいなら今がチャンスだ)。

アウトプット

というわけで今はモバイル分野、Androidエンジニアが楽しめるカンファレンスができるようにDroidKaigiの準備を頑張ってる。

チケットは昨晩売り切れて*3スタッフ、スピーカー、出展者などなど含めると1000人弱のカンファレンスに成長した。海外からの参加者も増えていて、大変うれしい。一方でやることも指数曲線的に増えていて(多分カンファレンスの規模が500人を超えてくるあたりに境界線がある)微力ながら手伝っている、というのが正直な感想。

比率でいうと30~50人のスタッフが準備を進めているなかでは個人が40時間/週の工数をつかっても単純作業の一部を肩代わり(1人あたり1時間分ぐらい)するだけなので実際のイメージとしてはスタッフが動きやすいよう「交通整理をして情報を集約してまとめる」「施設、外部との調整」「準備物の発注作業」などボトルネックの解消を心がけて進めてる。

自分の時間をかければかけるほど多くのボランティアスタッフに支えられてるのが身にしみて分かるし、会社がこういう活動をサポートしてくれて僕のお給料がでるのはとても不思議な気持ちになる*4。コミュニティや企業の枠を超えて、むこうにいるAndroidエンジニアひとりひとりのために働いてる気もしてくる(要望があったら遠慮なくいってね)。

なにはともあれ3月9日/10日のDroidKaigiのために精一杯がんばってるので参加する予定の人は目当てのセッションを楽しんで欲しいし、好きな技術ではしゃいでほしいというのが本音です。

周りの環境

となりに@operandoOSさんがいて、もひとつ向こうに@_ishkawaさんが座ってる。チームはとても小さい(ソフトウェアエンジニアは3~4人、関係者全員でも5~10人ぐらいだろうか。2枚のピザ理論を守っている)。社内wikiが育っていて、ものを書く文化圏なので馴染みがある。

もっと会社の様子を知りたいひとはmercan(メルカン)Mercari Engineering Blogが良いかも。

ほしいものリスト

Amazonウィッシュリスト、じつは初めて使うんですごいドキドキしてます。

www.amazon.co.jp

やっていくぞ。

*1:mhidakaはDroidKaigiの代表者をしてます

*2:これまでの🐑の活動や技能を評価してくれた側面もあるのかもしれないけど、それでもスゴいなぁ、と感じた

*3:∩(・ω・)∩万歳

*4:まだ慣れてない

DroidKaigi 2017 開催にむけて

代表者としてDroidKaigi 2017のプレスリリースを書きました。

github.com

本エントリはDroidKaigiを知らないひとに届けたくて、そして来てほしくて書きました。運営の体制とかに触れています。セッションの紹介とかは追々書きたいな、と思います。セッションタイムテーブルも公開されているのでぜひ見て下さい。

TL;DR

今年も3月9日、10日にやるので来てね。運営も頑張るよ。初学者向けのセッション、ハンズオンから普段聞けないめっちゃ濃い話まで色々あるよ。一緒にお祭り楽しんでください。

f:id:hdk_embedded:20170127160527p:plain

 

DroidKaigi 2017の進捗

DroidKaigi 2017、はやいもので開催まで40日となりました。1月31日には最後の下見にいきます(ちょっと話が飛びますが新宿にはベルサール西新宿とベルサール新宿グランドの2つだと思ってたんですが、ツイッターベルサール新宿セントラルパークも教えてもらいました。3つあります。DroidKaigiの会場はベルサール新宿グランドなので気をつけて下さい)。

閑話休題。今回のDroidKaigiは最大5セッションを2日間実施します。そのため実は前日も準備日として確保しています。前日設営ではネットワーク、セッションルーム、展示&お菓子ルームなどの準備が待ち構えてます。

来週の下見の段階では椅子や机のレイアウト、音響、電源、インターネットなどの懸念事項を確認して計画に反映していきます。大規模カンファレンスだとこのあたりの作業がやはりい一番負荷がかかり、手が空いた人で助け合ってる感じです。

運営メンバーごと役割を決めて情報を集約→効率的に動く仕組みとして、結構こまかく担当が分かれてまして、ざっくりと書いても次のような感じです。

  • 会場:keima, tsuyoyo
  • Tシャツやグッズ系:tezooka, wariemon
  • Webサイト:mstssk, wm3
  • パンフレット:iwata_n
  • 食事:mogutaso
  • 広報:KeithYokoma
  • 搬入/搬出:matsuyama, teshi04
  • 協賛:shogo, kmats_
  • オフィスアワーなどの企画:suino, mochico
  • 受付:komatatsu, kaorii
  • アプリ:konifar
  • 事務局:wiroha
  • タイムテーブル:daruma
  • 会計:ken5scal
  • ネットワーク:pochi、CONBUさん

各カテゴリの番長的な人を挙げてみました。そこから更に細分化して、個々のタスクを運営メンバーみんな*1でえいや、と回してる状態です。

今ざっくり書いても複雑だな、、、と驚いたんですが規模的には搬入/搬出だけでもダンボール50箱ぐらいあるんですよね。これだけ多いと、どこからいくつ来る、みたいな管理は必要になってしまってやっぱり担当者が欲しくなる、という具合です。タスク粒度に合わせて運営メンバーが協力しあってます。

ありがたいことにDroidKaigiは回を重ねるごと、どんどん成長してきました。純粋に嬉しい気持ちです。その一方で運営においては会場、ネットワーク、電源、海外スピーカーさんのアテンド*2、タイムテーブルの構築などなど規模に応じて加速度的に複雑になる部分もあり、初めてのものをGitHubのIssueやProject、Slackなどエンジニアが使いやすいツールを使って&探してきて試しながら回しています。

僕らが提供したい価値

一体なにが、ここまでしてカンファレンス運営に突き動かすのか、という部分はすごく不思議に思います*3

改めて考えてみみると、そこにあるのは年に一度のお祭、エンジニアが主役のカンファレンスを作って楽しみたい、という部分だと思います。

運営メンバーとして自分たちが楽しむのももちろんなんですが発表する立場のひと、参加する立場のひと、すべてのひとが開発に関わる者として技術情報や開発の知見を共有できる場というのは、すごく価値があると思います*4

あと現金なはなしで恐縮なんですが、なんだかんだでフィードバックもらえると嬉しいです。「楽しかったです」「あのセッション、めっちゃ良かったです」「ご飯が美味しかったです」とか声が聞こえると担当者がめっちゃ喜びます。もちろんセッションへのフィードバックは発表者のひとも嬉しいし、モチベーションになります。なので会場でスタッフに声をかけてもらえると嬉しいです*5。みんなの前じゃちょっと聞きにくいな、というときのために今回は発表者へ直接質問できるオフィスアワーなど落ち着いて話ができる場も用意しています。

チケット情報

さて、最後にDroidKaigi 2017のチケットご案内です。

droidkaigi.connpass.com

各種参加チケット、取り揃えております。当日のセッションタイムテーブルも公開できた*6のでチラ見してみてください。

f:id:hdk_embedded:20170127172332p:plain

会場で会えることを願って。それでは。

 

 

*1:実は名前を書ききれなかった人が倍ほどいまして、書ききれなくてごめんなという気持ち

*2:下手ながら英語でなんとか

*3:私自身、代表として楽しんでるんですがやっぱり大変なものは大変だと思うんですよね

*4:蛇足ですが協賛企業にもこのあたりのエンジニアが主役という趣旨を伝えた上で協賛してもらってます

*5:Twitterの #droidkaigi ハッシュタグでも見てます!

*6:mstsskやkonifarさんが複雑な部屋配置をJSONソースコードに落とし込むのに頭を抱えた