别让自己“墙”了自己

别让自己“墙”了自己

这一两周与几个朋友聊天,有年轻的90后,也有大叔级的70后,这些人在我看来都是很有能力的人,但是一些喜好过于强烈,让我不经意地回顾了我工作20年来身边的人,有发展得好的,也有发展的不好的,有些人是很可惜的,因为限制他们的不是其它人,也不是环境,而是自己,所以,很想写下这篇文章。(注:这篇文章可能会是一篇说教的文章,所以,可能会让你看着犯困,所以,我会尽量地短一些,而且尽可能多讲故事,少道理,这里的故事,全是真实发生的)

几个故事

2019年年初,我面试了一个很年轻的小伙子(93/94年出生),这个小伙子特别有灵性,也很聪明,计算机专业出身,也很喜欢技术,基础和学习能力也很好。在我这20年来认识的人中,如果他能呆在北京、上海、深圳这样的城市,我保证不出三年,他会成为他们同龄人中非常出色的技术人员,如果有个好的舞台有一个好的团队带他,他的未来会非常成功。然而,这个小伙子有两大喜好:1)只愿(或是说被迫)呆在一个毫无IT的环境的三/四线城市,2)对技术有非常大的偏好,只喜欢Go语言,非常不喜欢其它的语言,比如:Java(离开Java的世界,基本上离开了做架构的世界(相关解释见文末))。

他的这两个喜好,足以让一个未来会很优秀的人毁掉,因为,这个时代没有限制他,他的能力也没有限制他,但是他的意识完完全全地限制了他。

  • 他把自己最宝贵的青春放在了很烂的项目上,就算能用一些新的技术,他也只能算是自娱自乐,在实验室中玩玩具罢了。
  • 他把自己的技术栈封闭起来,而直接放弃了这个时代最具工业化的技术Java,对于一个好的程序员来说,同时掌握几门语言和技术完全是没什么问题,但是自己封闭了自己的视野。

实在是非常可惜,我本来是可以为他介绍到一些很不错的公司的,但是他这样的习性,等于自己把自己未来的门给关上了,虽然我跟他长谈过,但是我也没有办法叫醒不想醒的人……

  • 视野、环境和舞台,对一个人的限制是非常大的。井蛙不知道大海,被空间维度所限制;夏虫不知道冬天,是被时间维度所限制;圈养的动物没有斗志,是被自己意识所限制。
  • 偏见和不开放,对一个人的限制是真正有毁灭性的。主动让自己成为一个瞎子和聋子,主动把自己的能力阉割掉,这是一件令人痛心的事。想想大清的闭关锁国是如何让亚洲第一的北洋水师给毁掉的……

我还有个同学,他的技术并不差,就算呆在昆明这种很落后的地方,他也非常地好学,学习英文,学习各种新技术,对技术没有任何的偏好,喜欢C/C++/Java/Python/Shell,同样喜欢前端Javascript,对基础知识非常地踏实,他在技术上没有限制自己的潜力,有什么就学什么。后来,我带他玩Docker/Go/K8S……分布式架构,他也上手的很快……像他这样的人,技术能力完全没得说,比我还大一岁,44岁了,还是一样的天天追代码细节,看Youtube的各种大会,翻github里的各种issue和pull request……

我同学这人,拥有了成为一个技术牛人几乎所有的条件:基础知识过硬,细节扎得深,面很广,学习能力强,有英文能力,逻辑思维能力不错,非常的自律,执行力也很强,抓得住重点……然而,只有一个小问题,就是没有到大公司历练过,我三番五次叫他从昆明出来,但是最终他都呆在昆明这个城市没有出来,因为有所谓的家庭约束。然而,我身边还有好些人,把自己家从北京搬到上海,从上海搬到深圳,从厦门搬到深圳……这样的人大有人在……像他这样的能力,在哪个公司都会是主力和骨干,对于一个公司的主力和骨干来说,家庭上的这些问题都是小问题都是有很多解的……

另外,我这个同学还是一个比较悲观的人,任何事情都是先想到不好的事,他关注负面的东西会胜于正面的东西,而且他还有一定的社交恐惧,怕与人相处和交流,时间越长越害怕,甚至有时候直接跟我说,“我就是不想改变”这样的话……其实,我以前也是一个很害怕与人交流的人,面试的时候,我根本不敢正眼看面试官一眼,也不知道与人怎么交流。但是,我与他不一样,我努力克服,不断地面试,与人面对面的交流,到一线技术客服接用户的电话,在公司里做分享,慢慢地到外面分享……3-5年就完全克服掉了。

其实,很多事情,完全是有解的,也没有必要担心,自己的心理障碍也是可以克服的,重点就是自己愿不愿意,只要愿意完成了一半,接下来就是不断的摸爬滚打坚持了。

  • 不限制自己的人,会穷举各种方法来解决问题,限制自己的人,只会找各式各样的问题或借口。
  • 不限制自己的人,会努力改变自己的问题和缺陷,限制自己的人,会放任自己。

另外几个故事

我还有另外几个故事(活到四十多,能看到好多人十几年的发展过程,感觉有点上帝视角了)

我还有一个以前团队里的一个小伙,人是很聪明,但就完全就是野路子,他对技术没有什么偏好,一个PHP程序员,做那个Discuz!论坛,公司被并购了,转成Java,开始研究Java的各种细节,对技术从来没有什么偏见,有什么就玩什么,每做一个项目,就算是一样的他都要用新的技术做一遍,然后跟着我做云计算,我教他TCP,教他C/C++,后来一起玩Docker/Go,等等,反正是一点就通,他是我见过学习能力最强的人。但是,有一个事他一直与我的想法不一样,就是我希望他先把软件设计好,再写代码,他非常不能理解,他习惯于直接动手开干,然后有什么问题就整什么问题,我也很难教育他。

有一天,他电话面了一下Facebook,电话面了15分钟后对方就放弃了,他受到了严重的打击。然后,他就开始找菲利宾人练英文口语了,我也让他做算法题,然后,他才发现,一道连算法都不是的纯编程题都提交几次都过不了,等他做完了Leetcode最初的那151道题后,整个人都改变了,写代码前认认真真地在纸上把程序的状态,处理时序以及可能遇到的一些条件先罗列出来,然后,进行逻辑设计后,再写,从此,他就开启他更大的天地了。我后来把他推荐给了微软,先在中国的Bing,在中国升好2-3级,然后去了美国的Azure,现在听说他准备要跟 k8s 的 co-founder Brendan Burns 混了(虽然,他现在还在印度人手下,但是,我真的不知道他未来能玩多大,因为今年他才33岁,而且非常聪明)

他以前是把自己封闭起来的,我叫他出来,他也不出来,后来因为一些办公室政治的原因不得不来找我,于是我就带着他玩了两年,跟他讲了很多外面的世界是怎么玩的,他这个人也是一个相当不善于社交的人,但是心是开放的,愿意接受新的东西,虽然对技术也有一定偏见,比如不喜欢Windows,但是也不会不喜欢到完全封闭。后来我跟他说,微软的技术相当的强的,你看到的技术只是表面,深层次的东西都是相通的,直到他到了微软后发现各种牛逼的东西,对微软系统的技术的态度也有了改变,而且我让他跟我说很多微软那边的事,我发现,他对技术了解的维度已经是越来越高级的了……

还是我以前团队的一个小伙,他是一个前端,他说前端的东西没什么意思,想来找我做后端,我也一点点带他……后来,我说,你如果想要玩得好,你必需来北京,无论现在你觉得过得有多好,你都要放弃掉,然后,尽最大可能出去经历一下世界最顶尖的公司,我甚至跟他说,如果他女朋友不跟来的话,就先分开一段时间,先自己立业,他来北京的时候,他之前的同事都等着看他的笑话,我说,那些人连想都不敢想,不必管他们。于是,他去了Amazon,再过了一年去了西雅图,我跟他说,接下来就是去AWS,然后,如果有足够的野心,用自己的年轻这个资本去硅谷创业公司赌一把……未来他怎么样我不知道,但至少他没有限制自己,他的未来不会有封顶……

也是我的同学,我跟他在大学是上下铺,后来他去了人民大学读计算机博士,大学的时候做国产数据库kingbase,然后去了一家外企,天天被派到用户那边做数据分析,后来,他想回科研单位做国产数据库,我说,别啊,你的技术比我好太多,还有博士理论加持,你不去国外顶尖公司玩玩,你不知道自己有多强的,于是他跟公司申请去了国外做核心,后来因为Hadoop的原因,公司的产品最终成为了历史,于是我说,你来了美国么,你一定要去AWS,于是他就去了AWS的Aurora团队,成为了AWS明星级产品的中坚力量,天天在改MySQL的核心源码,干了两年,正在晋升 Principal Software Engineer ……

这里我到不是说出国有多牛,也许你只关注能挣多少钱,但是我想说,他们之所以能有这样的际遇,除了他们本来就有实力,还更因为他们从来不给自己设制什么限制,就是那种“艺多不压身”,有什么就学什么,有更高的就去向更高的迈进,其它的像家庭什么的问题其实都是会有解的,真的不必担心太多……

 别限制了自己

上面的这些故事,也许你能看得懂,也许你看得不一定能懂,这里,让我来做个总结吧

  • 做有价值的事。这个世界对计算机人才的要求是供不应求的,所以,不要让自己为自己找各式各样的借口,让自己活在“玩玩具”、“搬砖”和“使蛮力加班”的境地。其实,我发现这世界上有能力的人并不少,但是有品味的人的确很少。所谓的有价值,就是,别人愿付高价的,高技术门槛的,有创造力的,有颠覆性的……
  • 扩大自己的眼界,开放自己的内心。人要变得开放,千万不要做一个狭隘的民族主义者,做一个开放的人,把目光放在全人类这个维度,不断地把自己融入到世界上,而不是把自己封闭起来,这里,你的英文语言能力对你能不能融入世界是起决定性的作用。开放自己的心态,正视自己的缺点,你才可能往前迈进。你的视野决定了你的知不知道要去哪,你的开放决定了你想不想去
  • 站在更高的维度。面的维度会超过点的维点,空间的维度会超过面的维度,在更高维度上思考和学习,你会获得更多。整天在焦虑那些低维度的事(比如自己的薪水、工作的地点、稳不稳定、有没有户口……),只会让你变得越来越平庸,只要你站在更高的维度(比如: 眼界有没有扩大、可能性是不是更多、竞争力是不是更强、能不能解决更大更难的问题、能创造多大的价值……),时间会让你明白那些低维度的东西全都不是事儿。技术学习上也一样,站在学习编程语法特性的维度和站在学习编程范式、设计模式的维度是两种完全不一样的学习方式。
  • 精于计算得失。很多人其实不是很懂计算。绝大多数人都是在算计自己会失去多少,而不会算会得到多少。而一般的人也总是在算短期内会失去什么,优秀则总是会算我投入后未来会有什么样的回报,前者在算计今天,目光短浅,而后者则是舍在今天,得在明天,计算的是未来。精于计算得失的,就懂得什么是投资,不懂的只会投机。对于赚钱,你可以投机,但是对于自己最好还是投资。
  • 勇于跳出传统的束缚。有时候,跳出传统并不是一件很容易的事,因为大多数人都会对未知有恐惧的心理。比如:我看到很多人才都被大公司垄断了,其实,有能力的人都不需要加入大公司,有能力的人是少数,这些少数的人应该是所有的公司share着用的,这样一来,对于所有的人都是利益最大化的。这样的事现在也有,比如:律师、设计师……。但是,绝大多数有能力的技术人员是不敢走出这步。我在2015年到2016年实践过一年半,有过这些实践,做“鸡”的比“二奶”好多了,收入也好很多很多(不好意思开车了)……

庄子说过几句话——

井蛙不可以语于海者,拘于虚也;//空间局限

夏虫不可以语于冰者,笃于时也;//时间局限

曲士不可以语于道者,束于教也。//认识局限

别自己墙了自己,人最可悲的就是自己限制自己,想都不敢想,共勉!

————————————————————

注:这篇文章就是要劝大家更为开放,让自己有更多的可能性,能到更高的层次,做更有价值的事,成为更强更好的人……当然,如果你觉得你只想做一个平凡人,也和本文并不冲突……另外你也不要觉得这篇文章是让你要成为一个精英,但你一定要去摸高……这篇文章是告诉你一种面对人生的思考方式,在这种思考方式下,你会有更多的可能性,更大的场景……而不是直接把自己归到“平常人”,把自己“墙”了!

