美文网首页程序猿生存指南IT行业说卓有成效的管理者
程序员,是知识工作者,还是体力工作者?

程序员,是知识工作者,还是体力工作者?

作者: 柳树之 | 来源:发表于2018-03-26 08:07 被阅读1507次

    看了标题,你们或许以为我要吐槽程序员了。
    其实,这只是我在看《卓有成效的管理者》时,萌发的一个想法。

    我并不想一上来就填上自己挖的坑,而是先简单谈谈,彼得·德鲁克在书中提出的三个概念,这三个概念分别是:

    • 知识工作者
    • 有效工作
    • 管理者

    弄懂这三个概念,或许你们对程序员,对你们现在正在做的职业,到底是知识工作者,还是体力工作者,已经有了自己的看法。

    什么是知识工作者

    所谓知识工作者,是相对于体力工作者的一个概念。
    我们经常说,这事就是件体力活,意思就是只要花时间花精力去做,就迟早会做完。
    对于体力工作,我们常常只在乎把事情做对,而不在乎在做的事情是不是对的。
    比如鞋厂的工人,我们只在乎他一天生产多少双鞋子、质量如何,而不会过问生产鞋子这件事到底是不是对的 。

    相反的,对于知识工作者而言,他们要考虑的,不仅仅是如何把事情做对,还要考虑要不要做这件事情,他们要考虑工作的有效性
    比如公司的CEO,绞尽脑汁地思考公司的战略,因为他知道,方向错了,底下的员工越是努力,就错的越多。

    什么是有效工作

    上面提到,知识工作者需要考虑工作的有效性。
    那么,什么才是有效的工作呢?
    这本来应该是一个很简单的问题,只要你理解工作的意义。

    啥?工作的意义?
    直爽的人,会说,工作就是为了赚钱啊!
    稍微含蓄点的,会说,工作,是为了实现自我的人生价值!
    而只有看透本质的人,才能一针见血的回答,工作,就是为了给公司创造价值
    想想看,为什么会有这份工作?因为公司需要人替他们做事,去给他们公司带来盈利。
    而只有你的工作,给公司创造价值,让公司赚钱了,你做的事情才有算有效。

    所以,什么是有效工作?
    能给公司创造价值的工作,才是有效工作。

    什么是管理者

    《卓有成效的管理者》中,德鲁克给管理者下的定义是:

    如果一位知识工作者,能够凭借其职位和知识,对组织作出贡献,从而影响该组织的经营能力和成果,那么他就是一位管理者。

    简单说,只要你是一位能够影响公司业绩的知识工作者,你就是管理者

    同时,德鲁克又说了这么一句话:

    一位知识工作者,是不是一位管理者,不能单凭他有没有下属而定。

    因为就算你一个下属也没有,你也有一个人要管理,那就是你自己

    程序员,知识工作者or体力工作者?

    那么问题来了,程序员,到底是知识工作者,还是体力工作者呢?
    It depends.

    有些程序员,觉得写代码就是体力活,“每天写来写去都是那些代码,CRUD,写写接口”,Tom经常对他的同事抱怨说。
    一天,Bob找到Tom,对他说,“Tom,这个是需求设计说明书,你看看”
    “好的”,Tom一张生无可恋脸。
    然后第二天,Tom就按照需求设计说明书里的方案,一板一眼地,去用代码实现了。
    这个过程,就像工人们,按照说明书组装机器一样。
    Tom写完代码,开始转测试,测试通过,交付商用。
    这个过程,就像工人们,把组装好的机器,送去检查,然后投放到市场。
    这种程序员,和体力工作者无异。

    而一个追求有效性的程序员,又会是怎么样的呢?
    “Peter,这个是需求设计说明书,你看看”
    Peter看了看,原来是要给公司的官网做一个帮助页面。
    “Bob,为什么要加这个帮助页面呢?以前没有,用户不也可以正常使用么?”,Peter试图确认为什么要做这个需求。
    “是这样的,最近我们新增了一个购票功能后,很多用户反馈不会用,所以我们决定加一个帮助页面,以后用户不知道怎么操作了,就可以进到这里,查看操作指导了”
    原来是想给用户购票时提供指导,“那我们是不是也要在购票页面加上一个链接,指引用户跳转到帮助页面呢?”,Peter对方案提出了自己的意见。
    “啊,对!这个当时UCD没有考虑到,挺好的,Peter!”

    这就是追求有效性的程序员,他们接到需求时,不会马上埋头编码,而是先弄清楚,为什么要做这个需求?
    接着,他们会想,为了实现这个目的,就一定要做这个需求吗?
    是不是可以换一种方式实现呢?
    需求定下来之后,针对实现的方案,他们又会考虑:有没有更好的实现方案?能够用相同的人力,创造更大的价值?或者用更少的人力,创造相同的价值?
    到了编码阶段,当他发现某段代码经常重复使用时,他又会考虑抽取出来,用设计模式、AOP等编程范式进行优化,抽取出来,让代码不再冗余,等等。
    这种程序员,做的每个需求,都有一种焕然一新的感觉,当然就是知识工作者了。

    所以,一个人,是知识工作者,还是体力工作者,这和他做什么职业,是没有关系的。这完全取决于个人的主观能动性。
    这里的主观能动性,其实也是另一本管理学著作,《高效能人士的七个习惯》里头,提到的第一个习惯——积极主动。在书中,作者强调,“人类拥有最终的选择自由”,“伤害我们的并非悲催遭遇本身,而是我们对于悲惨的回应”。

    一名鞋厂工人,人们都认为他就是体力工作者,但是当他开始思考如何改进生产的流程时,他就是一名知识工作者

    而一个程序员,虽然人们都认为他靠智商吃饭,是知识工作者,但是当他只会按照既有的方案写代码,按照别人的指令做事时,他也就沦为一名体力工作者

    怎样做到卓有成效

    只有当你成为一名知识工作者了,才需要考虑如何提高工作有效性。
    《卓有成效的管理者》中,第二章到第七章,谈的都是卓有成效的技巧,读者可以前往阅读,这里就不展开讨论。
    全书最核心的章节,毋庸置疑,是第一章,只有当你认为自己是知识工作者,并且表现的像个追求有效工作的知识工作者了,学习卓有成效的技巧才有价值。

    总结

    如果你觉得这篇文章是一份心灵鸡汤,那我希望这份鸡汤带给你的是正能量。
    最后,再给这份“鸡汤”加点料:

    • 你是一名知识工作者,还是体力工作者,只取决于你工作的方式,和你的职业无关
    • 你可以是一名管理者,就算你一个下属都没有
    • 工作的目的就是为了给公司带来盈利
    • 所以,下次,别急着干活,先问问自己,做这个需求,对公司有用吗?
    • 有没有更好的方案?用相同的人力,创造更大的价值?或者用更少的人力,创造相同的价值?

    参考

    • 《卓有成效的管理者》

    相关文章

      网友评论

      本文标题:程序员,是知识工作者,还是体力工作者?

      本文链接:https://www.haomeiwen.com/subject/ayykcftx.html