之前我写过篇博文,用象棋的思维趣说IT人的职业发展和钱途,发现象棋中的一些思维能应用到我们程序员平时的职业发展中。

当从大学毕业的程序员干个五六年以后,也达到了高级开发的水平,工作环境应该能摆脱动荡,工资收入也能比下有余,如果想要进一步拓展自己的能力和收入,那或许就要借鉴国际象棋里的一些思维了。在本文里,将通过对比国际象棋和象棋之间的走法和赢棋方式的差异,来趣说下程序员如何让自己的收益高于平均水平的做法。

1 国际象棋中的进攻线路需要自己开拓,未来的发展机会要自己探索

中国象棋里线路是开放,所以有肋道和兵林线的说法,能直接通过线路来调度车和炮等子力。但国际象棋里a线到h线在默认情况下都有小兵,所以进攻线路要自己打通,由此专门有“开线”战术。

当IT人士达到高级程序员的水准时,如果还是循例坐在公司里,干好分配的活,这样短时间内也行,但时间一长,发展空间就有限了,所以在这个阶段,得自己探索发展途径。

比如虽然目前没有接触到架构师的活,但得通过看资料尽快让自己掌握这部分的知识,从而尽快让自己达到架构师的水平。又如,可以从在博客园写博客做起,探索自己通过付出知识挣钱的方式,比如做专栏和录视频甚至做企业培训。甚至还可以通过自己和朋友一起接项目,探索出成立工作室或公司创业的方式。

在刚开始下国际象棋的时候,这种开线战术我无法熟练应用,也因此输了几盘,这就是试错付出的代价,但如果不探索,那就不大会提升了,也就只能眼馋地看着别人从无到有摸索出各种发展渠道。

2 除了直线横线外,国际象棋还有第三维“斜线”,所以IT人更该开拓自己的眼界

国际象棋里,进攻不是只靠直线和横线,还得靠斜线。对于不善下国际象棋的人而言,看到通过斜线赢棋,会感觉很惊讶。其实这没什么,其实平时,很多增收的方式都是合法且符合情理的,只不过不少人习惯于只通过直线和横线进攻而已。

这里我无意比较国际象棋和中国象棋两者规则的优劣,但收入达到中等水平的程序员就相当于解锁了自己“斜线进攻”的技能,在做好本职工作挣工资以外,还应当扩展自己的眼界,合理利用各种渠道提升自己的能力,乃至更高效地挣钱。

眼界有多重要?一直在小公司里干的程序员未必能想象到互联网公司的框架技术,几年前我能想到的挣钱方式也无非是挣公司外加做培训而已。眼界的狭隘直接让我们忽视了很多明明可以有效利用的规则,更限制了我们发展的空间。那怎么才能提升眼界?

第一,多上博客园等论坛,而且除了自己分享之外,还得多看别人的文章,三人行必有我师,通过看各种文章我们就能了解各种技术,从而在实现需求时就有更多的选择性。

第二,多看下身边的人挣钱的方式(当然是合法的),刚开始不会不要紧,多揣摩多思考。

第三,多和人聚会,比如参加各种技术会议,或者到程序员出没多的地方(博客园算一个)多和别人交流,这样别人的挣钱方式都可以成为自己实践的指南。

的确,提升能力和挣钱需要实干,但实干的前提是方向对。眼界开阔了,就能在规则允许的范围了多很多选项,从而让自己节省很多探索的时间。

3 去掉蹩脚限制,真正做到八面威风

和中国象棋不同,国际象棋的马是没有蹩脚的,更能展现出八面威风。

在很多场景里,无法走出对自己有利的着法的(类似于蹩脚因素)限制是来源于自己,比如我看中一个月薪5万的岗位,但无法应聘,原因是我没掌握其中技术,又如我羡慕别人录制视频课程挣大钱,但我做不到,原因也是我能力有限。而且这种因素更多是来自主观方面,比如畏惧或得过且过的心理。

大家都知道,对此我们可以通过努力提升自己的技能,把类似于蹩脚的限制去掉,其实只要做了,发现提升自己并不比想象中难。比如我之前学spring cloud,不断看代码看视频,从不懂到出书,用了半年。而我师傅平时更上心,连中午休息的时候也在看资料,而且会不断给自己制定学习目标,他从高级开发升级到架构才用了半年,在公司里等待他解决问题的人,一般都要排队。我师傅人也比较谦虚,否则做到八面威风也不是不可能。

其实大家也都一样,平时只要多看点资料多运行代码,就一定能不断克服约束自己提升的限制,但前提是克服自己心理上的惰性。

4 入局模式更加开放,所以应该打破思维常规

国际象棋和中国象棋的走法上有差别,但赢棋方式上的差别更大。比如中国象棋里的杀法有卧槽马,重炮,铁门栓或钓鱼马等,也就是说,入局方式尚有章可循。但国际象棋里王不是被限于九宫里,而是能到处跑,所以除了“底线闷杀”的杀法外,没有固定的方式。

