进阶过程:程序员做项目的独立性

project 第一阶段:编码机器

这是最低级的阶段,程序员拿到详细设计文档,上面连许多方法接口都定义好了。重构一些代码,写一些实现,调用一些既定的 API,然后花许多时间在各种各样的场景测试上面。从做的工作上看,这都不能算程序员,最多,只是编码技巧卓越的码农而已。因为它几乎扼杀了一切创造力,但是这很常见,比如在一些对日外包公司,就是如此。

第二阶段:独立的实现者

程序员得到的只是粗略的设计文档,也许注明了外部接口的清单,还有框架和基础设施的 API,需求已经澄清清楚,接下去要做的就是发挥聪明才智把软件实现设计好,把代码写好,测试通过。这项工作可以在安静和独立的环境中完成,因为没有什么是不够明确的,那些本不清楚

[……]阅读全文

兴趣的力量

interest 一月底我就到家了,休假准备过春节。正好有闲暇的时间可以来思考许多事情。我去理发的时候,理发师和我热烈地聊起来。她说她的孩子在读高一,文科成绩比理科好多了,文理分科的时候,孩子很有主见,执着地要选择理科;但是父母觉得他更适合学文。我和理发师说,就怕没有想法。既然孩子那么有主见,有那么强烈的倾向,这是一件好事,你不妨听听他的想法,为什么不支持他?退一步说,就算他在文科方面更具备天赋,现在你干涉了他坚定的选择,他没能做出自己想要的选择,也许未来有一天他会后悔,会责怪你;再有,千万不要忽视了兴趣的力量,它可以很大程度地影响一个人。

我现在的团队里有一位 “数学家”。他非常聪明,是那种居然可以看数学论文

[……]阅读全文

多面手程序员

1 先来看看这样的场景:

  • “没有美工做的高保真页面,我怎么来开发呢?我没有审美,也不会用 PS 作图啊。”
  • “正交测试这种技巧,是测试工程师应该掌握的,开发不需要了解。”
  • “目前进度的瓶颈在产品经理那里,他还没有给我澄清需求。难道要一个写代码的去给客户整理需求么?”
  • “我是 C++程序员,我是做底层开发的啊,这种页面样式的问题我怎么可能懂?”
  • “这是维优人员关注的线上数据,他应该把日志、错误现象全部备齐了再提交问题给开发。”
  • “这是他的模块,把问题提给他来处理。”
  • ……

这些是我下面要反驳的一些做法,你有没有中枪的?

事实上,我已经在很多篇文章里(比如这篇文章)阐述了这样的观点:程序员要多能。很多情

[……]阅读全文

致那些自嘲码农的苦逼程序员

1 好吧你可以说这是水文。

今天下午和经理聊了一些关于软件行业的话题,这两天晚上都有朋友向我倾诉程序员的茫然和苦楚,我觉得有些想法可以记录下来。时光佐证,其实我好久没写发骚的文字了,就啰嗦啰嗦。我不算一个梦想家,但是对于信念还比较固执。人各有志,赚钱多多的钱,没有什么不好。但是我希望赚钱能真正作为一项副产品,把自己希望的事情,当做一项事业去做。

互联网环境恶劣、软件环境恶劣,来到北京工作数个月,我有一些未曾体味到的感触。多少人都在议论吃青春饭的职业,多少人在自嘲重复劳动、苦逼工作,多少人在听到 “程序员” 三个字以后露出鄙夷的神色……我已经没法在每次听到这些关于程序员是非评价的时候反驳他 [……]阅读全文

珍爱生命,远离微博

好吧,标题党了。

故事从和一朋友聊天开始。他说他开始用 twitter,不再用微博了,理由是微博上的东西太过花哨、浮躁,甚至单调。撇去广告不提,除了吵架,就是呻吟,除了骂政府,就是转发救人。一些平时很 nice 的人,到了微博上都睚眦必报。也许是这样一个平台下,担忧、顾虑都被隐藏起来,另一方面,人性直接、甚至丑陋的一面则暴露出来……

微博是个怎样神奇的地方?

程苓峰写了一篇文章《新浪越成功,就离互联网越远》,有一些有趣的说法:

新浪博客的首页,就是整屏幕的精英发言。排行榜上,从韩寒、徐静蕾到李承鹏、洪晃,全是精英,他们博文下面的留言,全是粉丝的追捧和呻吟。新

[……]阅读全文

程序员学英语

老实说,我对于英语的认识,从没有把它的重要性放到一个足够的高度上来,从去年下半年开始,接触到越来越多的英文材料,也随着视野的开阔,逐渐发现英文能力,是程序员个人发展的必备技能。在很多情况下,它的重要性可以用“ 致命” 来形容。以前有同事说,程序员职业生涯的发展,起到决定作用的,绝大多数时候都不是技术和业务,而是其他被人忽视的“ 软实力”,譬如沟通、性格、英文等等。兴许我现在正在渐渐参悟这句话的含义。

我在这篇文章中,已经讲到了“ 为什么程序员非得搞定英语”:

