カテゴリー : Work

「チームメンバーとの信頼関係を築く:定期個人面談の薦め」を読んで 1on1 実践してみたらとてもよかった!

チームメンバーとの信頼関係を築く:定期個人面談の薦め – クックパッド開発者ブログを読んでみて、1on1 を実践してみたらよかったという事実を忘れないように書き残しておきます。

面談という名の雑談を30分ぐらいしました。意図的に30分ぐらいの時間を確保しないと、日々の業務に忙殺されてよくないなと面談を終えて改めて感じました。普段、話さないような話題もできたので、無理やり会話する場を作ってみて正解でした。

これからも、隔週ぐらいで 1on1 の面談を継続していきたいです。あとはチーム内のエンジニアだけの MTG の時間もとってなかったので、こちらは週1回ぐらいのペースで行うと捗りそうな気がしております。

長期休暇明けのキャッチアップ

新婚旅行で一週間ほど休暇を頂いてました。7日間も休んでいると復帰後のキャッチアップを効率良くやらないと、日々の業務量に溺れてしまいそうだったので、どういう手順で不在時の仕事内容を把握するかまとめて、実際にやってみました。

キャッチアップの手順

1. リリースノートを読む

Devチームが週次で全社員向けに作成しているリリースノートを読んで、どんな機能がリリースされたかを把握します。まず、機能開発・変更の概要をざっくり掴みます。

2. 大きな仕様追加・変更などをDevメンバーに確認する

知らないとハマりそうな仕様の追加・変更などのポイントを、開発チームメンバーにチャットツール Slack 経由で教えてもらいます。これで無駄な開発の手戻りを減らします。

3. Github の issue や pull request をチェックする

特に自分に mention があるものを重点的に目を通します。ざっと終わったら、次は Merge できる pull request を1つずつマージしていきます。それが終わったら、未レビューな pull request をレビューしていくという流れになります。

まとめ

実際にやってみて、一週間分の変更を1日だけで”全部”キャッチアップしようとするのは、とてもじゃないですが無理でした。

現実的には、「リリースノートを読む」「大きな仕様追加・変更などをDevメンバーに確認する」の2つをやって、あとは残りをやりつつ、質問や差し込みのタスクなどが入ってきたら、それをやるという感じであっという間に1日が終わりました。

全て把握するのは無理でしたが、現実路線でその日に依頼されるタスクをこなしつつ、空いた時間はキャッチアップに使うのがよさそうでした。

”つくりたいものを、つくれる環境を、つくる”

中田ヤスタカの記事を読んで、思うことがいくつかあったので今の気持ちを忘れないように書き残しておきます。

Changemaker | Changemakers of the year 2012 次の日本を、世界をつくろう。

つくりたいものを、つくれる環境を、つくる

繰り返します。

つくりたいものを、つくれるような環境に自分を置く。
実はこれが一番難しいことです。特にプロとしては。
だからこそ、つくっている人が一番頑張るべきところも、ここです。

つくりたいものを、つくれる環境をつくる。

最近、仕事に対して悶々としていましたが、この記事を読んで2つのことを決めました。

  1. お金貰ってコード書くエンジニアとして、枠の中で成果を出す
  2. 最近、ほとんど取り組んでなかったプライベートコードを書く時間を増やす

仕事への考え方を変えていきます。

HipChat, Slack, Sqwiggle を常駐させるとメモリ不足で死ねる

社内のチャットツールを HipChat から Slack へ移行中というのと、リモートワークのトライアル期間ということで今日から Sqwiggle を導入していて3つのアプリ常駐させています。

Private group chat, video chat, instant messaging for teams – HipChat

Slack: Be less busy

Online Collaboration Software for Remote and Virtual Teams | Sqwiggle

MacBook Air(メモリ 8GB)だとメモリ不足でツライので、さっさと Slack へ移行してしまいたいです。(自分のためにもやります)

そして、メモリ 16GB 積んだ MacBook Air の登場を心よりお待ちしております。

良いチームを作るノウハウを知りたい

ちょっと前に、元楽天のメンバーがジョインしました。ECビジネスを”知っている”ヒトがやっと社内に入ったという感じです。

一度、ECビジネスを経験しているというのは本当に大きいです。現在、各部署のオペレーションやシステムにメスが入りまくっていて、どんどん効率化されていってます。「ヒト1人ジョインしただけで、こんなにもスピードアップして変わっていくのか!」という驚き、そして経験は宝だなと改めて思いました。

今までは、社内に誰もECビジネスをやったことのない手探り状態でやってきました。それが、EC経験者の加入で進むべき道がより明確になって、無駄な失敗が減らせるようになりました。「失敗は成功のもと」とか言いますが、既に失敗しやすいポイントが分かっているならそこは失敗せずにスキップできるわけですしね。

経験という話でいうと、自分には20人ぐらいのチームでの開発経験が無いというのが最近の悩みです。というか、エンジニア4年目でずっと初めてだらけのことで今に至るので悩みは尽きないのです。

ここ1年半ぐらいは、4人ぐらいの少数でのチーム開発をずっとしてきました。しかし、最近メンバーが増えてきて、開発パートナーの方々を含めると20人ぐらいのチームで1つのプロダクトを開発するようになってきました。少数チームでの開発はチームビルディングという概念が不要でしたが、20人ぐらいになるとチームビルディングが開発スピードに与える影響が大きくなってきます。

