摘要:
[原文链接] Steve Freeman 写了一篇 blog拥抱极限编程(Do do XP)来反驳我的这篇文章。我开始厌倦了和那些坚持认为Scrum离开了极限编程就不再有价值的人的无休止的论战。 Scrum 很好用 — 但前提是实施者必须从基础上理解它的价值所在和实施原则。 你应用Scrum所处的环境条件决定了你在实施过程中应该采取哪些措施。 比如,在教堂里实施Scrum和在软件开发中实施Scrum有着不同的一套实施策略。而这两种情况下的实施措施又和传统的Scrum有不同之处。极限编程的拥护者动不动就抱怨在软件工业中Scrum没有提供很好的开发原则。 但就目前极限编... 阅读全文
摘要:
[原文链接] agile software development在文章远离极限编程(Don’t do XP)里, Tobias Mayer 建议人们不要去搞极限编程(XP)。 我和Tobias相知已久,我想他这个问题上错了。 我不知道他在跟谁争论,但他们的有些争论就是“嚼舌根”。我想如果他曾经试过一次XP,那他的言论会更有说服力。 XP并不是一个万能的解决方案,但它确实是一种方案,而且我们知道如何使用它。作为一个临时的XP支持者,我并不抱怨 “在软件工业中Scrum没有提供很好的开发原则”,我只抱怨这个产业。 如果我们能在这个产业里有效率的工作,那我们也就不会有... 阅读全文
摘要:
[原文链接]“技术债务(technical debt)”这个词是由Ward Cunningham 发明的,用来描述为了在最后期限前实现某个项目任务而让开发团队做某种技术上的妥协。这里有两篇博客文章,Uncle Bob 和 Martin Fowler 分别在里面描述了几乎所有项目都可能会遇到的各种技术债务。在A Mess is not a Technical Debt这篇博客里, Uncle Bob 评论说,做出妥协是实现有最后期限目标的必要的手段。但是他区分妥协与否的方法只是纯粹从代码的粗心与否来考虑:编码混乱并不是一种债务。编码混乱就是编码混乱。技术债务的产生是由现实的工程约束造成的。这是有 阅读全文
摘要:
[原文链接] 我遇到很多客户做过压力测试 – 有大规模的,也有小规模的 – 有用开源工具的,也有用商业软件的。 压力测试本身变得越来越容易,越来越可以支付的起——因为出现了很多很好用的压力测试工具。还有一些公司提供在线压力测试服务。尽管做压力测试越来越容易、越来越有效率、而能花很小的代价产生很大的压强,但是我的所有客户都遇到了同样一个问题:压力测试并不会报告是什么导致了问题。它只会报告这有了问题,例如:查询页面在并发50个用户使用时变慢下来,但它不会显示什么导致了变慢。捕获到的性能统计数据例如CPU和内存使用量只是强调了潜在的问题区域,但并不会指出实际的根源在应用程序的什么地方。标准的压力测. 阅读全文
摘要:
[原文链接]上图为本文的作者:Matt Welsh自从我离开哈佛后,经常有人问我现在在谷歌工作是什么样的情况。我猜想很多人会认为从一个终身教授到一个软件工程师的转变存在很大的身份落差。但除了这个头衔外,我工作的还是很高兴的,而且在这个新角色上,我的工作效率比以前在哈佛任教的8年中的任何时候都高——尽管当一名教授和管理一个开发团队在很多方面都有非常相似的地方。我在谷歌的西雅图办公区带领一个开发团队,这个团队负责手机网站性能方面的一批技术工程。(你可以从我之前的几篇博客里了解更多的关于我的团队的背景信息。)最近发布的手机谷歌浏览器里的数据压缩代理支持就是我们比较复杂的项目之一。我... 阅读全文
摘要:
[原文链接]我收集各式各样的至理名言。最近我一直在研究敏捷软件开发;有收获吗?下面就是能够指导敏捷软件开发团队的26条核心原则。用例一完全能够运行后再开发用例二。厨房里有一种说法正好可以印证这个问题:“做好一盘菜后你再做下一盘”. 对于软件开发来说一个最大的问题就是人们喜欢并行开发多个任务。因为不可避免的,我们设计的功能中总会有一部分会被放弃砍掉,如果提前开发,很可能做无用功。 一次只开发一个用例(或很少几个用例,这根据你的开发团队的大小而定); 让这个用例功能完整; 让相应的测试用例都能通过; 相应的文稳都补齐; 只有在当前的用例完全开发完成后,才做为一个整体提交到版本库,才进行下一个用例。 阅读全文
摘要:
[原文链接] 本周在欧洲举行的TheServerSide Java研讨会上,ThoughtWorks的架构师和著名讲演人Neal Ford 指出那些只静止的依赖于一种专门的技术的人会在几年之内被淘汰出局。 他谈到了19世纪的马蹄铁匠,那时候干这种工作看起来是稳定而且有前景的职业,直到有一天科技进步(汽车的出现)导致了整个行业被淘汰。 我对Neal的这些话颇有感受。 当我还是大学教师、教授面向对象编程的时候,我有一个成年学生是个真正的C语言编程高手。 事实上,他的专长是使用Borland Turbo C 3.0。 当他很费力的去领悟C++和Smalltalk和这类语言后面所代表的含义时,他竟.. 阅读全文
摘要:
[原文链接] 人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。 弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。 在他这著名的一生的早期,他就指出我们的意识里分“潜意识”,“前意识”,“意识”。 如 果我们想能清楚他们分别跟我们的思想、感觉、认知、判断和动机(这这些在我们每天的生活,职业生活中都是关键因素)有什么关联,我们可以把我们自己描述成 一个冰山。 冰山的尖端,唯一能从水面看到的一部分,可以当作是我们的的意识。 它是有逻辑、有组织的,我们可以控制它,但这部分很小。 这庞大的水下的部分是我们的意识不到的。 它们是无组织、无逻辑、无关联的,但它们取能决定我.. 阅读全文
摘要:
[原文链接]烂程序员会说什么?谁是烂程序员? [ku6video id='892dBHzZyB_Qe7zm5XENPg..'] 阅读全文
摘要:
[原文链接] 最近国内外都在流行一个词叫Full Stack,中文翻译过来叫全栈工程师,也叫全端工程师。微博上很多专业人士都在讨论全端工程师,有赞有毁的。我对全端工程师的定义是:掌握多种技能,并能利用多种技能独立完成产品的人。打外比方,全栈工程师就是一个能独立盖一幢10层小洋楼的人,而普通工程师,则是可以和一群人盖一幢摩天大楼的人。至于要掌握哪些技能,我觉得这个要跟从事的行业与技术方向有关,做互联网的和做软件的是不一样的,即使是做互联网的,后端也可以分为很多种技术流派。8/2定律在哪都适用,全栈工程师就是掌握20%常用技能的人,但这20%的技能会有80%的几率被用到,剩下那80%不常用的,让. 阅读全文
摘要:
[原文链接]全栈工程师,也叫全端工程师,英文Full Stack developer。是指掌握多种技能,并能利用多种技能独立完成产品的人。1、价值 全局性思维 现代项目的开发,需要掌握多种技术。互联网项目,需要用到后端开发、前端开发、界面设计、产品设计、数据库、各种移动客户端、三屏兼容、restFul API设计和OAuth等等,比较前卫的项目,还会用到Single Page Application、Web Socket、HTML5/CSS3这些技术以及像第三方开发像微信公众号微博应用等等。Web前端也远远不是从前的切个图用个jQuery上个AJAX兼容各种浏览器那么简单了。现代的We... 阅读全文
摘要:
[原文链接] 本文的作者Eliot Horowitz是MongoDB的创始人和技术总监。 在一个科技公司里,软件技术经理用在编程上的时间应该不低于总工作时间的30%。无论是管理一个团队,还是一个分部,还是整个公司,当技术经理用在编程上的时间低于30%时,他执行职责的能力就会发生严重退化。 我的这个断言可能跟那些我看到的想成为团队首领的软件程序员们期望的情况完全相反。每次晋升,程序员们都期待花在编码上的时间会大幅度减少,当从“leader”爬到“经理”职位时,就应该彻底脱离编码活动。而且,他们期望以一种“动口/眼不动手”的方式来保持对代码库的熟悉。再上级的领导就跟编码完全没关系了(如果有的话.. 阅读全文
摘要:
[原文链接] 好长时间没好好写点东西了,前段时间由于项目的需要出差了一个多月,期间各种加班,每天晚上加班到十点,回到宾馆实现是没什么精力再写博客了。有时间能静下来写点东西总是很好的一件事,如果写技术方面的博客,不仅能给读者提供一些解决问题的线索,也能加深自己对技术点的理解,如果写的是自己对项目的感悟,也算是对自己所做的工作的总结。现在终于有时间写点东西了,感觉还是不错的。 今天这篇博客不是写关于具体技术的,而是我对程序员怎样学习和提高自己能力的一些感悟。我是今年7月初毕业的,离开学校后就直接进入之前实习的公司上班了。现在算来工作了也将近半年了,算上实习的时间,将近一年了。在这期间,参与了几.. 阅读全文
摘要:
[原文链接] 一个故事 老张有一个林场,专门种植树木,待树木成材后销到城里做家具。林场里有不少杉树,长得都非常挺拔,偏偏不知怎的长了一棵歪脖子树,长得倒是郁郁葱葱,偏偏造型奇特,别的树都力争上油,可这棵歪脖子树不仅横着长,还长得颇为怪异。老张几次都想挖掉它当柴火烧,看它那怪异的造型又忍住了,心想等这批杉树成材,一起砍掉吧。 一到晚上夜深人静的时候,林场里就炸开了锅,杉树们极力取笑歪脖子树。“你知道作为一棵树,我们的终极目标就是成为有用之材吗,你看旁边那个,可以做梁柱,小歪脖子,你丫能干啥啊?”;"这个臭歪脖子树,抢了我们的养分和阳光,长成这样,完全是丢我们的脸,我呸!"。 阅读全文
摘要:
原文链接 这篇文章是我最近十天口语系列文章的合辑,文章比较长,一万五千余字。但是系统化地归纳了自己十多年的英语尤其是口语方面的学习经历与总结思考。我不是个纯粹的英语专业学生,我甚至不是任何英语相关专业的学生,但是我和英语却有着很多的故事,我对这门语言的学习与训练有着没由来的纯粹兴趣。虽然我从学校接受的教育与学术训练主要在计算机科学与技术领域,但是在英语演讲、辩论、口译的场合偶尔能看见我年轻时的身影。在不同领域的体验,让我有机会转换角度观察,我的这篇合辑文章也会有带有这样的特点,希望我的文字能带给您不同的思考。 由于文章是以连载的形式写就,我在合辑中保留了一些带有时间性质的语句,如昨天今天,.. 阅读全文