Sun 18 Mar 2012
对面
Posted by Semon under 无主题
No Comments
Sun 18 Mar 2012
Posted by Semon under 无主题
No Comments
Sat 23 Apr 2011
Posted by Semon under 无主题
No Comments
■ 文 / 陈尚义
职业化之于软件工程师非常重要。因为:软件是看不见也摸不着的,它的进度也看不见摸不着,需要软件工程师严格自律、善于沟通;软件开发是创造性的劳动,创造性劳动依赖个人主观能动性,没有自我激励是不可能成为出色的软件工程师的;软件在国民经济和人们日常生活中发挥着越来越重要的作用,软件工程师的道德行为规范成为备受关注的问题。
下面是软件工程师十个“不职业”行为。在一些特定领域工作的人们可能会认为这些不具有非常广泛的代表性。例如,IEEE和ACM联合发布的关于软件工程师职业道德规范里,认为软件工程师首先要遵守的是社会公众原则,即所开发的软件要给人类带来福利,不能制造类似于计算机病毒那样的具有危害性的软件。由此,制作病毒显然是最大的“不职业”。然而,在一般的商业型公司里这个问题不是最突出的,因此制作病毒并没有包含在本文列举的十大不职业行为之内。
行为一:对外交付半成品
我们的态度反映在我们的工作上,职业化的人士从不从自己手上交出不合格的工作产品。那些不职业的软件工程师满足于把工作做成半成品,等着让别人来纠正他们的错误。
开发者总是不好好做单元测试,没有确认自己的代码符合不符合要求,就盲目自信地认为没有问题,提交给别人供集成和测试。殊不知,没有经过单元测试的代码,往往在集成和系统测试阶段发现大量的问题,要修复这些问题需要付出更大的代价,这个代价比你自己发现并修复要大得多,给组织造成了巨大损失。
行为二:不遵守标准和规范
职业化的重要特征是遵守行业标准,不能肆意按照自己的想象来发挥。每个行业都有自己的技术规范,软件行业也同样如此,如IEEE发布的国际软件工程标准等;各个软件开发组织也有相应的代码规范、文档模板、代码审查清单等;有一定管理水平的软件开发组织还有相应的过程文件。
这些都是软件工程师在软件开发过程需要遵守的规定。特别强调的是,自人们认识到软件危机以来,无论是学术界还是工业界都在不断地总结出软件开发的失败教训和成功经验,并把他们总结成为最佳实践,进而形成标准,这些最佳实践是在大量实践的基础上提炼而成的,要充分利用这些最佳实践和标准指导自己的行动。
行为三:不积极帮助他人
技术人员最容易犯的错误是“保守秘密”,觉得自己开发的成果属于自己,不喜欢和别人共享。生怕影响自己在组织内的地位。
帮助别人也是帮助自己,这个简单的道理却被高智商的软件开发人士忽视。在其他行业中,帮助别人可能仅仅是一个美德,但在软件开发组织中,帮助别人还能为组织降低成本、缩短开发周期、提高产品质量,所有这些正是软件工程学科所研究、并试图解决的问题。
行为四:版权意识不敏感
我们既是软件的制造者,也是软件最积极的使用者。如果我们自身不遵守版权,就会给其他人造成极大的、负面的示范作用,也是对我们自己劳动成果的不尊重。在实际生活中我们看到太多的例子,大量的软件工程师盗版使用了其他公司的产品,并以此炫耀自己的能力。
不尊重版权的另一个例子是:不认真阅读开源代码的使用限制条款就随意使用;随便找到一个开发包,不问来龙去脉就嵌入到自己的系统;错误地认为它在组织内所做的工作成果是自己的,在离职后转让给他人;看到别人使用盗版软件不制止,而且还继续传播。
行为五:对待计划不严肃
软件工程强调计划性。在软件项目管理里,任何项目都要经过策划(Planning),策划的结果是项目计划。项目管理者跟踪项目计划的执行情况,记录计划执行过程中存在偏差的地方,对任何与计划有出入的想法都要事先经过评审和批准,然后才能付诸行动。
因此计划是严肃的。计划是大家沟通的平台,是检查项目状态(Project Status)的依据,也是控制项目变更的手段。计划还是一种承诺,因为策划过程是所有开发者都参与的,或者是征求过开发者意见的,承认了计划中的各种安排,就意味着你已经对外承诺了这些。
软件计划具有难以精确估计并动态变化的特性,因此需要我们软件工程师更加严肃地对待计划,而不应该成为我们不按计划行事的借口。
行为六:公事私事相混淆
公私分明是职业化的另一个重要特征。利用公司设备做自己的事情;在上班时间浏览自己感兴趣、和工作无关的网站,如上班炒股票,都是不职业化的行为和习惯,属于假公济私。
反过来也一样是不职业的:用自己私人的设备处理公司的事务,用免费的邮箱发送和接收公司的邮件;带个人的电脑来办公室处理公司的业务。这样做,可能给组织的软件安全性造成危害,也可能对组织的工作造成麻烦、惹出版权官司。在公和私之间画上一道红线,做到公私分明,是职业化软件工程师必备的素质。
行为七:不注意更新自己
职业的与非职业的软件工程师一个重要区别就在于职业化的人士经常学习,不断更新自己的知识,保持自己在本行业的竞争能力。
我接触到的很多工程师,他们想走捷径,对技术浅尝辙止;知其然不知其所以然;他们畏难而退:不想在一线战斗,喜欢搞他们想象的所谓的管理;想做测试,因为他们错误地认为测试对技术的要求不高……这些都是和职业化的软件工程师很不相称的。
行为八:不主动与人沟通
沟通,在软件开发领域,是责任问题,不是性格问题。
不主动沟通,其背后隐藏的更为重要的原因是工程师的责任感不够。主动和上级、同行、下属沟通是职业化所必需的,因为软件开发需要团队协作,任何一个工程师的工作都可能会影响别人,进而影响全局。软件工程的实践表明,个别人缺乏主动沟通,往往导致整个团队的技术方案出现偏差,或整个项目的进度受到影响。
报告(Report)是沟通的一个方式,有时显得特别重要。当你承担的任务进展顺利的时候,要报告;特别当任务进展遇到困难、可能会影响别人或引起变更的时候,更要报告。配合项目经理和QA人员跟踪项目的计划执行情况,是每一个工程师分内的职责。
行为九:不遵守职场规则
一些工程师不能很好地遵守软件行业的职场规则。比如:互相告知或打听工资和奖金的多少;离职时带走公司的源代码和文档;或急于到新单位工作而不专心交接等等。
软件计划的不精确性,导致开发任务的分布不均匀,特别是重要里程碑(如产品发布)之前,往往需要一定程度的加班。对此,职业化的软件工程师应给予理解和配合。
行为十: 不够诚实和正直
配合项目经理做好计划是工程师不可推脱的职责。进度的安排是根据任务承担者的经验、水平来确定的,对所安排的任务,工程师本人应该有比较正确的判断。实际工作中,却碰到有些工程师一天能完成的任务故意说成是两天,为自己争取到过分宽松的环境。虽然,也有组织要求软件工程师对工作量和进度有一定的判断和估计能力,但这和故意虚报计划的性质是不一样的,前者是水平问题,后者是诚信问题。
工程师的正直来自于强烈的社会责任感。只有维护行业的道德水准和职业规范,软件行业才能持久健康发展。牺牲职业道德和规范水准,换来了暂时的经济利益,伤害的却是整个软件职业的荣誉和信任度。
作者简介:
陈尚义,1989年毕业于北京航空航天大学计算机系。现任中软通用产品研发中心总经理,北京航空航天大学兼职教授、硕士研究生导师,中科院研究生院硕士生导师,IEEE授权培训结构高级讲师。
(本文来自《程序员》杂志0910期,更多精彩内容敬请关注0910期杂志)
Fri 1 Apr 2011
Posted by Semon under 无主题
No Comments
纠结了几天,为了彻底改善南北互通问题,在效率和成本的条件下,终于还是买了口碑不错的VPS——linode,装了一个CentOS+LEMP,跑公司的项目协作平台。由于买的是linode 512,所以资源并不多,也没打算做太复杂的应用,好在需要的东西在Linode library都能找到,安装过程基本就是复制粘贴,所以还没什么负担。跑了几天,对LEMP的性能真的非常喜欢,这几天cpu占用率一般都在10%以下,内存消耗在70M上校,和Dreamhost PS动不动就几百兆内存的消耗量简直不可同日而语。
VPS的好处就是你可以不用考虑硬件的问题,资源随用随买,一般的在线应用和网站基本没什么问题。当然如果有要求比较高的在线服务,或者需要比较大规模的服务的话,还是自己搭比较省钱。
刚开始用,也没什么好分享的,整个注册过程非常简单,交钱开通,选了在Fremont, CA。之前找了半天的linode优惠码,发现都是骗人的,因为只要你一次性交1年就有10%的优惠。觉得没机器玩的时候vps还是不错的选择。
好了,按照惯例要推荐一下,如果有谁需要买,可以点这里,这样我在3个月后可以拿到20美元佣金,当然对你也没什么影响,买完,你也可以这样写篇东西,然后加上自己的推荐链接。最后,欢迎注册完之后告诉我,然后钱到手后找我出来吃夜宵:D
Fri 4 Mar 2011
Posted by Semon under 无主题, 摘录
No Comments
好的设计不仅要美观或是出位,更要兼顾实用,传达价值,创造功能。
可以撕开的名片,这样就可以分享联系方式了
查看引用来源 “51 Unique Business Cards That Will Make Your Mind Explode“
Fri 23 Jul 2010
Posted by Semon under 无主题
No Comments
有年头没写博客了,最近比较忙一点,但全面转到chrome没有很方便的编辑器也是原因(实在不想每次想到要写什么还要登录什么的……),Twitter太方便也是问题……。昨天发现以前用ff时候的方便编辑器ScribeFire在chrome下也有了,赶紧装了一个,以后要继续写博客了。
Fri 11 Jun 2010
Posted by Semon under 无主题
No Comments
很多时间我已经习惯用Google的产品进行工作了,写文字会在Google文档里,做简单的数据统计会在Google表格里,在docs里存共享文件…但是有时候随手想写点笔记或者草稿就会觉得麻烦,每次都要新建一个文档或者表格,让我的docs里留下了一堆无用的“临时文档”。
最近Google推出了Docs的样式版本,让没有docs/google帐号的用户无需注册也可以试用docs带来的便利,试用的内容可以在Google服务器上保存24小时……这就是我要的。
于是我将这个地址加入快速收藏,以后什么时候想要用了,直接点开,全选删除demo内容,开始使用。
不用新建,不用保存,不用删除,不会留下临时文件,24小时内通过浏览器历史都可以找回之前的文档。
Sun 14 Feb 2010
二维码(二维条形码)是一种利用图形记录信息的编码方式,相比较普通的条形码(一维条码),二维码可以在横向和纵向同时表示信息,所以有更多的容量。通过适当的阅读器,比如Android手机上的二维码工具”Barcode Scanner“,就可以直接拍照读出图形里的网站地址,直接通过手机访问。关于二维码的介绍网上已经有非常多,这里要介绍一下,用Google的Chart API来生成二维码。

把这张图片保存下来,或者索性直接连到自己的网站上,搞定。
当然你也可以把很多类型的内容,都用二维码来表示,比如,一首诗、一条短信甚至于一小段代码,移动设备读取后可以直接访问或者通过短信发送,你知道下面的二维码里有什么信息吗?
Tue 9 Feb 2010
Posted by Semon under 无主题
No Comments
新入手HTC HERO没几天,就发觉不对,前2天用了我10M GPRS流量,这几天开始注意了,有意识的不在没wifi的地方上网,没想到也是1天5M多,装了个流量监测的软件,发现只要一不在有wifi的地方,GPRS流量都会飙升。当场我就惊呆了。以前用M600i的时候5元包月的流量每个月都只用掉10M到头了,其实我也不是那么沉迷,也就是上上KDS上上gmail而已,一定有我不知道的地方在消耗流量。
上网一搜,才知道原来真有那么多在背后偷偷消耗流量的应用,如果你也用HERO,按照以下的介绍关闭一些,相信一定会解决大量的流量:
1 所有程序-> 设置-> 无线控件 -> 关闭“移动网络”这个关闭后,所有跟GPRS有关的都无法使用了,等于是关闭了手机网络,但是电话短信功能都是正常的,所以最省事的就是直接关闭这个;2. 关闭天气自动更新,打开天气后,menu -> 设置->关闭自动下载更新数据;3. 打开股票,menu -> 找到设置,关闭股票自动更新;4. 所有程序-> 设置-> 无线控件 -> 移动网络设置 -> 关闭“启用始终连接移动数据”;5. 所有程序-> 设置-> 数据同步-> Google -> 关闭“背景数据”。
Sun 7 Feb 2010
Posted by Semon under 无主题
No Comments

功能不多,但都很核心,这就够了,唯一的障碍是触摸屏的拼音输入法。
本帖就来自手机.
Fri 27 Nov 2009
Posted by Semon under 无主题
[25] Comments

需要的回复,留下gmail地址。
*为了避免非gmail帐号被忽略,所以提交非gmail帐号的朋友暂时不发送邀请,请替换gmail帐号
【更新】以下地址邀请已发-12个:
lxc0212[at]gmail.com
tinghe2006[at]gmail.com
freealong[at]gmail.com
jimjunwang[at]gmail.com
david.zhang0813[at]gmail.com
no2mee[at]gmail.com
orcsor[at]gmail.com
5ivedance[at]gmail.com
zjunjun[at]gmail.com
paropark[at]gmail.com
54nsong[at]gmail.com
chuyue.net[at]gmail.com
rayhome1987[at]gmail.com
eleventhman[at]gmail.com