我第一次注意到 “作坊”这个词和软件行业联系起来大概是这个 2004 年 11 月的报道:

标题: 信产部副部长娄勤俭:中国软件业还在手工作坊阶段

日前,信息产业部副部长娄勤俭在出席中国软件产业生态链高层论坛时表示,中国软件产业的规模还比较小,软件企业的实力较弱,很多企业还处于手工式的开发生产阶段,缺乏核心技术,长期处于产业链的低端,发展方向受制于人,出口能力较差,为此今后信产部将从四大方面大力发展我国软件产业。

http://news.pconline.com.cn/hy/0411/487081.html

类似文章

后来我看到一本书 <走出软件作坊> , 写了两个书评  (网站被GFW了):

做个好的作坊也不容易 - 内容

做个好的作坊也不容易 - 形式

本来还想写第三篇, 展开来说说怎么搞一个好作坊, 不料有好心人提醒, 说不宜发表太多批评, 影响书销路… 于是第三篇就搁下了。 事实上我想写的东西和那本书没太多关系。  现在时间已经过了两年多, 风头已过,  应该可以说一下作坊的事了.

作坊英语叫 Workshop, 好多学术论文也发表在各种 Workshop 中, 大家也觉得挺有面子的。 美国好多家里的车库 (Garage), 地下室都兼作主人的小作坊.  在中国的上下文提到 ”作坊”, 大家会想到什么? 我想到:

自己手工劳动,做出产品

人不多, 师傅带徒弟, 或家传手艺,

只做某种行业, 不太改行, 商业技巧不多

不太做广告, 主要靠口口相传, 容易被技术进步淘汰

和顾客很熟悉, 可以赊账…

这些好像都不是缺点吧?  为什么要着急走出去?

我们一条一条地说:

1) 自己手工劳动,做出产品

现在一些旅游城市也有小店铺号称作坊, 但是仔细一看, 他们的东西都不是自己做的, 今天批发来一些左旋的海藻, 明天卖一些右旋的肉碱, 下个月就改卖俄罗斯套娃或者檀香木雕刻… 或者是那些游离于北京地铁站附近的 “正宗臭豆腐”摊位, 这种 “作坊”不在我们讨论范围之内。

娄勤俭领导批评“很多企业还处于手工式的开发生产阶段”, 我不知道软件除了用手工, 还可以用什么别的来写。 也许有人说, 是不是那些 CASE (Computer Aided Software Engineering)工具, 或者是 code wizard, 用右键一点, 然后继续点 [下一步], [下一步] 就可以产生出很多很多代码?  这些固然好, 但是你可以点一下产生很多代码, 另一个公司也可以点一下产生很多同样的代码. 你的核心技术在哪里呢?

读者往下看, 本文之后提到的各种编程牛人的有价值的软件, 都是自己动手写代码, 而不是用什么代码生成器, MVC 模板生成器搞出来的。

2) 人不多, 师傅带徒弟, 或家传手艺

觉得作坊小? 阵容不够强大? 各人没有VP, 总监的头衔?  会被世界先进生产力的代表鄙视?  软件界有各式各样的生产力, 生产方式,我们不妨从规模最小的生产方式讲起:

a) 一个人单打独斗的作坊 Micro-ISV

2004 年的时候, SourceGear 的创始人 Eric Sink 发表了一系列的博客, 讲一个人如何开发软件盈利, 并且把这种方式叫  Micro-ISV (微型独立软件开发商)。 Eric 为了实践这一方式, 在工作之余, 自己单打独斗开发并销售一个软件 (改进Windows 自带的翻牌游戏)。

2004年 11月,  天朝领导讲话说作坊不好。

2005 年初, 中文MSDN 网站还翻译了Eric 的文章, 分享了许多小作坊如何开始的经验.

2006 年, Eric Sink 把一系列软件创业和经营的想法都综合在这本书里了:  Eric Sink on the Business of Software