如果把中国象棋里各种入局的杀法比作出书讲课录制视频等有章可循的挣钱方式的话,那么国际象棋的赢棋模式就好比是制定好的商业模式。如果在下国际象棋时思维僵化,进攻套路单一,很难赢棋,最多也就是下个和棋,好比收入达到衣食无忧的平均水平。

但会下国际象棋的人非常善于把握局势,从不是依照固化的进攻模式,而会从各种现象中总结并创造获得胜势的关键下法,这就好比我们程序员不该限于挣钱方式,甚至挣钱的渠道都不该仅限于IT方面。比如我们看到的不少独角兽公司盈利模式虽然千奇百怪,但也是有道可循。

下好国际象棋的重要方法是打谱,即看高手对局,然后揣摩其中下每步棋的思考方式,并总结在某种局势里该怎么积累主动权。与之对应,达到中等收入水平的 IT人也可以多看看其它人的挣钱模式乃至其它公司的商业运作和盈利模式,然后对比自己,缺啥补啥,比如缺技术学,缺资源找,如果不知道自己缺什么就多到网上看些大神们的进阶路线以及挣钱方式。总之,当发现自己收入方式固化时,就该多看多想并多实践,这样至少能保证自己不被淘汰,甚至不断扩展营收渠道。

5 国际象棋里,翻盘几率要比象棋低很多,所以更应当少犯错

下过国际象棋和象棋的朋友会有这样的体会,在国际象棋里,只要多一个兵(或者甚至无需多兵,只需兵形好),同时局势相差不大,被动方很难谋和,更别说翻盘了。而象棋里因为有防守的士象,所以哪怕犯错,比如失子,都有谋和的机会,比如残局有马兵和士象全,甚至有单车和士象全等在弱势下例和的局面。

所以下国际象棋时,更不能心存侥幸,得步步小心,而且比起象棋来,更得少走缓手棋,程序员也应该这样。

比如发现自己陷入舒适区时,就该警惕,要么在公司里看下怎么把事情做更好从而能承担更重要的职责,要么多积累社会上的人脉关系,总之不能让自己停止进步。又如,当看到日志上有问题征兆时,更应当立即跟进,宁可虚惊也要查明原因。再如,做事情一定得和相关人多确认,修改产线问题时更得再三斟酌。

总之,赢棋的前提时先保全自己,提升自己在公司里和社会上地位的首要条件也是尽量少犯错。

6 国际象棋的对攻程度要比中国象棋激烈,所以IT人更得有忧患意识

尤其在双方异向移位,比如西西里防御龙式变化里,白方一般长移位,黑方一般短移位,所以双方各攻一翼,往往一先就能决定胜负。在中国象棋里,虽然也会出现对攻场面,但激烈程度要逊于国际象棋。

IT人一般能通过各种积极手段不断提升自己的主动权,从而不断提升自己的收入,但岁月何尝不在侵蚀着我们,无情地夺走我们的青春,乃至体力和记忆力?比如某人在年末也有加工资,技能也有提升,但相比耗费的时光,这些提升就显得得不偿失了,比如提升的程度远低于平均水平。

说IT人吃青春饭,这不无道理,比如我前些年在外企过于舒适,目前需要用更多的精力来弥补。相比我师傅的师傅,30岁出头,在极客时间上录制的视频销量达两万多份,平时经常在qcon等著名大会上演讲,又如我的领导,也是30岁出头就在国内著名互联网公司里独当一面。所以我们可以用来荒废的时间真的不多了。

7总结:最激励IT人的,是国际象棋里的升变制度,IT人在任何时候都别丢失梦想

国际象棋里,子力价值最低的小兵,只要能冲到对方的底线,就能升变成为皇后(当然还可以变其它子,只不过皇后威力最大一般都变皇后)。

小兵尚且如此,何况我们 IT人,莫欺少年穷,在IT圈里逆袭成功的不在少数。当我们对比别人感到有差距时,千万不能妄自菲薄,而是该不断努力,不知道前进方向的话,就去多看别人成功的路线。而且,也千万别停止进取,因为只有冲到底线才能升变。

梦想不能丢,进取心不能丢,平时更不能停止努力。还是这句话,发心上进并开始努力了,提升自己只是体力活。最后祝大家在经过努力后,都成功升级成影响力大的成功人士。

版权说明:

有不少网友转载和想要转载我的博文,本人感到十分荣幸,这也是本人不断写博文的动力。关于本文的版权有如下统一的说明,抱歉就不逐一回复了。

1 本文可转载,无需告知,转载时请用链接的方式,给出原文出处,别简单地通过文本方式给出,同时写明原作者是hsm_computer。

2 在转载时,请原文转载 ,谢绝洗稿。否则本人保留追究法律责任的权利。

