追踪时间的10个给力应用程序

作者:tKC 发布时间:August 30, 2011 分类:IT技术,应用开发

你是否曾经在做项目时时间不够?你是否不确定你花在每个项目上的时间?

如果你对上述问题的回答是肯定的,那么你知道我说的时间问题。实际上,不了解时间都花在哪了,这是大多数自由职业者都遇到的问题。

今年早些时候,我开始寻找更好追踪时间的方法。我用电子表格已经好几年了,但我想用一些更好的方法。现在我终于可以分享我的收获了。

时间追踪程序的两种形式

经过研究,我发现有两种形式的时间追踪程序:

一种是帮助你知道时间是怎样花掉
一种是帮助你利用时间创造收益
由于我总是按项目收费,从来没有按小时收费,因此我主要对第一种时间管理的程序有兴趣。但鉴于有很多第二种管理方式,我也列出一些第二种管理方式。(注:这些程序大多数都不是免费的。在多数情况下,你要有偿使用这些软件。但很多软件会有试用期或演示版。)

为什么时间追踪很重要?

你是否想过,当你成为一名自由职业者时,你是靠时间记录表和工时表完成工作?

阅读剩余部分...

管理者的困境:放权或者崩溃

作者:tKC 发布时间:August 30, 2011 分类:IT技术,学习

编者按:原文作者Dreck Sivers是CD Baby网站的创始人,CD Baby是全球最大销售独立音乐人CD的网站。Dreck自己也是一名音乐人。他荣获2003年“全球技术奖”,被《时尚先生》杂志评为全美年度“最杰出和最睿智”封面人物。

大多数管理者都会陷入放权的困境。你很忙,每件事都要亲力亲为。你很清楚自己需要别人帮忙,但你没有足够的时间寻找并培训别人来帮你。所以,你更加努力地工作,直到自己崩溃。

下面这个故事讲述了我如何放权。

2001年,CD Baby成立三周年。我已有8名员工,但所有其他事情仍然需要我自己做。每周7天,从上午7点工作到晚上10点,自己仍然要经手每件事情。

每隔5分钟,就会有员工向我请示:

“Derek,有个家伙想修改网站上已经存在的相册,我该怎么跟他说呢?”
“Derek,我们可以接受电汇作为一种支付方式吗?”
“Derek,有个人今天下了两个订单,他想知道我们可不可以给他一起邮寄过去,并且把节省的邮费给他退回去?”
如果整天不停地回答问题,那么什么事也做不成。我感觉我好像是每天去上班,然后在过道里坐着,全职回答员工的问题。

我的忍耐已经到了极限,我不再去办公室,并且关掉了手机。随即,我意识到自己正在逃避问题,而不是去解决问题。我必须解决这个问题,要不然就坏了。

阅读剩余部分...

程序员常犯的5个非技术性错误

作者:tKC 发布时间:August 30, 2011 分类:IT技术,应用开发

一个好的软件开发人员需要培养两种技能:技术技能和非技术技能。不幸的是一些开发者只注重技术的部分,以致养成一些陋习,下面是最常犯的5个非技术性错误:
1. 缺乏自律

Jim Rohn曾经说过:自律是目标和成果之间的桥梁。我一直认为,不论是成为一名软件开发人员,亦或是想在生活的其它任何领域取得成功,自律都是最珍贵的技能之一。事实上,很少有人兼具智慧和自律。

Steve Pavlina强调了自律的5个基本原则“……容忍(Acceptance)、毅力(Willpower)、努力(Hard Work)、勤勉(Industry)以及坚持不懈(Persistence)。将每一个单词的首字母提出,构成一个缩略词:鞭子(A WHIP)。这样更便于记忆,因为很多人总是把自律和鞭策自我联系在一起。……” 我力荐大家阅读Steve Pavlina写的关于自律的一系列文章。

正如我以前的文章每天写出好代码的5个建议中解释的一样,对于自律,我的个人做法是每天遵循以下步骤

将一天要做的事情列成清单。
一次只做一件事。
正确做事。
不要半途而废。
与其道歉,不如补救,而放弃最不可取。
2. 自我意识过甚

据我的经验,程序员有点自我意识过甚,但凡过于自我的人都很难意识到这点,以下几个指标可以帮助你认识到自己是否自我意识过甚。

阅读剩余部分...

每天写出好代码的5个建议

作者:tKC 发布时间:August 30, 2011 分类:IT技术,应用开发

成为一个优秀的程序员和成为其他优秀的专业人员一样,需要尽可能多的做一些有质量的工作。有句很流行的话可以总结:做,正确做事,立马就做。(Do it. Do it right. Do it right now)

1. 将一天要做的事情列成清单

完成复杂活动(activity)的最好方法是将其拆分成简单的各项活动。每天早上,将你一天要完成的活动进行拆分,然后制定一个相应的日程安排表,这样能够帮助你:

更好的理解这个活动。
每天都有一个集中的目标。
提高你的估计能力,几天之后,你会发现你能预测一天的工作量。
2. 一次只做一件事

集中于一项任务比同时做多项任务更多产,不同的研究已经证明这个观点,并且发布在不同的媒体上(例如CNN)。

集中精力工作25分钟,休息5到10分钟。你可以用诸如“番茄工作法”这种流行的技术来帮助你管理时间。还有工具能帮助你测量你花在各项不同任务上的时间,我最喜欢的是CoolTimer,这里也有10个不错的时间追踪应用程序。

3. 正确做事

以下两个是考察事情是否正确完成的关键:

阅读剩余部分...

10个开发原则

作者:tKC 发布时间:August 30, 2011 分类:IT技术,应用开发

在从事软件开发若干年之后,我已经对“软件应该如何设计”有些心得。实际上,我有了这样一个结论:所有的事情最后都浓缩成10个原则,如果我们很好地执行这些原则,任何软件开发都应该会取得成功。

1. 客户至上

“如果我们没有关注客户……其他人将会取代我们。”

从客户的角度出发,客户首先会把焦点集中在产品开发的真正价值,其他方面(例如概念、需求、技术等等)在项目中是次要的。

不关注客户,就是程序员常犯的5个非技术性错误的其中之一。

2. 代码质量

即使代码质量是一些非常主观性的东西,(甚至有人说所有的代码都有问题),它却影响着很多重要的方面,比如:如何去维护应用程序,或者如何去带一个新手程序员。

在我看来,代码质量的指标在于:简单性、可读性、健壮性和可测试性。其他特性,例如外观或者可扩展性,如果没有要求的话,在你的应用程序中可以灵活设计。

3. 授权

软件开发过程中最重要的资源是人力,而非技术。人力决定产品的好坏,但他们需要得到授权。

阅读剩余部分...