つよしさんブログ

とっ散らかった内容ではございますが

Android アプリ設計パターン入門 を執筆いたしました

・2年前、電機メーカからWeb業界へ転職した際に「Web業界で働くからには、ブログを書くぞ!」と気合いを入れて作ったものの、一度も書いておりませんでした。そういえばあの頃「Web業界ならアニメもある程度知らないと!」と思い、シュタインズゲートをゲオで借りてきたものの全く興味が沸かず、結局何も学ばずに今に至ります。みなさまこんばんわ、ご機嫌いかがでしょうか。

さて、この度「Android アプリ設計パターン入門」という本に執筆に関わらせていただきました。

peaks.cc

著名な方々の頭の中が覗ける素晴らしい本が出来上がったのではと思いますし、読者はこの本を通じて更に仲間を作るきっかけにもなりそうで非常にワクワクする一冊ですね。クラウドファウンディングに協力頂いた皆さま、かなりお待たせしてしまったようで、大変申し訳ありませんでした。

去年の夏くらいに同僚の @mhidaka さんにお誘い頂いたのがきっかけでして、自分は4章の「差分開発にみる設計アプローチ」を担当させていただきました。物議を醸す4章になってしまったのではないかとビクビクしているのですが、この場を借りて、この執筆の背景や自分の思うことなどを語らせて頂ければと思います。

まず始めに、自分はあまりこういう技術書を書くタイプだと思っていないんですね。技術書はブログよりも遥かに信頼できるリファレンスであるべき、というイメージがあり、「あくまでプロダクトを作るために技術を習得する」が色濃くて「目的が満たされれば必要以上に深掘りしない」というスタンス (正直これが良いのかどうか日々葛藤) の自分は、そんなリファレンスが作れるとは思えませんでした。

という話を @mhidaka さんに一番始めにしたのですが「生きた設計、現場感、を書籍に残すのは大いに意義があると思うので、そういうスタンスの人が書く記事というのは読者にはかなり嬉しいはずです」というまさかの答えが返ってきました。まぁ実際、自分が他の会社に所属してて「うーん、上手く行かないなぁ」と燻っているのだとしたら、今を時めくメルカリがどのような状況で開発を行っているのかという情報が書籍に書いてあれば飛び付くなぁと(笑)。そんなこともあり、良くも悪くも現場で起こっていることを詰め込んで書くことにしました。

ただ、取り上げる題材が(1年前にスクラッチから書き直したUSのプロダクトではなく) 創業期から積み上げてきたレガシーなプロダクトの方であったため、油断したらネガティブな内容が増えてしまう事が予想されました。ですので、なるべく「この失敗からこういうことを学んだ」「この失敗は、このように改善した」と、ポジティブな方向へ話が流れることを意識して書いていったつもりです。

特に推しポイントとしては「大きな改善に挑戦したターニングポイント」のお話です。「レガシーなコードが全員の方向性をバラバラにしてしまっていた状態」が「チーム全員が一定の納得感を持って進める事ができる状態」に改善された、割とレアな話だったのではなかろうかと思っています。

とはいえ、もちろん (?) スマートな話では無い訳です。技術的負債を返したい vs そんなことどーでもいいから機能を出す、の戦いは起こりましたし、自分はまさにその真ん中で機能開発をしてたため、本当に思い出したくないくらい辛かったですし(笑)。でもなんていうか、その時きちんと真ん中から逃げなかったからこそ、今、素晴らしいチームの状態を実現できているんだろうなと噛みしめる日々である訳です。よって、負債を返したいけど…と燻ってる方に、このリアルなストーリーが "勘所的なものの気付き" になれば良いのかなぁと思いながら書きました。「何をしたのか」「何が起きたのか」が書いてあります (期待感を煽りすぎないように書いておきますが、内容は割と当たり前のことですw) 。「あのメルカリさんがこうやって改善したらしいですよ!うちにもやらせてください!」みたいなネタに使ってください (笑)。

全体的に「チームとしてどうなのか」という所に頭が向いた内容かなと思いますが、去年のMercari Tech Conferenceでの自分の話もチームワークに頭が向いてますし、今の仕事の役割もそういう所まで担ってます。なので、"100%技術" みたいな内容にはどうしても成り得ない人が書いた記事だと思って読んでもらえればと。逆に、そういう人が書いた話がどのように受け止められるんだろうという所に (マサカリを恐れる気持ちと並行して) 興味を持ちつつあります。

ということで「Android アプリ設計パターン入門 」、どうぞよろしくお願いいたします。

peaks.cc

(裏話)

「リアルさをもっと伝えたい」と思い、当時開発中に殴り書きした設計図を引っ張り出してきて初稿に貼り付けて提出しました。これが @7gano さんにウケまして、まさかまさかの、そのまま本に載ることに(笑)。今見返すと「き、き、きたない…」という感じなのですが、「設計をきちんとする人は、きちんとした設計図を書くに違いない」と考えていた時期が自分にもありましたので、昔の自分に見せてやるという意味でもこのまま送り出すことにしました。みなさん、暖かく受け入れてあげてください(笑)。

f:id:tsuyoyo:20180131121049p:plain