另外, 还有有成千上万的 Shareware (共享软件) 的作者, 他们开的就是小作坊。有很多成功的例子 (中国的周奕就是 例子之一), 当然也有更多失败的例子。 我们想象一下, 这些失败的小作坊主, 如果加入了那些庞大的软件生产线, 或者混迹于各种商业技巧中, 他们会更高兴么?

b) 两人的作坊

以前宝岛台湾计划生育的口号是  “一个不少, 两个正好”,  如果觉得一个人太少, 那两个人的作坊最好:

例如, 最近有很多领导 (普通领导, 文艺领导, 还有那…领导)都提到的乔布斯,  他创新是在一个小作坊  -  他父母的车库里进行的, 主要合作伙伴是另一个年轻人 Steve Woz, 再加上几个帮忙的伙伴。 这么说来, 领导要复制成百上千个乔布斯, 我们还得把未来的乔布斯送进作坊里。

这不是例外:

1) Hewlett 和 Packard 创业的车库, 小作坊。照片在这里. HP 公司曾是硅谷工程师文化的代表, 众多创新的摇篮。

2) 比尔·盖茨 和 保罗·艾伦 最初创业时, 他们连车库也没有, 比尔同学驻扎在学校的机房写程序。

3) Google 的创始人开始也是用一些貌似简单的机器和网络, 搭起了一个搜索的小作坊

。。。

即使没那么有名的作坊, 例如像 System Internals (Mark Russinovich and Bryce Cogswell), 他们写了一些在Windows NT 操作系统上很好用的小工具 (Process Explorer, ZoomIt), 也很成功。

两三个专注于某一领域的匠人, 用非大规模制造技术打造出来的东西还有价值么?  IT 历史告诉我们,  有很多成功的产品都是从小作坊开始的。

c) 小就是美 - 杰克 · 马

看了上面两个例子之后, 如果还觉得自己小, 不好意思出来混的读者可以看看一个大公司 (阿里巴巴)的大老板在大报纸(纽约时报)和其它大场合上上发表意见 “small is beautiful”。

3) 只做某种行业, 不太改行, 商业技巧比较缺乏

这不一定都是劣势. 有些商业技巧不要也罢.  好的作坊不会让顾客先交钱成为 VIP,办一个金卡, 然后过了几个月作坊就消失了。 你走进中关村卖电子产品的大楼, 每个卖家都说自己是全国连锁, 质量如何好, 他们的商业技巧非常丰富. 你敢单身进去买他们的东西?

我大学毕业的时候, 满腔热血地加入了某高科技公司, 它属于某大学科技开发部下, 是校办国营软件企业, 当然不是作坊。  事实上我们的大老板 (大学教授兼职开公司) 想把公司办成特高档, 特专业软件开发, 特有那种, 那种… 那种不是作坊的公司。公司墙上贴了 “高科技, 高… 高… 高… ”的标语。 我们都叫自己是 <四高公司>。   公司开始做 Unix 汉化,  办公自动化, 地理信息系统, 出国跟日本和美国合作 (当时还没有 外包 这一说法), 搞了一阵子, 没有一个方向有显著的发展。地理信息系统倒是常有人来看, 但是每次演示都会死机几次, 顾客也没说要买…   后来大家也不知道要干啥, 一些程序员闲下来就开始搞一点外面的作坊常干的事。

例如:  一天早上大家都在闲着, 我在看电脑报,  同事小孔接了个长途电话:

“对… 对… 我们卖大型地理信息系统,Unix 上的 … 绘图仪吗, 什么型号? … 我们也经营的, 上个月还出过几台 ... 我到库里去看看有没有现货… ”

小孔走过来把我手里的《电脑报》抓了过去, 翻到报价版面, 在绘图仪价目表上来回看了几遍, 然后拿起电话:

“你好, 我去 [库里] 看了, 有现货, 起价是…大家都不容易... 对...  您什么时候来取货?“

第二天傍晚, 一台绘图仪被搬进了公司, 我们装好了试用了一下, 过了把瘾。

第三天上午, 绘图仪出手了。

