用象棋的思维趣说IT人的职业发展和钱途

    最近我花了不少功夫在学习象棋,也学习了王天一等高手的棋路,感觉IT人的职业和下棋一样,往好了讲,争主动权争实惠只争朝夕,往坏了讲,一步走错得用多步来弥补,如果错误太大未必能弥补回来。在本文里,就用下棋这种比较轻松的话题来聊聊程序员该如何经营自己的职业。

1 对手是谁,如何算输赢

    做任何事情都要明确对象和目标,下棋时,对手和目标都很明确,但在职业规划里,对手是谁?如何算输赢?

    对手从小了讲,是自己,毕竟除山中贼易,除心中贼难,往大了讲,是其它IT人。

    如何算输赢?这有很多标准,往大了讲,达到财务自由或者“挣到一个亿”算赢,往中了讲,有房有车有孩子,或者达到中产水平,往小了讲,能在社会上立足,收入在平均水平以上。在本文里,不说过于远大的目标,倒也不是遥不可及,而是再远大的目标也是得靠脚踏实地,也不说“收入超平均水平”,毕竟这还是比较容易的,就算“达到中产水平”为赢。

    再具体点,如何算中产?我找了上海2018年中产的标准如下。

    1,有两套及以上住房(不含和父母共有的),至少一套达非普标准;

    2,没有房贷,或各项负债合计低于总资产30%。

    3,家庭年收入(不含父母)达50万以上。

    之前本人写过篇博文,在上海软件行业,我见到的年入50万的众生相——我们该如何努力从而达到这个目标,年入50万也算是中产吧。 

2 少走缓手棋

    一盘象棋有60个回合不算长,算下从大学毕业到退休,大致有30年吧,大概平摊下来,半年时间能算一个回合,也就是说,用半年的努力,自己职业上应该有显著的效果。

    下棋时不怕局势一般,就怕下缓手棋,高手之间过招,2步缓手足以输棋,一般的人下棋,也经不起3步以上的缓手。

    那么职业乃至人生的棋盘上,什么叫缓手呢?

    1 在公司里得过且过,不主动追求技术进步,导致半年左右技术等方面没进步。

    2 自己的技能已经得到提升,但出于安逸,没有追求更高的工资或者更高级的职位。

    3 当工资收入达到一定水准后,不思进取,不积极探索新的挣钱渠道和挣钱模式。

    那么在工作中,一旦下缓手棋会有什么后果呢?

    1 半年不进步,看似没什么影响,但由奢入俭难,一旦得过且过的日子过惯了,再想上进就难了。

    2 如果一年不进步,技术马上会落后于平均水平。

    3 一年半以上的不进步,就不说跳槽难了,这已经能导致在项目组里日子难过(因为别人都在进步),更有甚者,如果公司动荡,这批混日子而且技术不行的人,估计会第一批被淘汰,淘汰后甚至后面工作也难找。 

3 只争朝夕,争主动权更得靠效率

    和“少走缓手棋”相对的是“力争主动权”。

    象棋里主动权直观表现为,我可以从容调度子力进攻,能从容围剿对方的子力从而得到子力优势。在职业规划里,主动权表现为,我不仅能从容应付当前的工作,而且由于我的技术以及能力在不断提升,后继我的技术发展方向和公司选型,我都掌握主动。从实惠角度来讲,增加收入的主动权在自己手里,在当前公司,我可以通过晋升提升收入,我也可以通过跳槽提升收入,还可以通过各种额外手段提升收入。

    象棋里争夺主动权靠积极和效率,所谓用最小的“度数”(棋子的移动步数)把子力放置到(给对方造成威胁最大的)积极位置。平时工作中,争夺主动权的方式也是如此。

    怎么算积极呢?列下我见到的比较积极的大牛事例。   

    1 态度端正,一天当两天用,在工作中,也绝无看网页等做和工作无关事情的情况,有问题也是马上确认积极解决,绝无拖沓。

    2 尽可能地利用各种时间碎片干活或提升技术,比如我公司里的大牛中午休息时间也在看技术文章,博客园里的一些大牛也是利用早上上班前或下班回家后的时间写技术博客,总之积极地尽一切可能提升自己。

    3 从来不停止提升自己,比如我之前互联网公司的一位大牛,Spring方面在业内非常出名,但平时也时一有时间就看Spring文章,一有可能就出书出视频教程。

    而提升工作效率除了不断总结之外,还得尽可能减少不必要的休闲娱乐时间,比如我之前互联网公司的多位大牛,都是手机上没有游戏app,也没听说过追剧。

    知易行难,其实道理也很通俗,做起来并不容易,我的体会是,在开始阶段稍微逼下自己,比如早起写博客,工作时尽量不看无关事,平时积极些,可能最多一个月,当形成习惯时,想改也难。 

