月度归档:2011年05月

软件项目需要很多人一起完成可能是一个骗局

本文的标题只是一个猜想,并不是我坚信的观点。事实上,我这几年自觉学到的重要东西之一,就是如何在开发过程中分工,如何信任队友开发的组件,如何组织许多人做同一个项目。

可是,如果这是一个骗局呢?那也未尝不是一种可能。

这个世界上我们需要做的软件可能没有太多真正庞大到需要很多人合作才做的出来。需要配置产品经理,需要设计人员,需要前端开发,后端开发等等。

更多时候,你需要很多人一起来完成仅仅是因为别人都这样在做。或者是,你缺乏某方面的专业知识,需要属于这个领域的人。又或者是有些工作很枯燥,你需要一个只是打工的人来帮你完成这些枯燥的你不想干的部分。也可能是你的老板觉得你进度太慢,觉得必须想办法加快进度,他觉得增加人手或许可以……

如果你真的一个人做一个别人看起来了不起的大项目,结果要么就是被膜拜(几率很小),要么就是被嘲笑成小作坊思维。你可能也很累,觉得在做那些不得不自己做的体力活时,盼望有人帮你解脱一下。

实际上,如果你抱着己所不欲,勿施于人的思想,怎么能把自己不愿意干的活推给别人呢?当是一个团队开发的时候,这块工作不属于我就成了一个很好的借口。其实,如果一个工作过于枯燥繁琐,其实说明的是没有找到好的方法让机器代劳而已。

如果缺乏某些领域知识,对于程序员,更重要的是自己去学习,掌握它。

产品经理?如果你爱你做的软件,你就是他最忠实的用户,你比所有人都明白你需要这个软件有什么功能,怎样才好用。

如果打一开始,你就打定主义自己包干所有的活,就好象 google 当年,因为不懂 HTML ,就设计了那么一个阳春白雪的首页,用 GIMP 随便做一个 logo 一样。如果你给自己断了后路,任何活都没有人代劳,你自己就咬紧牙关自己去做了。其实整个项目的总体开发时间,未必比一个好的团队来开发长多少。当然,比一个糟糕团队花的时间肯定要少的多。

成功率也未必很低。软件质量你心里明白,它只取决于你自己的能力。

我知道,开发软件全部由一个人亲力亲为听起来很糟糕。只是,大多数人都不相信,团队开发或许更糟糕。把一个项目加到足够多的人手后,看起来就勉强可以运转了(我听说的谣言: IBM 开发维护一个软件就是用一个集团军的),不会有人会相信其实所有事情一个人来做就够了。

只是随便想想而已。

我觉得吧,如果你真打算一个人做点东西的话,最大的敌人不是你个人的精力不够;而是不够坚定,总想以后会有人进来一起干。

你获得的好处是,不会有人跟你争论设计方案,不会有人讨厌你的编码规范。如果你发现做错了,通宵改掉就行,不用担心其他人的开发受到影响。过程本身,无论是苦是乐,都是值得回忆的记忆,乐趣不在于最后的结果。而且,做完了,东西再烂,你也至少拥有一个用户。

原帖地址:http://blog.codingnow.com/2011/05/solo.html

软件工程师,你真的喜欢你的工作吗?

本文是从 As A Software Engineer, Do You Really Like Your Job? 这篇文章翻译而来。

我喜欢这种做事方式。首先,我在Facebook日志页面上寻求反馈,询问人们喜欢看什么样的文章。有人希望得到更多的从前辈那里来的关于个人事业上的忠告,而正好出现了两篇这方面的文章,让我轻松了一下。在这个行业里,如果你想找,你会找到很多从有经验的人哪里提供的人生事业上的忠告建议。今天,我的主要目的是要让你——一个软件工程师——弄清楚自己是否正走在正确的道路上。基本上,软件工程师是一个非常辛苦的工作,通常压力非常的大。所以,如果你并不是真正的喜欢你现在的工作,你需要采取行动,找到你真正喜欢甚至热爱的事情。问题就在于你如何知道现在是做这种改变的时机?

Erik Petterson有一篇非常有趣的文章,他把工作对工作的满意情况比作咖啡桌。这是一篇非常有趣的博客,对检测你是否喜欢你的工作做了一个非常好的总结:

