最新文章
在腾讯的八年,我的职业思考 程序人生
一、 今年是2018年,腾讯20周年。我30周岁,刚好在腾讯工作满8年。 我从来没有想过自己会在同一家公司工作8年。因为4年足以读完大学,6年能让小孩读完小学,8年漫长得不可思议。 2010年,我刚大学毕业,加入腾讯。那一天,学生思维的我,不免以学生的尺度定计划:三年的时间,我应该足...
为什么我离开了管理岗位 软件工程
从2001年在网易成为一名项目经理,到2011年进入腾讯,我经历了从"领导"几个人到几百个人的好几种管理岗位,名字有的叫"总监",有的叫"经理",还有什么O之类的。但是在十年之后,现在的我没有一个下属,一般的人看来似乎有点不可理解。正常来说,中国人的传统是"学而优则仕",管人的总比做事的看起来要...
我先讲一个小故事,以前在外企工作时的一个亲身经历。 当时我所在的team,负责手机上多媒体Library方面的开发。有一天,一个具有最高等级的bug被转到了我的手上。这个bug非常诡异,光是重现它就需要花很长时间。在公司内部的issue追踪系统上,测试人员描述了详尽的重现步骤,大概意思是说,...
观察之道:带你走进可观察性 软件工程
今年,"可观察性"(Observability)被引入到了 IT 领域。可观察性是一套理念系统。其重点是团队要融入可观察性的理念,特别是要求研发写出的应用是可观察的。将可观察性包含在你的需求之中,它是与扩展性,可用性同等重要的非业务性需求。 一个故事 距离伦敦 150 英里的地方有一座...
危害程序员职业生涯的三大观念 程序人生
蓦然回首自己做软件开发这个行业已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路! 路其实一直都...
断点单步跟踪是一种低效的调试方法 编程基础
断点单步跟踪的交互式调试器是软件开发史上的一项重大发明。但我认为,它和图形交互界面一样,都是用牺牲效率来降低学习门槛。本质上是一种极其低效的调试方法。 我在年少的时候(2005年以前的十多年开发经历)都极度依赖这类调试器,从TurboC到Visual C++,各个版本都仔细用过。任何工具用上...
测试 | 让每一粒尘埃有的放矢 软件测试
对很多开发人员来讲,测试人员是扫雪工,没什么真本事。并且,在他们自己构建代码时,也对测试不屑一顾。要么是抱着老子天资聪慧,用不着这些繁文缛节的官僚流程;要么是觉得写测试并没有什么"实际"的贡献,花了大量的功夫,似乎什么都没有推进,什么实质性的feature都没被实现,只不过是一堆检验性质的监视器...
从Excel到微服务 软件设计
Excel很老,Excel很土,Excel一点也不sexy;微服务新,微服务很潮门,微服务很高大上。那么,Excel和微服务有什么关系? 上个月看了篇文章,The Unbunlding of Excel。作者认为,对于初创公司(尤其是非"纯IT"初创公司)来说,Excel几乎包办各种工作。想...
如何提升你的能力?给年轻程序员的几条建议 程序人生
一转眼工作已有8年,前两天公司一位初入职场的同事希望我给一些建议与经验。我觉得这个话题很有价值,这里以个人的想法与经历写成此文,希望给年轻的开发者们一些启发。 我工作过的公司有4家,NVIDIA, Google, Slide和Glow。其中两家是知名的大公司,Slide我是D轮过后加入的,那...
云、雾和霭计算如何一起工作 云计算
英文原文:How cloud, fog, and mist computing can work together 在过去 10 年,云计算开始风靡全世界。当一些公司认识到他们使用云可以节省多少成本时,他们开始考虑将云计算应用到其他业务方面,以便进一步降低成本。此外,随着云...
你可以把编程当做一项托付终身的职业 程序人生
编程的意义是什么,我又为什么要编程呢?这是一个不时会浮现在我脑海中的问题,它来得并不频繁,但每次却都伴随着对自己职业生涯或人生目标的质疑而产生,令我感到些许困惑和不安。而在这十几年的职业生涯中,我也似乎总能在每个阶段为自己找到一个继续热爱编程的理由,直到它已无法解答再一次疑惑的产生。就这...
评审的艺术——谈谈现实中的代码评审 软件工程
曾经写过一点关于代码评审(code review)的文章,比如这篇和这篇,现在觉得关于它的认识又有了不少更新。软件工程的技术和实践分成两部分,一部分是和书本知识一致的,大约占一半,这部分基本上在大学里就可以学,自学只要方法得当、刻苦努力也可是途径;但是第二部分来自于实际团队、经验,内容通常无法从...
如何成为优秀的程序员? 程序人生
作为一个从业快10年的程序员,我想给新入行的程序员们一些建议。这些建议是我希望自己可以在毕业时就读到的,也希望它们可以帮助你成为一个更好的程序员。 简单归纳一下,总共有7条: 保持健康 编程之外的爱好 持续学习 正确应对犯错 不要囿于角色 展示你的创意 刻意练习手速 下面我来详细说说...
菜鸟工程师的超神之路 -- 从校园到职场 程序人生
码农咖啡馆近日收到一位大三学生的留言,表达了实习期的一些困惑:压力大、工作内容琐碎、导师又没多少耐心指点。看到这篇幅很长的苦恼,我突然觉得有责任去为他(她)做些事情。这世界上仅有极少的天分和运气兼备的程序员,得以通过惊世骇俗的创造或者创业实现人生的跨越,剩下的普罗众生,都要经历职业的道路去积攒财...
如何识别人的技术能力和水平? 求职面试
这个题目是比较复杂的,它包含的东西比较多,认真讨论估计能写几万字。如果是专业研究,我看能写一本书了。这里打算根据自己的学习过程和工作经验,谈一下要点问题,均属个人看法,欢迎讨论。 写这篇文章的初衷,跟前段时间跟朋友们聊招聘有关。因为技术招聘除了考察人的协作精神和工作态度,一大目标便是判断人...
写给自学者的入门指南 程序人生
在IT工程师和培训机构多如牛毛的时代,拜师学艺并不难。但自学编程对于毫无基础的同学来说却可能是个问题,相信有过类似经历的朋友都有一把辛酸泪和一肚不吐不快的体会。让我们从一个故事说起... 故事 某君在一个普通大学读着自己不喜欢的专业,以打游戏、刷段子和睡觉度日,突然有一天想学点什么。学编程...