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

原载:http://blog.csdn.net/netcasper/article/details/77545

形成竞争战略的实质就是将一个公司与其环境建立联系。
——《竞争战略》

《竞争战略》第一章名为“产业结构分析”,指出“一个产业内部的竞争状态取决于五种基本竞争作用力”,即“进入威胁、替代威胁、买方侃价能力、卖方侃价能力、现有竞争对手的竞争”。显然,直接套用是套不上了,不过,倒是可以借鉴一下波特的具体分析过程。

进入壁垒和退出壁垒

这两个壁垒的高低决定了职位的竞争激烈程度。进入壁垒越低,潜在进入者选择这个职位的可能性越大,竞争越激烈。这个道理很直观,就拿我从事的编译器开发为例,通常情况下编译理论被认为是计算机科学里最晦涩艰深的学科之一,大多数人学过就忘了,唯一记得的就是难学。这样的话,即使有从事这方面工作的机会,也会选择放弃。那是不是进入壁垒高了竞争就不那么激烈呢?也不是,还要看退出壁垒。想想看,我费了那么大劲入了门,谁要是让我改行我还不得好好寻思寻思啊,总不能让前面的心血白白浪费了,怎么也得把投资回收的差不多啊。在我看来,那些偶然进入编译器开发领域的人,要么知难而退、早早退出,要么越陷越深,不忍放弃;而真正促使竞争激烈的,是那些有意识地进入这个领域接受挑战的高手、天才。由于人才难得,做这一行可以获得相对高薪;可是高手云集,要取得成就,有所突破就很难,容易产生挫折感,“既生瑜,何生亮”是最贴切的描述。

其实壁垒不仅仅是技术上的,还包括感情上的,尤其是退出壁垒,很多人也确实是这么想的,想想都做了这么久了,有了感情了,索性一直做下去,不再换了吧。而转换成本是进入壁垒中的一个重要因素,我们可以从两个方面分析它,一是跳槽后做同样性质的工作,虽说工作内容在理论上是基本相同的,但形式上却可能是完全不同的,这时就要花费一定的力气去熟悉它;另一方面,老板找人替换我的代价也可以看作是转换成本,比如提出“软件蓝领”概念的人其目的就是想获得较低的转换成本。显然,转换成本越低,竞争也就越激烈。

下图显示了进入壁垒与退出壁垒的关系

在意识到自己的强项与弱项以及处在什么样的环境之后,就可以给自己一个清晰的定位。进而,可以采取相应的行动影响壁垒,使其向着能够提升竞争力的方向发展。最后一点是必须关注整个行业的变化,因为行业的变化会引起壁垒的变化,进而影响我们的相对竞争能力。

以我自己为例。

2003年毕业后一直从事编译器开发工作,属于入门级选手。当初选择这个方向是因为确实对它感兴趣,很想知道编译器这个程序员最重要的工具都做了哪些事情,如何做的。在国内,做编译器的厂家不多,而以编译为研究方向的实验室在大学中也是凤毛麟角,因此,新入行者(包括我在内)相对于编译领域来说多数是白纸一张。所以,进入该行业的壁垒并不是对编译理论的掌握程度(技术壁垒),而是取决于转换成本。那些能够使得招聘单位转换成本尽可能小的人必然成为优先选择对象。

既然编译领域机会少,难度大,属于进入壁垒高的行业,自然选择这一行业的人也就少。我相信编译领域也属于退出壁垒比较高的行业,因为有太多的人不十分了解编译却仍然成为优秀的程序员,可见编译知识的应用领域不算广泛。双高造成了行业内部竞争十分激烈,使我处于两难境地,一方面我很喜欢这种工作,另一方面又很难出人头地。

到这里不得不提一下读《竞争战略》的最大感受,就是所有分析只是为了唯一一个目标——获得利润。十分理性,也十分冷酷。我想我也不得不做出“鱼与熊掌”的选择,只是现在还不知道该放下哪个好。说实话我觉得出人头地的想法有点虚荣,但克服它又很难。至少得做出点能获得大家认可的东西吧。

当然,如果更深入一点,还是会发现能够扬长避短的方向,只是需要一点点耐心和洞察力。不过这个还是留到以后再说吧,敬请关注。

程序员,你的路好走吗?——开篇

原载:http://blog.csdn.net/netcasper/article/details/76448

一个显式的战略制定过程总能产生显著的效益
——《竞争战略》

一次偶然的机会知道了迈克尔•波特,当时他作为嘉宾参与了中央电视台制作的《对话》节目。那期对话我看了两遍,深深为波特的学识和执着所折服,于是买了他的《竞争战略》来看看。

《竞争战略》系统地提出了一套指导公司制定竞争战略的框架。Framework可是程序员最喜欢的单词之一,就冲着这个词也得看看它都说了啥!全书共分三篇十六章,刚刚看完第一篇共八章,就忍不住要跳出来说点什么,因为我发现它不仅仅能够指导公司制定战略,甚至可以用这套理论指导我们的职业发展。公司里同事之间的关系,正如产业里各个公司之间的关系一样,是既竞争又合作的。我们做着同一个项目,却又争夺着有限的加薪、升职机会。我们所处的环境是相当复杂的、又是不断变化着的,多种因素交织在一起影响着我们的竞争能力,要想在这场较量中胜出,我们不仅要有一个明确的、恰如其份的战略,更要学会一套能够指导我们制定战略的工具。

不知道程序员是不是一个工作环境相对恶劣的职业,至少,做这一行的人相对喜欢抱怨环境恶劣,毕竟,软件行业在中国才刚刚起步,有太多的不规范之处。不过,我不打算在这里讨论这个问题,仅摘一段The Art of Unix Programming里的话,送给那些仍被其困扰的同行:

Software design and implementation should be a joyous art, a kind of high-level play. If this attitude seems preposterous or vaguely embarrassing to you, stop and think; ask yourself what you’ve forgotten. Why do you design software instead of doing something else to make money or pass the time? You must have thought software was worthy of your passion once…

To do the Unix philosophy right, you need to have (or recover) that attitude. You need to care. You need to play. You need to be willing to explore.

看到这个once的时候我被深深地感动了,不仅仅因为它让我联想到了“曾经有一份真诚的爱情摆在我的面前……”,而是因为它让我再一次认真地想一想,是不是要沿着这条路走下去。

我一直坚信程序员就是我所想从事的职业,可以实现自己的价值,而且现在的工作环境不错,有相当大的自由度,但是在日常工作中,却时常会有挫折感。我清楚地知道自己想做什么,可是我不知道自己所想做的是不是能够得到同事,甚至是公司的认可,是不是可以凭借所做的事情获得相应的回报。我知道必须和同事合作,但是又不得不和他们竞争有限的加薪机会;我希望能有一个长期的、持续的发展,但是竞争的存在使得我不得不做些短期的工作,使年度总结不至于太苍白,我知道得平衡一下,但却不知道到了哪里才算平衡。

我越来越觉得个人的发展与公司的发展之间的差距没有想象中的那么大,可以试着学习一些发展公司、甚至是发展经济的知识,也许可以帮助我更加有意识地发展自己。毕竟这是一个经济的世界,关于经济的理论应该有着更广泛的用途。这是我第一次尝试着用专业之外的知识指导职业发展,我将以自己为例,运用《竞争战略》第一篇里讲述的理论,剖析竞争环境,制定竞争战略。

未完待续……