59

打破牢笼,展望更高层—给程序员的一些思考

 6 years ago
source link: https://mp.weixin.qq.com/s/MgOdGo_om0su80b-e04Lvg?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

程序员应打破牢笼,展望更高层次的世界

袁永福 终端研发部 2017-12-30 02:49 Posted on

【公众号回复“1024”,送你一个特别推送】

Image

程序员应该有怎样的思想境界?来自一位老程序员给我们的建议

本文作者袁永福是一个十多年的老程序猿,一穷二白的出来创业多年,期间经历许多曲折和磨难,成功的在炮火连天的商业战场上活了下来,并持续发展中。其中不少体会,于是提出本文的主题—打破牢笼,展望更高层次的世界。以下是原文。

  回顾过去,我认为每个程序猿都关在一个透明的牢笼中,限制了思维、蒙蔽了眼界、蹉跎了岁月而不自知,如果不尝试走出去是一辈子都不能感知到牢笼的存在。这个牢笼就是技术本身。

  一些程序员就要说,我们就是靠技术吃饭的,天天考虑各种编程技巧,技术怎么成为束缚我们的牢笼呢?那是因为很多人只是看到软件技术的表象而没看到本质。

  孙子兵法说:不知兵之害者不能尽用兵之利也。套过来说,不知技术之害者不能尽用技术之利也。技术也存在有害的一面,它是程序猿谋生的工具,同时也是关着程序猿的牢笼。为什么是牢笼呢,这就涉及到技术的两个本质:社会本质和价值本质。

  现在信息化社会是分裂的,一边是普通的自然人,一边是计算机,也就是机器。普通人类和机器之间存在着巨大的壁垒;人类擅长思考、创新、情感;机器擅长记忆和精确计算。人类不能理解机器,机器不能理解人类。而我们程序猿就是帮助沟通人类和机器,各种软件就是人类和机器中间挖掘出来的管道。因此在人类社会中,技术的社会本质就是挖掘管道。只不过有的管道宽敞笔直,有的像老鼠洞一样窄小曲折。

那么如何挖掘宽敞笔直的管道呢?这就涉及到技术的价值本质了。

  马克思的经济学中,价值决定价格。程序猿的价值是由其编写的软件的价值决定的,而软件的价值是由客户的价值决定的。因此技术的价值最终是由客户的价值决定的。如果没有给客户带来价值,则技术是毫无价值的,程序猿也是失败的。那么如何给客户带来价值,那就是解决客户的痛点,如何得到痛点,那就从客户需求中挖掘,如何得到客户需求,那就需要和客户足够多的有效率的沟通。于是技术的价值和客户沟通是必要非充分条件。沟通的好未必会带来价值,但没有沟通肯定不能产生价值。

  技术的价值除了满足客户需求外,还有一个因素就是应用范围。也是有效客户数越多,处理了越多的信息,价值越大。而且满足客户需求不等于有效客户数多,此处需要市场销售人员的辛勤推广。

  更进一步的讲,除了技术,数据本身也是用得越多越有价值。比如网页搜索引擎中就以网页的引用次数作为很重要的价值参考的。可以说软件只有被人用上才有价值,没有人用上就是一堆垃圾。

