クリアコードがこの「ククログ」というブログを始めたのが2008年5月なので、先月でククログを始めてから5年経ちました。今月から6年目に入ります。実は、ククログでは毎週1本以上記事を公開するという目標を設定しています。何度か公開できない週もありましたが、5年間こつこつと続けてきました。
記事を書くことはそれなりに時間がかかりますが、ふだんあまり意識せずに考えたり実行したりしていることがまとまるというメリットがあります。記事を公開することは知識や便利な情報などを社内・社外と共有する機会ができるというメリットがあります。私達は開発者なので、プログラムを書かずに記事ばかり書いていることには違和感がありますが、たまに書くのであれば十分にメリットがあります。
以前は特定の人だけが記事を書くという傾向がありました。記事を書くことには情報の整理・共有というメリットがあるため、特定の人だけではなく他のメンバーも記事を書くことにしました。記事は、空いた時間をみつけて書くのではなく、あらかじめ書くための時間を確保して書いています。書いた記事は社内Wikiにストックしてあり、毎週その中から選んで公開しています。
この仕組みにより、記事を書く人が特定の人に偏らなくなったため、ククログの記事の内容に幅がでてきました。ただ、ククログでは技術トピックが多めなので、クリアコードでの働き方という観点のものはあまりありませんでした。そこで、今回はクリアコードでの働き方を紹介します。
自己紹介
こんにちは。昨年4月にクリアコードに入社し、オープンソースのカラムストア機能付き全文検索エンジンgroongaやMySQLで高速全文検索を行うためのmroongaのリリース、組込み機器向けのサイネージシステムの開発を担当している林です。
プライベートでは、Sylpheedのプラグインをあれこれ作ったりしています。
今回は自身の例をもとに、クリアコードでの働き方について「1ヶ月のふりかえり」の取り組みと、とある1日の様子について紹介します。
1ヶ月のふりかえり
筆者の場合、ひと月ごとに「1ヶ月のふりかえり」という取り組みを実施しています。この「1ヶ月のふりかえり」では主に2つのことを行います。
1つは、その月の業務内容のふりかえりです。もう1つはふりかえりを踏まえた上で、次の1ヶ月の業務内容を決めるということです。
その月の業務内容のふりかえりでは、以下の内容の報告をします。
- 実施したこと
- 実施できなかったこと
- 業務を通じて思ったこと
- できるようになったこと
報告のあと、次の1ヶ月の業務内容を相談します。
それぞれ順番に説明します。
実施したこと
まず、前回の1ヶ月のふりかえりで合意した業務内容のうち、実施したことについて報告します。業務内容は、前回の1ヶ月のふりかえりで決めた後に急遽変更になることもあります。その場合は、変更された内容について報告します。
実施できなかったこと
次に、前回の1ヶ月のふりかえりで合意した業務内容のうち、その月に実施できなかったことについて報告します。自分で実施すると合意したのにできていない項目です。これは当初の工数見積もりの精度が低く、途中で軌道修正をした場合などが該当します。
業務を通じて思ったこと
実施したことと実施できなかったことを報告するとこの1ヶ月での業務内容が明らかになります。業務内容を踏まえて、業務を通じて思ったことを報告します。場合によっては、業務と直接関係のない会社のことや自分のことで感じた点を伝えたりもします。
できるようになったこと
最後の報告は業務を通じてできるようになったことです。これは技術的なことだったり、仕事の進め方だったりします。
これらの報告のあと、「1ヶ月のふりかえり」に参加した人からコメントをもらいます。
その上で、次の1ヶ月の業務内容を相談します。
次の業務内容の相談
1ヶ月のふりかえりの最後に、次の業務内容の相談をします。
このときは、事前に判断材料となる項目の洗い出しと見積もりをした上で相談します。項目についてはおおまかに以下の3つの分類からリストを用意します。
- 定期的に作業が必要な項目1
- 積み残しのままとなっている作業項目
- 取り組んでみたい項目
リストアップした個々の項目に対して、見積った工数などをもとに次の1ヶ月の業務内容を相談して決めます。
これをだいたい1時間程度で実施します。
この取り組みをしばらく続けたことにより、(始めたばかりのころと比べて)自分からこれがやりたいという項目がだせるようになってきたり、(相談材料をあれこれだせるようになったことで)1ヶ月のふりかえり自体も短時間で終わるようになるという変化がありました。
とある1日の業務内容
1ヶ月のふりかえりで合意した業務内容をもとに、日々の業務を行っています。
業務の中には、定期的に実施している作業があります。それは毎月肉の日(29日)にオープンソースのカラムストア機能付き全文検索エンジンgroongaやMySQLで高速全文検索を行うためのmroongaのリリースを行うというものです2。
リリースに向けた作業自体はおおよそ1週間前から開始していますが、ここではリリース前日を例として紹介します。
- 10:00頃 までに出社 朝会3の準備
- 10:30頃 朝会で昨日の業務と今日の予定を報告
- 10:45頃 リリース用のソースアーカイブの準備
- 11:00頃 groongaリリース用パッケージのビルド開始4
- 11:00 - リリース時のブログエントリの下書きをビルドの合間に行う
- 12:00 - 13:00 お昼5
- 13:00 - ビルド済みパッケージの確認を随時実施
- 15:00頃 mroonga リリース用パッケージのビルド開始
- 16:00頃 リリースアナウンスやドキュメントの見直しをビルドの合間に行う
- 17:30頃 ビルド済みパッケージのアップロード、リポジトリの更新
- 18:00頃 Freecodeへのアナウンスの準備6
- 19:00頃 コミットへのコメントサービス向けにdairy-report提出
- 19:00過ぎ あとはリリースアナウンスを翌日に行うだけなので帰宅
ぎりぎりまでリリースアナウンスやドキュメントの手直しをしていたりすることもあります。そのため細かな相違はありますが、毎月の肉の日リリースの前日はおおむねこうした進行となっています。
まとめ
昨年4月に入社した筆者の例をもとに、クリアコードでの働き方について紹介しました。より具体的にイメージしてもらえるように、1ヶ月の業務内容の決め方と、とある1日の業務の流れについて触れました。
実のところ1ヶ月のふりかえりという仕組みを実施しているのは筆者だけです。その人に合ったやりかたを模索するなかで、筆者の場合は1ヶ月のふりかえりという仕組みに(今のところ)落ち着きました。
クリアコードでは一緒に働く開発者を募集しています。昨年6月からパッチ採用という新しい取り組みを始めました。また、今年2月からインターンの募集も再開しました。インターンシップのテーマとしては以下を用意しています。
- Mac OS XのCocoa版GTK+で日本語入力を行うためのgtkimmodule(GtkIMCocoa)の開発
- 開発したいFirefox for AndroidおよびFirefox用アドオン
- GaaS: Groonga as a Service
- るりまをより便利にするために開発したい機能
働く環境としてのクリアコード(福利厚生編)という記事もありますので、興味が出てきた人は参考にしてみてください。
今回は、どんな風に働いているかということに焦点を絞って記事にしてみました。「これでどうやってお金をもうけてるんだろう?」という疑問を持たれたかもしれません。クリアコードが会社としてどうやってお金を稼いでいるかについては、機会があれば別記事で紹介します。