左耳朵耗子:你得知道,技术不是用来写 CRUD 的

简介: 2021 年 8 月 14 日,周六,七夕。

这一天,对于意义非凡。当然,不是因为今天我脱单了,而是我听了一场直播。弹幕里,有人说,这场直播,堪称自己觉醒的分水岭。我不会说那么漂亮的话,但我确定,我的人生可能被改变了,我可能真的是被激发了。

这场直播的主角是知名技术专家左耳朵耗子和极客时间首席内容官小盖,他们用 2 个小时的时间,解了我心头太多的惑。听完之后,七夕那天,我没有再浮躁的刷抖音,而是静下心来,拿了本书,去星巴克待了一下午。

我知道,我现在焦虑、迷茫,对现在自己的工资、工作也不满意。但之前,我都是向外归因,而现在,我知道了,我是需要努力,把自己的刀磨好,像左耳朵耗子那样。

甚至,我也立了个大志,我以后技术厉害了,我也要去做更厉害的事情,去做创新的事情。而不是在现在这家外包公司,做增删改查,靠体力来挣钱。

这里,我也真心诚意推荐小盖(微信搜索:极客时间小盖)的视频号,真的太好了,给了我向上的力量。以后,我再也不吐槽了,我生逢其时,选对了计算机专业,在一个信息化革命的时代里,并且,我年纪也还不大,我还能去改变、创造一些事情。

下面是我整理的直播内容,没有整理全,把对我自己启发最大的内容拿出来了,希望也能帮到你吧,咱们一起努力。

Q:可以谈一谈云计算对于软件外包公司的影响吗?低代码平台对于程序员发展的影响?

A:云计算对于外包公司没有太多的影响,它更多影响的是一些运维的公司,像什么 DBA。因为云计算更多的做的是控制逻辑,而不是业务逻辑,你看没有一家云计算公司是帮你做业务。但是未来肯定要一点点上业务,业务的有些东西肯定还是可以标准化,但是不能够完全的标准化。

真正可能颠覆外包公司的会是低代码这样的东西,低代码对于一些中小企业是 OK 的,因为他们并不想要特别复杂,定制化的东西。他们只想要一个可以快速使用的,它可以通过一些低代码手段做自己的低配的一些定制化的东西。

低代码,我们可以这么理解,就是有些时候我想做定制,但是这个定制化呢,可能大家都有这样的需求,它算是一个比较通用的,或者可以被标准化的需求。这样的需求可以通过低代码的手段来解决。

我举个例子,比如说像 SQL 就是一种低代码的一种方式,它是一种只描述业务场景的语言,所以它根本不关心你后面的数据库到底是怎么去把这些数据捞出来的。它就是在描述,我要什么样的数据。

有了低代码平台之后,用户就可以像用 SQL 去操作一些东西。所以,一些不去思考的外包公司就可能会被颠覆掉。

如果你在做外包的话,我觉得还是需要去自己思考,如果不思考的话,颠覆你的往往不是这些云计算,也不是 C++,而是什么都可以颠覆你,因为你只是在按部就班的做事,用户让你做啥你就做啥,没去想,用户说我要一匹更快的马,你就去做,你去训马去了,而不是去做个汽车,我觉得这是外包公司最大的问题。因为他们没有任何的话语权,就是用户让他干啥他就干啥,而用户绝大多数时候都不知道自己想要什么的。

Q:也就是说低代码应该会去拿掉一部分增删改查的工作。

A:是的。低代码肯定会拿掉一些标准化的东西,拿掉一些 CRUD 的东西。但是我觉得我们技术人员可以去干更高级的事情,我想说的意思就是技术不是去做什么 CRUD 这些,技术是去创新,大家一定要理解。

这个逻辑不是说给外包公司的同学听的,你知道,你在大公司里面也可能是做外包,不要觉得在大公司里面不是做外包,大公司里你可能是在给那些运营做外包,一样的道理,无非就是你是他养的人罢了,没什么差别。

但是真正技术你是要拿来做创新,你要去颠覆点什么东西,创造点什么东西,如果你是走在这条路上的话,你是不用担心的,不管是低代码也好,还是别的什么也好,都无所谓的,为什么?因为你在创造新的东西,创造价值。

