どうも。ひろです。
プログラミングにどのくらいの時間を費やしているか把握していますか?
自分が1時間にどのくらいの行数コードをかけるのか把握することは見積もりをする際の一個の指標になります。
記録するために毎回作業開始時にタイマーセットをして、1時間経ったら行数を記録してとやっていると非効率です。
そこでコーディングしている時間を自動で記録して可視化してくれるサービス「WakaTime」をご紹介します。
目次
WakaTimeとは?
プロジェクトのコーディング時間、書いていたプログラミング言語などを可視化してくれます。
WakaTimeのアカウントを作成して自分が使っているエディタと連携させるだけで使えます。以下の公式サイトから作成できます。
対応しているエディタは以下になります。写りきらなかった物もあるので公式サイトで確認してみてください。

エディタと連携させたら後はコーディングをすれば自動的に記録してくれるので手軽に導入できると思います。
無料プランでは2週間分のログを確認することができます。有料プランだと無期限にログを確認することができますが昔の自分と比べたいという人以外は2週間分のログで十分だと思います。
コーディング時間の明確化
実際に私のダッシュボードを使って説明します。
以下の画像が2020/03/09(月)現在の状況です。

左上の図ではコーディングしたプロジェクトの時間表示されています。色分けも自動でやってくれるので一眼で何に時間がかかっているかわかりやすいです。
左下の図ではどの言語にどのくらいの時間を割いているのかとコーディング量の割合を示しています。
僕はPythonのコードをよく書くのでほとんどPythonが占めていますね。2週間のうちにどの言語をどのくらい勉強したかや、実績の時間でどのくらいの規模のアプリを作成できたのかのような指標にもなるのでコーディング時間を把握するのは重要です。
調べる時間の明確化
現在使用しているブラウザはSafariになりますが、以前までGoogle Chromを使用していました。
WakaTimeはChromeにも対応しているので僕は連携させていました。理由としてはコーディングと調べ物の割合を把握したかったからです。
僕はよくプログラムのエラーについてなどを調べていると脱線してしまい、よく無駄な時間を使っていることがあります。
その日に振り返りを行うとき限定ですが、WakaTimeをみてChromeを使っている時間が長かった理由は何かということを簡単にリストアップしてここでかなり時間を使ってしまったということを把握していました。
絶対に必要な時間と無駄な時間を自分の中で把握することで作業に集中する方法を検討する材料として使用していました。
ずっと調べている時間ももったいないですし、有識者がいる場合は調べている時間を省くことができる可能性もあるので調べている時間も明確にすることをお勧めします。
見積もる時の参考値
何かを作ろうとしたときに大体いつくらいまでに作りたいという目安の日程を決めたりしますよね?
その際に何を根拠に日程を決めていますか?
何か指標があればそれを参考にして大体このくらいの日程感で完成するということがわかります。その際にWakaTimeで記録されている値を使用することができます。
例えば400行くらいのプログラムがあったとします。コーディングスピードが1日に20行だとしたら約20日くらいかかるなーということがわかると思います。
この指標を作るために1日コーディングが終わったら何時間で何行書けたという実績を何処かに記録しておくことでお仕事を受注したときなどの作業日程の見積もりの際に使用することができます。
今からでも記録を取っておき自分のスキルがどの程度あるのか把握しておきましょう。
WakaTimeのまとめ
WakaTimeは以下のことができます。
- コーディング時間を明確にして自分のスキルがどの程度なのか把握できる
- 調べている時間を把握することができる
- どの言語にどのくらいの時間かけている(勉強している)か把握することができる。
数字でわかっていてもグラフなどで表していると一眼で把握することができますよね。
自動でプロジェクトごとにどのくらい時間を割いているか記録してくれるので導入していない方は是非導入してみてください。
ここまで読んでくださりありがとうございました。