注:我以为用Java适合做架构这事应该是常识了,但是评论中有很多人非常反对这个事。那我解释一下吧:首先,小型的项目用什么语言都行,爱用什么用什么。但是,真正的企业级架构就不一样了,其中并不仅仅只是RESTful API或RPC,还有各种配套设施和控制系统,比如:应用网关,服务发现、配置中心、健康检查、服务监控、服务治理(熔断、限流、幂等、重试、隔离、事务补偿)、Tracing监控、SOA/ESB、CQRS、EDA……这些东西在非Java的技术栈体系内,很难看到全貌,Java强大的生态环境,就是让你把注意力放到更高层次的架构和业务上来的。(千万不要觉得,整几个服务RPC一下,加个缓存,加个队列,就能叫架构,那只是系统集成罢了)

(全文完)

(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)

好烂啊有点差凑合看看还不错很精彩 (482 人打了分,平均分: 4.68 )
Loading...

别让自己“墙”了自己》的相关评论

    1. 世界第一难说,但亚洲第一是肯定的。历史事件复杂,难以以偏概全,但是,为啥这篇文章你只纠结这个呢?

  1. 精于计算得失
    这一节我觉得可以去掉或者改一改,因为容易让人误解。能够区分长短期利益,知道投资和投机之分的人,这一条不用解释。但对于不知道的人,看到这个可能会让他们更加专注于短期利益

  2. 架构是一个很大的世界,java 只是其中一个比较大的“流派”。没有拒绝 java 包括其他任何语言的意思,只是我感情上不接受您这样的说法“离开Java的世界,基本上离开了做架构的世界”, 您这样写带有对 java 的“偏爱”, 也会让看的人产生误解,在您的工作中可能是以 java 为核心的技术链,但这并不代表java是世界的中心。而且您这样写会导致一些极端的人“专精” java 而拒绝其他语言,这也违背您的初衷。

  3. 作者眼光窄的可怕。
    人各有志,非要别人按你的想法活,否则就是不智、封闭、偏见、悲观、限制自己、浪费…… 你想过有多少人不按你的想法活也一样非常快乐吗,你活在世上是为了什么,想清楚这个问题再评价按自己想法活的人的时候……你就不想评价了

    1. 幸亏看到你的评论,差点的被作者“洗脑”了。当然,也说明文章有可取和文字力量。

    2. 作者自我主观太强,如果多读一些类似《基业长青》的书再写本文会好些

  4. 非常受用。
    我文化程度不高,只到初中。现在以人力外包的形式在杭州滨江一家一线互联网公司,主要会用到 C/C++,个别场景会用到一些前端的技能。
    2010年到2014年之前自己只是一个小公司的售后技术支持。但因为热爱毅然决然的转向开发类的岗位,自己潜心研究脚本到报名去培训机构接受正规的计算机相关教育。发现自己英语不行报名新东方实体课,每周 1、3、5 下班后去实体课学习,2、4、6 回家背单词学语法,直到现在阅读没有任何障碍、日常交流对答如流。
    一样,我没有觉得自己年龄或者学历限制了自己,只要肯学习,愿意花时间去学习一样是可以变的优秀。
    我知道这跟一些一线互联网公司的杰出人才还相差很远,但我相信只要视野足够广阔、愿意付出时间去学习,都不是问题。

  5. 就是呢,你可以说你自己很快乐,很成功,很失败,你说自己啥都可以,那对你来说,都是客观的。但是你要发表看法说别人的时候,就要说何时何地何事,这是客观的,但是你要说人家何时何地很快乐,很成功,很失败,这就主观了。

  6. 谢谢耗子叔的建议,虽然对于 Java 的那一段不太认同,但是从业多年,我觉得有两件事情很重要。一是不要限制自己,现在如此开放 的 IT 领域,只有不想学,没有学不会的。可能持续学习最新的技术,是 IT 人一生的宿命。二是做高价值的时期,去能产生高价值的地方,不一定非要大公司,但最好是在行业的最前沿,采用最前沿的技术,做壁垒最高的事情,或者能赚钱做多的事情。当然选好了方向也需要专注,别左顾右盼。对于有好奇心的人来说,这很难,但是不放弃一些技术和领域,就很难在自己的领域专注而赚到大钱。

    1. 的确,很多时候能赚钱养家的工作可能是大公司一个很技术的工作,而很技术的工作常常又不够宽裕。

  7. 很有感触,我自己也是什么都学,什么都想做,现在也31岁了,也在天天学英语,准备接下来再把基础的东西夯实夯实

  8. 做Kingbase那哥们还是senior engineer并不是principal engineer。在AWS两年多能从senior升到principal不是很现实。

    1. 嗯,是我问题,上次跟他聊的时候,他说老板天天催他提升晋升PE的材料……应该是在晋升中……

  9. 耗子哥你说的都对,但是只适合那种计算机专业科班出身或者985、211毕业的并且年轻的学霸们啊….像我这种30岁的非计算机专业,只有大专文凭、天赋也不算高的拿什么资本进大公司呢?如果进不了大公司,那只能进外包或者小型公司,在一线城市做外包和我在济南这种三线城市有什么区别呢?都是增删改查,面向谷歌甚至百度编程…我虽然坚持学习基础知识、C语言,但是理想很丰满,现实很骨感…即使我基础够扎实了,算法 、数据结构熟练了具备大公司的招聘要求了,但是人家会要一个大龄半路出家的程序员吗? 如果我是人事,我也不会要的…人生就像打游戏,开局很重要,开局没打好,后期付出10倍的努力也很难… 我现在很迷茫…

    1. 说白了就是你的简历怎么写的问题,如果刚毕业,你的简历要有好的学校,如果没有,你有没有考虑过去上个学,读个研?另外,你在小城市,没有好的项目,你有没有想过去加入和参与一个知名的开源项目?这个可能比加入大公司更难。另外,你有没有想过到大城市的一个中游公司开始?(我当年是从外包开始的)你有很多很多的路,现在的世界也足够的开放,如果你没什么包袱,如果你对自己有信心,你应该更激进一些。

      1. 如果他家里父母健康,车房齐备,夫妻感情稳定,存款过了 8 位数,那么他应该可以去花几年时间读个研。

  10. 迷茫期,看看皓哥的博客,又有了前进的动力。不给自己设置限定,带着开放的心态,保持终生学习的态度,我可能不是聪明的人,但是 我想成为自己想成为的人。

  11. 坚持按耗子叔的推荐路线学习,前面真是要抓狂,现在稍微好点,但是仍然感觉没什么明显的进步,虽然知道要深耕很多年,但是还是想问一下耗子叔前面这种较低的正反馈正常吗?

  12. 读了几遍,想到一个问题:程序员的核心竞争力是什么?
    换句话说:如何能保证自己在35岁之后不被裁?写到这,隐隐约约感觉答案是放之四海而皆准的一句话:足够厉害就不会被裁了。
    那么就又回到了开头那句:核心竞争力是什么……

  13. 作为前辈,你的有些观点确实是很开放,比如不要给自己设限,去更大的世界闯荡什么的,但是也有一些观点相当片面(被大家喷过的,我就不说了). 所以这文章在我看来,算是褒贬参半的吧

  14. 今天38了,一线码农;刚开始站在模式的维度去学习……坚持快两年了……还在努力……

  15. 你好,我是个平庸的程序猿,在北京工作过几年但不是大厂,后来去日本被外派做java编码和测试,去年来了三线城市做java,c++编码,
    很欠缺系统整体的理解,由于错误决定失业了,现在有去日本做派遣拧螺丝或者留在三线城市找编程工作或者转行的3个选择,编程能力一般,有点舍不得转行荒废了编程技能,周围不同人的建议大不同,快36了,仍单身,该怎么走下去异常难以抉择,
    敬请给一些忠告?谢谢。

  16. 从三线城市来北京,就是想看看自己能有多少本事,能收获多少,创造多少。

  17. 喜欢技术,技术好,就一定要来北上广深挤地铁、堵车、加班吗?单纯地喜欢做爱(并且就偏好某个姿势,就不喜欢玩儿花样),不想要怀孕生孩子。难道不可以吗?自己喜欢自己的生活方式就好了。

  18. 看了你的文章受益匪浅,作为一个80末,慢慢的也感到中年危机了,前4、5年转行做了Java,自己独立带团队做过电商项目,虽然核心代码,数据库设计,支付,订单这些是自己完成的,但是始终觉得自己只是停留在会用的阶段,目前在一个半互联网企业做主管,不想混日子,自身的技术栈就Java只能说会用,C#,Python只懂基础,不知如何发展,请浩哥给点建议,谢谢

  19. 虽然感觉windows也有很多还不错的设计,但是还是感觉windows不够开放。我觉得windows很牛逼,也觉得linux很好用。工作了一段时间,越来越觉得英语是非常重要的能力,不然总像是在井里看世界。

  20. 我们总是高估了一天能做的事,但是却低估了一年能做的事,只要坚持下去,肯定会有结果的,不要自己限制了自己,共勉。

  21. 本来想转行做别的,突然又激起了我在编码路上坚持下去的欲望,虽然这种情绪可能也就能够持续一会。作为一个刚毕业一年的小白,其实很迷茫现在自己到底要过什么样子的生活。是回老家三四线城市结婚生娃还是在一二线打拼,然后看着水涨船高的房价。都说年轻人应该留在一线城市,但是有一种它乡容不下灵魂的感觉。

  22. 以后还是不要学计算机了,对大部分人来说,在社会上的培训面前,四年本科教育的优势微乎其微。其他行业35岁正是年富力强的时候,it行业已经到了职业生涯尽头了,更何况还有996, 如果学计算机,也要出国工作,远离天朝。

  23. 从前同事那儿知道了左耳朵耗子,后来有意无意的去看一下耗子叔的文章,确实很有帮助。现在IT行业好难做啊,对技术的认知程度,对年龄的要求,甚至对三(che)观(dan)都有要求。eg:哥们儿之前去一个公司面试,技术面都通过了,结果最后跟hr谈薪资的时候,期望25,hr只给18,说大天也是这,LZ不同意就没过去,最后hr说LZ价值观跟他们公司的不一致,割了。。。不是LZ心口开价,我的期望薪资就在他们招聘信息提供的范围之内。sun,写着写着成了老太太的裹脚布。。。

  24. 有个问题:在不出国的前提下,怎样找到各种人(尤其是印度人)练习英语听力和口语呢?(我知道练习听力可以看 YouTube,但是基本上都是美式或者欧洲英语,我找不到印度人的……)

  25. Some people are introverts. They need some push to open up themselves. Inspirational persons and articles may be useful for them. Gaining more knowledge may increase confidence in them.

  26. 评论里啊,首先追求不同就别说了,陈皓老师说的是对编程技术有追求的人;其次,到底要不要坚持,凭自己内心的感觉,自己喜欢做什么都不知道吗?是喜欢写代码创造产品还是喜欢销售与客户打交道;怎么提高自己,努力和坚持,技术低才会迷茫。
    顶尖公司里必定聚集着一群顶尖的人才,还有牛x的项目,对技术人员有着天然的培育作用,开阔眼界,提高技术。所以,如果想在编程上有所作为,那就去大城市,去大公司。

  27. 我倒是很理解也很欣赏窝在所谓二三线城市(昆明)的那个人,我觉得他是真正懂得生活的人,这样的人可以把技术做好。而在一线城市的码农基本只有被资本家剥削压榨的命运,这样是杀鸡取卵式的,会把人的创造性和天赋毁掉。

  28. 纯“技术”角度,不能说这篇文章没有可取之处。但角度不妥,不能用这种“人生导师”的口吻来写,更不应该把朋友的信息提供得这么具体。“技术”从来都不是生活的全部,“事业”也不是,甚至都不一定是重点。当你在生死关口走过来回之后就知道了,这一点上我要说能“指导”某些人倒是当之无愧。

  29. 第一 为什么所有考虑问题都要站在发技术发展到最好来考虑呢。文章先选定了一个角度,然后说要站在这个角度的最高维度来看。然而人生是多维度的。
    第二就是即使站在“高维度”来看,也未必能达到想要的结果,受机遇,行业环境,自身教育程度影响很大。我相信比博主聪明,路线正确的人很多,达到博主成就的很少。

  30. 看到了自己的影子,感觉挺受用的,大部分比较认同

    有没有相关群,提供比较激进的想法,更多的例子优秀的人是怎么样做的?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注