后来大家都离开了 <四高公司> , 这样的商业技巧还在很多公司流传。。。

4) 不太做广告, 主要靠口口相传, 容易被技术进步淘汰

这的确是传统的作坊的一个劣势, 现如今有互联网, AppStore, SNS, 如果自己的产品真的好,  想让别人不知道也挺不容易的。

作坊会被技术进步抛下?   以前看到一个电视节目采访一位修钢笔的小作坊, 那位师傅能把铱金笔尖的那一点小 “铱金”给点上去。这个技艺连同那小作坊据说已经快失传了。但是没关系, 有很多大型的企业, 也会被技术进步抛下的。 就像以前一部小说 <神鞭> 讲到的, 如果落后的绝技没有太多用处了, 那就练点新的绝技, 人又不笨, 小作坊掉头快, 好办。

有一种意见认为作坊只能独立存在, 其实不然,  在庞大的企业内部, 也有一些人构建了一个小作坊, 自己做主, 做自己感兴趣的事, 例如:

Thompson 和 Ritchie 在搞 Unix:

Pasted from <http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix/0>

对这些 “小作坊”睁一只眼闭一只眼的经理们, 值得表扬。

这些好的作坊, 都有这些核心特性: 从小事做起, 讲究质量, 信用, 对产品负责, 对工作自豪。

作坊这么好,  那中国的许多作坊为什么不能兴旺?  一个大家常说的重要原因, 就是 “环境对知识产权的尊重和保护不够”, 其实哪里都有盗版, 哪里都有抄袭, 哪里都有竞争。有能力的作坊, 往往找到合适的渠道, 合适的空间, 实现自己的价值。

可以看看这个例子:

My Startup Story: from big ideas to thriving business in 8 short years.

那些想开作坊的人, 你们对知识产权又是如何尊重和保护的呢? 你心里 “热爱技术”么? 你是否发现了你作坊的独特价值?  你能放弃貌似免费的看热闹的机会,在网上斗嘴的爽快, 倒卖绘图仪的短期收益, 吹嘘自己要写一个平台的风光, 先练好内功?

作坊就在那里, 你是装作路过没看见,还是走进去? 在走进去之前, 先看看你喜不喜欢下面的事:

  1. 专注于你真正想做的的事, 也许比较寂寞, 因为它不是网上热捧的 “高科技”.
  2. 如果你觉得解决普天下大众的问题很难, 能否从解决自己的问题, 自己周边的问题开始?
  3. 真正做好服务, 不管用户有多少。 保护用户的数据和隐私,  就像你希望别人保护你的隐私一样,不要找别的借口。
  4. 有胸怀去找至少一个伙伴, 一起成长.
  5. 能自我管理, 按照自己的节奏来分享体会和成果,
  6. 享受你的工作和生活, 当别人询问你的工作职位时, 能够情绪稳定地说: 我自己干。

在 <现代软件工程> 这门课中, 同学们组成了一个个作坊, 做一些解决具体问题的小软件, 比那些上不着天, 下不着地,没有实际用户的软件好多了。

几年前各级有影响力的人士贬损了 “作坊”之后, 他们最近不谈 “作坊”了,  他们在人云亦云地提 “云”和 “创新”的事:

创新的出路在哪里?  不能在各种峰会上发言的 IT 人士, 不妨走进各自的小作坊。

