优秀程序员的一天,可能是这样的。
每天计划性,目的性要很强,把每天要做的事情按照优先级列出来分配好,当天下班前把明天的任务也按照优先级列一个清单.把一个模块切割成多个小任务并给每个分配时间(估算解决问题所需要的时间。),这样就把一个大的目标分成多个小目标了.
早晨到公司,打开昨天下班前列好的 TO DO LIST,按照优先级安排一个顺序。昨天项目经理说,客户对聊天模块的文件传输功能看得比较重要,需要优先处理。但是这个工作需要的时间比较长,最好用一个比较完整的时间段来实现,因此先把其他花费时间不多的琐事先处理掉。
打开bug管理系统,查看一下测试人员新提交了哪些问题。突然发现昨天已经修复了的bug单居然还在自己的名下,才想起是大概是昨天那个推销保险的电话打断了自己的思路,花了几分钟时间把这些bug单结掉。另外,测试人员提交了几个bug,分析了一下这几个问题都不是很复杂,预估半个小时可以全部解决。开始全身心干活,很快就就把这几个问题处理,并回复给了测试人员。
接下来处理项目经理昨天交代的事情关于提供一份技术文档,花了1个小时做出了初稿,拿给项目经理看,问是否满足要求。经理说有几个地方需要补充和细化,于是继续补充完整,调整排版,整理后发给经理,并且到经理办公室提醒他已经修改好并发送到他邮箱。
距离午餐还有一段时间,聊天模块比较重要,但是估计上午应该是进入不了编码阶段了。正好可以利用这段时间整理一下下午四点需要召开的项目迭代会议,把自己的工作进度列出来,并且写下了本周遇到的一些问题,到时候可以向经验更加丰富的同事请教。
完成之后,查看一下list,几天需要处理的琐碎事情应该都结掉了,只剩下了最重要的文件传输功能。打开需求文档,分析、理解了相关的要求和操作流程之后,开始画流程图,理清编码思路。然后请旁边负责支付模块的老张帮忙指导一下,检查自己的解决思路是否正确。经验丰富的老张指出了几处潜在的问题,马上记录下来。老张问了一下关于支付模块如何获取聊天模块的好友信息,还好,之前在实现聊天模块时已经预计到这个问题,并做了简单的记录。于是花半个小时和老张浏览解释了一遍API文档。
午餐之后,把上午的思路和流程图再次整理了一下,确定这是目前的最优方案,开始着手编码。由于没有别人来干扰,工作效率很高。在一个小的功能模块完成之后,还到茶水间喝了杯咖啡,放松放松神经。之后,按照理清了的思路继续进行功能实现。
这时项目经理喊所有成员开项目迭代会议,在流程图和代码中分别做了一些简单的标记信息。会议上向经理汇报了了自己的进度,并且把自己遇到的问题提出并向其他同事请教,得到了一些启示。会议归来,根据之前所做的标记信息,快速恢复自己的思路,继续工作。很快就得到了阶段性的成果。
看看时间,还有半个小时就到下班时间了。文件传输模块剩下的工作本周完成应该没有问题,今天先到此结束,明天再继续。下班之前的这段时间把今天所做的事情总结一下,然后再列一下明天需要做的TO DO LIST。