个人简介

Echo Blog


江湖无名 安心练剑
  • 10x程序员工作法-30一个好的项目自动化应该是什么样子的?
    30 一个好的项目自动化应该是什么样子的? 你好,我是郑晔。 进入自动化这个模块,我准备从程序员的日常工作开始。介绍“迭代0”时,我提到构建脚本是项目准备的一个重要组成部分,但在那一讲中,我并没有具体说构建脚本长成什么样。 今天,我们以一个典型的 Java REST 服务为例,介绍一下最基本的构建脚本应该做到什么样子。这里我采用的 Java 技术中最为常见的 Spring Boot 作为...
    2015-01-01 15:20:27 | 10x程序员工作法
  • 10x程序员工作法-29“懒惰”应该是所有程序员的骄傲
    29 “懒惰”应该是所有程序员的骄傲 你好,我是郑晔。 经过前面几个模块的学习,我们的专栏终于进入到程序员看上去最熟悉的一个主题:自动化。 每每提及自动化,我就会想起 Perl 语言的发明人 Larry Wall 一个经典叙述:优秀程序员应该有三大美德:懒惰、急躁和傲慢(Laziness, Impatience and hubris)。 有人甚至为此专门打造了一个三大美德的网站,阐释这...
    2015-01-01 15:20:27 | 10x程序员工作法
  • 10x程序员工作法-28结构化:写文档也是一种学习方式
    28 结构化:写文档也是一种学习方式 你好,我是郑晔。 你写文档吗?我知道,你可能并不喜欢写文档,因为在你眼中,写文档是繁琐的,是旧时代软件工程的产物。 最开始我对写文档的印象也不好。 我的职业生涯是从一个通过了 CMM 5级认证的大企业开始的。可能今天很多程序员已经对 CMM 感到陌生了,它是能力成熟度模型(Capability Maturity Model for Software...
    2015-01-01 15:20:27 | 10x程序员工作法
  • 10x程序员工作法-27尽早暴露问题:为什么被指责的总是你?
    27 尽早暴露问题: 为什么被指责的总是你? 你好,我是郑晔。 今天我准备讨论一个经常会让很多程序员郁闷的事情,为什么你已经工作得很辛苦了,但依然会被指责。在讨论这个问题之前,我们先来讲一个小故事。 程序员小李这天接到了一个新的任务。系统要做性能提升,原先所有的订单都要下到数据库里,由于后来有很多订单都撤了,反复操作数据库,对真正成交过程的性能造成了影响。所以,技术负责人老赵决定把订单先...
    2015-01-01 15:20:27 | 10x程序员工作法
  • 10x程序员工作法-26作为程序员,你也应该聆听用户声音
    26 作为程序员,你也应该聆听用户声音 你好,我是郑晔。 在前面的专栏内容中,我们讨论过几次与产品经理的交流:你应该问问产品经理为什么要做这个产品特性,要用 MVP(最小可行产品)的角度,衡量当前做的产品特性是不是一个好的选择。 但还有一个问题可能困扰着我们:怎么判断产品经理说的产品特性是不是用户真的需要的呢? 很多时候,产品经理让你实现一个产品特性,你感觉这么做好像不太对,却又说不出...
    2015-01-01 15:20:27 | 10x程序员工作法
  • 10x程序员工作法-25开发中的问题一再出现,应该怎么办?
    25 开发中的问题一再出现,应该怎么办? 你好,我是郑晔。 看过《圣斗士星矢》的同学大多会对其中的一个说法印象颇深:圣斗士不会被同样的招数击败两次。 我们多希望自己的研发水平也和圣斗士一样强大,可现实却总不遂人愿:同样的线上故障反复出现,类似的 Bug 在不同的地方一再地惹祸,能力强的同学每天就在“灭火”中消耗人生。我们难道就不能稍微有所改善吗? 如果在开发过程中,同样的问题反复出现,...
    2015-01-01 15:20:27 | 10x程序员工作法
  • 10x程序员工作法-24快速反馈:为什么你们公司总是做不好持续集成?
    24 快速反馈:为什么你们公司总是做不好持续集成? 你好,我是郑晔。 在“以终为始”那个模块,我们留下了一个巨大的尾巴。在“持续集成:集成本身就是写代码的一个环节”这篇文章中,我们是站在“以终为始”的角度阐述了集成,尤其是持续集成的重要性。 但怎么做好持续集成,才是很多人真正关心的内容。今天,我们就来谈谈如何做好持续集成。 既然我们打算讨论持续集成,不妨停下来先思考一个问题:你对持续集...
    2015-01-01 15:20:27 | 10x程序员工作法
  • 10x程序员工作法-23可视化:一种更为直观的沟通方式
    23 可视化:一种更为直观的沟通方式 作为一个程序员,在这个技术快速发展的时代,我们唯有不断学习,才能保证自己不为时代所抛弃。那你是怎么跟上技术发展步伐的呢? 就个人经验而言,我会关注一些技术网站,最典型的就是 InfoQ。这样,我可以快速了解到技术发展的动向,比如,什么时候出了个新东西、哪个项目又有了重大的更新、某些技术有了哪些新的应用场景等等。 另外,我还有一种更系统地了解新知识的方...
    2015-01-01 15:20:27 | 10x程序员工作法