对那些不能融入自己的工作的人的建议。列出对工作的满意情况的清单。问自己,“我获得的报酬合理吗?我是否喜欢我正在做的事情,我在跟什么人做这些事情,好时光看上去是否还会继续吗?”

有很多的网站都可以找到你当地的软件工程师的平均薪资水平。你需要确保你的薪资水平至少是在平均水平以上。

跟你共事的团队也是非常重要的一个方面,因为它可以让你的工作更加有乐趣。我曾经有过几份工作,在那里,我根本提不起任何兴趣在下班后和他们一大群人一起玩乐。然而,我也曾在一些团队里,我们就像一个大家庭,工作充满乐趣,即使在工作压力很大的时候也是如此。问问你自己,真的喜欢那些和你一起工作的人吗?你每周40小时都和他们在一起,很有可能你还要用去每周10小时的时间在家中想着他们。不喜欢他们,你的家庭生活也会不好过。

”工作稳定“这个词在当前我们这个行业有点被误用。即使是像IBMMicrosoft甚至Google这样的企业巨人里,在过去的两年也有人被辞退。如果是在一个小公司里工作,稳定性将会一直是个问题。问题就在于你有一大堆账单要支付,一个稳定的工作来源是必须的。你能做的是搞清楚公司自己是否稳定。公司里这方面是否有很多的人辞职去寻找其它的工作?公司的客户是否在增加?公司是否在削减像免费咖啡或瓶装水等小福利?同样,员工的幸福感水平如何?所有的这些事情都能反应一个公司的健康水平,能用来告诉你是否该寻找一份新的工作,保护自己的经济健康。

最后,可能也是对软件工程师来说最重要的一个,你真的喜欢你正在做的事情吗?对有些人来说,对工作的热爱可以克服任何其它方面的不足。这并不一定是件好事,除非你已经非常的富足,工资对你来说已不重要。在有些公司,工作可能会一直非常的有意思,干起来非常的有乐趣。然而,像这样的工作并不很多,但你的兴趣爱好会很广泛。你怎么知道你现在是否喜欢真正在做的工作呢?Merlin Mann写了一篇神奇的关于摇曲柄的帖子。他对摇曲柄的描述跟你们当中的一些人的工作很相似:

我没有时间去考虑家庭。现在没有时间。我必须一直工作…我不停的打字。我一遍遍摇动病床上的曲柄。我努力呀努力…我一直干到昏天暗地不知几点,我都不知道我打出的究竟是些什么狗屎文字,我摇动曲柄甚至不知道该往哪摇。即使是我笨重的小曲柄没有挂上任何的东西,我仍然一直摇着。老爸们就是这样干的。他们摇呀摇,摇呀摇,摇呀摇,摇呀摇。

你是否也曾经处在这样的情形中?不论你干的多少,都会有更多的事情等着你做。如果工作没有兴趣,那就跟不停的摇动病床上的曲柄一样。最终,你天天去工作,做任何他们需要你做的,争取一份工资。这种生活没有乐趣,享受你的工作对你的整个人生幸福来说是非常的重要。如果你发现自己害怕去工作,即使不知道有什么事情要去做的情况下也这样,那么,你很可能就在干摇曲柄的工作。Merlin在这篇文章里引用了一句非常精彩的话,是关于你该怎么做的:

这已经是无法回避的清楚了,我在痛苦的做着每件事情。工作上,做东西时,玩乐时,以及在家里时。我不能忍受再多一天这样的日子。我已经决定了我需要去做什么。

你必须要认识到你能改变很多东西。你可以改变工作的方式,你可以让你的工作变成一个更适合工作的地方。如果这些不可能的话,还有什么你能改变的?也许这正是你换一个工作的时候了,除非你真的喜欢摇曲柄。

 

原文链接:http://www.aqee.net/2011/05/17/as-a-software-engineer-do-you-really-like-your-job/

5-13 电脑义修 win7启动bcd丢失修复实录

今天晚上来了一位同学说电脑启动不了。

开机后画面如下图(非实拍图)

看到是win7的启动菜单bcd文件丢失了

u盘pe进去,看系统盘boot文件夹里面bcd文件不在了,但是可以看到有一个bcd.backup文件,估计是使用了某些要修改启动菜单的软件(例如一键还原什么的),然后修改失败了,还好有备份,尝试将该文件重命名为bcd(无后缀名的),重启恢复正常启动,修复完毕。

 

超级快!!!