别让自己“墙”了自己

别让自己“墙”了自己

这一两周与几个朋友聊天,有年轻的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 ,请勿用于任何商业用途)

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

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

  1. 写的很好,各种各样的例子,能看到一点自己的影子,谢谢!不过还是要纠正下错别字,现在经常能看到大家把 待->呆

  2. 讲的很不错,关于您那位昆明的朋友,有一点不能认同,家庭是一份责任,而不是一种束缚,这是对于他来说最正确的选择……

    1. 认同,除了眼界我觉得跟个人选择也有关系,可能别人不是没看到你说的把自己墙住了,而是他所追求的东西就不一样,你投资的是事业而他投资的是家庭。当然在这要给你点赞,文章写的很好。

  3. 关于编码之前先思考这个问题,这个别人不提醒,有时候自己很难发现的一个问题。提高算法能,以及有一个高效做事的思维方式,确实是很有必要。

  4. “他是一个前端,他说前端的东西没什么意思,想来找我做后端,我也一点点带他……”
    请问下您是如何一点点带他了,我也想做做后端

  5. 上次在北京见过大神,但是我算法一直不好,根本原因是数学很差,高考数学刚及格,总是没悟性,做了13年技术了,感觉总是上不去,是不是该转管理了,但总感觉管理很虚,公司也要不了那么多管理,很容易失业,唉中年危机很严重

  6. 去年订阅了极客时间耗子叔的专栏,今年一整年在学习基础技术和英语

    1. 学习基础知识和做好现在技术栈同步进行,互相参照,基础解释上层,上层实现基础。两者没冲突,这样才能真的抓住本质,从量变到质变。个人想法。。。

  7. 受益匪浅,刚好丧失斗志目标在犹豫要不就混吃等死的时候,看到耗子叔的文章,又打起精神了,不能限制了自己!愿得韶华刹那,开得满树繁花。继续努力?

  8. 关于家庭和事业的选择,可能不同的人选择不同吧,我并没有觉得这两个有孰优孰劣之分。
    就事业而言,一个人能取得多大的成就最起始的根本点取决于志向有多远。但不是说立大志就能成功,例如刘邦和项羽的结局就可见一番。对于做事而言,应该先是尽人事,然后再是听天命吧。
    家庭问题,我觉得应该以和为贵,父母,兄弟,夫妻当相敬爱。少一些自我成见可能交流就会顺畅一些吧。
    皓叔这篇干烈的鸡汤我干了。

  9. 很有收获,但话说回来,人生的意义不在于“用自己喜欢的方式过一生”么?个人觉得大可不必用“毁掉”之类的字眼,或许人家就很开心呢。

    1. 谢谢建议!我“用自己喜欢的方式过一生”挺好的,但是本文提到的这些人都不是过的很开心。另外,使用“毁掉”就是为了让人惊醒,我觉的必要的。

  10. 好文,散发光辉!鸡比二奶好,这话太对了,自由真的是个好东西。有时候女朋友就是那堵墙,买断你的时间和精力。

  11. 关于做一个什么的人,其实是一个很大的话题,也是一个很难有一致观点的问题,但我想提供另外一个思路。首先借用<钢铁是怎样炼成的>里一句名言:

    “ 人最宝贵的东西是生命,生命属于人只有一次。 人的一生应该是这样度过的;当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻”

    然后,再举几个例子,马云说他最后悔的是创建了阿里巴巴,李开复在得病后也才意识到除了工作卖力,其实还有很多事情更重要。

    再然后再举个数学家例子— 格里戈里·佩雷尔曼https://zh.wikipedia.org/wiki/%E6%A0%BC%E9%87%8C%E6%88%88%E9%87%8C%C2%B7%E4%BD%A9%E9%9B%B7%E5%B0%94%E6%9B%BC?wprov=sfti1,还有费曼说过,” I have no responsibility to live up to what others expect of me. That’s their mistake, not my failing.”

    我想说啥呢?或许地位,名誉,金钱能让你获得他人认可,但你又有什么让自己认可的呢?无论是在边陲小镇,还是一个小公司也能活出自己的价值吧,你要让自己满意而不是他人。庄子也说过,”日出而作,日入而息,逍遥于天地之间,而心意自得。”,或许甘于平凡,也是一种人生境界。

    进入名校,进入大公司,学习出类拔萃等等,这些都是所有人渴求的,但如果能意识到成功者偏差,即使按照比尔盖茨亲口所说的路子走,你也无法称为比尔盖茨,或许早点认识自己,也会活得更加踏实坦荡。

    最后我想说善待自己,善待生活,精英只有1%,如果你不是,为何不接受这一点,如果你只有喜欢go那就在家好好玩go,管它java如何架构,因为当你诚惶诚恐两个都去研究时,或许两者都玩不好,没有啥比热爱更重要,当然你有精力都去玩,也没人拦着你,不要怀疑自己,做自己认为的对的,然后坚持就好。

    1. 虽然你说的没错。但是我也并不觉得你说的对。因为,只要人一旦有这样的想法,就可以随时随地给自己找到借口,并会在遇到困难遇到瓶颈的时候主动地把自己归到“平常人”,成为了我文中的那个把自己墙了的人。只要假以时日,就能成为一个老老实实,每天按部就班没有太多可能性和选择权的任人呼来唤去的老黄牛……

  12. 皓叔,你好,订阅过您的专栏,极大地开阔眼界,里面推荐的阅读也是干货满满,比如刚好近段时间重温c/c++的期间,结合编程范式中的泛型,真的是一把各种解锁的钥匙,非常感谢!关于”墙”这个话题,我也想聊聊我的经历,16 年毕业的,工作至今也是将近 4 个年头了,第一次设墙是用专业(电子信息工程)给自己设的限制,大三的时候,有两个机会选择: Java 还有嵌入式,因为专业比较贴近嵌入式的,课程设计做过 Java 的,非常简单地接触一些,然后初步想法也是,如果快点找份工资高点的工作的话,Java 这条路会很好走,但还是觉得嵌入式相对进入门槛高些,又有相关的技术背景,就很快地自己选了嵌入式方向的。第一份是大四在深圳实习 Android BSP(驱动相关),后面主要是因为实习的薪资难以维系继续的深圳生活,三个月后到广州一家是以算法工程师的职位招我进入的,但进去前段时间主要是搞linux 系统移植相关的工作,后面快要毕业了,觉得公司刚组建的研发,自己初出社会很多都很虚,也没人带领或培训啥的,学校的三方所在公司也不好处理;于是差不多是 3 个月后又到了现在这家公司从开始实习开始了,当时招我是嵌入式软件开发工程师,这样一晃就 4 个年头了,刚进去一年搞过几个嵌入式的小功能,而后让我试下开发个很简单的 Android 控制应用,年底演示领导感觉还可以,于是开始让我搞 Android 应用开发,主要是控制设备的工具,主要是开发了两个很简单的应用;随后一年后又有个新的关于 Android 终端的应用,基本上从硬件到软件要全部搞一套的那种,因为部门里只有我一个人搞安卓的,前期的一些方案验证什么的全部要一起探究去搞,期间继续招相关的人,后面方案定的差不多了,相关的模块人员也招的差不多了,后面的一年主要让我负责选型第三方智能语音引擎(sdk)开发配套的智能语音的应用。两年过去了,产品初步成型,功能样机发布完成,主要剩下对接内容。然后今年年中上层决策该业务暂定,我开始了维护之前业务相关的工具软件,一个vc++ 写的,一个 c#写的,主要修复下之前的 遗留问题还有加一些新功能。然后,相对的我就开始迷茫和慌了,这四年来基本上感觉基本没什么技术方面的沉淀,今年也开始有点像一个不会游泳的人掉进池塘里想拼命地抓住一些东西,此时的心态已经开始慌忙且急躁的了,期间也有加紧看一些书学习,但主要是和工作比较贴合,就工作要用什么,先加紧学习拿来用。但我仿佛已陷入某个恶性循环。不好意思,说了一大堆,如果可以的话,皓叔能够给点建议吗?

    1. 我相信嵌入式也有很多有趣的事,但是,我不知道你有没有追逐我说的有价值的事了,比如:付费更高的事,更有颠覆性的事,能解决更大的问题的事……如果不在这些场景上,你就一定会是干什么都觉得没劲都焦虑……

      1. 好的,多谢皓叔的回复。我也反思了下,或许也是因为将公司的业务发展和自身的发展结合得太深了吧,以完成公司的某项任务或业务为目标地去学习相关的知识,接手任务的频繁切换,我积累过程也就显得杂乱无章,没有一个相对有深度和意义的正向积累,甚至有时候入门仍未达到就中途被 cut 掉了,就类似于在河边那个个不是很深厚的底子的篮子,啥鱼跳上来都想往里装,要不压根装不下,要不暂时装下也就溜走了……再次感谢皓叔,会回去调整好自己的方向,继续前行的。

  13. “昆明这种很落后的地方”。还好文章基本是在技术圈流转,如果更多非技术圈的昆明老乡看到,估计会给左老师扣一个地域歧视的帽子。

  14. Java是目前我看到的最好的工程化语言,没有之一。Go语言虽然简洁,但是轮子的数量相对来说有点少。

    所以我同意如果做架构设计,还是选择Java吧。

  15. 好吧,感觉我们云南的IT环境好忧伤。之前在重庆呆了3年,感觉没什么进步,家人建议我回昆明找个工作,离家也近。但是自己感觉昆明IT环境不好,自己回去估计成长不会太好,不甘心就这么一辈子了。于是今年年后,狠下心来,来到上海。虽然现在不在什么大公司,但是半年多来自己的见识已经好太多了,希望自己坚持下去,不断思考,不断践行,以后能与更多优秀的人共事。

    1. 嗯。如果不行,再回老家,但是你已不会后悔。后悔通常发生在自己没做的事,而不是自己做不到的事。

    1. 你自己想想,相信了,你就会多学一门技术,不相信了,你可能就少了一块技术,自己琢磨吧。

      1. 多学一门技术?不,只是多学一门语言而已。
        JAVA这门语言能实现的技术,其他语言也或多或少都能实现,不仅如此,JAVA其自身的局限性更容易造墙。
        世上编程语言那么多,Python,C系,PHP,JS,Go,太多太多;还有那么多强大工具,Docker,Kubernetes,等等。多学几门语言或几种工具并不等于多学了几门技术,只是绕过编程巨坑的一条捷径而已。
        为什么在你这JAVA就成了唯一能通往天堂的歪脖树?

  16. 可以对 “离开Java的世界,基本上离开了做架构的世界” 这句话有更详细的解释吗?
    是因为工具链丰富还是因为使用广泛?以及Go的发展真的无法取代Java?随着微服务的发展,语言的选型依然像今天这样重要?

      1. 文章已拜读。对于 Java,我能看到的是它有 J2EE 这样的工业标准,有利于业界按照统一的标准开发。
        我想表达的意思是微服务时代,服务取代函数成为基本调用单位,语言是否依然重要?像 FB 之类的公司并没有用 Java 技术栈,又当如何看待?
        文中对于 Java 和架构的关系一句带过,却没有给出推导过程。我觉得Java 确实稳定,但这在另一方面代表着这语言已经死了,而且还存在许许多多其他的问题,为何在未来不会有超越 Java 的语言诞生?是因为遗留系统重构成本大?文中处处提到不要给自己建墙,执着于某种语言是否也是给自己建墙?

        其实之前我也订阅了耗子叔的专栏,学到不少东西,只是对于文中 Java 和架构的论断,十分不解,如有冒犯,还请海涵。

        1. 是谁告诉你Java已死了?另外,你是从哪里读出来,我让大家执着于Java?
          你知道Java的生态环境有多强大吗?你知道Java的Spring Cloud和微服务有多完整么?
          你知道为什么银行和电商公司全部在用Java的体系吗?

          Java 和 C/C++ 一样都是必学的,Go也是要学的,但是,我从你的回复看到了对Java的鄙视以及对多学一门技术内心中的拒绝

          (注:相关说明已补充在文章未尾)

          1. 拜读文章第二遍。总体上还是同意您“不要给自己设限”的观点的。我所说的“Java已死”指的是这门语言不再会有大的进展,当然在业界也尚存争议。网上交流,只言片语间本意很容易就被曲解,以至于让您言辞激烈一系列反问。

            作为自认为有追求的程序员,我关心的是在有限的时间内如何获取更大成长,人的时间精力有限,在已经有其他语言经验的情况下,我将时间花在 Java 上所获得的成长是否比我将时间花在其他方面大?我并非有对于“多学一门技术内心中的拒绝”,只是追求利益最大化而已。

            我没有否认 Java 生态的强大,但也正因为其强大,很大一批 Java 程序员成为了使用框架的熟练工(我想用“业务仔”,但太 mean 了),他们没有机会去从头开始实现例如 RPC 之类的底层工具。我一直信奉 Richard Feynman 的一句话,“What I could not create, I do not understand.” 但选择 Java 生态,就不会有太多 rebuild wheels (not reinvent wheels)的机会(不知道这是不是您所指的“玩玩具”)。

            I am open to Java,未来也很有可能去 Java 系公司体验一下。所以请不要给我扣“鄙视 Java”的帽子了?

            至于 “银行和电商公司全部在用Java的体系”,我们就是季度 GMV 40-50 亿美元的电商公司,我们主要用 Go。当然我也不是为了要争什么,而且 Java 也根本不是此文的重点。我只是想解除心中的一些疑惑罢了。至少这一番争论下来,我觉得 Java 还是值得学习的,其生态对于其他语言也有可借鉴之处。最后还是感谢您抽出时间解答我的困惑!

          2. 看到您在 Twitter 上吐槽我了?
            感觉不再是讨论语言,而转到了框架上。

            说到框架,其实一直以来还有个想法:框架越强大,复杂度越高,也就意味着黑盒程度越高,“Know how it works” 的成本越高。这样是不是会有下面的问题?

            平时用起来很爽,一旦遇到框架 bug,debug 会非常困难;
            性能提升上能做的很有限;

            还是期待您的回复?

          3. 所以说既然java那么强为什么像fb这种公司不用java也能做出支撑起起20亿活跃用户的app?

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

  18. 对文章中提到的【站在更高的维度】的文字片段,感触很深。目前已提离职,去下一家创业公司,奖金啥都不要了,只为了那个可能的【更大的机会】、【后续的竞争力是否更强】

  19. 我觉得最重要还是要对自己诚实,如果你自己明白自己是想要能力更上一个台阶,那一些相应的改变就要去做;而如果你认识自己是喜欢现在这种在几线城市,安心过日子,那也不错。但是都是优先不要欺骗自己。要直面自己的内心,诚实对自己的内心做出响应。所以我经常就觉得自知之明是很难的,比起来对自己说不要给自己设限,我觉得和自己对话弄清楚自己究竟想干嘛更重要。(说得虚了)

    我很喜欢 John Carmack,总是一直走在业界前沿,现在快 50 岁了,又离开了 oculus,准备投身通用人工智能领域;但是我一样很喜欢 jwz,在网景之后,开一家夜店,经常转一些乱七八糟推,也很自在。

    1. 话又说回来,文章还是讲得很好,毕竟确实很大部分人的问题就是里面所说。

发表回复

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