4 势在子先,首先得提升自己的挣钱能力

    象棋里有宁失一子,不失一先的说法。如果把象棋中的形势比作个人技能综合能力(把握主动权的能力),那么“子力”就好比挣到的钱。

    也就是说,能力比钱重要,一方面我们应该踏踏实实地提升能力,排除短期跳槽带来的金钱诱惑,另一方面,在必要时,可以用钱买技能,比如在必要的时候买收费专栏里的知识,甚至参加培训班。

    我见到的反面例子是,在之前的外企里,某人本身能力也就一般,但还在外面干兼职,这就属于要钱不要技能,结果短时间内钱确实挣到了,但由于不注意提升能力,最后被迫离开了项目组。而正面的例子就比较多了,不少人在进项目组时能力一般,但平时通过看各种(免费和收费)资料,最后成为项目组内的栋梁。

    再说下应该重视哪些能力?

    1 对底层代码的理解以及分析能力。

    2 能在短时间内全局掌握系统架构的能力。

    3 比较值钱的,比如大数据机器学习和分布式的技能。

    4 带团队的能力,比如对外能和客户方沟通,在公司内能和其它组协调扯皮,在组内能合理分派活,合理监管质量同时保证进度。 

5 优势情况下更不能大意

   下棋时,我经常遇到如下的场景,我或者对手优势很明显,但由于一步走错,局势逆转,对此象棋有“临杀误急“和“赢棋不闹事”的说法。

    大家在工作中,这种情况也不能说没,比如发布项目,什么工作都准备好了,看似胜利在望,但在发布时,由于大意导致操作事务,最后出现产线问题, 

    象棋在没赢前,任何走法都得反复斟酌,同样在发布项目等工作没通过验证前,也不能放松,这不仅得到主观上态度端正,更得“未虑胜,先虑败” ,尽量把可能导致失败的因素都考虑全,并针对性地做预案或补偿措施。

    我见过不少下棋的人,只会一厢情愿,或者沉溺于自己的优势中,或者主观上忽视对方的反击手段,这种人下棋赢了是运气,输了是必然,而且这样下能力也不会提升。同样,在做项目等工作时,宁可做好针对最坏情况的准备,比如发布时做好,甚至操练好回退预案,宁可用不到。这样的话,一方面能确保胜局,另一方由于考虑周全,技能上一定也会有提升。 

6 取胜得靠进攻手段,IT人挣钱也得积极

    象棋中取胜一般有两种方法,一种是确保自己不犯错然后坐等对方走错,另一种是积极主动扩大主动权,积优势为胜势。

    对应IT人挣钱方式,一种是干好手头的活,确保不出问题,然后循例升职和加工资,另一种则是积极扩大自己的品牌,不断探索新的挣钱方式,相比之下,后者更加积极,挣钱效率应该也优于前者。

    正如特级大师的扩大先手和进攻手段得靠慢慢积累,IT人挣钱的方式也得从小做起。比如小到通过写博客积累,然后可以开专栏出视频教程,再大点可以通过各种渠道找些项目,再大些可以做自己得产品。

    说起来容易做起来难,但一旦有积极想法了,而不是坐等工资等稳定收入,其它不敢说,至少自己的格局能不断变广,挣钱的机会也会越来越多。 

