警惕“拼命三郎”文化

中国有不少公司提倡“拼命三郎”文化。所谓的拼命三郎文化,就是长时间在充满压力的情况下忙碌地工作。华为、中兴、富士康等等,都提倡拼命三郎文化。职员猝死,压力过大跳楼的事件,对我们来说已经不是什么新鲜事了。以前我们笑谈日本人过劳死,现在阴云却笼罩在了我们自己身上。

现代Web页面开发流程

通常来说,Web页面开发的流程大致是这样的:设计师(设计师不是美工,就像程序员不是码农一样)提供设计稿,通常是图片格式。然后前端的开发人员(在ThoughtWorks我们称之为UI Dev)来手工的将图片转换为对应的HTML+CSS,往往还需要在各个浏览器中调试等。

写作驱动学习

众所周知,写作有很多的好处:可以记录和巩固学到的知识、扩大自己的影响力、提升和推销自己等等,甚至很多人通过写作出书,成名,改变了人生的轨迹,这种例子很多很多。至少我每次听到这类的故事都会陷入深深的自省,痛恨自己没有早一天开始行动,然后痛定思痛,立即新建一个博客或是把之前落满灰尘的博客打扫打扫,重新发一篇《新的开始》,然后……就没有然后了。周而复始,自己也慢慢失去了对自己的信心。

说起BDD,你会想到什么?

在刚接触BDD(Behavior Driven Development,行为驱动开发)的时候,我以为就是用Cucumber这样的工具来编写场景用例,从而实现自动化测试,甚至很长时间分不清BDD和ATDD(Acceptance test driven development)到底有什么区别。那么,BDD真的就是用来做自动化测试的吗?本文就来跟大家分享一下我理解的BDD。

在ThoughtWorks做BA是怎样一种体验?

BA,英文全称Business Analyst,也称业务分析师,或需求分析师。Linkedin上BA相关的职位不到产品经理或项目经理的四分之一。到本土的拉勾网、智联招聘等网站上,BA的职位就更少了。那么,

BA究竟做什么,有没有必要设置BA这一岗位呢?
BA具体会做哪些工作?一天会是什么样?
BA有哪些能力要求?BA的职业发展如何?
下面我仅就个人在ThoughtWorks的经历做些分享,可能不能代表所有BA,给大家一点参考。

“鱼变慢”还是“技术债”:适合国人口味的比喻

为什么十几年前当私家车刚刚进入中国家庭时,国人那么喜欢三厢车?我想大概是因为在国人心目中,三厢车能比两厢车表现出更高的社会地位。想想看,历史上中国领导人们所坐的车——比如红旗、上海、大众——都是三厢的。而那些工程车、抢险车、救护车大多数是两厢的。当时的中国家庭买辆车不容易,要买就买有面子的三厢车。于是国外汽车厂商为了迎合国人这个心理,纷纷把国外畅销的两厢车改造为三厢车在国内销售。我家当年买的第一辆私家车,就是一辆经过这番改造的三厢赛欧。

如何培养自己的自信心

self-confidence(自信心)——是一种反映个体对自己是否有能力成功地完成某项活动的信任程度的心理特性,是一种积极、有效地表达自我价值、自我尊重、自我理解的意识特征和心理状态,也称为信心。自信心的个体差异不同程度地影响着学习、竞赛、就业、成就等多方面的个体心理和行为。

开发软件有多贵

有个朋友的朋友想做一个公益的事。因为出资的都是教育水平较高的精英人士,所以对项目的监控透明度要求比较高。于是这个朋友的朋友就想了,信息时代嘛,IT工具不是可以促进交流提升效率么?于是他对我说:我们想做个app,可以干这个这个这个……

我打断他说,别着急,做软件很贵的,你不一定玩得起。

Selenium是一瓶陈年佳酿

很多团队的情况都是:虽然有无数的基于Selenium的自动化测试,并且团队的绝大多数时间都耗费在维护和修复测试上,而且还会有专门的团队针对产品执行手动的回归测试。这无疑是一种双输的局面,但是却是非常真实和常见的现象。从而导致了团队中成员的相互指责。

合理救灾的四点建议

仅在过去的两周内,接连发生了波士顿爆炸案和420雅安七级地震,自然灾害或是人为灾害令我们的世界处处充满恐慌——04年印度洋海啸造成30万人伤亡;05年南亚地震,08年汶川地震,2010年日本海啸以及玉树地震共掠走超过20万无辜人的生命。在这些血淋淋的数字背后教会我们人类应对自然灾害的不同经验教训,尤其在此次雅安地震后,公众和公益组织对救灾的反应充分体现了中国公益行业的变化和进步,而从我的角度仅提出对日后合理救灾的四点建议。

孙子兵法的智慧——拯救死亡行军

那时候我才工作不久,一个项目从无到有,“大领导”希望在21天之后上线,这个日期包含了周六和周日。但是按我们的预估——当然我们也不会盲目乐观到每天只工作8小时,这个项目按现有资源起码需要3个月到4个月。在产品立项过程中,“大领导”坚决不肯让步,时间、范围均压得死死的。就这样,我们在会议室里博弈了整整两天,最后的结果是我忧心忡忡地走出会议室,问我身边的同事:你觉得咱们能办到吗?同事的表情我至今印象深刻,那是一种释然和轻松——他笑着说:怎么可能嘛。

当谈论覆盖率时我们在谈什么?

代码覆盖率通常指跑完测试后, 由工具自动统计的在跑测试的过程中被测代码的覆盖率, 细分的话包括语句覆盖率, 分支覆盖率, 函数覆盖率等. 由于代码覆盖率可由工具自动产生, 采集成本非常低, 而又比较直观, 所以历来受到开发团队及管理者的欢迎, 有的组织甚至将其作为 KPI 指标之一.