中国人为什么要学英语,程序员为什么要学英语,当我把那些方法名、

[……]阅读全文

工作压力的问题

1程序员的工作是紧点好还是松点好?

对个人的影响

有人说紧点好,理由是可以从中学到东西,这是一种压力驱动式的学习方式;也有人说松点好,可以有大把的时间去闲逛、打酱油。前一种人至少是上进的、积极的,只是兴许是由于教育体制和软件大环境的原因,已经失去了许多主动性,非得要环境逼迫的压力下才能去学习、去分析和解决问题。

其实,大部分刚毕业的程序员都属于前一种,他们至少是努力着去提升自己,设法去写出好的代码,有一种追求卓越的愿望。但是,我们从来的教育都是这样,喂食—— 吃食,喂食—— 吃食…… 到了大学,喂食的情况少了,于是颓废、

[……]阅读全文

思考、学习新技术的原则和方式

1 先看下面这样的困惑:

  • 最近了解了几个 MVC 的框架,其中有两个是公司内部的。发现这些东西都是类似的,从处理逻辑到页面渲染;从 service 到 layout;配置的实现无非就是 XML,或者 annotation……我有种感觉,兴许已经跳不出这个思维圈子了?
  • 如今的时代,是一个概念翻飞的时代,oschina 里的开源软件数量就已经超过了两万,五花八门的技术层出不穷,到底什么技术才是值得学习的?
  • 有位朋友说,他想学习一些关于 Android 上的开发技术,兴趣驱使。几个月过去了,他说他已经能做出许多小程序了,可是他现在回想起来,掌握一门技术是好,可兴趣之外还有什么呢?他说,“如果我的工作中不使用 And
[……]阅读全文

“ 你不适合做程序员”

1 我的一位同事,他带他读小学的孩子去学钢琴,通过关系找了一位有点名气的退休的老教师,学费不菲。他说其实他并不知道为什么要学,但是看到那么多孩子都在学钢琴,他想,他的孩子不能落后。一个月之后,他去问钢琴老师,对孩子的学习有什么建议没有。钢琴老师用尽了委婉的表达,最后说:

对于你的孩子在学音乐方面,我最大的建议,就是你的孩子最好别学音乐”。

什么?!

这位同事听了当然恼怒,但是转念一想,老师未尝不是负责任的。通常这样的老师,赚钱之心,都会忽悠家长,或者好话歹说,很少有说“ 不” 的。但是真话就是这么犀利

他说:“ 我们平时并不容易听

[……]阅读全文

谈谈对程序员的培养

1 这篇文字是我好久以来的想法,有一些感悟,有一些激烈的言辞,我很自豪我就是一名程序员,我希望给程序员或者前程序员们带来一点启发。也许你认可我的言辞,也许你不屑我的观点,无论如何,欢迎谈谈你的看法。

 

让程序员做更多种类的事

为什么有人说小公司锻炼人?在小公司,条件并不那么齐备,很多事情都需要程序员自己做,自己去澄清需求、自己做设计、自己搭建环境、自己测试,甚至自己上线、自己维护(这件事情在我们团队被称为 “自己吃自己狗食”)。

然而到了某些公司,在一些正规的流程下,“人” 反而显得不那么重要了:一个完、整的流程被切分成若干环节,程序员只能负责那小小的一环,更严重的是,他们显示出消极和片

[……]阅读全文

程序员看法上的几个典型错误

1 今天我不谈抱负理想,也不谈具体的技术,我来谈几个看法上的典型错误。下面的这些问题都是我曾经遇到,或者是我的朋友们遇到过的问题,这些都是我个人的理解,希望对大家有帮助。

 

关于设计模式、设计原则

有人认为,熟悉了设计模式、设计原则,就学会了设计。其实,设计模式和设计原则,只是前人根据设计实践做的总结和提炼,设计,归根到底是要解决问题的,把具体问题的解决办法,经过一定的抽象,变成程序员的语言

我见过一些人,他们知识渊博、见识广博,甚至理论可以给你阐述得冠冕堂皇,但是到了实际需要解决问题的时候,他们却拿不出巧妙的、优雅的办法,这是典型的象牙塔人

另一方面,也有一些人看不起学习设计模

[……]阅读全文

我们的时间去了哪里?

clock 做一个大型的 WEB 项目已有近两年,兄弟姐妹们总在忙忙碌碌中度过,看似很充实,可是当每个版本结束,我想我们又完成了一件大事,可是紧张的项目周期加上持续的加班,客户和一线还是对版本质量不满意。看到完成的作品时,我总有一种感觉:投入了相当大的人力,团队成员也兢兢业业,按说时间应该绰绰有余才对,可是实际上为什么我总觉得版本紧张,我们的时间怎么那么容易就被消耗掉了?

 

内耗之事

不可否认当一个团队人数越来越大,就越需要流程来约束人、管理人,可是团队越大,就越容易产生沟通、交流的内耗,尤其是流程产生的内耗。项目经理或者团队 Leader 能够及时识别出这样的内耗,就显得尤为重要。

流程的内耗,比

[……]阅读全文

back to top