Making my work stats public
Table of Contents
This time I'll break a little my defaults.
With some Python scripting and a better understanding of Org Mode, I managed to generate a report of how much time I spend in each task type (review, feature, bug, etc).
The insights met my initial expectations, and then, suddenly I wanted to share that.
The process
My last devlog provided an quick overview, but now it has a public repo for the scripts: https://codeberg.org/thisago/archiveReporter
I encourage you to review the real repo, but here's an overview:
- I have an global archive file which holds all my done/cancelled tasks.
- An Python script provides functions to handle the tables provided by Org Babel, which is a 2d string vector
- A report file (ie.,
reports.org), the entrypoint, uses the global archive file and the Python script to:- Collects the totals with a general clocktable, scoping the job tasks.
- Then it declares a couple of reports, one for each major task type, matching the Org tag.
- The Org Babel Python block imports the script and runs with the report.
- A bash code block dumps the results to a file, for easy comparison.
You can see the output files (stripped hours and salary :) saved by bash code block in this repo: https://codeberg.org/thisago/personalArchiveReports
Last month report
Here's an example, the last report:
#+title: 202602 * Hour Price Expecting 160 worked monthly hours by a XXk/mo salary: - Worked a total of *XX* hours across *58* work items. - This means a salary of *XX/h*. * Comparing the Workload Of a total of *XX* hours worked this month across *58* work items. - =review= :: *XXX hours (22.8%)* across *19* work items (32.8%) - =feature= :: *XXX hours (6.4%)* across *3* work items (5.2%) - =bug= :: *XXX hours (28.0%)* across *8* work items (13.8%) - =task= :: *XXX hours (30.7%)* across *19* work items (32.8%) - =social= :: *XXX hours (3.1%)* across *2* work items (3.4%) - =plan= :: *XXX hours (1.7%)* across *2* work items (3.4%) - =investigate= :: *XXX hours (4.0%)* across *2* work items (3.4%) - =polish= :: *XXX hours (1.0%)* across *1* work items (1.7%) Cumulated total percentage *97.7%* (100% means all that tasks was considered)
Keep yourself on track. Bye.