关闭

程序员,你的路好走吗?(二)

2534人阅读 评论(2) 收藏 举报

有效地贯彻任何一种基本战略,通常都需全力以赴。
——《竞争战略

继第一章提出五力模型之后,波特在第二章提出三种基本战略——总成本领先战略、标歧立异战略(differentiation)、目标集聚战略 [1]

没有想出在软件开发上有什么概念可以与成本相对应的,先不考虑第一个战略。后两个战略很好理解,用中国话说就是“另辟蹊径”和“术业有专攻”。

拿我自己来说吧,刚进入公司的时候什么都不懂,人家在拼命赶进度,我也帮不上忙。先是看看文档,读读教科书,百无聊赖之际机会终于来了,公司希望支持调试优化过的代码,这部分工作理论性不强,多数都是琐碎的技术细节,正好适合我这样初来乍到的人熟悉上手。可以说优化过的代码极难调试,也没有什么成型的解决方案,因此对我们的要求也不高,先把框架搭起来,能实现哪些功能就先做着,最强的要求就是调试选项不能影响优化代码的生成,并且生成的代码必须和不加调试选项时完全一样。就这样,在大家的宽容下,我一边看论文啃教科书熟悉基础理论,一边接任务写代码了解特定实现,半年之后可以独立完成分析、实现,一年之后就开始凭一己之力重写整个支持调试的框架。虽说到目前为止支持的功能有限,效果也不理想,但是对我个人来说,获得的东西实在太多了。毫不夸张地说,现在我完全可以胜任关于优化的任务,实际上,我曾经修改过一个模块的算法(与调试支持无关),这个模块被认为是我们的编译器里最复杂的模块之一。

这是一种另辟蹊径,没有从优化入手,而是从调试开始。实际上这是公司为培养新员工而另辟蹊径,也只有在其他人的宽容下才得以进行,有一定的局限性,不易模仿。但是,当我跨过第一道门坎之后,已经可以凭借自己的能力和经验来选择发展路线了。继续做调试,或者转去做优化都是不错的选择,不过我有了个朦胧的想法,打算再另辟蹊径,不过这一次就不能指望别人的宽容了,必须首先说服别人,我要做的工作有多么重要,然后踏踏实实的把东西做出来。如果能够成功地给别人留下一个“说到做到的另辟蹊径者”的形象,那么以后另辟蹊径时,阻力就会小很多。

再说说“术业有专攻”。除了一次被拉壮丁去修改模块算法,我一直在做支持调试优化代码的工作,前前后后一年多时间。随着功能不断增多,局势发生了微妙的变化。调试不能破坏优化,但优化也不能破坏已经取得了的调试成果,为此还专门做了一套测试集。如果有些同事对支持调试不感兴趣,或者没时间做深入的了解,他们在自己的任务接近完成的时候,会邀请像我这样的人对他们的工作做一番检查(review),确保不会破坏什么。当然,测试集是最后一道关卡,如果测试通不过,也要找我们帮忙调试。这样,我就在一个相对狭窄的领域里树立了威信、建立起壁垒,从而减少了竞争威胁。

波特在这一章的末尾提到,任何战略都是有风险的,详细内容这里不再赘述,总结成八个字——审时度势、与时俱进。


[1] 说实话,这三个词翻译得有点别扭。

相关文章:
程序员,你的路好走吗?(一)
程序员,你的路好走吗?(三)

0
0

猜你在找
深度学习基础与TensorFlow实践
【在线峰会】前端开发重点难点技术剖析与创新实践
【在线峰会】一天掌握物联网全栈开发之道
【在线峰会】如何高质高效的进行Android技术开发
机器学习40天精英计划
Python数据挖掘与分析速成班
微信小程序开发实战
JFinal极速开发企业实战
备战2017软考 系统集成项目管理工程师 学习套餐
Python大型网络爬虫项目开发实战(全套)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:124093次
    • 积分:1896
    • 等级:
    • 排名:第19635名
    • 原创:48篇
    • 转载:1篇
    • 译文:0篇
    • 评论:191条
    文章分类
    最新评论