一位老码农的分享:一线程序员该如何面对「中年危机」?
如果这是第二次看到我的文章,欢迎文末扫码订阅我个人的公众号(跨界架构师)哟~
本文长度为2728字,建议阅读8分钟。
坚持原创,每一篇都是用心之作~
先来聊一下这个问题的背景吧。
前两天有小伙伴问到Z哥这个问题。
其实坦白说,我刚做开始程序员的前两年,行业中就已经充斥着这样担忧了,有说中年危机的,也有说35岁危机的。
其实Z哥我当时也担忧的,觉得自己兴致勃勃选择投入一生的职业生涯,竟然。。。竟然是一条短跑赛道。
不过没几天这个影响就消失了。因为那会实在每天排的太满了,除了工作就是学习,也没时间多想。就觉得反正还早~,到时候再说,搞不好提前发大财退休了呢(请容忍我的年少无知)。
不过,经过了这7年的工作之后,我对这个问题有了一些新的认识。
回头看过去,找经验
自从15年中旬开始至今,我大概面试过三、四百人,看过上千封简历。再加上对这几年在身边共事过的同事们的了解。发现3个这样事实:
首先,好的和差的程序员的分布大致是这样。
▲图片来源于网络,版权归原作者所有
值得一提的是,我真的见过一个10年工作经验的能力和一个应届生工作半年后能力差不多的情况。
这两位程序员,前者在“寒冬”会很危险,而后者在“寒冬”会依然很抢手,更何况还年轻。
其次,好的程序员一直是「紧缺」状态,“寒冬”其实离他们还挺远的。
因为年龄并不是硬性因素,更关键的是解决问题的能力高低。再年轻、再低的薪资,但是搞不定问题,一切都是没有意义的。
就拿z哥所在的公司来说,目前就几位35岁以上的程序员,依旧保持很强的解决疑难问题的能力,正从事着技术方向的工作。
年轻程序员们一时半会解决不了的问题,往往到他们这都可以被解决,这种就是不可替代性。毕竟有些实战问题依赖于实战经验,而实战经验都是靠时间堆起来的。
年轻程序员们能解决的问题,他们可以更快速的解决,这种就是性价比(线上业务停机损失的可是真金白银啊,仔细想想每个人其实都懂)。因为程序员的工作不仅仅是通过coding实现既定功能,还有很多意料之外的问题需要解决。
最后,好的和差的程序员差距并不是投入学习时间的多少,而是在任何时候的思维、做事的方式和习惯上。
好了,下面再回到这个问题:
一线程序员该如何面对中年危机?
这次我想以一个「产品」视角作为切入点来解答这个问题。
这个问题的「本质」
这个问题看似好回答,无非是努力啊或者加强情商啊之类的。
正向积极的事情虽然有很多,但是我们的精力是有限的,应该先挑对自己更有意义的事去做。
▲图片来源于网络,版权归原作者所有
我觉得这个题的任何答案的「本质」都是为了让自己更受欢迎,更重要。
所以,这个本质其实和经营一个「产品」是类似的。
这事在我们的不同年龄段有不同的解法。Z哥带你来模拟一下看看。
你心目中理想的目标应该就如同现在20岁“高龄”的QQ一样,这么多年过去了,依然活的风生水起。
它做对了什么?其实就两点:具备一个有长远价值的核心 和 跟着趋势走。
QQ握着社交这个「核心」跟着互联网的「趋势」在走,成功跨越了pc时代到移动时代。
其实我们人也是一样,需要打造一个自己的核心。然后跟着趋势走就行。
28岁以下,找到具有趋势的「核心」
题外话:28岁这个标准,是z哥我根据自己的个人经验判断的,就当做个参考吧。
因为「核心」是要与你长期相伴的,所以核心越早能打造出来,未来得以获得收益的时长就越长。(假设大家都活到80岁的话)
所以这个时期最重要的就是在自己感兴趣的和未来有潜力的两个范围的交集中找到自己的「核心」。就在下图这个位置。
可能你会问,我怎么才能判断未来有没有潜力呢?谁都不想去塑造一个即将被淘汰的能力。
z哥给你一个思路:用「点线面体」的思维框架来思考某项能力未来有没有潜力。
万物之间都是相互关联的,用「点线面体」的框架可以帮助你找到自己处于一个怎么样的趋势上。
这里我们就不展开了,大家自行查阅资料。(有疑问的话欢迎在公众号后台或者加我个人微信号找我交流哈)
可能你又会问为什么是感兴趣而不是擅长呢?
原因有两点。
一、我们大多数人其实对自己真正擅长的能力并没有准确的认识。因为当自己擅长的与其他人相比时,一旦觉得不如他人的时候就会觉得这不是自己擅长的,会否定自己。就像下图这样的差异。
然而,「擅长」并不意味着超越你身边的所有人成为top1,才算「擅长」。
而且,当自认为擅长的能力大于1个的时候就更加难判断了。
二、兴趣应该是你感觉不到厌倦的事物。而不知疲惫,才是你真正的天赋所在。(此话出自产品届的梁宁大神)
如果一件事就做几个月的话,可能是不是感兴趣区别不大。但是需要在未来十几年、甚至几十年都在一项能力上不断投入精力去做事,就需要很强的「自驱力」来支撑。而自己发自内心的意愿才是最好的「自驱力」。
所以,通过前几年的职场历练,找到自己全力以赴要打造的核心至关重要。(当然,越早越好咯)
因为28岁下的跳槽成本相对还是比较低的。
35岁以下,全力塑造「核心」
这个时候主要就是全力打造自己的「核心」,让它明显高于其他人,并且越高越好。
这个时期的业余时间一定要充分利用起来,这甚至比在第一阶段还要重要。
因为第一阶段主要以手头的工作为主,来夯实自己的底层基础框架,类似于训练的是自己的“加速能力”。而到了这个阶段,则更多的是从外界汲取“燃料”让自己“跑”起来。
这个阶段的思路是三步。
你得先知道你能看见的“终点”在哪?这是你前进的方向,也好知道你离这个“终点”有多远,知道自己要付出多少。所以找到这个领域内的顶级高手作为你的榜样是第一步。
第二步就是取顶级高手之长作为你要学习的。因此,此时你需要密切关注顶级高手的动向和信息,分析他的所有公开的言行、成就等等。(互联网时代,这些你真用心想找到不是难事)
第三步就是将第二步中罗列出来的待学习项,根据对自己起效果的大小顺序倒序,逐个学习。
z哥又要唠叨一句了:这里必须要以“输出”作为自己的学习方式。因为,
▲图片来源于网络,版权归原作者所有
可以看到,以「教育」为导向的学习效果是最好的。
步入中年之后,给「核心」加「杠杆」
如果前面2个阶段没问题,到这个阶段其实自己的「影响力」和「重要性」都已经形成了,就已经完成了我们前面提到的本质诉求:让自己更受欢迎,更重要。
所以,如果顺利的话,这个阶段花费在「反复」、「枯燥」等等的执行层面的事上的精力会少很多,但也是逐渐开始更重的依赖一些软技能(情商、沟通能力等等)发挥的时候。
因为这个时候你要开始重视「资源」,但是资源的挖掘和整合需要你的人际交往能力。
最终你能整合的资源越多,你就变得越核心、越重要,然后会使得你有能力整合更多更好的资源。如此,进入一个正循环。
基本上到这个阶段你所在的社会阶层也算是定型了。
▲图片来源于网络,版权归原作者所有
总结
z哥我觉得以上是适合我们大部分普通人的一条稳定的成长路线。只要找准点去使劲,中年危机是不存在的。
剑走偏锋以及天赋异禀的人群除外:)
如果正在阅读这篇文章的你发现与这些阶段对应下来,自己时间上已经晚了。没事,做一件事最好的时机是过去,其次是现在。
如果你不开始行动,完全没有机会。但是只要开始行动了,机会一直存在。
相关文章:
你知识焦虑了吗?
如何在一众95后中脱颖而出?
整个社会就是一个「零和游戏」吗?
作者:Zachary
出处:https://www.cnblogs.com/Zachary-Fan/p/middleaged.html
如果你喜欢这篇文章,可以点一下右下角的「推荐」。
这样可以给我一点反馈。: )
谢谢你的举手之劳。
▶关于作者:张帆(Zachary,个人微信号:Zachary-ZF)。坚持用心打磨每一篇高质量原创。欢迎扫描下方的二维码~。
定期发表原创内容:架构设计丨分布式系统丨产品丨运营丨一些思考。
如果你是初级程序员,想提升但不知道如何下手。又或者做程序员多年,陷入了一些瓶颈想拓宽一下视野。欢迎关注我的公众号「跨界架构师」,回复「技术」,送你一份我长期收集和整理的思维导图。
如果你是运营,面对不断变化的市场束手无策。又或者想了解主流的运营策略,以丰富自己的“仓库”。欢迎关注我的公众号「跨界架构师」,回复「运营」,送你一份我长期收集和整理的思维导图。
转载于:https://blog.51cto.com/4596298/2347146
相关文章:

白话spring依赖注入
Spring能有效地组织J2EE应用各层的对象。Action?Service?DAO?,都可在Spring的管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,对象与对象之间没有直接的联系,各层对象的调用完全面向…

2软件测试初相识
软件测试初相识 软件测试初识为什么要做软件测试,做软件测试的必要性是什么?关于软件测试的定义有很多种软件测试的两面性软件测试的价值总结软件测试初相识 文章目录 软件测试初识为什么要做软件测试,做软件测试的必要性是什么?关于软件测试的定义有很多种软件测试的两面性…

【go】sdk + idea-plugin 开发工具安装
http://golang.org/doc/install/source第一步:windows 安装 git第二步$ git clone https://go.googlesource.com/go $ cd go $ git checkout go1.4.1保持翻墙姿势 D:\Program Files (x86)\Git\bin>git clone https://go.googlesource.com/go Cloning into go... …

无限极:对虚假宣传行为查处不力 推十条整改措施
中新网1月28日电 无限极今日发表声明称,将进一步响应整治“保健”市场乱象百日行动,承担主体责任,落实专项整改。 声明全文如下: 1月8日,国家市场监督管理总局等13部委联合发出《关于开展联合整治“保健”市场乱象百日…

基于WTL自绘 - 表情选择界面
1.无窗口绘制(网格, 背景,图片,预览)。2.采用Cximage处理图像。3.关于源码 请发邮件 satngqq.com4.已经增加到wtl_duilib 0.5版Demo中转载于:https://www.cnblogs.com/satng/archive/2011/08/13/2138780.html