认清了技术的本质,再回头看看技术如何成为程序猿的牢笼。

  人的智力是有限的,只能擅长一部分而另外一部分弱小。另外人的能力是用则涨,不用则废。我们程序猿长期从事技术工作,有意无意的以机器的方式思考问题,擅长和机器沟通,逐渐的荒废了和人的沟通能力。很多程序猿性格内向,技术工作确实需要性格内向些,因为内向的人大多能坐得住,才能长期集中精力钻研各种技术问题。但是导致一个很严重的问题,程序猿除了讨论技术问题,对其他的兴趣不高,活在机器的世界中。导致和人的沟通能力明显下降。很多电影中描述黑客也是这种套路。于是出现两个不好的系列反应:沟通能力差—不能获取客户需求—无法做出正确的软件—不能给客户带来使用价值;沟通能力差—不能充分向客户展示软件功能—客户数量少—不能给客户带来规模化的价值。

  大多数程序猿存在这种问题,于是企业为了生存,使用了大量的市场销售人员来帮助弥补程序猿的缺陷。市场销售人员具有2个功能:挖掘客户需求;推广软件使用范围,也就是提高客户数量。

  因此一个可持续性发展的软件公司,技术和销售是同等重要的,谁都不能缺。因此一些程序猿认为自己技术很好而就认为创业一定能成功的想法实在是非常幼稚。同时光靠人脉关系而没有足够技术实力的软件公司也是不长久的。

  因此从公司整体团队来看,消瘦(销售)猿其实是程序猿的搭档。不过文人大多有点酸,程序猿也相似。程序猿之间相轻,同时程序猿也很瞧不起市场销售人员,觉得那帮消瘦猿成天吃喝玩乐,还尽给程序猿添麻烦。

  程序猿鄙视消瘦猿的程度大多大于消瘦猿鄙视程序猿的程度。因为程序猿有牢笼,而消瘦猿是没有牢笼的。不过不能说消瘦猿对程序猿是有多大优势的。因为在当下自由市场竞争的环境下,消瘦猿也是很苦逼的,也是分为层次的。程序猿的世界中有着大量的码畜在熬夜加班,而消瘦猿的世界中也有着很多低端人士在苦苦挣扎。程序猿的寿命不比消瘦猿的短。笔者见过一个做弱电的老板,痛风而导致手背上长着鸡蛋大的结块,但还是要天天喝酒应酬。

  不过消瘦猿确实比程序猿多点牢笼方面的优势,具体表现为各类公司的老板大多是市场销售出身的。特别是在有中国特色的社会主义市场经济环境中,由于行政频繁干预市场,强化了这种现象。

  我们现在可以理解到,实现技术的价值最大化是一个很复杂的系统工程。“需求调研-系统设计-编码-测试-部署和运维”这个流程只是这个系统工程中的一部分。跳出这个范围,仍然有着更高层次的世界。

那么我们程序猿如何打破牢笼、展望更高层次的世界呢?
那就是做到2个重构:
  • 代码的重构

  • 人性的重构

  代码的重构只是一个代表,完整的意思就是不断提高自身的技术水平,在千万个屌丝程序猿中异军突起。人无我有,人有我优。掌握有不可替代的核心技能。编程的基本功和高级技巧都要信手拈来。而这就要日积月累的学习进步和一些天赋。

  人性的重构就是不断的重构自己的思想。中国这30多年的崛起就起源于“解放思想,改革开放”。而当下的互联网思想就是一种更为激进的“解放思想”,于是能造就一批企业的急速崛起。

  程序猿在重构自己的思想就是压制思想中的机器属性,弥补人的属性。重视起和同事、和客户的的交流和沟通。需要揣测出人的各种表面反应后隐藏的真实意图。就是要“妄猜圣意”。

  程序猿通过和客户的沟通,了解客户需求,就能逐渐掌握行业应用业务知识,只有技术和业务知识结合起来才能发挥最大的价值。笔者一直不看好软件外包的程序猿,就是因为软件外包行业无论从技术的积累还是行业业务知识的积累都是很差的。

  人性的重构还有一个重点就是项目管理能力的提升。这也是以和同事的沟通为基础的。技术高手的一个通病就是追求完美,当看到手下的小弟做出的软件粗制滥造,心中不爽,于是凡事都自己做。这样不能起到一个示范作用,不能复制自己的能力;也是一种用战术的勤劳来掩盖战略的懒惰。不能让自己的价值最大化。

  当一个程序猿经过上述的改进,掌握了扎实的技术,理解行业需求,能带领团队。那么CTO的职位指日可待。那就恭喜这位程序猿初步打破了牢笼,探出半个身子,就能够窥见更高层次的世界了。

  那么如何更完全的打破牢笼而跳出来呢?简单粗暴的说法就是要把软件卖出去、卖上价。技术加销售,割据一方;技术加销售加市场,争霸天下。这需要人的眼界、运气、天赋,需要天时地利人和。这种完全打破牢笼的程序猿实在是高手中的高手,精英中的精英了,已经不是程序猿这三个字所能描述的。这是笔者正在探求的境界,经验不多,谈论不了很多。而且完全具备这些能力的人基本上不存在的,现实当中只能是多个合作伙伴搭配着一起闯。不过程序猿没有强大的市场销售能力也必须要有基本的市场销售的意识。

  最后祝那些积极向上的程序猿们好好学习、天天向上,早日打破牢笼,展望更高层次的世界。

架构师之路

经历某度的一场面试|面试经验及干货分享

给应用开发者编程的十一条个建议

相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

微  信  号:codeGoogler

—终端研发部—

如果你觉得此文对您有所帮助,可以转发给身边的朋友,一起做一个乐于分享的小猿猿

Image
Image            

这里学到不仅仅是技术


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK