程序员的成功是否有规律可循?

摘要:自然界中存在许多规律,那么在程序人生上是否有规律可循呢?这种规律是如大多数人期望的那样吗?V众投发起人李智勇对此进行了探讨,他分析了必然与偶然、本质与细节,并就程序人生规律的三要素进行了解读。


是否有规律这事其实非常关键,因为如果有规律,那显然应该顺应它让自己走的更远。

我的答案是:如果我们想在人生中找一种类似x+y=z的规律,那真没有;但如果想找一种人是会死的,你是人所以你会死的规律,那就真有。所以说程序人生中有支配性规律,但并不是大多数人期望那种。只要你学好Java你就可以成功,只要你努力就可以成功这类在细节上确保一定如何的规律其实都是骗人的,不管多大篇幅,看着多么逼真。真的成立的规律逻辑上会有种自洽性,但它只能基于本质给出把握趋势的原则,增加一点成功的几率,最终成功与否牵涉太多细节,实属偶然。

为了理解这样的规律,需要先理解下必然与偶然,本质与细节。

必然与偶然,本质与细节

这世上同时存在着两种对立的声音:本质决定成败和细节决定成败。偏好本质的人喜欢说本质论。偏好细节的人则喜欢说精细化管理。但如果在较长的时间轴上考量这两种观点,就会发现他们之间并不真的对立。

本质决定大尺度时间上的走势和必然性,而细节则决定差异(包括短期成败),具有极大的偶然性。比如说:人的本质特征是能思考,有一个头,会衰老,寿命有限等,这是人的本质特征,但区别不同人却不是这些,而是性格,肤色,发色等细节。

具体来看:软件本质上是只有人才能处理的东西,因此公司中程序员群体的衰落一定会导致软件自身的衰落,只有优秀的程序员群体,才能保证软件的持久成功,这是必然性。但优秀的程序员却不一定确保当前项目成功,任何人在细节上的小疏忽,都可能导致软件在市场上崩溃,死锁,进而导致灾难性后果,这就是偶然,是细节决定成败。

所以成败自身虽然万众瞩目,对个体而言却只是一种偶然和机巧。当事人可以很努力的平衡本质上的追求(长期视点)和细节上的追求(短期视点),但变更的始终是一种成败可能性。

描述人生的规律一定是基于本质的,基于某种必然逻辑,否则就是骗子,因为如果可以对人生进行精微控制,对社会就也可以,而后者显然是不可能的。

而使用人生规律时则要注意上面说的这种本质与细节的叠加关系,他们共同决定了结果,基于本质的必然性可以帮助把握方向,但始终需要处理大量的细节才能最后取得一定成绩。

程序人生规律的一种描述

假设说一个人的技能所带来的价值是S,实现程度是A,那么S x A即为一个人可以为公司创造的可见价值,也即是可以从公司交换到的最大价值。

其中技能S是指一个人所能做的事,即自身的价值,可以是编程语言、设计知识也可以是管理知识等等。实现程度A则是指各种技能被周围的人认知的程度。

这有点绕,但实际上一个人的实际能力水平和被认可的能力水平往往存在偏差,极端的情形就是一个人确实很优秀,程序也确实写的很好,但周围的人都认为他不行,并只分配他做周边性的工作,这个情形下这个人的价值实现程度很低,创造的价值也很低。

这就是我想说的生存定律,并不复杂,也不抽象。下面我们来进一步做点分析。

如果收入水平为I,那么当S x A > I时一个人是有选择权的也是安全的,否则一个人对于公司而言是负资产(至少是被认为是负资产),有潜在被剔除的风险。一旦一个人在多家公司里都处于这样一种情形下时,这个人的选择权会越来收的越窄(只有公司可以选择个人,个人却没可能选择公司),人生也就会越来越被动。

当然无论技能S和实现程度A都很难清楚量化只能做定性分析,但确实有几个因素会使实现程度A急速膨大。这几个因素可以概括为:自身价值表达力,自身价值的稀缺性,公司的特质和未来。

