没有发布过产品的程序员不知道什么是真正的软件

标签: 批评评论 | 发表时间:2014-02-18 00:13 | 作者:Aqee
出处:http://www.aqee.net

ultimate-gardening-software

看起来好的程序员似乎总是短缺;这是为什么编程是如今薪水最高的职业之一。但事实上,程序员从来不短缺的。是公司们总希望市场上有更多的资源可用,当遇到不同的业务时,他们有更多的余地来找到合适的人。但今天我不是来说这些普通程序员的。我感兴趣的程序员是那些热爱他们的技艺,渴望创造出有意义的东西的人。

这样的程序员,在开启他的职业生涯时,在尝试进入他中意的公司时,他需要崭露头角。有些公司在招聘是会写一些诸如“我们招聘时考察他们所做的开源项目”等的话。在我们 Rendered Text公司的招聘广告里,我们总是会提到这样一个要求:应聘者需要至少有一次发布产品的经验——以开源或其它的形式。这样的话没有上下文通常会让人困惑,所以我打算把我的意思更详细的说明一下。

这里的“发布产品”指的是什么?

年轻的程序员,由于缺少经验,常常不知道这样的事实:写代码只占一个软件出品过程中很小的一部分。借用Frederick Brooks著名的 《人月神话》一书里专业的描述:它只是一个软件程序诞生的开始。编码这部分活动很独立,这个过程中没有用户,不跟其它各种软件系统交互。这是最容易完成的一部分工作,因为基本上自己闭门工作,我们可以随时声明代码“完成了”。

而真正要开发出一个 软件产品则复杂的多。作为产品,你需要把它打包装箱发布给公众。桌面应用需要方便安装。如果是一个代码库,你需要完善里面提供的API,重构代码提供更好的服务,附带测试程序,还有写文档,编写和发布出版说明。当所有这一切完成后,你进入了一个维护阶段:你需要和用户交流,或和一些开源捐赠者交流。你将重新进入这种开发和发布新版本的过程。

举个例子,在GitHub上发布一个音频压缩算法的源代码,这不叫发布产品。而一个程序包,提供了多个版本,被成百上千的开发者下载、使用,这则是一个产品发布行为的明显特征。

大多数的软件都需要跟其它系统进行交互,以此来发挥功能和提供服务。你必须保证你的程序高效稳定。例如,一个web应用需要用到数据库和系统内存。起初,从远程API提取数据不会有什么问题;而经过一个较长的时间、系统用户增加,如何能容易的升级扩展则是另外一个问题。

好的软件是指在生产环境、在用户手中好用的软件,而发布产品动作就意味着你要开发出好用的软件。所有的软件公司都希望招聘到一个发布过产品的程序员。但很多程序员,有些有着高超的编程技能,但却只知道闭门编码。当然,公司招聘一个程序员要看很多方面,但如果你曾经有过参与一个软件产品出品全过程的经验,你绝对是任何一个好软件公司的优选选择。

本文由 外刊IT评论网( www.aqee.net)原创发表,文章地址: 没有发布过产品的程序员不知道什么是真正的软件,[英文原文: Become an exceptional programmer by learning to ship ]

你也许会喜欢这些文章:

  1. 超载的程序员
  2. Groupon泡沫正在走向破灭
  3. 为什么说设计说明书很重要
  4. 饥饿的程序员
  5. 好代码不值钱




相关 [没有 产品 程序员] 推荐:

没有发布过产品的程序员不知道什么是真正的软件

- - 外刊IT评论网
看起来好的程序员似乎总是短缺;这是为什么编程是如今薪水最高的职业之一. 是公司们总希望市场上有更多的资源可用,当遇到不同的业务时,他们有更多的余地来找到合适的人. 但今天我不是来说这些普通程序员的. 我感兴趣的程序员是那些热爱他们的技艺,渴望创造出有意义的东西的人. 这样的程序员,在开启他的职业生涯时,在尝试进入他中意的公司时,他需要崭露头角.

走向产品是程序员的第三条职业通道