从国际象棋与象棋的走法差异,再趣说IT人提升能力和增收方式的更多相关文章

  1. 再谈CLR查找和加载程序集的方式

    原文:再谈CLR查找和加载程序集的方式 这是一个老问题,以前也有朋友写过一些文章介绍,但可能还不是很全面.我也多次被人问到,这里结合案例再次谈谈,希望对大家有所帮助. 本文范例代码可以通过这里下载 h ...

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

    最近我花了不少功夫在学习象棋,也学习了王天一等高手的棋路,感觉IT人的职业和下棋一样,往好了讲,争主动权争实惠只争朝夕,往坏了讲,一步走错得用多步来弥补,如果错误太大未必能弥补回来.在本文里,就用下棋 ...

  3. 【转】再谈CLR查找和加载程序集的方式

    这是一个老问题,以前也有朋友写过一些文章介绍,但可能还不是很全面.我也多次被人问到,这里结合案例再次谈谈,希望对大家有所帮助. 本文范例代码可以通过这里下载 http://files.cnblogs. ...

  4. Tag标签系统设计

    转一篇关于tag的文章:  <Tagging: People-powered Metadata for the Social Web>出版于2008年,中文版译为<标签:标记系统设计 ...

  5. week9:个人博客作业

    团队作业(5) 以下内容多数是网上的内容,只是做了整合的过程. 要求 在PM 带领下, 每个团队深入分析下面行业的App, 找到行业的Top 5 (从下面的三个备选中,任选一个行业即可) 英语学习/词 ...

  6. Python开发中国象棋实战(附源码)

        Pygame 做的中国象棋,一直以来喜欢下象棋,写了 python 就拿来做一个试试,水平有限,电脑走法水平低,需要在下次版本中更新电脑走法,希望源码能帮助大家更好的学习 python.总共分 ...

  7. (2020行人再识别综述)Person Re-Identification using Deep Learning Networks: A Systematic Review

    目录 1.引言 2.研究方法 2.1本次综述的贡献 2.2综述方法 2.3与现有综述的比较 3.行人再识别基准数据集 3.1基于图像的再识别数据集 3.2基于视频的再识别数据集 4.基于图像的深度再识 ...

  8. 对C# 中Readonly的再认识

    C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景. 工作原理    readonly为运行时常量,程序运行 ...

  9. radio点击一下选中,再点击恢复未选状态

    radio点击一下选中,再点击恢复未选状态 实现方式1: <input   type="radio"   id="cat"   name="ca ...

随机推荐

  1. spring+rabbitmq+stomp搭建websocket消息推送(非spring boot方式)

    前言: 两年前做过spring+activemq+stomp的ws推送,那个做起来很简单,但现在公司用的mq中间件是rabbitmq,因此需要通过rabbitmq去做ws通信.仔细搜了搜百度/谷歌,网 ...

  2. vs中debug的一个小技巧 -- debug时忽略某段代码

    #line 这是C#中的预处理命令 Visual Studio 2008 Visual Studio 2005 Visual Studio 2012 #line hidden 指令对调试器隐藏若干连续 ...

  3. [2017.02.13] linux平台下统计C++项目文件个数和代码行数

    #输出排序后文件名 file='find . -name "*.[ch]" | sort' #统计文件个数 filecnt='find . -name "*.[ch]&q ...

  4. never下sqlcient

    [一]参数的输入 如执行update,我们写的代码应该是 sqlclient.Update(,, },@Name = "eee" }): 表示更新Id =1,2,3这三行的信息.这 ...

  5. 纯异步nodejs文件夹(目录)复制

    思路: 1.callback 驱动 2.递归所有需要复制文件 3.在一定阀值下并发复制文件 4.运行需要安装 async.js     npm install async 代码如下: var asyn ...

  6. vuex分模块3

    nuxt 踩坑之 -- Vuex状态树的模块方式使用 原创 2017年12月20日 11:24:14 标签: vue / nuxt / vuex / 模块化 / 状态管理 874 初次看到这个模块方式 ...

  7. linux下svn安装

    1.环境centos6.4 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve -d -r /www/sv ...

  8. appcan中evaluateScript、evaluatePopoverScript的使用

    1. 如果要在某个主窗体中执行JS,使用 appcan.window.evaluateScript(name,scriptContent) eg: appcan.window.evaluateScri ...

  9. F#周报2019年第27期

    新闻 介绍Femto--使用Fable绑定的自动化npm包解决方案 Babel 7.5.0发布,包含动态导入与F#管道 iOS 13预览版发布 视频及幻灯片 Fabulous--F#用于跨平台移动应用 ...

  10. PLT与GOT

    0x01  什么是PLT和GOT 名称: PLT : 程序链接表(PLT,Procedure Link Table) GOT : 重局偏移表(GOT, Global Offset Table) 缘由: ...