- 浏览: 1150046 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (224)
- Web UI (11)
- Dynamic Language (7)
- Framework (9)
- Note & Try (17)
- JavaScript (38)
- Ant/Gant/Maven (2)
- Database (5)
- Software Engineering (13)
- Career (29)
- Team Management (5)
- Performance (12)
- Algorithm (17)
- News & Commets (23)
- System Design (17)
- OO Design (8)
- API Design (3)
- Programming Paradigms (8)
- Asynchronous Programming (5)
- Architecture (6)
最新评论
-
a2320064997:
请问博主,排序的动图是怎么做出来的?
排序算法一览(二):归并类排序、分布类排序和混合类排序 -
你的微笑我得阳光:
试试验证码
reCAPTCHA项目 -
mack:
一般采用json
对象转换的问题 -
fly_hyp:
我也做了一个中文编程软件,叫趣智思成
一些中文编程语言 -
facingSun:
受教了
前端解耦的一个最简单示例
几周前我写了一篇文章,《对几个软件开发传统观点的质疑和反驳》,微博上、独立域名的博客上,还有ITEye网站上,都有一些评论的朋友给了我许多事实和观点。我觉得这些评论,似乎都有理由,无所谓对错,这些是有价值和有意义的文字。相较于那些“顶”、“支持”、“SB”、“沙发”……纯灌水或者是没什么意义的信息垃圾,这些文字要显得珍贵得多。
最近看了两本软件和创业方面的书,我的世界观总在不断小范围地崩塌和建立。现在愈发觉得,到底何谓对错,到底何为黑白,我是不是受到中国传统教育毒害太深了,到现在才慢慢缓过劲来?
我想到一些有意思的争论:
1、先寻找优秀的程序员还是先准备优秀的产品设计?
先准备优秀的产品概念、设计和理念,再去寻找合适的人,这样的公司稳重、成熟,能做出优秀的产品;还有的先去寻找最优秀的程序员,把这撮人聚到一起再去考虑做什么,这样的公司大部分都死了,但是活下来的都是极其伟大。
具体地说,有的公司为项目寻找合适的人,我想大多数公司都是这样做的;有的公司寻找最棒的人,他们的项目有许多都是由这些最棒的人发起的。很不幸的是我是后一种观点的支持者,尽管这种观点经常被骂成“不合逻辑”。
2、你是要做工程商人吗?
我记得我毕业找工作的时候一位面试官和我说,“我们不需要最优秀的人,我们只寻找最合适的人”,三年后,我参与做一个产品的时候,一位老程序员说,“做最好的产品,就有意义吗?我们都是工程商人,我们做合适的产品”。
有哲理?还是扯淡?我曾经那么坚信赚钱是这些软件商人的第一要务,可是后来我才逐渐感到,还有一种被称为“梦想”的东西在他们之中的少数人身上闪光。人是有感情、有追求的动物,程序员不是理智的法官,程序员要做一个狂野的画家。
所以我大概不适合创业,理想主义者总会在妥协和坚持两边摇摆和斗争,他们中的许多最终会死在惨白的现实下。
3、用户是上帝?
程序员应该首先去关心用户的需求和体验吗?如果用户不喜欢,你那些再华丽的技术又有何用? 是啊,多么正确的话。好吧,换个角度,产品经理是老大,他们是这个星球上最清楚用户想要什么的人……
可是另一种声音说,产品经理请滚蛋。程序员首先要用自己做的产品,征服自己,其次才是用户。用户其实也不清楚自己到底想要什么。所以,大部分时候请忽略他们。记录用户的需求?拉倒吧,“用户真正的需求根本不用记录。真正有意义的需求,客户会一次又一次地跟在你屁股后面提出来。你根本就不可能忘记。你的客户就是你的记事本。”
用户不但不是上帝,而且大多数用户对你的产品来说,他们什么都不是。你,或者你的团队,才是产品的上帝。用户只是会抱怨会牢骚会骂死你的不负责任的凡人而已。
4、工程师文化有多棒?这样的公司才能做出伟大的软件产品吗?
你可以给我举出Google、Facebook或者37Signal的例子。好吧,你真睿智,但是这个世界并不是那么简单的。
首先,这个世界上大部分软件公司采用工程师文化的模式来运作的话,都会死得很惨。
其次,这个世界上大部分号称工程师文化的软件公司,都只是号称号称而已。
最后,这个世界上大部分成功和伟大的软件公司,都不是工程师文化的。
以牛逼哄哄的苹果公司为例,在我看来,苹果就是一个人的公司,如果这个人很牛,公司就会很牛,如果这个人水了,公司就要完蛋了。苹果的工程师并不会觉得生活有多美好,死在他们手里的项目,莫名其妙被叫停的项目太多太多,只有一个人掌握生杀大权,那个人曾经是乔布斯。现在乔布斯死了,要么苹果不再是一个人的公司,要么苹果就快完蛋了。
5、团队合作有多重要?
团队合作之上。不错。
甚至有人说,有人说:最厉害的人不是自己解决问题的人,而是能让那些能解决问题的人死心塌地为那个人努力干活并最终解决问题的人。
好吧,又一句像绕口令一样的至理名言,又一个未来的哲学家,我服了你了。
不过,我觉得,单兵作战能力极强的精英团队,也许争吵不易控制,可比平庸的和谐之队产出强多了。有争论、甚至争吵,至少都是思考的表现,出发点大多是正面的,只要对事不对人就好了。如果大家都客客气气地陈述事实、然后安安静静地讲道理,那么这堆人都是圣贤,或者是机器人。追求这样的和谐团队?去死吧。另外,我一直觉得,原型、demo,还有框架基础,甚至产品第一稿,就是该由一两个人完成的。
程序员都讨厌开会,因为“会议中总难免轮到一个低能人士发言,于是大家的时间都被浪费在他们的扯淡上”;结对编程也不总是那么受欢迎的,结对的两个人水平差异太大了不行、性格过于冲突了不行、沟通能力不够强还是不行……如果团队合作的感觉那么美好,为什么不三个人、四个人一起写一段代码,在不说谎话的代码面前培养培养复杂的感情?
很简单,团队合作也是需要成本的。在产品初创的时候,团队的人越多,越做不出伟大的产品来。
6、辩证法?可有时候,我们只需要一个观点,一个明确的观点而已。
这个世界上只有两种编程语言,一种是被骂的,一种是没人用的。
这个世界上只有两种设计,一种是简单的设计,一种是烂设计。
这个世界上只有两种人,一种是说话偏激的,一种是说废话的。
好吧,我来具体说明一下。我问某牛逼的架构师,我应该把这些数据存放到数据库里还是文件里?牛逼的架构师回答我说,如果放到数据库里有1、2、3三条好处,也会带来4、5、6三条坏处;但是如果放到文件里,则存在a、b、c三条优点,以及d、e、f三条缺点。请考虑,这回答太完美了,没有什么漏洞可以找。所有的问题他都可以给你横陈利弊,当然,做最后决定的人是你。
所以无论你做什么决定,最后如果有什么问题那都是你的问题,他的方案条理清晰、思路明确,怎么可能有问题?当然,如果事情办得妥妥的,功劳当然是他的,因为他把事情都给你分析清楚了,你不就是一个傻帽的执行者而已嘛。
你放心,我不会这样说:该死的唯物辩证法。那是找骂。
我只会说,告诉我一大堆理由也可以,但是请给我一个明确的答案。
“Java太垃圾了”、“我就是痛恨注解”、“微软的东西是屎”……这些人的观点太过鲜明,而且2B青年充斥在思考着之中,以至于大多数人都接受不了。不过,如果理坚词硬的话,这些敢说的人,相对于那些不想得罪任何人的人,还是挺可爱的。
7、更多时候,相较于知识渊博的人,我们需要一个执行者,一个做实事的人。
“这个问题很简单,只要使用ABC技术,一整合、一实现、一配置,就搞定了。”这种人是最我痛恨的人之一。程序员的工作在他们眼中卑微而渺小,事情总是那么容易解决。就像程序员估计项目进度一样,事实却很难估得准。
遇到困难的时候,他们则跳出来说:“这个烂东西,一开始方向就是错的,如果用XYZ技术,三下两下就搞定了”。于是,这个东西设计开发主力的你躺枪了。而且,死得很难看。
牛人都如此言简意赅,那么喜欢指点江山吗?
下次,你应该这样反驳他:你说得对,所以我先歇歇,反正很容易就搞定了,那你来做吧。
好了,我说完了。
文章系本人原创,转载请注明作者和出处( http://www.raychase.net )
注:本博客已经迁移到个人站点 http://www.raychase.net/ ,欢迎大家访问收藏,本ITEye博客在数日后将不再更新。
评论
我们公司的方式:
Demo -> 成品(基于demo完善完善) -> 各种改 -> 需求上讨价还价 -> 敲定 -> 催验收.
之后基于上一次项目做方案, 再经历
演示 -> 各种改 -> 需求上讨价还价 -> 敲定 -> 催验收.
多个项目后, 做归纳总结, 提炼基础框架.
3. 用户是上帝?
这点很扯淡, 多数用户基本不指导自己要什么。
好几次碰到这种情况:
客户:“我想开个公司, 需要先有个网站,帮忙做一个, 价格好谈。”
程序猿:“你要做什么?网站需要来做宣传还是卖产品?”
客户:“接活,做设计。感觉没个网站显得不专业。”
程序猿:“那就定宣传型,展示作品用。”
客户: “都行。”
程序猿: “发点作品,给点宣传介绍。”
客户: “过两天整理整理给你”。
过了**月
客户:“兄弟网站弄了没?”
程序猿: “资料整理好没?”
客户:“你先整一网站!”
程序猿: "#$@#$#$@$$!!!!"
故事非乱编, “程序猿”就是我自己.
5. 团队合作?
“我一直觉得,原型、demo,还有框架基础,甚至产品第一稿,就是该由一两个人完成的。”
同感!
这两位都是经验之谈.我觉得发现了问题,花点时间思考如何完善和解决问题将会更有意义,对自身提升有帮助.思考很久没有很好的思路...
我们公司的方式:
Demo -> 成品(基于demo完善完善) -> 各种改 -> 需求上讨价还价 -> 敲定 -> 催验收.
之后基于上一次项目做方案, 再经历
演示 -> 各种改 -> 需求上讨价还价 -> 敲定 -> 催验收.
多个项目后, 做归纳总结, 提炼基础框架.
3. 用户是上帝?
这点很扯淡, 多数用户基本不指导自己要什么。
好几次碰到这种情况:
客户:“我想开个公司, 需要先有个网站,帮忙做一个, 价格好谈。”
程序猿:“你要做什么?网站需要来做宣传还是卖产品?”
客户:“接活,做设计。感觉没个网站显得不专业。”
程序猿:“那就定宣传型,展示作品用。”
客户: “都行。”
程序猿: “发点作品,给点宣传介绍。”
客户: “过两天整理整理给你”。
过了**月
客户:“兄弟网站弄了没?”
程序猿: “资料整理好没?”
客户:“你先整一网站!”
程序猿: "#$@#$#$@$$!!!!"
故事非乱编, “程序猿”就是我自己.
5. 团队合作?
“我一直觉得,原型、demo,还有框架基础,甚至产品第一稿,就是该由一两个人完成的。”
同感!
发表评论
-
大数据时代的隐私安全危机
2013-03-17 23:34 1888315晚会上,网易销售人员为了强调”精准营销”,面对央视镜 ... -
IT外企在中国
2013-03-08 11:46 4071要说这个话题是因为昨天和朋友聊起IT外企在中国就会“变味”的 ... -
Java的日期API真烂
2012-12-08 22:14 2820记得在我刚学Java的时候,真是搞不清楚Date和Cal ... -
谈谈盗版软件的问题
2012-11-16 00:01 2053一直很想谈谈这个话 ... -
史上最烂的代码
2012-11-08 22:17 1858其实本没有什么代码是“史上最烂”的,要有也只有“史上更烂 ... -
程序员漫画
2012-10-26 23:26 4132今天有一位同事群发了这样一张有意思的程序员漫画: ... -
编程的未来
2012-10-14 23:38 2478最近在看一本书,加来道雄(Michio Kaku) ... -
如何在局域网内抢带宽
2012-10-06 10:58 5688事情的起因是最近家里买了一台60寸的智能电视,支持点播( ... -
一些中文编程语言
2012-10-02 13:41 20074我自认为本文不是恶搞,让我们本着严肃认真的精神来审视这些 ... -
你真的精通Java吗?
2012-10-01 00:57 24991简历和自我介绍上经常能够读到“精通Java”这样的话,有 ... -
Dart:JavaScript的未来
2012-09-19 20:46 1774最近在关注Dart语言,下面这篇文章译自这里,其实是20 ... -
珍爱生命,远离微博
2012-07-27 15:24 1457好吧,标题党了。 ... -
普通程序员、文艺程序员和2B程序员
2012-07-08 23:37 2065本文纯属扯淡,欢迎对号入座。如果你不知道什么是普通青年、 ... -
那些陪伴我的国产软件,你们都在何方?
2012-07-05 00:05 1815那些陪伴我的国产软件,你们都在何方? 转眼过去 ... -
从“Google地图八位版”看国内的抄袭和微创新
2012-04-02 11:52 2788首先来看一段Google在愚 ... -
亲历2012百度开发者大会
2012-03-23 21:44 2164今天专门请了一天假,去参加百度开发者大会。看图说话。 上 ... -
新iPad发布会现场
2012-03-08 23:08 1514http://player.youku.com/player. ... -
酒桌上的计算机网络
2012-02-01 12:37 4327酒宴开始。 酒杯盛酒,酒杯碰撞,这是物理层; 你要根 ... -
十分钟,了解SOPA和PIPA
2012-01-19 21:35 2740SOPA和PIPA是什么? SOPA ... -
Tomcat 7 released
2011-01-16 22:03 1704Change Log见此: http://tomcat.apa ...
相关推荐
专业高端:全球云计算领域权威专家学者企业代表近百位知名院士、专家坐而论道,观点碰撞,决策者的信息基础。 全球视野:汇集来自美国、欧盟、韩日等国外云计算专家,云计算主要厂商组团与会交流,并特别邀请中国...
半导体行业:第三代半导体,产业和资本观点的碰撞-20200318-国泰君安-10页.pdf
质子的横向空间结构是一个揭示物质基本性质的区域,为深入了解质子在高能碰撞以及重离子碰撞中出现的新出现的集体现象提供了重要的信息。 在本文中,使用BFKL演化的偶极公式预测了偏心率和偏心率波动。 此外,通过...
2021版高考物理一轮复习第六章碰撞与动量守恒定律3素养探究课五动量能量动力学观念__三种观点解决力学问题课后达标含解析
在向量介子优势模型的框架中考虑了在e + e-碰撞中直接生成类吸引子态X(3872)。 发现宽度Γ(X→e + e-)的数量级估计为≳0.03eV。 应用于χc1on衰变的相同... 简要讨论了在e + e-碰撞中直接产生1 ++硫醇的实验观点。
乌尔图高勒庙岩体是"C"型埃达克质花岗岩体,为西伯利亚板块和华北板块在中二叠世发生碰撞过程中形成的同碰撞花岗岩,岩浆来源于增厚的玄武质下地壳岩石的部分熔融。对该岩体的研究,为古亚洲洋在晚古生代末期自西向东呈...
香农信息熵理论被用来解释最近提出的等压屈服比差(IBD)探针,其... 从香农信息熵的观点来看,上述化学势差的物理意义由ΔIn21解释,它表示反应中的核对称能量或中子与质子之间的密度差比统计消融-磨蚀模型更简洁。
此外,据我们所知,我们首次获得纤锌矿GaN中电子碰撞电离系数与空穴碰撞电离系数的比率,并发现它可以小于InP中的电子碰撞电离系数,这意味着纤锌矿GaN根据目前的噪声理论,可以具有良好的增益噪声行为。
软件测试如何达到一定的覆盖度是个非常重要的问题,它是我们测试分析和测试设计工作的基础和出发点。在白盒测试中,我们可以用逻辑覆盖(语句覆盖、...请结合您的思考和实践,畅所欲言,希望各种观点在碰撞中产生火花。
然后,我们最后指出,授权用户成为他们自己的安全管理员的研究可能基于人机交互的根本错误观点。 最后,我们鼓励计算机安全系统的设计者检查人类,这些系统旨在赋予人类权力,并建议任何安全系统都建立在对社会科学...
通用解析解描述了具有恒定极化的碰撞引力波,它们与标量波相互作用,并且对于一般的初始数据,在聚焦超曲面处产生时空奇点。 此外,还有无限的正则解系列和标量场支持的有趣的静态几何。 进行维数缩减后,该理论...
在ADI公司举办的“放大电路设计,你最关心啥?”话题讨论中,ADI资深专家,携手数十位工程师共同探讨,观点大碰撞,激发智慧火花。
我们在受伤热点方法中,在s = 13TeV的质子-质子相互作用的偏心水平上,对... 我们的研究结果为以下观点提供了证据:考虑质子亚核子自由度之间的空间相关性可能会对质子-质子相互作用的初始状态特性产生重大影响[1]。
江山―绍兴断裂带代表了会稽元古代地体和陈蔡元古代地体的碰撞拼贴带。双溪坞群和陈蔡群在岩石组合和地质地球化学方面存在着...本文还用地体碰撞拼贴的观点解释了两地体的变质变形差异及西裘和璜山石英闪长岩体的成因。
紧急演习是防止在各种公共紧急情况... 基于这些研究,总结了人群形成和疏散动画模型的广泛观点。 强调避免碰撞是一个特殊主题。 最后,本文重点介绍了这个快速发展领域中的未来发展将要解决的一些技术挑战和关键问题。
它是一个综合性的Web应用,适合不同用户群体在此分享观点、交流心得,是一个促进知识传播与思想碰撞的理想空间。 简洁且高效的代码结构,使得本项目在保持功能多样性的同时,也易于后续的维护与扩展,是学习与实际...
2. 学术交流与讨论:学生可以在平台上发布问题或观点,与其他同学进行讨论和交流,促进学术思想的碰撞和创新。 3. 论文检索与阅读:平台提供论文检索功能,学生可以根据关键词、作者等条件进行检索,找到自己感兴趣...
换而言之,他一定是不断地否定别人的反对意见,坚持自己独特的观点,才能够真正走到大成功。在中国企业家群像里,马云就是这样一个特立独行的人。这,是促使我们决定将马云收录进“中经企业管理”系列图书的主要原因...