就日常的感受来看,这往往是程序员这个群体不太关注的地方。作为结果很多人的真实价值可能并没有得到体现,或者说被低估了。

  • 自身价值的表达力

简单来讲,一个人可以有屠龙的本事,但如果所有周围的人都认为你只能杀鸡,那么现实中,你的能力就是杀鸡而不是屠龙。

一个人的真正自我和别人眼里的你往往是有差距的。这种差距可能来源于不熟悉,也可能来源于误解等,但确实是一个不能忽视的因素。特别是对于毕业生或者刚刚开始工作这类还处在被评判位置上的人。

假如一个人身处任人唯亲的环境之中,那么表达力的作用会被无限放大,这时候个人价值的作用反倒会缩小。比较良好的情形是身处公平竞争的环境中,这时候表达力的作用会有相对清晰的边界。但由于每个人对公平都有属于自己的定义,所谓的公平竞争也只是相对的公平,表达力的作用并不会减少为0。

  • 自身价值的稀缺性

假如开发某一产品时,必须某项技术,而这一技术只有某人才掌握,这时这个人的价值会被高估。这时起作用的影响因素可以称之为稀缺性。稀缺性存在与否即取决于自身高度,也取决于大势,而对于后者而言,个人改变余地很小,大多时候只能顺应。

比如说:在IT行业刚开始的时候,产业本身急速膨胀,但程序员的人数却相对较少,这就导致10年前程序员的起点工资反倒很高。而10年之后,由于介入门槛一再拉低,大批人员涌入程序员队伍,起点的工资反倒下滑。这种行业的时间特征主要是稀缺性所造成的,反倒是很难讲10年前的程序员更加努力,水平更高,而今天的程序员就不努力,水平变差了。

  • 公司的特质和未来

最后一个影响实现程度A的关键因素是公司自身的特性。公司更像是一个平台,往往对平台上的人所能达到的平均高度有所影响。假设两个人同样是很优秀的程序员,一个进了Google这样的公司,另一个进了一家外包公司,他们两个加入公司后都表现非常优秀,公司也对其非常认可,但从收入、技术高度等来看,这两个人却会有所差异,时间越长差异可能越大。这种差异并非努力所造成的,而是由于公司在生产链条上所处的位置不同而导致的。

小总结:这些因素的叠加形成了一个人的高度,进一步决定了一个人在职场中的市场价值,个人成长中的一切选择主要是为了在这四个变量上(自身价值,自身价值上的表达力,自身价值的稀缺性,身处公司的特质和未来)有所收益,并使市场价值最大化。接下来在职场的交换中把他们兑换成现金价值。这样的一种规律是不精确的,它只能使人大致明白自己所处的位置和方向,对成长有一点帮助,但没想的那么大。

这是有适用范围的,拼爹类的,创业类不太在这个范围内。也不适合追求梦想的情形,也许上面的规律可以左右一个人究竟有多少收入,但它不可能左右这种收入对自己是否值得。后者依赖于个人的价值体系与人生选择。

这是成功学么?

上面所表述的内容很容易让人想到成功学。这种对人生规律和方法的探究确实可以划入成功学的范畴。这样一来就要连带着回答另一个问题:我们可以相信成功学么? 

如果说自然界发展有规律,社会发展有规律,没道理个人的成长就没有规律。从这个角度看,讲规律的成功学是可信的,但讲具体方法,讲怎么怎么做一定成功的成功学就有点问题了。这更像药和包治百病的脑白金的区别。成功学本身没什么太高的壁垒,这就导致口若悬河的人更容易吸引目光,最终结果就是这池子里充满了太多的说客,放眼望去也就全是《细节决定成败》、《有效沟通》这类书籍。