Q:要去拿技术创新,势必要技术过硬。这里面就涉及到大家怎么学基础技术,但是,好像很多基础技术一时半会工作又用不到(弹幕问题)。

A:我觉得学 Linux 的一些基础一些知识会给你,为什么?因为有两种,也不需要特别底层,你要底层的话也是非常底层,你问题就是,

我觉得学这些基础知识,有两个好处。第一,你知道里面的原理,知道很多复杂的东西他是怎么运作的。你不用着急他有没有用,肯定有用。你还是要坚持,因为你慢慢会发现,很多东西都是想通的,到一个时间点,你就会有一通百通的感觉。

第二,你学这些基础知识以后,当出现了一些比较难解的问题,你这些知识马上就可以用上了。你要知道,这些难解的问题可以让你你跟别人快速拉开差距。逻辑很简单,你有基础和不懂基础完全是在两个层面上,当遇到了一些比较稀奇古怪的问题,不懂这些基础知识的他就在那瞎搞,这里试一下,那里试一下,就像我说的散弹枪,这里捅一下那里捅一下,也许捅对了,也许没捅对,没捅对还得接着捅。

举个例子,Linux 操作系统,你懂 PageCache,这在做性能优化的时候,你就能快速 get 到关键点。一个人比另外一个人强,强在哪些地方?就是因为我会用工具,而他在那使蛮力,就像从一加到一百,使蛮力人就真正去从一加到一百,会用工具的人,一个公式就做完了。学基础就是让你会用那些更好的工具。

Q:弹幕里有人问,能说一下你在比如说亚马逊和这样的大公司都学到了什么东西?

A:首先得说下,并不是在大公司里才能学到东西,其实用心观察的话,无论大公司,还是小公司,你都能学到东西。但是啊,你得用心观察,你得走心,你不用心的话,在哪里都一样。

大公司最大的问题是一个萝卜一个坑,你就只能干你负责的那一小部分,你就是他的一个零件,所以有的人就觉得可能在大公司里学不到很多东西。但是在小公司里,你可以做一个面的事情,这样也能学很多。当然,小公司也有他的特定问题,比如不够复杂。这是你要想清楚的。

话说回来,我在大公司里面,在亚马逊我学到是大公司里面重点你要学它整个组织运作的方式,整个体系化的管理,以及它是怎么调动那么多人来完成一件事的。还有它的一些思维方式,比如为什么它要做这个,而不是做那个,这是大公司跟小公司不一样的地方,因为大公司有资源。这是我能从大公司上面学到的一些知识,你看,都不是技术的。

当然,有的大公司管理方式也不对,你得辩证理性的看。大公司很多时候能够招聘到行业里的聪明人,你可以跟着他们学。就像你打羽毛球下象棋一样,你必须要找高手学。

总结下,大公司里面,我学到了三个事情,第一个是它是怎么组织这么多人做事情的。第二个是大公司是怎么挣钱的。第三个事情是大公司里面那些高手是怎么工作的。这是我觉得最有价值的东西。

具体来说,亚马逊组织整个公司都类似于我们常说的微服务架构。工程师的分工不再看技能,而是以职责分工,也就说是,我让你完成这个事,这个事得从前端一直干到数据库,干到运维,反正打包起来就是一个事,你干完其中的任何一个环节这个事都没完,你必须从头到尾全部都干完。

所以他在拆的时候,是竖着切的,就是比如说这是购物车,这是下单,这是发短信,这是地址。里面有一个团队把所有事情全部弄完,这个团队是两张披萨可以喂饱的团队,也就是 8 个人左右的样子。

在入职亚马逊之前,业界讨论的是瀑布模型,是敏捷之类,这些我都觉得有很多问题,直到看到亚马逊以后,我感叹说这种组织模式是真厉害。

它怎么挣钱?这里面我也学到了很多,具体不展开了。就一句话,它是用技术挣钱。所以你看他做了世界上第一个推荐系统,也做了世界上第一个云计算平台。

