这一两周与几个朋友聊天,有年轻的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
,请勿用于任何商业用途)
Loading...
杂项资源
,
职场生涯
15年研究生毕业进入京东然后又加入蚂蚁,踌躇满志地准备在这干一番事情,然而因为对自己工作结果不满意冲动下选择离职来了银行体系,银行的工作模式和效率让我陷入了自我怀疑,这真的是我想要的吗,是继续在这还是再搏一搏,深深的焦虑和惆怅。
哪里有讲这些的书籍
“应用网关,服务发现、配置中心、健康检查、服务监控、服务治理(熔断、限流、幂等、重试、隔离、事务补偿)、Tracing监控、SOA/ESB、CQRS、EDA……这些东西”
我看到大家在讨论耗叔文中透露出的看待工作的价值观。
在我看来,大可不必。因为这篇文章面向的人群本身就不是大多数人,而是有一定天赋,却因为一些心理障碍或者环境因素导致没有更好的发挥才能的人。
我们的一生熙熙攘攘,如果能得先天眷顾,有了一些天赋,且仍旧想利用天赋做一些更有意义和价值的事情,那么这篇文章会给到你更多的启发和思路,前路漫漫,道阻且长。
若你本身更愿意过平静且安定的生活,那就尽量平衡好工作和生活之间的尺度,这篇文章你就当看一个平行世界的人生轨迹,给茶余饭后增添点谈资好了。
“整天在焦虑那些低维度的事(比如自己的薪水、工作的地点、稳不稳定、有没有户口……),只会让你变得越来越平庸,只要你站在更高的维度(比如: 眼界有没有扩大、可能性是不是更多、竞争力是不是更强、能不能解决更大更难的问题、能创造多大的价值……),时间会让你明白那些低维度的东西全都不是事儿。” 喜欢这句话, 对应届生非常受用, 自己限制自己是最可怕的
「应用网关,服务发现、配置中心、健康检查、服务监控、服务治理(熔断、限流、幂等、重试、隔离、事务补偿)、Tracing监控、SOA/ESB、CQRS、EDA……」这些我理解是分布式系统相关的,更广泛点可以说到研发生命周期(设计、开发、运维治理),CI/CD、Devops、Service Mesh等。个人觉得这与程序语言无关,我经历过的c++、golang团队(公司)均有成熟基础设施和框架,更重要的可能是去到大公司了解、学习这些。
其实作者想表达的其中一点很明显:发现自己,为自己而活;无论爱情还是亲人抑或其他,都不该成为人生的全部——这是一件很可怕的事情。这篇文章不仅谈方法论,也谈价值观,但我认为一部分人肯定是看不懂的,如果没有相似的人生经历和思维模式,那么语言就是苍白的,就像文章中前两个被限制的“小伙子”。所以这篇文章不会大抵成为引路的路标,但作者的经历和成熟的思想对于那些同路的后辈,价值非凡,比如本人。
我以前是前端。后来进基础架构部门写java,才发现 java 的水比前端深多了。看着 java 架构的复杂度,我想着尽管时间很多,自己也还年轻,但是也不可能全学完。于是扭头钻研工程效率去了。我认为对技术栈最好不要有偏好,而是应该对某个技术领域有所发展。
34岁的门槛年龄,目前在二线城市,拖家带口,还要不要去深圳拼一把呢?看了文章,感觉很有感触,自己不仅是一个妈妈,还是自己,周围很多人都说,你要找一个能照顾家庭的工作,放弃事业拼搏,但是我一直想有自己的事业,想积极的向上发展,想出去,但是感觉走不出去,有时候很纠结……
耗子叔说的很对,翻墙可以参考这个教程,用了一年多也还是很稳定。。之前老是容易被墙掉。
https://smalltechnologyjun.com/2022/08/15/vpn-vpn/
Pingback:
Android 性能优化必知必会(2020-5-16) - 内存网
程序员技术练级攻略
“火柴棍式”程序员面试题
简明 Vim 练级攻略
“作环保的程序员,从不用百度开始”
TCP 的那些事儿(上)
AWK 简明教程
做个环保主义的程序员
编程能力与编程年龄
二维码的生成细节和原理
sed 简明教程
如何学好C语言
如何超过大多数人
技术人员的发展之路
疫苗:Java HashMap的死循环
由12306.cn谈谈网站性能技术
缓存更新的套路
应该知道的Linux技巧
别让自己“墙”了自己
TCP 的那些事儿(下)
分布式系统的事务处理
无锁队列的实现
“21天教你学会C++”
Lua简明教程
如何写出无法维护的代码
性能调优攻略
MySQL性能优化的最佳20+条经验
6个变态的C语言Hello World程序
Docker基础技术:Linux Namespace(上)
28个Unix/Linux的命令行神器
我做系统架构的一些原则
业界新闻
(33)
企业应用
(2)
技术新闻
(38)
技术管理
(19)
技术读物
(125)
操作系统
(97)
Unix/Linux
(81)
Windows
(12)
数据库
(11)
杂项资源
(295)
流程方法
(48)
程序设计
(110)
系统架构
(15)
编程工具
(67)
编程语言
(326)
.NET编程
(3)
Ajax开发
(9)
C/C++语言
(74)
Erlang
(1)
Go 语言
(15)
Java语言
(32)
PHP脚本
(11)
Python
(23)
Ruby
(5)
Rust 语言
(1)
Web开发
(106)
网络安全
(36)
职场生涯
(40)
趣味问题
(19)
轶事趣闻
(147)