3软件测试原理与软件缺陷
软件测试原理与软件缺陷 文章目录 前言软件测试原理软件缺陷总结前言 知其然,更要知其所以然。 软件测试原理 下图中很直观的展示出了软件测试原理。根据测试目标设计测试输出,依据测试依据(包括软件需求、设计等)给出预期结果,在被测对象上运行得到运行结果,将运行结果…

Oracle wrap 和 unwrap( 加密与解密) 说明
一. Wrap 说明官网的说明如下:A PL/SQL Source Text Wrappinghttp://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/wrap.htm#LNPLS1744You can wrap the PL/SQL source text for any of these stored PL/SQL units, thereby preventing anyone from di…

python的沙盒环境virtualenv(二)--简单使用
安装 sudo apt-get install python-virtualenv使用方法 virtualenv [虚拟环境名称] 如,创建**ENV**的虚拟环境 virtualenv ENV默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境…

使用Powershell批量为Azure资源添加Tags
在使用Azure的过程中,我们可以将Tags应用于Azure资源,从而可以将元数据逻辑的组织到某些分类中。每个Tags由名称和值组成。例如,我们可以将名称“Environment”和值“Production”应用于生产中的所有资源。应用Tags以后,我们可以使…

4软件测试阶段
软件测试流程和规范前言软件测试阶段总结前言 不以规矩,不成方圆。 软件测试阶段 在软件测试中主要的测试阶段包括文档集测试、单元测试、集成测试、系统测试(包括功能测试和非功能测试)、安装测试、验收测试。 总结 不同的测试阶段有不同…

InfluxDB 2.0 Alpha展开测试!将会加入查询语言Flux
InfluxData释出其开源时序数据库InfluxDB 2.0 Alpha测试版,这个版本最大的更新,便是增加了新的数据脚本和查询语言Flux,不只能提供跨平台时序数据操作,还能将TICK组件堆栈整合成一个更加一致的平台。InfluxDB是一个以Go语言开发的…

Weka 开发[1]-Instances类
先google一下,把Weka软件下载下来,安装完成之后,在Weka的安装目录中有一个weka.jar的包。 把包添加到工程中后,就可以调用weka中的函数了。 再介绍一点weka的基本知识,在weka的目录下,有一个data的文件夹&a…

SQL Server 2005 18452登录错误 的解决方法
无法连接到服务器 服务器:消息18452, 级别16,状态1 [Microsoft][ODBC SQL Server Driver][SQL Server]用户‘sa’登陆失败。原因:未与信任SQL Server连接相关联 该错误发生的原因是由于SQL Ser…

5软件开发与软件测试
软件开发与软件测试 前言瀑布模型V模型总结前言 软件测试与软件开发过程是相辅相成、相互依赖、相互转换的过程。 瀑布模型 瀑布模型规定了软件生命周期中的各项活动,包括需求分析、概要设计、编码、测试、验收与交付、使用与维护等。瀑布模型中各个软件过程是自上而下、相互…

认识docker
一、Docker工作原理 二、Docker容器和虚拟机对比 三、镜像容器管理 1、Docker关键组件 2、Docker架构 3、Docker内部组件 镜像(Image)——一个特殊的文件系统 Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置…