このような状況なので、開発メンバーも増えてきてチーム体制を変えたのですが、やるんだったらベストプラクティス的なものを知りたいなあと最近、思うわけですよ。何回も良いチームを作ってきた成功体験を持っている方に、アドバイスを頂きたい。そんなことは思っても、適任者をすぐにリクルーティングできるわけではないので、自分たちで何とかするしかないのです。

というわけで、社内で試行錯誤したり他社のエンジニアさんに相談してアドバイスもらったりして、コツコツ良いチームを作っていってるってのが近況でございます。

master に merge できる pull request が大量に存在すると・・・

とても悲しいことが発生します。

だいたい Conflict が発生しているのでこれを解消して、動作確認するだけで 1 pull request あたり 20 分ぐらい掛かってしまいます。

とても不毛な作業なのでこの状況を脱却すべく、チーム体制を変更中というのが今の状況でございます。

はい。

最近の仕事内容と所感(2014年8月版)

開発メンバー15人ぐらいいるのに、社内開発メンバーが3〜5人ぐらいなので死ねるというアンバランスな感じが最近の状況です。

最近は日々 github の issue を作成して外部開発パートナーの方々に開発依頼して、comment で仕様やり取りしているだけで一日が終わります。エンジニアだけど最近、コードあまり書いてなくてマネージメントっぽいことばかりやってます。

そんでもって、毎日質問やバグ報告が各チームから飛んできます。本番環境のデータは社内メンバーしか触れないので、バグ調査などにも追われる日々です。

更に、売上が増えるにつれてカスタマーサポートへの問合せが増えて、開発へもたくさん質問が Zendesk 経由で届きます。その対応がこれまたよく分からないバグの調査だったりで地味にヘビーなわけです。

こういう状況なので、社内開発メンバーの募集が急務ということで採用活動にもリソースを割かないといけないわけです。しかし、日々のタスクに追われるので時間を充分に確保できないわけです。

毎日、タスクに追われてる感じなので、コードもそんなに書いてないですし、じっくり仕様を詰める時間も確保できてないのです。

のんびりコードだけ書いていたいですね。

忙しいときこそタスク毎に費やす時間を可視化する

最近、いつの間にか1日が終わっていて「今日、何やったかな?」という感じで忙殺な日々が続いています。

喜ばしいことに、スタートアップなのでタスクは無限にあるわけで仕事のご褒美は、仕事です。仕事に終わりがありません。しかし、スタートアップなのでリソースは限られているので全部やるとか到底ムリです。優先度を決めて取り掛からないといけません。

そんな状況なので、1日の仕事の中でどのタスクに時間がかかっているのか把握しないといけないなあと最近、思ってきたわけです。時間がかかりまくっている原因を突き止めれば、コードを書いて機能追加・修正することで解決するというアプローチにも繋がるわけです。

まずは、今日から Toggl という時間管理ツールを使いはじめました。前職でも、SlimTimer という時間管理ツールを使っていたのですが、受託開発メインの会社だったので工数管理という目的が主でした。今回の目的は、ボトルネックになっているタスクの可視化です。

ちなみに、Toggl は SlimTimer よりもデザインが洗練されていて使いやすそうです。iPhone や Android, Mac など各種アプリもあるので、そこもポイント高いです。

時間管理ツールを使うことでタスク当たりの作業時間を可視化して、改善策を実施していきます。ひとまず、ボトルネックの洗い出しからしっかり取り組んでいきたいですね。

採用ページのURLは /careers が主流みたい

採用ページのURLは、海外のウェブ企業をザッと確認したところ /careers が主流みたいです。

https://www.facebook.com/careers/
http://www.google.com/about/careers/
https://careers.yahoo.com/us/
http://careers.microsoft.com/

サブドメイン切るか、メインサービスのドメイン以下に置くのはどちらが良いんでしょうね。

ちなみに、Facebookが社内で「ユーザー(User)」という言葉を使わず、今はFacebookの利用者を「ピープル(People)」と呼ぶようにしているらしいですね。

シリコンバレー101 (595) Facebookが利用者を「ユーザー」と呼ばなくなった理由 | マイナビニュース

メールでタスク管理する危険性

普段、タスク管理は iOS のリマインダーアプリを使っているのですが、タスクが消化できないとあまり目を通さなくなってタスク管理ツールとして意味を成さなくなってきました。

そんな状況だったので、直近でやらないといけないタスクを Gmail で管理してみるようにしました。

しかし、Gmailでタスク管理をはじめた矢先に、宛先間違えて誤爆しました・・・。

幸い、そんなに重要な内容じゃなかったので良かったのですが、ちょっと危なっかしいのでメールで管理するのはすぐに止めました。

たまに会社の他のメンバーも、誤爆してメーリングリストにメモ的なメールをしてくるのですが、情報管理的にちょっと危ないですよね。

そんなこんなで結局、「リマインダー」アプリに戻しました。

iOS:リマインダーの使い方

タスク管理ツールをどうこう言う前に、動いてないタスクをどうにか整理すべきですよね。