瞄准时间这个强盗

来源:互联网 发布:求visio2007软件下载 编辑:程序博客网 时间:2024/04/28 05:01

瞄准时间这个强盗

 

现在是星期天上午11点,我又在计算机前工作。自从成为一个三人创业组的CTO(首席技术官)以来,我就在一直在超时工作。我编写软件、处理文档、会见风险投资商和制定公司发展策略;事实上,我深入参与了每一件事。但是作为唯一的软件开发人员,我的主要职责应该是制作出公司要推出的软件,结果我不得不有效地管理好自己的时间,以便能在按期完成软件的同时还能处理手头上其他重要的任务。



这里有两个关键的观点能有助于你应付这种情况:

学习如何有效地计划你的时间。管理好时间并不能消除一周工作7天、一天工作14个小时的状况,但是这会有助于缓解压力水平,使你能在保持工作能力的同时保持清醒。
寻找到到最好的、可用的工具。最糟糕的情况是,在漫长一天的午夜,你还在开发环境里寻找一个时隐时现的错误,这个错误甚至可以追溯到某个只在旧版的Windows 98上才会发生的奇怪时序问题上。如果已经安排好了第二天早上还要会见风险投资公司的话,你会马上知道应该有的东西还没有全部准备好。拥有一整套能帮你迅速摆脱这些问题的工具是保持自身清醒的好方法。
有了这些观念,我编了一个有助于自己日常基本工作的准则。

学会说“不”
即使是在一个三人的环境里,推掉一个会议或者社交活动也是可能的。。公司里另外两个人的工作就是完成你在全职工作期间所完成不了的事情——市场营销、销售和财务等等。这就意味着你不需要参与每一件销售和营销事务、制定财务计划或者会见每个投资天使(投资方)。如果能对一些事情说“不”,你就能把注意力更好地集中在真正重要的事情上——把产品做出来,让顾客满意。

说“不”对于和我类似的人常常是非常难的——因为人人都有一种参与每件事的自然趋势。当然作为自己公司的创建人,我需要知道事情进行得怎么样,但是在起步阶段事无巨细是没有必要的。(从个人的经验)我知道在活动初期了解一下情况,在后期参与就足够了。

从任何地方取得帮助


在刚开始为公司开发软件的时候,我们的产品经理评论说,我们的软件需要在许多不同的平台上进行大量的测试。当她问我“所有这些测试是不是都进行完了?”的时候,我笑着告诉她,她需要多了解软件测试的知识。即使是非技术人员也可以有很大的帮助,尤其是在你不能够花费自己大量时间来解决问题的情况下。

我们公司里的每一个人都在努力地测试软件、向顾客报告、制作文档,以及安排计划和进行策划。一般来说,我在能找到帮助的地方都能获得帮助。

保证安装程序的运行
开发安装程序往往是制作产品的最后一步。这种方法的问题是,它让软件的测试更加困难。所以我最先做的事情之一就是创建一个安装程序。这让包装每个程序变得很容易,还能推动软件测试版本的发布。我早期的安装程序非常简单,但是它们设计就是用来在目标系统上正确安装软件和为程序正常的运行设置环境的。这种方针极大地减少了更新整套安装指令时所常常碰到的麻烦。

创建有助于调试的终端用户工具
尽管这个基本原则能够用于所有的应用程序,但是我发现这一点对于小机构(公司)来说更加重要。软件开发中最让人伤痛的是系统崩溃以后开发人员和用户的对话。“你做过了什么?”软件开发人员常常会这样问。“不清楚,”用户说。在你缺乏专业的开发资源(以及在你依赖“在能找到帮助的地方获得帮助”的原则)时,情况会更糟,所以创建工具避免这种尴尬就显得很重要了。

我常常在每个软件系统里嵌入一个日志工具,它跟踪每一个函数的调用和程序的分支。虽然这会产生巨大的日志文件,但是磁盘空间的价格已经变得比保持我清醒的代价要低得多。一旦系统发生崩溃,我就常常能够从日志文件里找到问题原因。

另一个我最近集成到Windows应用程序里的工具是异常处理程序。由于Windows应用程序不能像UNIX应用程序那样生成内存信息转储,所以实现栈跟踪常常很困难。有了异常处理程序,你就可以获得程序失败的地址,然后使用映射文件来发现是哪个函数出了问题。尽管这项技术还不完美,但总比问“你做过什么?”更有用。


chuanliang 02-11-01 20:42 最后编辑

文档工作要跟上去


在软件中放置内嵌文档有助于增加软件开发方法的严密性。现在有一种巨大的趋势,那就是自己独自工作的时候不认真进行设计。强迫自己在编写软件的时候做好文档工作,会有助于开发出更好的代码而不用在用户不会读的文档上牺牲大量时间。尽管我一般不指定专门的工具,但是我还是找到了Doxygenwww.doxygen.org),它在我的开发工作中起了重大的作用。Doxygen和类似的工具能帮我为代码编写文档,而不需要另外再单独编写。这又能帮助我和同事以一种大家都明白的方式共享系统结构。]
如果可能的话,留出额外的时间
在策划开发计划的时候,我通常只把自己75%的时间划出来搞开发。虽然没有具体指定剩下25%的时间做什么,但是我知道自己会用它来会见、参加发布会和外出。这种计划安排方法能保证一周34天用于开发工作,而且为你处理意外事件或者其他所必需的公司事务留出了额外的时间。如果最坏的情况真的出现了,而且不能动用额外的时间,那么你只有调整和弥补开发时间了——这通常也不是坏事。

学会填补零碎之处的空缺
如果你把整块的时间都用于软件开发和其他的事,那么像阅读技术杂志和书籍这样的事就没有时间了。不要因为你把所有的时间都用在了工作间里而落在了专业技术的后面。用零碎的时间段来填补这个空缺。例如我每天都要乘坐地铁到华盛顿特区,这其中的40分钟让我有机会阅读技术或科技书籍,并保持我的专业水平。记录在磁带或者CD上的书籍也可以实现同样的目的。虽然很多人认为这些空缺是没有用的,但是我相信利用这些片段的时间能够让我提高专业技能,这是十分重要的。我甚至发现在上班途中阅读一些技术资料再去工作会觉得更自在——脑细胞在打开计算机以前就已经做好了热身。

身在一个小公司以及身兼多职将是职业经历中最有回报的事。它给了你开拓视野的机会,你知道了建立一个公司所要做的事——那就是不止是要开发软件。即便如此,还是有可能在大量工作中保持清醒的可能性。要做的只是学习如何更加有效地工作。

chuanliang 02-11-01 20:47 最后编辑



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=12701


原创粉丝点击