7 逆势中不能自暴自弃,只要努力,就有翻盘可能

    下棋时不可能老是赢,有不少时候局面会很难看,只能苦苦支撑。相比之下,工作中也不可能一帆风顺,比如工作氛围不好比较压抑,有996工作压力大,或者钱少,这种时候绝不能自暴自弃。

    特级大师之间,出现翻盘的案例也不少,更何况业余的,比如有10盘逆势棋,如果自暴自弃乱下,估计最多一两盘能下翻盘,但如果咬牙坚持每步都下好,翻盘的可能性就大很多。

    对应的在工作中,哪怕情况再差,每天也得尽力做好自己的事,必要时更得提升自己的能力,指不定哪天就时来运转了,或者这个公司没机会,由于自己一刻也没放松反而在不断提升自己的实力,在下家公司里就能春风得意了。

8 总结:人生棋局里,一时输赢不能代表今后的输赢

     大家经常能看到,某人前几年由于混日子,活得没指望,但突然想明白了,只用了半年就完成了逆转,也就是说,虽然一步走错需要用更大的代价来弥补,但一时的输赢绝不能代表一世的得失。所以,在任何时候都得积极向上力争主动。本文也算戏说,大家在一笑之余如果感到有意思,或者有收获,请帮忙推荐下本文,谢谢大家。 

原文地址:https://www.cnblogs.com/JavaArchitect/p/11065287.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

640?wx_fmt=jpeg

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

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

相关文章

Codeforces Round #631 (Div. 2) D. Dreamoon Likes Sequences 思维 + 组合数学

传送门 文章目录题意:思路:题意: 给你d,modd,modd,mod,让你求能构造出如下序列aaa的个数模modmodmod: 思路: 首先可以发现aaa的长度不能超过log2dlog_2dlog2​d,因为如果存在两个aaa的二进制…

基于 Roslyn 实现动态编译

基于 Roslyn 实现动态编译Intro之前做的一个数据库小工具可以支持根据 Model 代码文件生成创建表的 sql 语句,原来是基于 CodeDom 实现的,最近改成使用基于 Roslyn 去做了。实现的原理在于编译选择的Model 文件生成一个程序集,再从这个程序集…

Codeforces Round #212 (Div. 2) C. Insertion Sort 思维

传送门 文章目录题意:思路:题意: n≤5000n\le5000n≤5000 思路: 从dpdpdp题集中看到的,一看n≤5000n\le5000n≤5000,这不就乱搞就行了,哪有什么dpdpdp🦆。 看到冒泡排序&#xff0…

[Abp vNext 源码分析] - 4. 工作单元

一、简要说明统一工作单元是一个比较重要的基础设施组件,它负责管理整个业务流程当中涉及到的数据库事务,一旦某个环节出现异常自动进行回滚处理。在 ABP vNext 框架当中,工作单元被独立出来作为一个单独的模块(Volo.Abp.Uow)。你可以根据自己…

使用 Cake 推送 NuGet 包到 AzureDevops 的 Artifacts 上

大家好,我最近在想如何提交代码的时候自动的打包 NuGet 然后发布到 AzureDevOps 中的 Artifacts,在这个过程中踩了很多坑,也走了很多弯路,所以这次篇文章就是将我探索的结果和我遇到的一些问题整理分享给大家。我的上一篇关于 CI/…

了解Kubernetes主体架构(二十八)

前言 Kubernetes的教程一直在编写,目前已经初步完成了以下内容:1)基础理论2)使用Minikube部署本地Kubernetes集群3)使用Kubeadm创建集群接下来还会逐步完善本教程,比如Helm、ELK、Windows Serv…

Codeforces Round #632 (Div. 2) F. Kate and imperfection 数论 + 贪心

传送门 文章目录题意:思路:题意: n≤5e5n\le5e5n≤5e5 思路: 首先有个显然的结论:当往集合中加入一个数xxx的时候,如果存在d∣xd|xd∣x且ddd不在集合中,那么加入ddd一定比加入xxx更优。 也就是…

.NET开发框架(二)-框架功能简述

本框架为响应式SPA框架,支持PC与手机端的屏幕自适应。手机展示效果视频在文章末尾查看。框架入口地址:http://letyouknow.net/1、框架登录界面,输入账号与密码,点击立即登录2、框架主界面,左-右结构,左边为…

