程序员的使命、价值和工作思路

最近在和一些同事聊天,有些经验体会由于没有很好的抽取整理,表达起来模糊不清,不成体系。昨天早上看到新阳撰写的两篇博客,发现他把我想表达的意思说得非常清晰明了。接合之前的一些资料,于是有了这篇文字。和广大程序员分享。

1. 程序员的使命

  • 实现
    • 实现产品
    • 给产品的实现更多的可能性
  • 用户体验
    • 提高可用性
    • 提高性能
  • 成本
    • 降低固定资产投资/减少运营费用
    • 提高开发效率

2. 程序员的价值

  1. 把控需求
  2. 应用新技术

把控需求这块是重中之重,需求没做好,会降低系统的稳定性、可维护性、开发速度、处理业务的性能,更会增加改进的难度。 把控需求的工作,体现在这么几方面:


  1. 现需求。从职能划分上看,这个职责应该是产品经理的职责,他们机敏的大脑每秒钟都会迸发出n多的点子,经过分析筛选和市场试验,他们把其中最有可能成功的
    拿出来交给程序员。但还有很多程序员,他们直接面对业务人员,这时候提出来的需求很多是需要甄别的,需要排除自身存在矛盾的需求、成本无法接受的需求,并
    且说服业务人员接受。这项工作很艰巨,但也很有成就感,因为其中的技术含量也很高。如果某个程序员觉得自己很擅长于做这种工作,请告诉我,我推荐他来我们
    这里当产品经理。在和业务人员一起发现需求时,最重要的一点是现搞清楚业务人员到底要做什么。

  2. 业务规则转化成系统逻辑。有的工程师面对的是技术出身的产品经理,他拿到的是已经转化好的程序可以实现的系统逻辑,这样的程序员有可能是很幸福的,也有可
    能很不幸,主要看他的思路是否和这个帮他做了转化的人完全一致。从业务鬼子到系统逻辑,中间要做很多权衡和判断,资深的程序员往往会给出实现最简单的系统
    逻辑,最终形成使用系统逻辑描述的需求。

应用新技术,体现在这么几个方面:

  1. 好的技术会有好的用户体验: 让最终用户使用得更方便和舒服;系统的性能更高
  2. 好的开发技术能降低成本:体现在提高开发速度,能降低开发代价,提高系统的可维护性

3. 程序员的工作思路

  1. 把重复的工作交给机器
  2. 说服业务人员他现在所做的事情机器无法帮忙
  3. 创造让他人工作的系统

弄清楚自己的价值所在后,就要搞清楚工作思路了。

把重复的工作交给机器,能够满足我们利用技术,提高生产力的目标;

虽然我们都很乐观,但依然有很多事情没有办法交给机器去做,这个时候沟通就很重要了。其实也不难,有些时候只要把道理讲清楚了,业务人员也是能理解的;

最棒的点子就是创造让他人工作的系统了,是把重复的工作交给机器的升华。系统是我们智力的延伸,能够在已经约定好的业务逻辑范围内,不用开发人员参与,就把一个工作给做好了。这是我们价值的综合体现。我们可以继续探讨一些系统演进的动力:

  • 来源
    • 流量的增长
    • 产品需求的复杂化
  • 发现的途径
    • 监控
    • 变更和发布记录
    • 实现当中发现的问题
    • 项目管理中发现的开发效率问题

4. 参考资料

相关日志

此条目发表在 我思 分类目录,贴了 , 标签。将固定链接加入收藏夹。

程序员的使命、价值和工作思路》有 1 条评论

  1. Pingback 引用通告: 程序员的使命、价值和工作思路 | | ELFtail | 精灵之尾ELFtail | 精灵之尾

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>