亚马逊的理念是,首先一个事情,你必须要把它简化,简化的话你就必须要抽象化。然后简化后才可以标准化,标准化的东西才能自动化,自动化的东西才能导致规模化。大概逻辑就是抽象化->简化->标准化->自动化->规模化。而简化、标准化、自动化这条线全部都是技术在干的事,你想想,第一次工业革命,第二次工业革命全都是在干这事。

也就是说,只有技术,才可能最终推动规模化,这是亚马逊信奉的理念。

Q:如果说我一直在小公司去不了大公司,怎么能够那样快速成长呢?

A:不去大公司也能成长,但是我觉得关键点是,你有没有跟那些聪明人在一块,并不是所有聪明人都在大公司里边,你的朋友圈会比公司更重要。有一句话是这么说的,你的收入是你最经常接触 5 个人的平均数(不是皓哥原话,是我补充的)。你跟什么样的人在一起决定了你怎么样成长。

有的小公司也不一定你不能成长,关键是你跟对了什么,有没有跟对人,他的格局够不够,大概是这样子。你看像我们公司,我们公司就是非常注重员工成长。每周都要让他们去做分享,我会留出大量的时间来让大家去学习,甚至要去写东西。因为我觉得写作是一种深度思考。你不是说学,学完东西以后,看完书就扔了,你还要写一写。你要去做个笔记写一写,因为写作是一种深度的思考。你才能够写作的过程当中你才会去认真去想,去总结,去归纳。

Q:接着刚才聊,你的创业方向是怎么聚焦到网关这个方向的?

A:用户来找我的东西无非就是那么几个事。第一个,我要高并发,第二个,我想开发速度更快。第三个,我用户量很大,我速度又很快,我必然不稳定,我需要一个高可用。

你看这里面的逻辑,你发布速度快,你就必须要用并行发布,那肯定会迭代到微服务了。你不用微服务的话,你就是单体,单体的话所有人就在等排期,这是不可能快的。有些公司所谓的快,其实是拿人堆,他并不是技术上,你可以很悠闲的快,他是那种很忙碌的快。

高并发、高配速、高可用,所有这些东西都会导向云原生、分布式、微服务,还有 Kubernetes。

我们再抽象一下,其实就是几个层面的问题,服务治理、流量治理、资源治理、数据治理。这四块东西会逐步变成企业的基础设施。你要解上层问题的话,你的基础设施必须要好。就像我怎么让车开到 180 公里每小时?你先得铺路去,先得把那个路给我搞好,路修不好,我车怎么可能开快,全是坑坑洼洼的土路。

服务治理,Spring Cloud、Eureka、Dubbo 这样的工具在做,资源治理是 Kubernetes 在做,唯有两个事情没有人做,一个是流量治理,一个是监控。所以一开始我们起步的时候,就是一个流量网关加监控。但监控,我看到,很多公司都是在比,谁家的监控指标多,但我想说,数据太多等于没有数据。你得把数据关联起来,数据和数据之间有了关系之后,那才叫信息。

我们不是做数据,我们是做信息。信息里面能找到因果关系,因为这个所以那个,有了这层逻辑以后,才能导出公式。所有做科学实验都是走这条路的,不断的做实验拿数据,在数据里边把它标注好,关联起来,找到信息,找到信息里面找因果关系,找到因果关系里面看看能不能推出一些公式,大概就是这么一个逻辑了。

所以我觉得今天很多监控系统都做错了,大家只是在拼命的采集数据,而不去思考这些数据到底里面有什么样的联系,我举个例子,我们做监控系统就是上面会有,我要说清楚这个 API,对外的一个 API,后面连着多少的 Service,这些 Service 运行在哪些 Resource 上,然后它又使用了那些数据库,哪些中间件,你如果说不清楚这些,这个关联数据的话,你是没办法做的,今天那些运维,因为它是按技能分工,运维我只关心我底层资源。我不关心你应用层,我底层的资源 OK 我就 OK 了。所以这就导致了什么?导致了我停这台机器,比如说我今天想来问你,我想下线这台机器,它到底影响哪些用户?在今天我可以告诉你,在今天中国,没有人,没有任何一家公司可以说清楚这个事情,包括 BAT。

国外可以说的清清楚楚,因为数据有管理,我就知道停这台机器到底它服务了前面那些 API,这些 API 有多少用户在用。因为我数据是关联了的,这就是我们为什么要走这条路。这套东西我们接下来都会开源,大家可以去关注。

