惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

TaoSecurity Blog
TaoSecurity Blog
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
Google DeepMind News
Google DeepMind News
Security Archives - TechRepublic
Security Archives - TechRepublic
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
The Hacker News
The Hacker News
Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
F
Full Disclosure
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Security @ Cisco Blogs
H
Hacker News: Front Page
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
B
Blog RSS Feed
H
Heimdal Security Blog
Google Online Security Blog
Google Online Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
V2EX - 技术
V2EX - 技术
V
Vulnerabilities – Threatpost
Help Net Security
Help Net Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Tailwind CSS Blog
W
WeLiveSecurity
T
Tenable Blog
D
DataBreaches.Net
Martin Fowler
Martin Fowler
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
S
Secure Thoughts
O
OpenAI News
L
LINUX DO - 热门话题
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
J
Java Code Geeks
Know Your Adversary
Know Your Adversary
IT之家
IT之家
Latest news
Latest news
Cloudbric
Cloudbric

博客园 - taowen

DDD Example clearing & settlement Local Optimization Revisited 集群管理要点 We are doomed, and RPC does not help 我想要的智能电视一键播放体验 Veil框架设计理念 【北京】创业公司诚邀主力Python工程师(技术合伙人) Word 与 Excel 同步 Java 7 实现代码的即改即用 我的GIT工作流程 多维数据查询效率分析(3) 多维数据查询效率分析(2) 多维数据查询效率分析(1) 高性能计算摘要 为什么我的敏捷项目有如此多的问题? 持续部署才是王道 企业定制软件开发的两个核心问题 组织模式 - Introduction
提高程序员的准入门槛?
taowen · 2010-03-08 · via 博客园 - taowen

效仿敏捷宣言,有人也搞了一个软件工艺(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?