填Timesheet太麻烦了,我写了个程序自动完成
讨厌的手写填表问题
在澳洲,工作分Permanent(雇员)和Contract(合同工)。做Contract,客户按照时间支付费用,那就需要提高记录工作时间的表格,这就是Timesheet。有些客户有自己的系统,每周上网填写下就可以了,很方便。但是有些客户都还是纸质流程,需要打印空的表格,手填签字,再扫描,非常麻烦。而我现在服务的客户就是这样的,看一下这个变态的Timesheet,每次我都要填废好几张,见下图。
手写的Timesheet
怎么办?那就自己写一个吧
我是个一个程序员,为很多客户都解决了问题,难道不能帮自己解决一次吗?
于是我就撸起袖子就干起来的,找到了一个写pdf的库,然后把要填的内容固定在程序中,输出大概是这样的,见下图。
工具生成的Timesheet
看上去还不错,似乎已经解决了些问题,可是每次自动填表之前,还要改程序,非常不方便,而且也没有办法让我的工友使用。于是我决定迭代了下,做了一个命令行工具,当运行时,只要问答几个问题就生成表格了。看以下效果:
-
Step #1: 保存基本信息到本地,以免以后重复输入:
npx hydrogen config -
Step #2: 输入该时间段的工作时间,自动生成表格:
npx hydrogen create
结论
这个小工具主要有这几个技术难点,如:写PDF文件、比较体面命令行界面、和打包支持免安装运行。
因为有以上一些不熟悉技术,导致花了很多时间学习和研究,总共花了15个小时才完成。如果按照每2周节省10分钟计算,要21个月才能回本。不过我已经share给一个同事,这样回本时间减半到10个月。下面我要Share给更多的工友,来减短回本时间。不过尽管这样,这依然是一笔赔本买卖。
然而,就算一开始我就知道时间上不能回本,我依然会做,因为对我来说这是一件特别有意义的事情。
首先,我学到了一些新的技术。
其次,有了一次闭环的经历,尽管这是一个很小的项目,如果这还算是项目的话。我常年在知名公司里面做软件项目,总以为自己已经有了项目的掌控力,可是我都不用去操心那些项目的闭环,这和自己真正闭环地来做一个小小的项目完全不一样。
最后,我长期给人开发软件,帮别人去实现自动化,但却很少为自己开发一个系统来提高自己的效率。以后,我会不断给自己找些“活”,做一个生活黑客
,如果有幸别人也喜欢的话,或许能开启我的机会。
附:本工具的源代码位于Github,如需参考请移步。