GitHub 地址:https://github.com/megaease

PS:做流量网关,目前已经有一些解决方案了,但归纳看,就两种,一种是偏应用的(Spring Cloud),一种是偏控制面的(Nginx、HAProxy)。左耳朵耗子做的是偏应用的,具体大家可以去 GitHub 看看。

Q:为什么你们会选择用 Go 语言?

A:一个技术能不能发展起来,关键还要看三点。

有没有一个比较好的社区。像 C、C++、Java、Python 和 JavaScript 的生态圈都是非常丰富和火爆的。尤其是有很多商业机构参与的社区那就更是人气爆棚了,比如 Linux 社区。

有没有一个工业化的标准。像 C、C++、Java 这些编程语言都是有标准化组织的。尤其是 Java,它在架构上还搞出了像 J2EE 这样的企业级标准。

有没有一个或多个杀手级应用。C、C++ 和 Java 的杀手级应用不用多说了,就算是对于 PHP 这样还不能算是一个优秀的编程语言来说,因为是 Linux 时代的第一个杀手级解决方案 LAMP 中的关键技术,所以,也发展起来了。

用这些标尺来衡量一下 Go 语言,我们可以清楚地看到:Go 语言容易上手;Go 语言解决了并发编程和底层应用开发效率的痛点;Go 语言有 Google 这个世界一流的技术公司在后面;Go 语言的杀手级应用是 Docker 容器,而容器的生态圈这几年可谓是发展繁荣,也是热点领域。所以,Go 语言的未来是不可限量的。

Q:我记得你总结说 Java 适合做业务层,Go 是中间件,Rust 是系统层。但是也有很多业务层是在用 Go?

A:Go 写业务层没问题,Node.js 也可以写业务层,我以前都是拿 C 语言写业务层。你拿着这个东西写什么都可以,但是当你的这个架构变得越来越大,越来越复杂,你里面一定要有一个框架。

早期的项目你用什么语言都行,但是从 1 到 10,你开始要去尊重两个东西,第一个你的开发速度要快。第二个你的稳定性,性能这些,这个时候可能像 Go 语言,或者是 Java、Ruby,Python 这些都还可以,但是如果 10 到 100,我估摸着只剩 Java(对于大部分公司而言)。

Q:谈一谈云原生的本质到底解决了什么核心问题?

A :Cloud Native 会颠覆掉 Cloud,今天的 Cloud 就是过去的 IBM。Cloud Native 是什么样的?我把这些技术拿出来给到企业,你自己学习自建。Cloud 是我把技术封闭起来,我帮你运维,另外一种我把技术给到企业,但是企业不一定 Hold 的住,所以需要像我们这样的团队和公司帮你降低技术门槛。放一张图你就知道了,从关注资源到关注应用。

1638342181(1).jpg

Q:后端工程师要不要学 Kubernetes?

A:你可以不学,因为这些东西最终都会打在基础设施里。我设想一下,有可能未来 Linux 发行版里面自己就带了 K8s,包括像 Docker 这样的容器之类都会变成操作系统的一份子。那我问你,你今天需不需要学操作系统?我个人觉得你是要学的,不管你是后端也好,前端也好,作为一个工程师你就需要学的。

你可以不学,因为这些东西最终都会打在基础设置里,就像今天还有人问我要不要学操作系统,好像学不学操作系统无所谓了,K8S 最终也会,有可能,我设想一下,有可能未来 Linux 发行版里面自己就带了 K8S,你一起里边那些就有 K8S 了,他直接打在操作系统里边,这是很有可能,包括那些什么 Docker 进项都会变成操作系统的一分子,那么问题又来了,这个问题跟你今天是一样的问题,你今天学不学那些操作系统?我个人觉得你是要学的,不管你是后端也好,前端也好,没什么,你作为一个工程师你是要学的。

但是你要说是,我不学可不可以?也可以,你如果说我不想做这些,我只想做应用,那你就做应用好了。你甘心做一个外包、一个码农,也行。