也不是说这类书籍没有价值,而是说由于其往往会用片面取代整体,而并不具有太大的现实价值。突然看到李四成功了,也看到了李四比较注重细节,最终就得出一个细节决定成败的结论,这并不怎么有意义。因为人的成功往往同时取决于自身和环境。研究如何成功时事实上需要与编程一样的抽象能力。真要想找到种种与成功的规律,那就要多采集案例,从外部环境、个人努力、工程特征等多个方面进行切入,抽象出起作用的要素,再剃掉偶然性的部分,只保留必然性的部分。这时候往往能够更贴近本质规律。这类成功学是有用的,但通常达不到一看就可以飞黄腾达的地步,只能让人少走一点弯路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FFMPEG解码多线程

FFMPEG多线程解码 FFMPEG多线程编码器一般以在Slice内分功能模块进行多线程编码,如h263,h263P,msmpeg(v1, v2, v3),wmv1。包含以下几个线程:(1)Pre_estimation_motion_thread运动估计前的准备;(2)Estimation_motion_t…

SpringNBoot日志配置

市面上的日志框架 日志门面 (日志的抽象层)日志门面 (日志的抽象层)JCL(Jakarta Commons LoggingSLF4j(Simple Logging Facade for Java) jboss-loggiJUL(java.util.logging&#x…

ffmpeg的内部Video Buffer管理和传送机制

本文主要介绍ffmpeg解码器内部管理Video Buffer的原理和过程,ffmpeg的Videobuffer为内部管理,其流程大致为:注册处理函数->帧级释放->帧级申请->清空。 1 注册get_buffer()和release_buffer() FFAPI_InitCodec() avcodec_alloc_c…

springBoot的模版引擎

模版引擎 常见的模版引擎有JSP、Velocity、Freemarker和Thymeleaf Thymeleaf模版 使用时需要把html页面放在classpath&#xff1a;/templates/文件夹下&#xff0c;thymeleaf就能自动渲染创建模版文件&#xff0c;并需要导入thymeleaf的名称空间 <html lang"en"…

FFmepg 多线程解码历程

FFmepg 多线程解码历程 - 1:validate_thread_parameters /** * Set the threading algorithms used.//设置线程的使用算法 * Threading requires more than one thread.//需要一个以上的线程 * Frame threading requires entire frames to be passed to the codec,//帧线程…

restful风格的增删改查

注意 如果静态资源放到了静态资源文件夹下却无法访问&#xff0c;请检查一下是不是在自定义的配置类上加了EnableWebMvc注解templete文件夹不是静态资源的文件夹&#xff0c;默认是无法访问的&#xff0c;所以要添加视图映射 package cn.xxxxxx.hellospringbootweb.config;imp…

历史上最有影响力的10款开源项目

开源是大趋势&#xff0c;开源软件也在越来越多的出现在日常电脑桌面上&#xff0c;如Firefox浏览器、Ubuntu操作系统等。人们选择开源软件的原因&#xff0c;主要有低成本、安全无病毒侵害、更加透明和开放等。按照大多数的开源协议如GPL&#xff0c;开源软件允许自由分发。在…

SpringBoot默认的错误处理机制

错误处理机制&#xff1a; 访问一个不存在的页面时&#xff0c;或者程序抛出异常时 默认效果 浏览器返回一个错误的页面&#xff0c;注意查看浏览器发送请求的请求头可以使用专业的软件比如postman分析返回的json数据 springboot错误处理的自动配置信息 主要给日容器中注册…

GitHub政府用户破万:开源成重塑政府新手段

据GitHub官方博客介绍&#xff0c;目前GitHub上的各地政府用户数量已经达到1万个&#xff01; 2009年&#xff0c;纽约参议院正式入驻GitHub公开部分技术资料与文档&#xff0c;成为GitHub上的第一个政府组织。随后&#xff0c;美国华盛顿特区、迈阿密、芝加哥、纽约&#xff…

云OS:Linux在桌面打翻身仗的机会?

不可否认&#xff0c;Chrome OS取得了惊人的增长。Chromebook自发行以来&#xff0c;迅速席卷全球&#xff0c;常年位居最畅销笔记本榜首。这款基于Linux的笔记本在合适时间提供了合适的解决方案。很多情况下&#xff0c;云不仅仅是一个可选项&#xff0c;而是一个最优选项。Li…

Docker容器基本使用

Dcoker Docker是一个开源的应用容器引擎&#xff0c;是一个轻量级别的容器技术Dcoker支持将软件编译成一个镜像&#xff1b;然后在镜像中对各种软件做好配置&#xff0c;再将镜像发布出去&#xff0c;供别人使用运行中的镜像称为容器&#xff0c;容器的启动是非常快速的核心概…

为什么35岁的C++依然能主导编程世界

早在1979年&#xff0c;Bjarne Stroustrup设计了C编程语言&#xff0c;并且C很快成为了无处不在的通用系统编程语言。现在尽管有Java、Javascript、Python、Go&#xff0c;甚至是苹果的Swift和它竞争&#xff0c;但C依然处于主导编程世界的地位。 今天在Morgan Stanley的科技访…

SpringBoot整合JPA

添加依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId&…

为什么说选择正确的编程语言很重要,以及如何正确的选择

几个月前&#xff0c;一个同事问我&#xff0c;应该如何选择编程语言&#xff0c;或者有没有什么固定的选择模式&#xff0c;当时我便打算写点什么。上周在硅谷开会&#xff0c;这我是第一次跟“hack3rs”的创业狂以及技术狂们打交道。我学会了很多前所未闻的脏话&#xff0c;也…

细数开源历史上的十个重大事件

开放源码&#xff08;开源&#xff09;的精神在于使用者可以使用、复制、散布、研究和改进软件。这可以追溯到20世纪60年代&#xff0c;至今已有半个世纪了。虽然下面所列举的不都是专门的开源产品&#xff0c;但还是在开源发展的进程中有着巨大的影响。开放源码&#xff08;开…

深度卷积神经网络CNNs的多GPU并行框架及其应用

摘要&#xff1a;本文是腾讯深度学习系列文章之一&#xff0c;主要聚焦于腾讯深度学习平台&#xff08;Tencent Deep Learning Platform&#xff09;中深度卷积神经网络Deep CNNs的多GPU模型并行和数据并行框架。 【编者按】深度卷积神经网络有着广泛的应用场景&#xff0c;本…

线程安全和对应的核心概念

线程安全 线程安全的概念&#xff1a;当多个线程访问某一个类&#xff08;对象和方法&#xff09;时&#xff0c;这个类始终都能表现出正确的行为&#xff0c;那么这个类&#xff08;对象或者方法&#xff09;就是线程安全的synchronized&#xff1a;可以在任意对象及方法上加…

JDK Unsafe类的使用与CAS原子特性

JDK Unsafe类的使用与CAS原子特性 Java.util.concurrent.atomic包&#xff0c;其中包含了大量使用到Unsafe这个类Java不能直接访问操作系统的底层&#xff0c;而是通过本地方法来访问。 Unsafe类提供了硬件级别的原子操作&#xff0c;主要提供了以下功能 内存操作字段的定位和…

写软件不是造汽车

写软件和做其他事情是不一样的。当我们制造别的东西的时候——像汽车、玩具、椅子、画作、甚至包括数字产品如平面图片和3D模型——我们做出来的成品就是最终的结果。而开发软件则不是&#xff0c;我们做出来的产品永远不可能有最终的结果——我们需要向计算机解释如何根据任意…

网站盈利的10种方式

如果你有自己的网站&#xff0c;而且已经有了不少的流量&#xff0c;你肯定会开始考虑如何通过这个网站来挣一些钱。 在这篇文章中&#xff0c;我会向大家介绍网站最常见的10种盈利方式。 1.按点击付费广告 在网站上展示一个按点击付费的广告横幅是最简单的盈利方式&#xff…