效仿敏捷宣言,有人也搞了一个软件工艺(Craftsmanship)宣言。在标题的下面是一行小字,提高准入门槛(Raising the bar)。
UncleBob就这个Topic在世界各地发表演讲。他曾经把程序员与医生做比较:既然程序员与医生一样都是提供职业服务(Professional Service),那么他们就应该遵守类似的行为准则。医生在做手术之前需要洗手洗三遍以防止病人被细菌感染,而且需要用特殊的方式内搓三下外搓三下。假如病人说,我不希望你洗手。医生会拒绝这样的要求,因为这是他们的职业准则。程序员给代码做整理,不屈服于客户(在医生例子就是病人)的不合理的时间要求,因为程序员相比客户来说,程序员是职业的(Professional),应该知道什么样才是正确的事情,什么样才是真正为客户好(在医生的例子里就是怎样才能保护病人)。相反,如果我们屈服于时间压力了,没有对代码做整理,没有坚持更广泛的那些“正确的事情”,那么我们就不是职业的(Professional)。
他在世界各地做演讲之前都会问一个问题,多少人被Bad Code困扰过。结果自然是所有人。然后第二个问题就是,这些Bad Code都是谁写的。他的结论是,我们这个行业充斥了大量的Bad Code,而根源就是有太多不合格的人在从事这个行当。所以,这才有了那标题下的一行小字:提高准入门槛。但是,这有用吗?
我们来看看参加软件工艺北美大会(SCNA)的Speaker名单。假设这些人都是合格的Professional。他们都是在什么样的公司呢?
1、Small Group 咨询公司或者独立咨询
Robert C. Martin,Michael Feathers ~ Object Mentor
Ken Auer ~ RoleModel Software
Ward Cunningham ~ 一个人干的产品 AboutUs.Org,曾经的c2.com
Jim Weirich ~ EdgeCase
Christopher Avery ~ 貌似独立咨询
Cory Foy ~ 独立咨询
Kevin Taylor,Dave Hoover ~ obtiva
Micah Martin,Paul Pagel ~ 8th Light
Carl Erickson ~ AtomicObject
2、高Value的产品
Fred George ~ TrafficBroker
Dave Astels ~ Engine Yard
Bobby Norton ~ DRW Trading
那么所谓的不合格的Professional都在什么公司呢?这个就不用问了。显然不是那些精英咨询公司和高Value的产品公司。他们广泛分布于印度中国的外包企业内,而且这个行当每年都在以更快的速度制造这些不合格的Professional。那如何提高准入门槛呢?
但是有什么门槛好提高的?因为门槛已经在那了。如果你不是合格的Professional,像TrafficBroker,DRW Trading的公司会招聘你吗?如果你不是合格的Professional,UncleBob他自己的咨询公司ObjectMentor会招聘你吗?这是一个金字塔。一个人从塔基进入,先从不规范的民企,最次的外包企业开始,然后到好一些的外包企业,然后开始去做咨询,然后要么独立咨询要么就是被Google的Wave Team挖去,要么就是一帮人聚集到DRW Trading这样的小公司,给资本家写期权模型。如果我们只看塔尖,这个门槛已经在那了。Dan North, Bobby Norton这些人自己的道路,就已经说明了走到塔尖是多么的不容易了。那为什么还要提高准入门槛呢?难道是让Tata这样的外包公司不再招聘不合格的毕业生来堆砌代码?且不说其他方面的可行性。哪里来的合格的毕业生?Professional之所以成为Professional,肯定不是一毕业就是Professional的。那么提高门槛的目的就是不再让毕业生加入到写代码的行列来吗?
如果没有这巨大的塔基,如果没有大量的公司招聘大量的Unprofessional。你们塔尖上的人到哪里去招聘人?我同意Software Craftsmanship强调的价值,但是提高准入门槛却是一个很无聊的事情。关键不在于让谁进来,不让谁进来。而是我们这个行业,如何才让像律师和医生一样提供给毕业生在职的锻炼,而不是两三天买一个证书的培训。按照经济规律,牛人扎堆在了牛人一起,而Unprofessional扎堆在塔基在广大的外包软件公司里。那么我们除了牛人从塔尖向下望,摇头还是摇头。那么我们除了塔基的人向上望,摇头还是摇头。还能有什么其他的结果?
到底是环境造就了这样一批人,还是 这样一批人造就了现在这样一个环境呢?到底是什么让这些product owner相信软件可以由non-professional写出来,继而创造了一个可以创造更多non-professional的环境。是我们,还是他们,还是the damn god?
分享到:
相关推荐
...此外,WebSocket协议可能被用来实现实时的多人在线交互,确保玩家之间的通信延迟低且数据...同时,这个项目也展示了Web技术在游戏领域的广阔应用前景,不仅降低了玩家的准入门槛,也为开发者提供了更多创新的可能性。
B/S架构的应用则使得用户无需安装特定软件,通过浏览器即可访问和操作平台,极大地降低了用户的使用门槛。 南阳特产销售平台主要由管理员功能模块、商家模块和用户模块三部分组成,不同角色有着各自的准入制度和...
Squidy库提供了可视化的设计工具,使得非程序员或设计师也能参与到用户界面的构建过程中,降低了准入门槛,提高了设计效率。它不仅减少了开发者在处理底层驱动和框架时的工作量,还通过提供一个集中的平台,让团队...
其次是金融市场的准入门槛,即外国金融机构在本国金融市场开展业务的限制程度;再次是金融产品的种类和创新程度,金融市场的多样性和竞争力;最后是金融政策的透明度和稳定性,以及监管环境的质量。 全球金融开放度...
HTML标签的出现表明《plues-adventures-2》可能有一个Web版本,这意味着玩家可以通过浏览器直接体验游戏,无需下载安装,这大大降低了游戏的准入门槛。通过HTML技术,开发者可以实现跨平台的兼容性,并利用...
总的来说,NLPP项目通过开源的方式,促进了编程语言的多元化,降低了编程的准入难度,同时也鼓励了全球范围内的程序员参与和贡献,增强了编程社区的活力和包容性。其设计和实现涉及到了自然语言处理、程序翻译、多...