软件工程讲义 9 创新的出路 走进作坊相关推荐

  1. 现代软件工程讲义 目录

    软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较乏味的课程. 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的. 经过几年的探索, 我总结了在16周的时间内让同学们通过 " ...

  2. (转)五年教学实践与思考的结晶——推荐邹欣老师的《现代软件工程讲义》目录

    (转)五年教学实践与思考的结晶--推荐邹欣老师的<现代软件工程讲义>目录 2011-11-28 07:15:21 按:自打2007年结识邹老师,出版他的第一本书<移山之道>,从 ...

  3. 现代软件工程讲义 6 用户调研

    [现代软件工程讲义 的一部分] 软件开发的过程, 就是 "用户最需要的东西" 在下面这一链条中传送,转换,实现,扭曲或丢失的过程. 用户最需要的 > 用户表达出来的 > ...

  4. 现代软件工程讲义 2 工程师的能力评估和发展

    Advanced Software Engineering  现代软件工程  讲义 软件工程师的能力评估和职业发展 介绍:  个人软件流程,  职业发展, 个人绩效的衡量和提高, 软件开发是科学, 工 ...

  5. 现代软件工程讲义 1 软件工程概论

    现代软件工程讲义 1 软件工程概论 几乎所有程序员都知道 "数据结构+算法 = 程序 " 这句名言.但是在实际的学习和工作中,也有不少人产生了疑问. 例如: 1.       我写 ...

  6. 软件工程讲义 0 微博上的软件工程

    [现代软件工程讲义] 有舌尖上的美味, 也有微博上的软工.舌尖上的美味各有千秋, 而微博上对软工的抱怨都是相似的. 下面是我在新浪微博收集到大学生对软件工程教学的反馈: 师生关系(不限于软件工程) 教 ...

  7. 现代软件工程讲义 8 软件的血型

    [这是 现代软件工程讲义 的一篇] 一个软件团队经历了计划/设计/开发等阶段, 达成代码完成 (Code Complete) 这一目标,似乎后面的事情就水到渠成了.  其实不然, 软件生命周期的最后阶 ...

  8. 现代软件工程讲义 5 项目经理 Program Manager

    在一个软件团队里, 不同的人有不同的投入, 我们在 猪,鸡和鹦鹉 的故事里已经说明了. 不同的人还要在团队中担负不同的任务, 我们也要讲一下. 开发人员 (大部分内容在: 现代软件工程讲义 2 工程师 ...

  9. 现代软件工程讲义 7 用户界面和用户体验

    说到用户界面 (User Interface),我们先看一个图:  [来源] 有些同学认为UI 设计是充满创意和非常潇洒的工作,  另一些同学 (特别是有一定实际项目经验的) 也许会抱怨,  UI 的 ...

最新文章

  1. LeetCode Group Anagrams
  2. Data truncation: Truncated incorrect DOUBLE value 解决方案
  3. Linux环境准备20160921
  4. Android中再按一次退出实现
  5. FreeRTOS — 消息队列
  6. VTK:vtkBorderWidget用法实战
  7. ViewGroup.LayoutParams
  8. java项目逻辑重要吗_JAVA小项目,逻辑+感觉+总结?java小白你做到了吗(源码+教程)...
  9. mysql long类型_怒肝两个月MySQL源码,我总结出这篇2W字的MySQL协议详解(超硬核干货)!!...
  10. .Net应用程序打包部署总结
  11. Knockout应用开发指南 第二章:监控属性(Observables)
  12. 用C语言进行完数的判断(for循环和数组思想)
  13. 计算机原理及应用教学大纲,《单片机原理及应用技术》课程教学大纲
  14. 如何下载Java的API开发文档
  15. Ms08067联合360漏洞响应平台(SRC)送给白帽子20本“精选的10本安全好书”
  16. Python游戏——Pong
  17. 周记——20151221
  18. SParC: Cross-Domain Semantic Parsing in Context 论文解读
  19. Riedel 水晶杯:葡萄酒终极发烧设备
  20. linux上 用unzip命令解压带密码保护的 zip 文件报错 unsupported compression method 99

热门文章

  1. IDEA打开父类的接口方法快捷键
  2. String, StringBuffer, StringBuilder之间的区别
  3. 接口自动化- 基于 Python
  4. java 快捷工具,如何清理不需要的引用
  5. qemu-kvm磁盘读写的缓冲(cache)的五种模式
  6. sixxpack破解的文章!【转】
  7. 【计算机网络复习 数据链路层】3.1 数据链路层功能概述
  8. xml--Schema约束
  9. go 微服务框架_清晰架构(Clean Architecture)的Go微服务
  10. _不懂操作?手把手教你如何在linux下搭建FTP