打破牢笼,展望更高层次的世界

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

那么我们程序猿如何打破牢笼、展望更高层次的世界呢?

那就是做到2个重构:代码的重构和人性的重构。

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

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

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

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

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

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

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

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

时间: 2024-08-03 19:00:11

打破牢笼,展望更高层次的世界的相关文章

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

回顾过去,我认为每个程序猿都关在一个透明的牢笼中,限制了思维.蒙蔽了眼界.蹉跎了岁月而不自知,如果不尝试走出去是一辈子都不能感知到牢笼的存在.这个牢笼就是技术本身. 一些程序员就要说,我们就是靠技术吃饭的,天天考虑各种编程技巧,技术怎么成为束缚我们的牢笼呢?那是因为很多人只是看到软件技术的表象而没看到本质. 孙子兵法说:不知兵之害者不能尽用兵之利也.套过来说,不知技术之害者不能尽用技术之利也.技术也存在有害的一面,它是程序猿谋生的工具,同时也是关着程序猿的牢笼.为什么是牢笼呢,这就涉及到技术的两

Kotlin将Realm提升到更高层次

作者:Víctor Manuel Pineda 时间:Feb 14, 2017 原文链接:https://antonioleiva.com/kotlin-realm-extensions/ 当有人问我,最喜欢Kotlin什么,我很难找出其突出特性. 数据类型.拉姆达(Lambda)表达式.类型推断.委托- 所有这些都担当起一系列完整的.有意义的提升,使其在这些方面不同于其基础的Java. 探索Kotlin扩展 当然,这些特性其中任何一个都是我使用最多的扩展.在所有我的Android项目中,我都利

1.32 (更高层次的抽象! 乘法与加法本来就是一回事)

(define (accumulate combiner null-value term a next b) (define (iter a result) (if (> a b) result (iter (next a) (combiner (term a) result)))) (iter a null-value)) (define (sum term a next b) (accumulate + 0 term a next b)) (define (product term a ne

OSChina 周五乱弹 —— 生命诚可贵,改 BUG 价更高?

周五!!!每天醒了都想做一件轰轰烈烈的大事,可是我还木有男神电话,这让我如何是好?心中纵使有万千宏图大愿无法实现,这一天看来又是非常平凡的一天了- @李察德-泰森  :我有女神的电话号码,每天都能知道她睡醒没有.打电话给她,没人接就是还没醒:打电话给她,挂掉了,就是醒了.你们不要太羡慕我! 2014 没剩下几天了,这一年,无论平凡或者有何轰轰烈烈的经历,都应该开始总结一下了,温故而知新- @jeffsui  : 父亲住院20天了,经历了一次又一次大喜大悲.回到家,一个人静静想了很多.2014年,

【超实用的代码段】为什么比百度搜索Bigger更高!!

啥,超实用的代码段?百度搜索,你有我有全都有!! 别逗比了,你以为你是右键狂魔,你就能改变世界! 超实用的代码段比百度搜索Bigger更高!! 你可以搜索出大部分代码段,但你知道哪段效率更高.性能更优.路径最短.兼容最强? 你可以搜索出大部分的技术,但你知道哪些是对的?哪些是错的,哪些是旧的,哪些是新的? 你可以搜索出More and More,但你绝不会Bigger and Bigger! 你浪费了太多时间去搜索,去试错,去分辨是非! 超实用的代码段,只想告诉你,好书一本,不学会死. 超实用的

阿里云人工智能小Ai是比深度学习更高阶的算法

(上图为阿里云人工智能科学家闵万里) 4月8日,在<我是歌手>的第四季总决赛中,出现了一个不速之客,这就是扬言能预测歌王的阿里云人工智能机器人小Ai.开场前,小Ai预测黄致列夺冠概率第一,尽管最终的歌王是李玟,但小Ai成功预测了前三名. 在了解阿里云人工智能机器人小Ai的基本运作过程后,记者认为小Ai的算法其实已经不仅是深度学习,而是在深度学习之上的更高阶算法,并就此向阿里云人工智能科学家闵万里求证,得到的回复:是的. 小Ai算法高阶在哪里? 尽管阿里云方面没有透露关于小Ai更多算法方面的信息

Windows 10 聚焦企业:安全程度更高、更新速度更快

Terry Myerson 曾于 1 月 21 日正式宣布,正在运行 Windows 7.Windows 8.1 及 Windows Phone 8.1 设备的客户将会获得一次免费升级到 Windows 10 的机会,当天午餐过后,他们就可以实现首年升级.我们猜想,普通消费者和很多小型企业听到这个消息一定会激动万分,这是我们有史以来首次提供如此规模的免费升级.我们相信,这将允许数百万客户午饭之后立即升级到 Windows 10,从而为我们的合作伙伴生态系统创造广泛商机,并为全部 Windows

Struts 2.x仍然明显落后于时代。 Struts 2.x这一类老牌Web MVC开发框架仅能用于开发瘦客户端应用,无法用来开发对于交互体验要求更高的应用。

后来我在工作中陆续使用过Struts 1.x和Struts 2.x.我曾经把一个开源的基于Struts 1.x的自助式广告联盟应用移植到Spring MVC,还基于Struts 2.x做过网站开发.Struts 1.x的主要问题是框架的侵入性太大,不利于代码重用和单元测试.Struts 2.x确实进步很大,完全基于POJO,学习曲线低了很多,还支持零配置(不需要XML配置,甚至也不需要Annotation).尽管如 此,Struts 2.x仍然明显落后于时代.  Struts 2.x这一类老牌W

高层次综合(HLS)-简介

本文是我近段时间的学习总结,主要参考了Xilinx的技术文档以及部分网上其他资料.文档主要包括ug998<Introduction to FPGA Design Using High-Level Synthesis>,ug871<Vivado Design Suite Tutorial :High-level Synthesis>,ug902<Vivado Design Suite User Guide:High-level Synthesis>.受限于个人的FPGA水