程序员懂业务有多重要?

Image result for complex程序员懂业务有多重要?印象中我从来都说,“很重要”这句没有营养的废话。在许多项目中,业务才是真正驱使价值兑现(冠冕堂皇的说法,基本上意思就是“赚钱”)的法宝,而技术实际上有诸多选择,选择某一项并无太大区别。可是,老实说,下意识地,在技术和业务难以两全其美的时候,我还是倾向于选择那些从技术角度更有趣,但是业务上显得没“那么”重要的项目。我不讳认这一点,但是随着这些年的经验积累,或者说经历的项目的洗礼,业务的分量已经越来越大了。

在华为的时候,我做过一些杂七杂八的项目,其中最大的一个项目是一个大型的电信门户网站,由于我参与的是基线版本的研发,定制业务少,变态需求少,扩展性、性能、可维护性这些技术层面

[……]阅读全文

关于国内程序员肉身翻墙

Image result for 翻墙本来是没有倾向谈论这个话题的,但是最近邮件或者微信问我这个问题的国内程序员朋友很多,我在这里一并介绍一下,也算作简单的解答。同样的问题就直接参阅即可。事实上,我很乐意收到这样或者那样的问题,也包括肉身翻墙这样的话题,混熟了的话瞎扯也开心。但是也请大家注意一点礼貌,有好几次有程序员没头没脑地微信上跳出来问问题,然而话都说不清楚,或者连个招呼也不会打,更有甚者二话不说直接把 log 贴过来让我看问题,实在是让人觉得很不舒服。有些我回复了,有些我实在是不想回复了。另外,具体的问题我比较好解答,像有不少人问我,“你觉得美国怎么样?”,我都不知道从何说起。具体问题还是邮件沟通更合适,我答复起来也更舒服,微信 [……] 阅读全文

再见,亚马逊时光

IMG_6884 新入职 Oracle 已经超过一周了,但是一直没敢下笔,写一点东西纪念将近 6 年的亚马逊时光,总有惶恐的感觉。现在觉得不能再拖了,文字不在多寡,仿佛一种仪式,把整个亚马逊的经历画上句号。离开老东家的时候,往往是喜忧参半的,并且难免对前任颇有微词。在我离开华为的时候,便是如此,多为感怀和想念,但是诚实地说,也有一些厌烦的情绪,于是有释放之后的舒坦。这其中的缘由,我在以前的文中写到过。但是离开亚马逊,我却仿佛不再有这些负面的情绪,除了感伤和怀念,便是感激。要说明的是,如今亚马逊的股票直往上蹿,它却远非完美,也有诸多令人遗憾的风言风语。我觉得它在某些方面可以被称为“美国的华为”,做企业的成就自不必说,但是

[……]阅读全文

职业生涯下一站

career

水文一篇。

在亚马逊已经呆了五年多了,想起 第一次换工作 的情形仿佛还历历在目。如今,就在我还有半年多就将迎来我第十个工作的年头,经历了 骑驴找马的面试 ,不久我将迎来第二次职业生涯的重大变更,下一站:Oracle,Bare Metal Cloud 组。

我的工作经历,可以用多样来形容,也可以用乱七八糟来形容。其中的原因有客观的,也有主观的。客观的原因是项目和团队的需要,本来工程师团队如同资源池,就是要去解决不同的问题,这些问题是由当时的境况和市场决定的。主观的原因是,我本来就是一个领域涉猎相对广泛的程序员,而且兴趣三年两头自己都弄不清楚,有时候这未必是好事,但是这也让我得以尝试各种风格的项目和

[……]阅读全文

再谈谈工程师

IMG_1989 昨天去参加了一个公司内的 expo,大致就是以团队为单位组织起来,做广告,招呼各种工程师去看,有团队介绍,产品介绍,技术介绍;有披萨、啤酒和零食;也有一些填方格的活动供参与和纪念衫可以领取。我们组也大张旗鼓地伴着各种搞笑的口号和宣传材料上阵了。挺有趣的一件事情,也是很有工程师文化的事情。

以前谈过不少关于工程师的话题,比如 这个这个这个 ,今天想再谈谈。

其实自我工作以来,软件工程师这个职位变化很大,无论是职责、技术、待遇,但是不变的是,我看到优秀的工程师至始至终非常抢手,而且需求量很大。不扯没用的,任何行业优秀的角色都受欢迎,但是就我熟悉的 IT 公司来说,软件工程师始终处于特别的存在 [……] 阅读全文

从工具使用的痛苦说开去

painful

是因为最近团队里的数据分析师(data analyst)向我抱怨,为了分析数据,要跑 job,要执行 pipeline,要用 Spark 来算结果,但是期间遇到各种问题,虽然我们一起研究问题的解决方法,但是依然非常耗时而且令人沮丧。这些问题大多并非数据本身的问题,而是工程问题。换言之,我认为数据分析师的价值在于数据思维,他们有我们软件工程师不具备的数据敏感性,他们能从海量的数据中获得有价值的信息——但是如今他们却陷入了因为工具问题而导致才华无法施展的境地,确实令人叹息。而工具的问题,正是应该由软件工程师来解决的。

上班同车的同事 Kai 和我说,现在和几年前不同的是,“全民 dev 化”了。除了上面说的数据

[……]阅读全文

七年工作,几个故事

journey

从毕业工作到现在,已经有七个年头,年头虽然不久,但是回过头来看看那些经历的好的坏的有趣的扯淡的事情,还是有很多东西可以总结。所有人都会或多或少走弯路,本来成长就是这样一个过程,有时候想起来会感叹,有时候会唏嘘,有时候会一笑而过。我的前一半时间是在华为,这段时间留给我很多回忆(比如 这几个瞬间);后半时间在亚马逊,也给了我不少感慨的机会。下面这些故事都是我经历的真真实实的事,有的事情已经过去好久,但我不想把它永远尘封。也许你和我在某些方面,会有共同的体会。

在我说这些故事前,或者说,吐这些槽前,我想说这样三个观点。

首先,为自己工作。

不是为父母,不是为同事,不是为公司,[……] 阅读全文

换组

group

最近在忙于公司内部换组的事情,在亚马逊等等很多公司都有这样的政策文化,就是,如果你在这一个组工作一年以后,并且绩效不太差的话,都可以自己去寻找觉得喜欢的团队加入。我在当前的这个大组干了两年多了,经历了一些成败和风波,我觉得是时候离开去寻找一个更合我胃口的团队了,增加阅历和体验,当然,也肯定是新的挑战。在思考自己的职业未来的时候,其实是有不少选项的。大约是最近这一年,我越来越感觉到,在 Amazon 工作,那么多内容里面,最有价值的大概是数据,我寻找的下一站,也是想多参与和大数据更紧密的工作。如果说以前我的工作更像是一个 full stack engineer 的话,接下去一段时间,我要更多地和数据、

[……]阅读全文

谈谈选择

direction

前些天聊天聊起我的高中同学,现在大部分已经不再联系,但个别几个还常有通讯往来。不同的年龄阶段的回忆总是给我不同的印象,但是像高中时期这样每天忙于学业压力的时候也不多。我从刚接触物理和化学开始,我就对这两门课充满了兴趣。中学六年对于物理和化学的偏爱,应该说也是算同龄人中很少见的了。刷题、培训、搞竞赛…… 令我印象深刻的尤其是暑假,在大部分孩子都可以痛快地玩乐的时间,我还总是要参加物理或者化学的夏令营。现在如果翻出那个时候做题或者上课记录的笔记本,还是觉得遗憾,没有一直在这个爱好更加专注的道路上走得更远。而如今,我有好几个那时候的同学至少到现在,更接近我那个时候的理想

[……]阅读全文

谈谈足球青训、中国教育以及工程师培养

bacelona

关于足球

我从 98 年世界杯就开始看球了,从最早国内的申花球迷,到后来长期看英超诸强的足球、西甲双雄的足球,我也算是一介有一点儿球龄的老球迷。一直以来我很想说一说关于足球青训的话题,今年在莫耶斯带领下的曼联,球踢得无比难看,比赛输得体无完肤,我觉得我找到了一个契机。比赛看得多了,也就不那么容易激动,看球更加理性。和许许多多竞技运动一样,你无法准确预测一场比赛的结果,但是长此以往的比赛分析下来,能看得到许多问题,孰强孰弱一目了然。虽说曼联的比赛我几乎一场不落,但是看看国内论坛上的帖子,骂战是从来都不可避免的,但是对弗格森的盲目的个人崇拜和神化已经到了一个简直无可救药的地步了。我相信很多曼联球

[……]阅读全文

不同团队的困惑

team

小 S 是一名新员工,他和很多踌躇满志的大学毕业生一样,实习+工作,他来到了一家非常对口自己爱好的公司,来到了一支温暖的 团队 A,这支 30 人的大团队由老员工和新员工混合组成,年龄结构复合,有男有女,有从二十几岁到四十几岁的程序员,做的视频编解码项目。整个项目组的成员都是视频编解码领域的能手或专家,最多的有 10 年的相关经验,也有几项专利,小 S 觉得这样的人应该很耐得住寂寞,有很深的造诣。

有一位导师手把手地带着他学习和进入项目,陪他一起吃饭,和他聊天,给了他公司内部通用的学习材料。于是他很快上手,最开始有一些疑惑,但是小 S 积极地去询问问题,导师和同事都很乐于帮助他,于是他进步很快。公司有一个专门帮

[……]阅读全文

自由地生活和工作

FogCreek这篇文章,算是理清和记录了一些我一直以来想说的话。在昨天的课程上,我们谈论目标、生活方式和工作,特别地,有一个具体问题——“ 五年后的你会是怎样的?” 其实我很好奇其他人的想法都是如何的,起码于我来说,这是一个很有趣的问题。

我不既不是那种得过且过、无所追求的人,也不是具备钢铁神经、顽强意志的人,更不是拥有无比天赋、才华横溢的人。我大概不可能成为什么名人伟人,但是还是有小小的野心和抱负,想做一些符合自己价值观的事情(参见 关于四火)。我很喜欢软件,也很喜欢学习和捣鼓新东西,但是我也并不刻意去拼命弥补自己的技术短板;我希望把代码写漂亮,但是始终觉得只有

[……]阅读全文

自欺欺人的故事

cheat 看到吴军博士的一条微博:

不要看不起在生产线上干活,俺正经干过一个月,你对人生有很多体会。俺的一个朋友,一个非常大的跨国公司在中国的销售主管,大学毕业后第一份工作在宝洁,从一个偏远的城市蹬三轮买洗衣服做起。他讲有一次差点把他当盲流给抓了。我倒建议现在大学生毕业,下基层一年。

若是想强调“体验”和“经历”在人生中的重要价值,这番话的初衷自然是好的。比如这样的回复:

还是去一线做个两三年的好,想想现在很多所谓顾问根本没下过车间,却给工作几十年一步步走上来的主管做咨询,有时想想都害怕,只有理论就是空谈,譬如马克思害了多少人,空谈误事啊,切记!

我们见到太多的务虚主义者,太多的所谓咨询师和流程专

[……]阅读全文

有趣还是无趣?

funny 这是一篇扯淡,一篇 rant,或者是一坨不靠谱的文字。有一些观点过于偏激,如果你没法接受,也请不要太在意。

无趣的接口封装

我记得刚工作的时候,我的第一个正式项目是去写一个基于 SOAP 的 WebService 接口,那个时候觉得新鲜,“原来 web service 是这样子的!”;到了现在,已经写过各种各样的 service 接口,再也没有觉得做这样的事情很有意思,或者很有新意、很有挑战性,尤其是一些并不复杂的增删改查的接口(当然业务逻辑是有够繁琐的)。

有同事说,做界面、做 portal 并没有什么意思,都是浮于表面的东西。虽然我不完全认可,但在这个前端工作被普遍瞧不起的国度,而且从某些层面上说也对,可是我

[……]阅读全文

行动、眼界和体验

action 这是一堆杂乱的文字。可以认为它是我从去年二月份正式跳槽到北京工作以来,这一年三个月的时间里,出现次数最多的感悟。

不知道有多少人和我一样,有选择焦虑症,总是思考要做出怎样的决定而浪费了时间。事实上,在大多数情况下我们总不能做出完全正确的选择,就像人生永远都会充满遗憾和后悔。做软件也是一样,想一猛子扎下去把东西设计完美,就走上了彻底的不归路。倒不如,像 Facebook 说的那样,“move fast and break things”,先弄出一个符合你基本预期的东西来,然后再来细细打磨和深加工,做所谓的“refactory”?

这看起来像个权衡的算术题对不对?到底是思考久一点,调查久一点,慢一点

[……]阅读全文

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

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

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

互联网环境恶劣、软件环境恶劣,来到北京工作数个月,我有一些未曾体味到的感触。多少人都在议论吃青春饭的职业,多少人在自嘲重复劳动、苦逼工作,多少人在听到“ 程序员” 三个字以后露出鄙夷的神色…… 我已经没法

[……]阅读全文

多年前的一封邮件

Email 昨晚在整理邮件,翻阅到这样一封邮件,它来自我的老师郭军,曾经教我 COP(面向组件编程)课程的老师。这个邮件的始末是这样的,郭老师在课上扯到了一道题,在现在看来是再简单不过的题目了,对于给定的 n,要求只允许用一层循环,打印这样的星号(下例中 n=3):

  *
 ***
*****
 ***
  *

因为只能用一层循环,所以当时是这样实现的:

	int n=3;
	int row,col,mid;
	for(int i=1;i<=(2*n-1)*(2*n);i++){
		row = i/(2*n)+1;
		col = i-(row-1)*(2*n);
		row

[……]阅读全文

我十年学习编程的历史

首先,我不是标题党。其次,我只想说说十年来我自己的关于编程的故事,做过的一些乱七八糟的程序。我的成长并不快,下面这些程序已经足够让我丢脸的了,喜欢发难的朋友,尽管嘲笑我吧(当然,如果你产生了共鸣,我们或许是同龄人、好基友)。最近尤其喜欢回忆起一些以前的故事(比如 这篇 ,还有 这篇),是不是说明我越来越迂腐了?

其实接触编程,是从更早学习机上的 G-Basic 开始的。但那时的我只能说凑个热闹,回忆似乎已经模糊不清。所以这段时间实在不能算作什么历史。不过无疑学习机,以及是早些时候在同学家玩的电脑,才是真正领我进入神奇计算机世界的启蒙者。

2002 年正值我高二,学校要组织一帮人去参加编程的比赛,我还记得当

[……]阅读全文

“ 你不适合做程序员”

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

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

什么?!

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

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

[……]阅读全文

谈谈对程序员的培养

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

 

让程序员做更多种类的事

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

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

[……]阅读全文

back to top