Codeforces Round #632 (Div. 2) E. Road to 1600 构造好题

传送门 文章目录题意:思路题意: 直接白嫖 思路 首先不难发现,n≤2n\le2n≤2的时候是无解的。 现在我们来构造n3n3n3的情况,通过打表可以发现如下矩阵是符合题目要求的: 179325486\begin{array}{ccc} 1&7&9…

SiteServer CMS 新版本 V6.11(2019年7月1日发布)

欢迎来到 SiteServer CMS V6.11版本(.NET CORE V7.0预览版本将推迟至2019年9月1日发布),经过两个月的连续迭代开发,V6.11 版本新增了采集插件以及多项BUG修复:SS.Gather 页面采集插件页面采集插件将在V6.11版本中正式提…

P1020 [NOIP1999 普及组] 导弹拦截 Dilworth定理 + dp

传送门 文章目录题意:思路:题意: 思路: 对于第一问直接输出最长不严格下降子序列即可,第二问是Dilworth定理,变形比较多,之前也写过类似的,这里贴个证明。 //#pragma GCC optimiz…

参数传递机制之JWT

1. 什么是 JWTJWT 其全称为:JSON Web Token,简单地说就是 JSON 在 Web 上的一种带签名的标记形式。官方的定义如下:JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.…

Codeforces Round #709 (Div. 1) B. Playlist 链表维护 + bfs

传送门 文章目录题意:思路:题意: 思路: 紧跟刘爷脚步补题。 不难想到用链表维护下一个数是什么,这样就跟以前做过的一个题差不多了,首先将初始的时候删掉的点的前一个点即为题目中的AAA入队,让…

浅谈ASP.NET Core中IOC与DI的理解和使用

说起IOC和DI,使用过ASP.NET Core的人对这两个概念一定不陌生,早前,自己也有尝试过去了解这两个东西,但是一直觉得有点很难去理解,总觉得对其还是模糊不清,所以,趁着今天有空,就去把两个概念捋清…

一个通用数据库操作组件DBUtil(c#)、支持SqlServer、Oracle、Mysql、postgres、SQLITE

这是一个.net下操作数据库(结构数据库)的工具类,支持sqlserver、oracle、mysql、postgres、sqlite、access等常见数据库。注意:它并不是一个orm工具(常见的orm框架如:EF、Dapper等)。2.1 引入DBUtil依赖1. 首先打开vs(推荐vs2019)&#xff0c…

Educational Codeforces Round 37 (Rated for Div. 2) E. Connected Components? 暴力 + 补图的遍历

传送门 文章目录题意:思路:题意: n≤2e5,m≤2e5n\le2e5,m\le2e5n≤2e5,m≤2e5。 思路: 这是题是我上个题的一部分,算是个小知识点,暴力能过。 直接维护一个setsetset,让后遍历所有点&#xff…

初探System.Threading.Channels

。System.Threading.Channels是.Net Core基础类库中实现的一个多线程相关的库,专门处理数据流相关的操作,用来在生产者和订阅者之间传递数据(不知道可不可以理解为线程间传递数据,我把它类比成了Go语言中的Channel)&am…

Codeforces Round #715 (Div. 1) B. Almost Sorted 找规律

传送门 文章目录题意:思路:题意: 思路: 找规律yydsyydsyyds。 一看没什么想法,所以打了个表,好家伙,不打不知道,一打不得了,下面是n6n6n6的符合要求的情况: …

SQL Server之索引解析(二)

、堆表堆表通过IAM连接一起,查询时全表扫描。1、1 非聚集索引结构叶子节点数据结构:行数据结构Rid(8字节)中间节点数据结构: (非聚集非唯一索引)行数据结构Page(4)2 Rid&…

纠正一个错误,分布式系统关注点第17篇

这里是Z哥的个人公众号每周五早8点 按时送达当然了,也会时不时加个餐~我的第「78」篇原创敬上今天来加个餐,紧急纠正一个错误。先和大家说一声抱歉:D昨晚睡觉前,惯例打开「订阅号助手」回复一些留言。有一位小伙伴提了…