Q:现在公司里都是 996,有的时候是 9106,9116,日常的业务需求做不完,感觉组内的同事没有人会晚上自己主动学点新的东西,毕业马上一年了,感觉自己的在这个公司里没有什么成长?学习也没有多少时间?是不是也应该考虑换工作了。

A:我不知道大家找工作的目的是什么?凡事咱们先问下目的,我觉得我找工作的目的不是为了找碗饭吃,如果你找工作的目的是为了找碗饭吃,或者说不让自己饿死,你 996 这些你顺其自然就好了。因为这起码是一条让你不饿死的路。

但是我找工作的目的是为了实现自我价值,我以前是在银行里面,我跑出来,房子都不要了。我选择公司的目标就是这个公司可不可以帮助我实现我的价值,因为这是互相成就的一个事。不要觉得不好意思,我跟我的团队同学也是这么说,你成就公司,公司成就你,这是双向的事情。

如果你的目的是在于选择一个公司是要成就自己,或者说能够提升自己。所以换不换工作,你自己问问自己。

同样,公司也会问你,你能成就我什么?这就是价值交换。你一定要理解,你和公司是合作关系,而不是卖身关系。合作的前提就是互相成就。

Q:你现在是老板了,所以你会这么说。

A:你们认识我的时候,是我比较有名的时候,我有名的时候是因为我去了阿里,去了亚马逊的时候,是我稍微有点成就的时候,但是我没有成就的时候,你们不认识我,所以你并不知道我是怎么开始的。

我可以告诉大家我刚开始出来的时候,我去了工商银行,工商银行给我分了一套房子,我父母是下岗工人,每个月两个人加起来就 200 块钱工资,我是 600 块钱,我们一家四口是 800 块钱,一家三口 800 块钱,分了一套房,我不要了,全部都不要了,我就出去做外包去了,到上海那边,我工资是 1500 块钱,租房 900,一顿饭要吃 15 块钱,你们算一算,多可怕。

公司说 1500 块钱你可以出差,出差一天有 30 块钱的出差补贴,我必须得出差,出差就得到客户那边,而且出差客户还管饭,所以一出差我的收入就好很多了。但是我随时随地我都在想着,我要去更好的地方,所以我那时候,虽然忙,还搞所谓的封闭开发。

不过,无所谓,即便这个样子我也要去学习,礼拜天也要出去面试,就这样。很简单,你要去改变自己,你要同自己的命运抗争。

那个时候,我老实说我跟那些外包公司我是极度不和。我跟老板吵架,我甚至跟甲方的行长吵架,你能相信吗?因为我很快把事情做完了以后,我在那看书,那个行长过来说,大家都在这写代码,你为什么要在这看书?我说我看的又不是闲书,我看的是技术书籍。

“不准看,就这样子”。我说你凭什么不准看?我没事了,你安排活给我做就好了,你管我看不看书,我就跟他这么吵。我想说就是这样子,就是我后来选择我的职业,或者我选择我的公司的时候,我宁可被公司开掉,我也要去做有价值的东西,我想问各位,就是我从一开始的初衷就是这个样子,并不是我今天功成名就我就可以这样选择,是因为我选择了我才会有今天的所谓的成就吧,大家要理清楚这里面的因果关系。

我知道,那种没有技术含量的工作,那种事情我再做一百次,别人再给你更多的钱,你没有任何的未来,我今天做公司也类似,有些项目我不接就不接了,我要接项目的话,我也可以把自己做成一个外包公司,一年也有几个亿,但是有什么意义?我设想是十几个亿的事情,刚才有人跟我说,我做得事情太大了,觉得有点不可能,这就对了,因为绝大部分人都不敢想,他们想一想就觉得这事不可能,他们可能就离开了。

所以我没有太多的竞争对手,因为绝大多数人都不敢想,他们一想他们觉得我做不到,就傻掉了,他们自己就给自己思维框架里面就放了一堵墙,因为他连尝试他都不敢尝试,至少我敢尝试,失败了又能怎么样?反正我不会后悔,我未来老了以后,回顾这段时间,我至少试过,失败了,so what,我至少试了一个牛逼的事情,你们呢?人生是你自己的,你连试都不敢试,想都不敢想,不敢想是最大最可怕多事。不敢想是最可怕的事。不好意思,讲的稍微有点激动。

Q:如何挤出这么多的时间学习呢?

A:这个事情我是这样想的,时间要管理,分两个角度,向上管理和向下管理,这个我在极客时间里面有讲。

向下管理是管理自己的时间,现在我们都有手机,手机里面随时都会来信息,所以你就会被打断。如果你的时间不断被打断,那你的利用效率不会高的,所以不要被打断。

你说我们公司里面还有什么钉钉群那些东西,没关系,你用好工具,别老上下文切换,专心把事情做好。比如我的微信,就是隔断时间,统一回复下消息。

第二个事情是向上管理,因为会有很多人来扭曲你的时间。比如说这个事情就是一星期能做完的,他就要让你两三天能做完,你要自己接了你就不要怪别人,该斗争的时候还是要斗争的。但是斗争你是要有资本跟他斗争,没资本跟他斗争就比较麻烦。

我可以去 996,去加班,我会努力做。欲先取之,必先予之。等公司对你有比较大的依赖的时候,你就可以跟他谈条件,因为他很害怕你跑了,就这样。但注意,我说的和他在不正确的地方谈条件,不要误解。

另外一个,我建议你有些时候也不要太直,我在外企学到一个东西叫 Never Say No,永远不要说不。你要说 yes,要说有条件的 yes,比如说在这种情况下,我能做得到,那样的情况我做不到,你得给我更多的时间我才能做得到,你给我那么短的时间,我只能交付你半成品,要不要?

我们很多技术人员比较实在,好像回答这种问题,只能说可以或者不可以。不是的,你这样的话,就被 PUA 了。PUA 是啥,就是他营造了一个环境, 把你扔进来,这个环境是他自己的逻辑空间。你进来,他就问你,行还是不行。这时候,无论你怎么说,你都已经被 PUA 了。

怎么反 PUA,你就是要逃出他的环境,把压力推回去。比如,你说可以的,但是有一些前置条件,您看看。Option 1,我可以按时完成,但是质量可能有问题。Option 2,你给我足够的时间,按时按质交付。Option 3,还是按你这个时间,但是你必须砍掉一些需求。

三波传回去,这就反转了,因为这个逻辑是你的,你让他选择。要不然,你说不能干,那样的话,就是硬刚,没必要。

Q:你曾经说有一个学习方法,就是不要苦哈哈的坚持,一定要有正反馈,能跟大家去展开去聊一下这个学习方法吗?

A:坚持没有意义,你在用记忆去学,而不是去用问题去学。任何一个技术他都是要解决一个实际的问题。你的学习是从感性到理性的,一开始就去记忆也好,坚持也好,慢慢的你就会去问为什么,因为你看的东西多了以后,自然就会想去了解一下为什么,去找后面的一些原理。然后遇到一些实际的问题,解决它们时,你会去真正的去理解这个技术的,就这两点。

Q:我记得你说你学 Go 语言大概一两周时间就能够学会,但是我们服务的很多学员里可能用半年时间都搞不定。造成这个学习能力的差异点是什么呢,是方法吗?

A:是这样的,就是我跟大家讲一个东西,我以前刚去上海的时候买不了书,我就只能在书店里面看书,看完书以后,我就把它当成一个图书馆,我要做笔记,做笔记对于我理解一件事情来说,至关重要。

你学编程语言,你肯定要把它抽象成为一棵知识树,你学各种各样的语言,你都会觉得,这个语言也有这几块,那个语言也有那几块,这是共性的东西。比如说一个语言会有条件分支、循环,这是它最基本的逻辑,所有语言都应该有。

更高级一点的特性,它有一些数据结构,像数组,字符串这些东西,再高级,泛型,还有它的一些多态,还有函数式编程,这些都必须得要有,没有这些东西,这个语言还挺难用的,还有些类库,我在学一个新的东西,我就会去找,我就会把这个语言,照着我这个框架上来套,这个语言一些分支逻辑,那些声明变量到底是怎么弄的,它多线程是怎么玩儿的,它的那些面向对象多态怎么玩儿的,全是这样的东西,我就照着套,半天就套完了,一两天就套完了,这个语言就学会了,就这个意思。