Enterprise Library系列文章回顾与总结
Enterprise Library系列文章回顾与总结 自Enterprise Library 1.1 推出以来,Terry写了一系列的关于Enterprise Library的文章,其中得到了很多朋友的支持,在这里一并表示感谢。为了方便大家的阅读,这里我做了一下整理与分类。第Ⅰ部…
句法模式识别(两)-正规文法、上下文无关文法
正规的语法特点 1.全部长度有限的语言都是正规的。 2.用正规文法当然能产生无限长串,当中周期反复部分的长度不大于非终止符的长度。 举个样例 在此规则之下。能生成句子 当中周期反复部分为ab,这个样例的非终止符的元素个数为2,故满足2不大于…

6软件测试过程
软件测试过程前言软件测试的几个典型过程总结前言 测试策划、测试设计与实现、测试执行、回归测试和测试总结。 软件测试的几个典型过程 软件测试过程主要包括测试策划、测试设计与实现、测试执行、回归测试和测试总结,每个活动过程中包括的主要工作内容如下图所示…

BFS之三(单向bfs和康托压缩)
//poj 1077 Eight#include <iostream> //单向bfs和康托压缩#include<string>using namespace std;bool visited[1000000];int fac[]{1,1,2,6,24,120,720,5040,40320,362880}; //9!表int cantor(int arr[]) {int temp,num1; //当排列为…

[JavaWeb基础] 007.Struts2的配置和简单使用
1.框架简介 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架,用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(C…
使用Rust + Electron开发跨平台桌面应用 ( 一 )
前言 近段时间学习了Rust,一直想着做点什么东西深入学习,因为是刚学习,很多地方都不熟悉,所以也就不能拿它来做编译器这些,至于web开发,实际上我并不建议拿这个来学习一门语言,大概有几个方面&a…

7软件质量与测试规范
软件质量与测试规范 前言标准/规范产品质量模型总结前言 标准和规范可以指导测试工作的方向。 标准/规范 软件质量与测试标准分为国际标准、国家标准、行业标准、企业(机构)规范、项目规范等。下一层标准需要在上一层标准的框架下做扩展或补充。比如行业标准首先要满足国家…

UVa 679 - Dropping Balls
称号:有一个完整的二叉树,每个节点是一个开关,最初的全封闭,球从顶点丢弃。 每次通过开关球将将其状态反转。现在先问k球落到d当层交换机经过号。分析:进制编码。经过模拟几次能够看出,球会让开关形成连续二…

【原创】StreamInsight查询系列(六)——基本查询操作之分组聚合
上篇博文介绍了StreamInsight基础查询操作中的用户自定义聚合部分。这篇文章将主要介绍如何在StreamInsight查询中使用分组聚合。 测试数据准备 为了方便测试查询,我们首先准备一个静态的测试数据源:var weatherData new[] {new { Timestamp new DateT…
生态环境部:提升5.5亿居民饮用水环境安全保障水平
资料图:备用水源。于从文 摄 中新网1月30日电 据生态环境部网站消息,生态环境部牵头扎实推进饮用水水源地环境保护专项行动,成效显著。截至2018年12月31日,除9个问题因冬季施工难度大或实际工程量大等因素仍在整治外,…

8单元测试的必要性
单元测试的必要性 前言单元测试堪比汽车零件检测总结前言 积土成山,风雨兴焉。 单元测试堪比汽车零件检测 据估计,一般轿车约由1万个不可拆解的独立零部件组装而成。结构极其复杂的特制汽车,,如F1赛车等,其独立零部件的数量可达到2万个之多。可以设想下,如果汽车组装企业…

朴素高精度乘法的常数优化
2015年辽宁省赛热身赛有一道高精度乘法 传送门:NEUOJ 1574 A*B 1574: A * B 时间限制: 10 Sec 内存限制: 128 MB题目描述 Calculate $a \times b$. 输入 Your program will be tested on one or more test cases. In each test case, two integer $a$, $b$ ($0\le …

计算机专业今后的发展方向
计算机专业毕业后,大致的工作方向是软、硬、网、图 四大类,尤其以软件、网络为现今的首选 。从岗位上分,又可以分为技术道路、营销道路两大方向。 if 你选择硬件技术,then 从现在开始,牢记:天道酬勤&#x…
新警达尼亚尔·迪力木拉提的春运一天
新春佳节临近,乌鲁木齐铁路公安处民警坚守一线,保障旅客安全乘车。达尼亚尔迪力木拉提,今年26岁,新疆伊犁州伊宁市人,毕业于大连理工大学。2017年通过国家公务员考试入警为乌鲁木齐铁路公安局乌鲁木齐公安处见习民警&a…

9 单元测试中不得不知的概念
单元测试中不得不知的概念 前言软件单元及单元测试驱动函数和桩函数总结前言 做单元测试,如果不弄清楚什么是单元,那十八般武器也无的放矢了。可能在单元测试中听到最多的就是驱动函数、桩函数和逻辑覆盖,本专题就讲讲关于单元测试中那些不得不知的概念。关于逻辑覆盖,涉及…