- - 博客 - 伯乐在线
千千万万的 程序员们一直困惑“程序员的前途如何”、“程序员工作到底能干多久”的问题. 目前比较普遍的认识,程序员的职业通道有两条进阶路线. 一条是技术路线,即由程序员、高级程序员、系统分析师,到架构设计师. 在这条路线上,立足于从业务模型到计算机软件模型的转换,成为高端的软件技术工作者. 另一条是管理路线,即由程序员,经开发小组负责人、项目经理,再到企业中高层管理者.

[原]我们的管理:产品经理与程序员协作

- - 阿朱=行业趋势+开发管理+架构
今天CTO顾问咨询团发了一个问题,是关于产品经理频繁改版 VS 程序员的事. 那我就来以实践经历说说我们是怎么协调产品经理和程序员. 协调的关键在于在大底线大导向大原则方面要一致. 在一个层面一个角度上说话才能说到一起共同促进,否则各说各有理就没法走下去了. 1、功能的增加一定是为企业经营增值,把什么平衡制衡、风险、管控、成本先放放.

如何做一个程序员尊敬的产品经理

- - 花痴痴的网站 | 女程序员园地
一直以来,产品经理(PM)和程序员(DEV)好像都是冤家. 自己以前也是做技术的,很能够理解DEV们的小心思,他们其实是很鄙视PM的(或许没有鄙视那么严重,至少是认为PM不那么厉害吧. 目测10%以上的DEV心里都有过这个念头:老子以后写代码写腻了也能去做PM). DEV会觉得,PM的需求只需要3分钟拍脑袋想出来的,但是自己却需要花3天时间去实现,这是什么道理,更气人的是,未来的某一天,PM可能告诉自己某个地方得改,改回到原来需求描述的那样.

产品经理:嘿,程序员哥们,能尊重一下我么?

- - 一个产品经理的博客...
    产品经理如何搞定程序员.   产品经理和程序员这两个都是苦逼的岗位,但有时候两个苦逼还经常在一起较真,成为了2B,今天我们来聊聊产品经理如何搞定程序员,使两个苦逼不再苦逼,下面我们来看一个案例:.   小A是个程序员,小B是个产品经理,.   1.事儿都是程序员干的.   2.产品经理不会干还指挥我们干.

没有人能阻止程序员将电脑上的一切搬到网页上

- Guan - 博客园-首页原创精华区
操作系统模拟(OS Simulator). Q版的界面,看起来大体上是模拟Mac OS而不是Windows,不过那些桌面Widget又是Windows的展品. 使用他的唯一理由可能就是在没有QQ的电脑上用QQ吧. Windows 95(感谢大家留言指正). 虽然界面简洁了一些,但是基本的功能都用了:上网,文件夹.

有问必答:你有没有数码产品强迫症?

- ivan - Engadget 中国版
适当的把玩是可以的,但你现在是否已经潜意识里有了这种症状. 引用来源 | 此文章网址 | 转寄此文章 | 回应.

普通程序员、文艺程序员、2B程序员

- 可可 - 宇宙的心弦
希望能引起广大苦逼的正在学或者已经学过c++人的共鸣和会心一笑吧. 如何辨别自己在现实还是虚拟世界.

如何面试程序员?

- bluesnail - 阮一峰的网络日志
你要面试一个程序员,应该问他什么问题. 有人在Hacker News的讨论区里,请求指点,怎么才能在面试中发现合格的人. 众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章. 首先,最重要的是,你自己一开始就应该想清楚:. 哪些途径和方法可以发现这样的人. 只有明确这些根本性的问题,才能正确高效地完成面试.

程序员的本质

- Allen - 译言-电脑/网络/数码科技
来源What do programmers really do?.   很多人(包括我岳母)认为计算机变得如此智能,所以在不久的未来将不再需要程序员. 另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题. 甚至不少程序员对他们是做什么的都没有清晰的概念.   在这篇文章中,我想给不知情的人解释一下程序员到底是做什么的:.