就说是你有一个大的框架,他跑不出那个东西来,你就往它里面套就好了。但我学 Rust 就没那么快了,因为他不是一套东西了。

但有一点,因为你学的多了,未来你就会越学越快。

Q:很多同学想要加入你们,你们招人的标准是什么呢?

A:我们的技术是在 Go 语言,Spring 还有 Java 这,你只要对这些微服务架构,还有像 Kubernetes,Go 语言这些自动化运维,有一定的经验并且感兴趣,就可以来我们这试一试,我们更多是看你的一些学习能力,但是你精通了解会更好。

我们不会考算法,但我会考逻辑能力。

Q:弹幕口水问题,如何看待 35 岁的危机,你身边 35 岁的人都在干什么?

A:人不是因为变老了才没有热情,而是因为你没有热情才变老,所以 35 也好,40 也好,不用去想这个数字的事。

Q:弹幕口水问题,我现在是 PHP,该不该学 Go 语言?

A:每次直播的时候都有人来问我这个,我不直接回答这个问题,我不知道大家问这个问题,你背后的思维方式是什么?就是.NET 是怎么样?或者说是我想.NET 转 Go 怎么样,我不知道你背后想问什么问题。你想从我这边得到什么答案,想转就转,是不是你需要有个人帮你坚定你的想法?还是需要告诉你一个答案,你才去做这个事情?

我觉得你不要把你的人生的一些决定寄托在我身上,你自己的决定最好自己做。但是有个指导思想我可以和你分享下,这些年,我随时都在追一些我觉得可能是主流的技术。

当年我学 Java 也是一样,我始终都是觉得我必须要靠向主流,说的俗一点就说是你必须要去风口,这个风口猪都会飞,是不是那个风口是个短暂的风口?千万不要去找短暂的风口,你要去找长风口,就是这个风可以吹一辈子,因为你是猪,你是没翅膀的,你必须要一直有风吹着你才能飞,否则你飞不起来,因为你没翅膀。

你不能说,你是鸟,鸟没风,也能飞。但对于绝大多数人,跟我一样都是猪,你需要站在一个天天在有风吹的地方,比如说你选对了计算机专业,这个是一个不停在吹的地方,过去也好,今天也好,未来也好,整个世界的驱动都是被一堆程序员在驱动的,就是这样子。

这些问题,别问了,要问问你自己。

和高人聊,从书中学,在事上练。如果如果你没听过小盖的连麦直播,真心推荐,推荐。每周三都会有一次直播连麦。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1月前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
50 3
|
1月前
|
数据库 索引
深入理解数据库索引技术:回表与索引下推详解
【10月更文挑战第23天】 在数据库查询性能优化中,索引的使用是提升查询效率的关键。然而,并非所有的索引都能直接加速查询。本文将深入探讨两个重要的数据库索引技术:回表和索引下推,解释它们的概念、工作原理以及对性能的影响。
60 3
|
2月前
|
存储 缓存 监控
数据库优化技术:提升性能与效率的关键策略
【10月更文挑战第15天】数据库优化技术:提升性能与效率的关键策略
79 8
|
2月前
|
存储 NoSQL 关系型数据库
数据库技术深度解析:从基础到进阶
【10月更文挑战第17天】数据库技术深度解析:从基础到进阶
78 0
|
3月前
|
存储 NoSQL 关系型数据库
非关系型数据库-MongoDB技术(二)
非关系型数据库-MongoDB技术(二)
|
3月前
|
NoSQL 关系型数据库 MongoDB
非关系型数据库-MongoDB技术(一)
非关系型数据库-MongoDB技术(一)
|
1月前
|
负载均衡 网络协议 数据库
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
111 61
|
1月前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
47 3
|
1月前
|
缓存 负载均衡 监控
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。
|
1月前
|
Java 数据库连接 数据库
优化之路:Java连接池技术助力数据库性能飞跃
在Java应用开发中,数据库操作常成为性能瓶颈。频繁的数据库连接建立和断开增加了系统开销,导致性能下降。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接,显著减少连接开销,提升系统性能。文章详细介绍了连接池的优势、选择标准、使用方法及优化策略,帮助开发者实现数据库性能的飞跃。
30 4