在本周播客节目中,freeCodeCamp 创始人 Quincy Larson 采访了 Caleb Curry。他是一位软件工程师和多产的计算机科学教育家。他最近开始直接指导数十名开发者,帮助他们提升技能和职业发展。我们将讨论他作为开发者被裁员的经历以及他是如何为职业中期求职做准备的。我们将讨论:- Caleb 如何被裁员以及如何找到他的下一份开发者工作- 为什么大多数人忽视了人脉和招聘人员,但其实不应该- 为什么 Caleb 对教授系统设计概念如此认真- Caleb 如何将他的深度专注与通过播客和白皮书进行的广泛课外学习结合起来本播客由 Wix Studio 的资助支持。Wix Studio 为开发者提供工具,可以快速构建具有所有开箱即用功能的网站,然后使用代码扩展、替换和突破界限。了解更多信息,请访问 https://wixstudio.com。支持还来自 11,343 位通过每月捐款支持 freeCodeCamp 的好心人。加入这些好心人,通过访问 https://www.freecodecamp.org/donate 来帮助我们的使命我们谈话中提到的链接:- Caleb 关于数据库设计的课程:https://www.freecodecamp.org/news/database-design-full-course-43233664125b/- Caleb 的系统设计讲座播放列表:https://www.youtube.com/watch?v=0e7yQ43bUtg&list=PL_c9BZzLwBRLSs6x50D5WIH76VCUxJs9E- Caleb 的领英:https://www.linkedin.com/in/calebcurry/</context> <raw_text>0 我相信,通过在较少的技能和技术上更深入地学习,你会获得最大的时间回报。
然后将一定比例的时间用于探索性地发现新事物。欢迎回到 Free Code Camp 播客,您的原始、未经编辑的开发者访谈来源。本周,我们与 Caleb Curry 进行了交谈。他是一位软件工程师和多产的计算机科学教育家,最近他开始指导数十名开发者,
并帮助他们提升技能和职业发展。我们将与 Caleb 讨论他作为开发者被裁员的经历以及他是如何找到一份新的开发者工作的。本播客由 Wix Studios 的资助支持。
Wix Studio 为开发者提供工具,可以快速构建具有所有开箱即用功能的网站,然后使用代码扩展、替换和突破界限。了解更多信息,请访问 wixstudio.com。支持还来自 11,348 位通过每月捐款支持 Free Code Camp 的好心人。加入这些好心人,通过访问 freecodecamp.org/donate 来帮助我们的使命。
本周的音乐介绍,由本人亲自演奏鼓、吉他、贝斯和键盘,我们将回到 1981 年,播放街机游戏 Galaga 的结束主题曲。♪♪♪
Caleb Curry,欢迎来到节目。很高兴来到这里。
是的,伙计。我们一直很欣赏你。当然,早在 2018 年,你就发布了这个数据库设计课程,它像许多人一样,从该课程的实用性中获益匪浅。自该课程发布以来,数据库设计发生了多少变化?
这是一个很好的问题。我的意思是,老实说,对于那些资料,我认为它们对于关系型数据库仍然有效。所以我仍然认为这是我制作的最好的视频之一。太棒了。如果有人想查看,我们会把它放在视频描述中。如果他们有八个小时的时间学习数据库设计,为什么不向最好的学习呢?但是你和我,我们一直保持联系,我一直很享受追随你的冒险经历。而且……
我了解到,不久前你被软件工程师的工作辞退了。是的,是的。我很想谈谈这个,并谈谈一些寻找职位的方法。所以完整的背景是,这是一个开发者关系的角色,它有一些软件开发的组成部分,但也包括与客户和想要与软件集成的人员进行大量的沟通。所以
呃,我做了几个月,然后有人告诉我,嘿,被裁员了,这是许多人都会遇到和必须经历的事情。所以我想要谈谈一些让情况变得更好的策略。只是从我经历的事情中学习。呃,我只是认为这是职业生涯的一部分,对吧?所以,嗯,
不要把它当成个人问题,这并不一定意味着你的技能或你提供的价值存在问题。有时公司只是裁员。对我来说,我认为这是一个时机不好的情况。我刚生了一个孩子,所以我还在休产假。所以当这种情况发生时,压力很大。我还……
只是没有,你知道,在财务方面做好充分的准备。而且,你知道,我不知道要持续多久。幸运的是,呃,公司通常会给你一些遣散费来给你一些时间,但理想情况下,你可以在财务上和技能上做好准备,这样如果你必须去面试,你就可以随时准备好了。所以,嗯,
我个人采取了一种寻找职位的方法,这种方法非常注重人脉和与人们的联系。是的。而不是仅仅向工作岗位投递冷冰冰的申请。我的大部分工作都在非常小的初创公司。那……
对我来说,让我能够,我想,呃,带来独特的技能或价值,这对于小型初创公司来说比去大型科技公司更容易被看到。是的。
但我认为无论哪种方式,都会有一些对两者都有价值的技能。但我认为方法肯定会有所不同。是的。所以你的方法不是说,好吧,我被裁员了。我有一些遣散费。我有一个新生儿。我需要找一份新工作。你在那一刻的方法不是,好吧,让我们开始努力刷力扣题并申请 FANG 公司的工作。
是的,我没有走那条路。如果我要尝试在大型科技公司获得职位,肯定会有更强的关注力扣题、系统设计和一些你必须经历的典型面试类别。
这些对于非常小的初创公司来说仍然可能是一回事,但我认为,如果你找到一家真正利基或真正专注于某件事的公司,他们会更关心应用技能以及你为他们正在从事的工作提供即时价值的能力。所以我被裁员的公司正在使用零知识密码学技术,这是一件非常利基的事情,
除非他们在这个领域,否则大多数人甚至都不知道。所以我拥有的技能对从事这项工作的公司非常有价值。所以这真的是我的,呃,我的方法。就像,我要找到一些真正寻找这个领域技能的公司,呃,在这个领域。所以我有一个,一个,一个优势超过其他申请的人
而且,我认为你拥有专业技能。对不起,我不是故意打断你的。你拥有专业技能。那么,为什么不运用这种专业技能并发挥你的优势呢?这听起来像是你的想法。
是的,是的,这真的是我的方法。然后,至于实际找到面试和公司,这都是通过 LinkedIn、与人脉和招聘人员建立联系来实现的。我没有真正向他们网站上的许多公司申请工作。我做了一些,但我真的发现,人脉和为此制定强有力的策略非常有效。
我不知道这方面的确切数字,但我认为大多数职位可能都是通过某种形式的人脉或联系来填补的,即使你知道,这些可能更难获得。所以基本上,对不起,就像它们有时更难找到,因为你知道,它们可能不会发布在网站上。但是如果你认识合适的人,或者你沟通良好,那么你就可以在那里找到这些机会。
并且拥有优势,我会说,是的,你能带我们了解一下,好的,首先是经验,你能提供的细节越多越好,因为许多听众可能已经被裁员了,但有些人没有,大多数人可能在他们人生的某个时刻会被某个公司裁员,在他们的职业生涯中,你能谈谈当时的经历和过程是什么样的吗?
对于那些没有经历过的人来说,我知道这并不是一件最令人愉快的事情,但对于听众来说,这可能非常有帮助。是的。我会说公司可能会有警告信号。所以,如果你收到一些信号,嘿,也许会有裁员,你收到这些信号表明可能出了问题,那么……
开始准备,基本上是提升技能,存一些钱,等等。对我来说,这并不是一个巨大的惊喜,因为正如我提到的,它是在 ZK 中,也在加密领域。当时加密领域发生了一堆事情,这让人们更加害怕。所以我想当我被裁员时,这对我来说并不是一个真正的惊喜。基本上,我只是收到了一个邀请,与……
一个人或两个人,你知道,我从未与他们进行过会议。所以我想,好吧,显然,就像在我进行会议之前,我想,显然这是像,你被裁员了。所以对我来说,这真的不是一个巨大的惊喜。我认为这是理想的情况,而不是感到惊讶。这就是为什么我告诉人们要假设这种情况在某个时候可能会发生,即使
如果你没有任何充分的理由相信你会被裁员,它仍然可能发生。为这种情况做好准备的最佳方法就是拥有足够的财务储备并保持技能的敏锐。不要懒惰,只是完成工作,不要为任何新的机会做好准备。
所以我认为这可能是第一件事。是的。好的。所以重申一下,拥有跑道。所以你想象一架飞机起飞,它需要一定的跑道。否则它就无法达到实际起飞所需的升力速度。呃,所以另一件事,保持技能的敏锐。呃,所以这是两个主要要点,呃,
如果你正在工作,假设你比现在年轻五岁,你正在一家科技公司担任开发者,并且你拥有相当不错的,你知道,舒适的生活方式。就像他们,他们,
你知道,偶尔提供免费餐点和欢乐时光等等。你有一张不错的桌子,也许你甚至还在远程工作等等。而自满情绪可能会潜入进来,你可能会想,啊,这太好了。就像我只需要做好我的工作,埋头苦干就行了。呃,你会对现在处于这种境地的人说什么呢?嗯,他们认为只要他们继续做好自己的工作。如果这份工作消失了,就会有另一份工作在等着他们。你会给他们什么建议?
是的,我认为首先要意识到并不总是有另一份工作在等着你,并且要有一点恐惧感。你知道,我不是让你带着焦虑和恐惧过一生,而是要意识到你现在所处的境地可能在六个月后不会相同。就我个人而言,我……
通常渴望成长、技能发展和机会。所以即使我处于一个我不认为,嘿,会有裁员的角色中,我仍然努力在我的职业生涯中取得进步并获得这些技能,因为我知道这对我是最好的。所以我认为这在某种程度上取决于个人,就像不是每个人都总是想进步,并且,并且,
做额外的工作,就像那样就可以了,我们也可以谈谈这个,呃,但对于我认为最成功的主意是,无论你是否会被裁员,都要获得这些技能,因为它会帮助你的职业生涯,是的
所以我确实认识一些人,他们只是坚持说,我是个 IC,一个独立贡献者。我对管理人员一点兴趣都没有。我只想作为一名 IC 走得尽可能远。我不想,呃,我喜欢我目前的角色,并且我不希望在某个地方攀登公司阶梯。嗯,你遇到过这样的人吗?你会如何描述你在这种光谱上的位置,例如,
必须达到公司中最高的职位,与完全满意你目前的位置相比。是的。我认为,呃,这可能会随着时间的推移而变化,对吧?就像它会根据我生命中的阶段而变化。就像当我有了孩子的时候,我并没有那么渴望发展我的职业生涯。就像我想在家多待一些时间。然后在我的生活中,有一些时期,我,
我渴望更多,我想付出额外的努力,我认为这可以帮助的一件事是理解,在软件软件开发中,你可以在你的职业生涯中走得很远,而无需管理人员,我认为有些人想管理人员,有些人不想与之有任何关系
你可以成为一名独立贡献者,你可以成为一名高级工程师、员工工程师、杰出工程师。所以除了入门级开发者之外,还有很多角色不需要你,或者说不需要你管理人员。
话虽如此,显然,随着你职业生涯的进步,责任也会增加。所以我确实认为有一些情况,你只是说,嘿,我对我的现状很满意。你没有这种极度渴望改进的愿望。
获得晋升,因为你每一次晋升,你可能会得到更多的钱,但它也有代价,对吧?晋升对你个人来说是有代价的。呃,投入的时间更多,呃,
更多的责任。这会从你生活中的其他事情中夺走很多东西。所以我认为在某个时候说我对我目前的状况很满意是可以的。我只是鼓励人们不要太早这样做。如果你是一名初级开发者或入门级开发者,可能不太理想。你应该达到高级水平。你可以在那时说……
是的,我很满意。我不需要成为一名员工工程师。是的。我对这个级别很满意。就像有很多人会在一家稳定的科技公司工作 10 年而不会升到更高的级别,只是因为他们没有兴趣。是的。
我知道你现在有一个孩子。你是一个父亲。你还在处理许多其他责任。你一直在指导数十名开发者,就像与他们一对一建立个人关系一样,指导他们并帮助他们。你还制作了许多课程和这些令人惊叹的 YouTube 短视频讲解,你在黑板前站着,你用老式的方法做。
如果人们上过大学,他们可能会记得教授们是这样做的。对。而且,在这个时代,有如此多的干扰等等,看到一个男人和他的黑板,回答问题,只是说话,这让人感到非常安慰,这温暖了我的心。我喜欢你的视频。我从中学到了很多东西。是的。非常感谢。是的,我也喜欢黑板风格。而且有时我会离开这种风格,但我似乎总是会回到它。它似乎就像,
是我想要教学方式的核心,我认为它允许你忽略一些关于正确语法和所有这些事情的细节,你只需要学习概念并理解你在做什么。然后你可以将其应用于代码,这会让整个体验好得多。是的,是的。
是的,听起来是这样。所以我想要和你谈谈你如何安排你的一天。就像,呃,你知道,在你被裁员后,你去另一家公司工作了一段时间,你最终决定,即使那进展顺利,你也想回到为自己工作。这是一个你可以选择的方案,对吧?这是一个特权,许多听众还没有建立起像你这样的声誉,呃,没有像你这样的 YouTube 频道,每天都有成千上万的人观看,学习数学编程、计算机科学等等。但你一直在这样做。你一直在做辅导。你创建了一个在线课程。我想弄清楚你如何安排你的一天以及你如何完成如此多的工作,因为许多人一旦失去了老板告诉他们做什么以及截止日期等等的结构,他们的生产力就会下降,而你似乎并没有这种情况。
是的,这是一项技能,我认为这需要练习。幸运的是,我认为我已经做得相当好了,但让我对这一点感到满意并能够长期坚持下去的一种方法是不那么严格,并且不要因为小事而责备自己。就像如果我睡得晚一点或者其他什么,就像我现在并没有一个非常严格的时间表。话虽如此,
随着时间的推移,我的效率很高,我可以凭借自己的意志完成的事情数量相当高。就像我不需要有人告诉我几点工作或者类似的事情。但是是的,这是一项技能,我认为它……
即使你在从事典型的软件工程角色或某些角色,你也应该加强它,因为我认为自律的技能很重要,并且在某种程度上成为你自己的经理。许多公司……
采用这种工作方式,基本上每个人都是自己的经理,他们决定何时工作,采用更多异步的工作方式。许多人在这种工作环境中表现不佳,因为它不典型
但我认为能够在这种环境中工作非常有价值,尤其是在现在越来越多的公司远程办公,以及许多初创公司完全远程办公的情况下,即使你想去,也没有办公室可以去。所以对我来说就是这样。就像我担任的大多数角色都是远程工作。
我住在俄亥俄州,并没有真正想去旧金山之类的兴趣。就像我曾经在德克萨斯州奥斯汀住了一年。就像那很有趣。我在那里做了一个面对面的角色。但大部分时间我的角色都是远程的,我必须在工作中加强这项技能。然后进入创业并做自己的事情,
我已经培养了这些技能,这帮助我继续前进。就像我不需要老板告诉我做什么以及何时做。所以我想我可能迷路了。哦,继续说。你会如何达到你现在的水平?就像你能追溯你做出的决定或你沿途采用的习惯吗?在过去的十年左右的时间里?我知道你很年轻就开始编程和上传编程视频了。呃,所以你整个成年时期,
一直是 YouTube 上的计算机科学专家。但对我来说,你取得的成就令人震惊。我认为你 29 岁?是的。你甚至还没到 30 岁。但你沿途做出的决定是什么?有没有什么转折点让你觉得,啊,我真得开始做 X、Y、Z 了?或者,哦,那让我很受伤。就像我需要开始做这个而不是那个。你在沿途遇到过任何顿悟的时刻吗?
是的,这是一个很好的问题。我认为我会回答这个问题,但我想要提到,总的来说,我认为自己是一个慢速学习者,因为在工作、如何有效率以及类似的事情上,我会犯同样的错误。我遇到的一个问题是
全力以赴地去做一些想法,然后精疲力尽,然后放弃,然后休息一下,然后再开始,而不是非常稳定。呃,这是我通常会努力克服的问题。我认为通常非常有动力的人可能会遇到这个问题,因为呃,动力会飙升。然后一旦动力下降,你就没有像,呃,
坚持你最初承诺的事情的意志力或决心。所以我想观看此视频的许多人都遇到了同样的问题。对我来说,我已经通过有意减少来改善这个问题
是的。
而且,你知道,你一直听到这些比较,对吧?就像每天锻炼 30 分钟、一小时比周六锻炼七个小时更好。对。软件开发的一些原则也是如此,就像一开始,我会全力以赴地去做一些事情,然后长期坚持不下去。现在我的方法是,我能够将它分散多长时间,以及我每天能够做多少事情来坚持下去并长期有效。这极大地帮助我避免了精疲力尽的感觉,并且随着时间的推移取得了持续的进步。所以我教过很多人,你应该找到一些能够帮助你变得更好并每天做一小时的事情。
一小时只是一个数字,你可以选择任何最适合你和你时间表的时间量。这确实取决于你生命中的哪个阶段。所以当我找工作的时候,我有一种非常专注的心态,对吧?所以我每天学习的时间远不止一小时,学习我认为最有可能让我找到工作的这些主题。
但是,我仍然会花时间做更多像让我成为更好的开发者的事情。所以我也会谈谈你可以每天做一小时的一些想法,以及一些优化方法,以帮助你在工作和其他生活责任中做到这一点。
但一些很好的例子包括数据结构和算法、力扣题。我们已经讨论过了。是的,例如,每天做一道题,而不是像几周内每天做 10 道题,然后进行面试。你想提高这项技能,因为它会长期帮助你并提高你的能力。
我发现,速成课程并不总是能转化为保留信息。所以每天分散一小时。或者可能是系统设计。或者它甚至不是一项技术技能。它可能是一项活动,例如人脉。这是……
人们知道很重要的事情,但这就像,哦,你到底是如何建立人脉的?好吧,如果你制定了一个人脉策略,我会帮助人们做到这一点,然后,如果愿意,我们可以谈谈这个。是的,我很想听听。每天做一小时。看看会有什么结果。
也许是练习行为面试。我谈论了很多帮助人们找到工作的事情,因为我们正在谈论被裁员和寻找新的角色。但这不必是求职准备的事情。它可能只是你目前不熟悉但你知道你应该知道的更高级的主题。你知道,也许那就是
最终理解 JavaScript 中的闭包是什么,或者可能是理解异步编程。也许是 NoSQL 数据库,而不是总是使用关系型数据库。我认为如果你正在观看这个视频,你可能知道你应该知道但不知道的那件事。这就是你可以每天花一小时时间去做的,以变得更好。幸运的是,通常情况下,你可以在
早上或甚至在工作时间挤出那一小时或两小时,或者任何时间。许多公司都支持人们学习和提高技能。所以我已经和许多人谈过,他们的公司实际上会鼓励他们花一小时时间学习一些技能。所以你最好做一些能够长期帮助你提高技能和职业发展的事情。所以这是一个关于如何有效地做到这一点的技巧,比如把它放在你的日历上,并确保坚持下去。
是的。所以找出你知道你需要改进的事情,但你只是不确定如何改进它。就像你提到的,人脉是一件非常模糊的事情,它也是一件有点尴尬的事情。就像,嘿——
我是 Quincy。你好吗?你知道,就像,你可以想象自己参加某种 LinkedIn 活动,呃,或者某种本地聚会,你就像,你知道,你,嗨,我的名字是 Quincy,贴在你的胸前,你四处走动,也许你甚至穿着那些尴尬的衬衫。呃,
而不是像普通的 T 恤之类的。你必须和人们交谈,并与他们建立真诚的联系,但每个人都知道他们都在做这种舞蹈,哦,好吧。然后你进入谈话的尴尬部分。你认识哪些人正在招聘吗?你们都在招聘吗?是的。
是的。我看到了一些,就像,我只是观察了参加这些类型的活动,并看到人们之间发生了一些非常尴尬的交流。当我看到这些的时候,我总是会想,谢天谢地,这个人正在摆脱这种困境,因为他们需要克服它。他们需要更好地与人们建立这些自然的联系。否则他们的职业生涯将永远受到阻碍。所以就像,我就像在旁边为他们加油。我的意思是,对我来说,说这样的话可能很尴尬,
嘿,顺便说一句,我注意到你刚才进行了一次有点尴尬的谈话,但情况会好转的。继续努力。我不一定会说这样的话,但当我看到有人正在进行某种尴尬的,呃,你知道,像 JavaScript 之夜之类的活动时,我就会这样想。嗯,而且,而且雇主们都在那里闲逛。也许是举办活动的场所,他们有人上去说,任何想要工作的人,都来和我谈谈。顺便说一句,如果有人主动说这样的话,那就容易多了。呃,
所以总结一下,找到你知道你需要做的事情,每天做一小时,并且坚持下去,把它放在你的日历上。我遇到过很多人主张不要制定待办事项清单,而是直接将事情放在他们的日历上,因为待办事项清单就像,是的,我应该在某个时候做这件事。而且有一些关于它的方法论等等。有一本书和一些软件等等。当我刚开始从事软件开发时,我尝试过这种方法。很多都是,
有一个“以后再说”的清单。这就像在想你最终可能会做到,我真的很想学习 Arch Linux,以后再说。然后你把它放在那个清单上。但如果你真的想做某事,把它放在你的日历上,对吧?就像我正在学习,你知道,数据结构 30 分钟,我会在早餐后立即做。所以我还很清醒。而且,就像我刚喝了咖啡之类的。对。就像你想如何安排它一样。但是,你使用的是这些类型的方法吗?你有没有经常使用的方法?
在本周播客节目中,freeCodeCamp 创始人 Quincy Larson 采访了 Caleb Curry。他是一位软件工程师和多产的计算机科学教育家。他最近开始直接指导数十名开发者,帮助他们提升技能和职业发展。我们将讨论他作为开发者被裁员的经历以及他是如何为职业中期求职做准备的。我们讨论了:- Caleb 如何被裁员并找到他的下一份开发者工作- 为什么大多数人忽视了人脉和招聘人员,但其实不应该- 为什么 Caleb 对教授系统设计概念如此认真- Caleb 如何将他的深度专注与通过播客和白皮书进行的广泛课外学习结合起来本播客由 Wix Studio 的资助支持。Wix Studio 为开发者提供工具,可以快速构建具有所有开箱即用功能的网站,然后使用代码扩展、替换和突破界限。了解更多信息,请访问 https://wixstudio.com。支持还来自 11,343 位通过每月捐款支持 freeCodeCamp 的好心人。加入这些好心人,通过访问 https://www.freecodecamp.org/donate 来帮助我们的使命我们谈话中提到的链接:- Caleb 关于数据库设计的课程:https://www.freecodecamp.org/news/database-design-full-course-43233664125b/- Caleb 的系统设计讲座播放列表:https://www.youtube.com/watch?v=0e7yQ43bUtg&list=PL_c9BZzLwBRLSs6x50D5WIH76VCUxJs9E- Caleb 的领英:https://www.linkedin.com/in/calebcurry/</context> <raw_text>0 有点像你每天工作一小时或一天的一部分时间那样的事情?是的,是的。所以这些都是很好的问题,我认为你……
你解释得很好,首先回到人脉关系,它可能是尴尬的。熟能生巧。它也会使之永久化。所以你想改进,这样你就不会一遍遍地重复同样的错误。技能发展也是如此。现实情况是,人们避免的一些可怕的话题,一旦你真正开始学习它们,
并且你专注于学习,这意味着关闭你的手机和关闭干扰,你实际上开始理解它们。然后你会想,哦,也许这不像我想象的那么糟糕。为什么我七年来一直避免学习这个?我不太清楚。所以是的,就像你提到的那个例子,比如每天 30 分钟学习 DSA。是的,数据搜索和算法。
是的。是的。谢谢你。我会说这会让你进入数据结构和算法学习者的前列。事实上,我认为我认识一个朋友,他每天平均 30 分钟持续练习 DSA 100 天,在力扣上。他获得了 100 天力扣徽章,用于
上面写着授予力扣编码员前 4.2%。所以你告诉我,嘿,我每天只需要 30 分钟就能进入前 5%。这太疯狂了。是的,它不需要那么多。是的,是的。我认为很多人像我一样,呃,我可以将它与不仅仅是软件开发的其他领域进行类比。例如,我经常会,呃,遇到正在学习音乐的人,并且,并且,
他们只会记得吉他上需要按哪个品。就像,哦,那是 D 弦上的第七品,或者类似的东西。或者在第三弦上,他们甚至不会,他们只是,音符本身就令人生畏,这方面。但在某些时候,你确实需要学习音符,对吧?例如,当你学习中文时,我遇到过很多人正在学习中文和日语,这些语言涉及,你知道,汉字。很多人会说,哦,我只是,
我刚刚接受了永远不会学习它们的事实,我只会专注于,你知道,口语日语和口语中文,就比如
使用罗马化方案而不是实际使用汉字。我没有关于这很容易的好话要说。我花了 24 年时间学习汉字,也许,也许比这还久一点。我仍然觉得我像,等等。但是如果我不接受中文,我的技能就会非常粗糙
学习这些,因为这是记忆的重要组成部分,也是以汉语为母语的人学习汉语的重要组成部分,他们实际上必须学习汉字,日语使用者也是如此,就像你永远不会去音乐学院找到一个试图,你知道,死记硬背哪个音符在哪个品上或需要按哪个品的人,他们只会拥有这个框架,你知道,这 12 个不同的,你知道,音符,呃,它叫什么
甚至……音律。是的,就像平均律一样。我不记得确切的术语了,但就像所有的升号和降号等等。并且与……
数据结构和算法,这令人望而生畏。很多人会说,哦,我只会学习如何做很酷的项目,或者让我第 n 次重新设计我的作品集,以此作为练习的一种方式,同时也稍微拖延一下学习更难的东西,比如学习时间复杂度和空间复杂度是如何工作的。
并且,你知道,解决这些更难的,比如,Project Euler 问题或力扣问题或 Rosetta Code 问题。顺便说一句,Free Code Camp,我们非常相信每天做一点点。我们即将推出每日编码挑战。这是第一个……
请注意,这是给所有收听播客的人的早期提示。你直接从一开始就得到真相,直接从一开始,无论俚语是什么。所以是的,我们将会有这个。我对此非常兴奋,因为任何事情,即使只是每天 20、30 分钟,
你都会锻炼那块肌肉。呃,正如你所说,熟能生巧。嗯,只是,只是获得这些重复练习。所以,是的。因为我认为即使回到音乐,我的意思是,我,我一直在做一些钢琴之类的事情,你知道,你可以学习一首歌,在 YouTube 上查找它,按照视频中的键,就像键落下并击中,我甚至不知道那个词是什么,但是,嗯,
如果你是一个初学者,这将花费很多时间。你也许能够学习几首歌,这很好。编码也是同样的道理。你可以学习 Python,编写一些脚本,也许自动化一些事情,并从中获得乐趣。我鼓励人们这样做。如果你真的想获得全面的知识,放慢速度并真正学习框架、方法和基础知识将节省你长远的时间。你学习的每一件事
都可以用于其他问题,这将节省你的时间。所以对于音乐来说,学习音阶并理解为什么歌曲中的键会根据某个音阶进行演奏,这可能很合适。对于编程来说,理解
代码是如何工作的,这在人工智能领域现在是一个很大的问题,人们复制粘贴代码却不知道发生了什么,溢出类固醇,是的,是的,如果你只是想,你知道,把一些东西放在一起,你可以让它工作,很好,但是如果你真的想学习软件开发的技能,那么这并不是理想的,它实际上只是……它延迟了
你需要投入的时间来学习基础知识。所以放慢速度并学习这些知识,以便在长远来看更快。我记得在大学里解决问题时,你知道,我会花几个小时的时间,而且我不知道自己在做什么,我现在可以更快地解决这个问题,因为总的来说,我的技能更多了。是的。你努力克服了它们,并且你对这些事情建立了基本的理解,然后你就可以应用它了。这有点像,
当你第一次开始编码并进入 Project Willer 时,当然,我最喜欢的网站之一,我用于很多早期 Python 练习的网站,只是解决挑战。即使获得其中的一些也可能非常困难。但是随着你变得更好,随着你获得重复练习,随着你建立起这种
这种对不同模式的洞察力,这些模式往往会出现,或者,哦,我可以看出这里嵌套循环将是答案。你,一旦你开始学习这些东西并对这些东西进行分类,就像你,而不是必须像从亚当到亚当那样创造一些东西,组装它,你,你只是有一个模具,你只是现成的,你知道,压出一个。嗯,我认为这确实会大大加快速度。所以绝对值得。并且,嗯,像,
我遇到过一些人,他们没有回头学习基础知识,就已经走得很远了。毫无疑问,正在收听节目的听众会发现他们生活中有人正在这样做,正在这样做,
做一些自由职业软件咨询,只是与 GPT 交谈和所谓的“氛围编码”,他们基本上有点像告诉,是的,我应该做这样的事情。并且,并且,他们的提示会很好,但它不一定会足够精确。接下来你就会知道,他们的网站有一些他们没有预料到的漏洞。或者在某些时候,上下文窗口无法容纳他们编写的所有代码,他们只是不知道如何维护和扩展他们编写的内容。它只是,整个过程,
停滞不前,他们无法理解和修复他们随着时间推移拼凑在一起的东西。就像你谈了很多关于人工智能的事情,我想听听你对我说的话的反应,以及你对开发人员使用人工智能的看法。是的,我使用它。我认为这是你可能应该使用的东西,但这取决于你想要完成什么,对吧?因为,
如果我想学习一些东西,我认为人工智能可以帮助你提供建议、技巧和方向。但是当我试图学习一些东西时,我很少会仅仅为了解决方案而使用人工智能。所以一个例子可能是,嘿,我想了解 AWS。
是的,你可以访问 AWS 的网站。你总是可以直接访问。或者你可以使用人工智能工具并询问,比如,嘿,我应该了解哪些最重要的服务以及为什么?我应该按什么顺序学习它们?你也可以将这些与 Google Cloud Platform 等效项或 Azure 等效项进行比较吗?我认为人工智能在学习环境和探索方面非常出色。我还认为它对于以下方面会有奇效
嘿,我有这段 Python 代码。我理解它,但我需要用 C# 编写一些东西。你能解释如何转换它吗?而不是,你知道,必须从头开始学习一门语言?所以我认为它非常适合翻译。在这种情况下,你可以更快地学习,因为与其将每个新项目或新语言或新事物视为
一些你必须做的新事物,它实际上只是你已经知道的东西的差异。所以你只需要考虑你所知道的以及事物有何不同,这有助于你更快地学习事物。这就是我将如何利用人工智能。如果你是一个初学者并且正在学习,我不会使用,至少现在是这样,这是我今天的观点,明天再问我,但我不会使用 Copilot 或任何这些工具,这些工具会
基本上帮助你在编码时实时编写解决方案。它只会让你无法自己学习这些东西。我只是,我还没有到我认为这是一个好主意的时候。
所以当你实际构建软件时,是的,这些工具可以帮助你更快地提出解决方案。是的。因为那时你已经理解了它们在做什么,并且你可以修复问题。是的。我的意思是,这有点像在你不知道一种语言时使用谷歌翻译,而当你至少对这种语言有粗略的了解时使用谷歌翻译。你使用它不是为了快速沟通并将回复通过电子邮件发送给某人,而是用他们的母语,而是你实际上……
用它来更好地理解你在互联网上的某个地方发现的这段母语文本。就像,好吧,这个词是什么意思?好吧。这是一个有趣的用法结构。所以你实际上,是的,它正在帮助你获得你想要的东西。嗯,人工智能可能会创建,你知道,一个实际上有意义的函数,并且它,呃,足够好,足以满足目的,但你实际上能够评估它并可能从中学习,以及生成该工件。呃,
所以我喜欢这个想法。你所说的,你对这个问题采取了一种非常温和的方法。你确实使用了它。但与此同时,你劝阻人们在早期使用它。这是我听到许多经验丰富的开发人员说过的话,那就是对你来说最糟糕的事情,也许不是最糟糕的事情,但对新开发人员来说最糟糕的事情之一是,嘿,这是一个新工具,Cursor 或 Copilot 或……
像把它们扔进去,然后说,好吧,只要输入你想要的东西,它就会附带代码。好的。现在这个看起来好吗?就像,我不知道,我想。他们只是在拍打东西并建造积木塔。对。嗯,我,我绝对,这与我有共鸣。你所说的一件事我认为比人工智能工具更广泛。我确实将人工智能工具视为一种工具。我不认为它是万能的,你知道,像,
改变游戏规则。我与几乎所有我交谈过的人一样,都将人工智能工具用作开发人员,并且因此这些工具的生产力提高了 20% 到 30%。我看到你点了点头。对于收听音频版的听众,你同意这种观点吗?是的。
是的,我相信。并且与那里的百分比相似,我认为人工智能提供的信息应该比你目前能够做到或自己知道的信息多 20% 到 30%。所以你可能会得到一些好的技巧和窍门,但你不会得到你完全不知道响应的含义或工作原理的东西。
这就是我使用它的方式。就像,嘿,我知道这个,但我需要一点帮助。你能帮我超越我目前的位置吗?是的。其中一件事,就像在工具方面,你几周前发布了你很棒的后端开发路线图类型的视频。我真的很喜欢观看它并学习你如何看待事物。
后端开发、工具生态系统等等。你在其中说的一件事,我将尝试准确引用。你说,从每一类工具中学习一种工具。是的。哇,这是非常好的智慧。你说是谁说的?2025 年的 Caleb Curry。是的。
是的,每当有人说他们要引用我的话时,我都会有点紧张,因为我在我的某些视频中说过一些疯狂的话。但是是的,我认为这是一个好的。200、300 小时的播客音频,我可能说过很多愚蠢的话……我尽量不向世界传播错误信息。我试图充分地像,嘿,我不是这个领域的专家,并充分地为它作序言。但是是的,是的。
谈谈你为什么这样认为,以及为什么你认为这对于进入软件开发的人来说是一种可行的学习策略。就像你用后端开发来谈论它一样,但你会认为它更普遍吗?所以如果你正在学习 DevOps,或者如果你正在学习游戏开发或类似的东西,那么每一类中的一种工具都是可行的建议。是的,我认为它非常可靠。所以我可以解释一下这个想法的理由以及它的含义。嗯,
所以我认为一个很大的问题是,首先,我会得到那个答案。我只想快速解释一下,学习新事物有点不舒服,对吧?就像你不知道什么东西。你必须努力弄清楚发生了什么。我认为人们害怕这种感觉。就像如果他们不明白,这意味着,你知道,它超出了范围,对吧?
他们的能力,或者它超出了他们目前的能力。但我认为这是学习过程的自然现象。有一些东西你只需要盯着看并消化才能完全掌握。我之所以要提到这种方法的原因是,你应该努力学习你目前不知道的新事物,并获得更广泛的理解,但你也要对技术有更深入的理解。无论哪种方式,你都在学习,但你必须选择,你知道,我应该将我的学习精力集中在哪里?因为这种学习的感觉需要付出努力和精力。我会说这对大多数人来说是有限的。你只能以一定的速度学习。你尝试学习得越多,它就越痛苦。是的。
但是,就像,例如,在一个会话中,如果你学习 12 个小时,我猜你的学习效率会下降。但是,你学习了其中一些。是的,完全正确。是的,就像每小时的学习率或每小时的学习量下降了。但是,学习这些技能可以帮助你更快地学习其他东西。所以从某种程度上说,你也可以节省时间。
所以总而言之,我相信通过深入学习更少的技能和技术,然后将一定比例的时间用于探索性地发现新事物,你会获得最大的时间回报。
所以这份路线图非常注重发现。它是,嘿,这里有一些不同的技术,它们是如何组合在一起的,你可能需要注意什么。它不是一个这里是你应该详细学习的所有内容的列表。路线图的目的,不是路线图,而是思维导图。它基本上是一堆不同的技术,它们相互连接并被分类。这样做的目的是为了了解环境。
而不是给你一个你需要花费大量时间学习的每一步的步骤。这可能是你学习努力的 20% 到 30%,是一种广泛的学习。我会说 20% 到 30% 取决于你在职业生涯中的位置以及你的目标是什么,但这只是一个概括性的数字,用来解释我的想法。
这意味着你 80% 的时间应该深入学习更少量的技术或技能,这样你才能面对新的挑战和可能更能扩展你思维能力的事情。当你这样做时,
我相信这些技能更容易转移到其他事物上。例如,如果我成为 Postgres 数据库的专家,我理解所有命令,很有可能我可以轻松地学习 MySQL 或 SQL Server,因为有了这种深度。
所以如果我选择这条路线,深入学习 Postgres,而不是将我的时间平均分配到 MySQL、SQL Server 和 Postgres 上,我认为我会在第一种方法中走得更远,即只专注于深入学习一种。所以这有点回到了很多人问的问题,比如,嘿,我应该专注于哪些语言?我应该专注于哪些框架?
然后他们只是到处跳跃,他们将他们的注意力货币稍微花在每一件事上。他们并没有真正深入了解任何事情,这基本上使他们成为一个极端程度的通才,他们实际上无法利用他们的技能做任何事情。他们只能在高层次上谈论这些事情。所以我不想偏离主题,但我只是认为,
理解这种深入学习然后进行一些探索的心态对于大多数人来说非常重要,以便充分利用他们的学习时间。所以当我建议学习每一类中的一件事时,这实际上意味着首先学习一个数据库、一种语言、一个框架、一个云提供商,
一个主要操作系统加上 Linux。是的,我们只是在学习主要操作系统。是的,就是这样。这会让你头疼,但它确实能做到一举两得。然后这将使你能够拥有良好的深度,你可以很容易地将其转移到新的框架中。是的。
这能很好地回答你的问题吗?
向 Notes 致敬。这就是……本部分的赞助商是 Taking Notes。所以我的……
当我开始学习编码时,当然,每个人都可能听过我的编码历程,令人厌烦。如果你没有,请谷歌搜索“学习编码书籍”,你就可以阅读我如何一步一步地学习编码、获得开发人员工作,最终启动 freeCodeCamp 以及所有这些内容。它都是为了给你提供可行的建议,而不仅仅是,嘿,这对我很有效。它都像,有点带条件的。但我确实发现自己处于极端程度的通才状态,因为我就像,
学习一些非常基本的编程知识,并在我的学校中自动化一些事情,感觉非常聪明和特殊等等,直到我意识到,好吧,我只是在使用一些非常专业的工具,这些工具非常擅长完成任务。这与那些可能觉得自己是超级强大的巫师的人没有什么不同,因为他们正在使用 Copilot 来生成很多代码,或者他们正在从 GitHub 上获取一些样板代码,并且他们正在对其进行细微的修改,并且它正在做他们需要做的事情。嗯,并且,
我会告诉你,我四处走动了一段时间。我会参加一些活动等等,我的能力远远超过了我对许多概念的理解。我发现自己陷入了一些谈话中,人们认为我的技能和深入知识比我实际拥有的要多得多。当有人说,哦,好的,所以你也喜欢 Python。你检查过这个用于 XYZ 的库吗?而我说,我甚至不知道 XYZ 是什么。因为……
很多时候,知识的错觉会掩盖真正收集知识的动机。我经常提醒人们,知识的错觉是学习的最大障碍。那些认为自己已经理解某事的人没有动机去检验他们的假设,并且,你知道,
打破他们的假设等等。所以如果你发现自己处于这种情况,或者如果你发现,哦,我的天哪,他说得对。他正在谈论我。凯尔正在谈论我。我是一个极端程度的通才。我一直都在看这些 YouTube,就像我订阅了一个后端频道、一个 DevOps 频道。我一直都在观看 Free Code Camp YouTube 频道上发布的每个视频,并且到处跳跃。但是我
别担心。别担心。拥有这种广泛的理解没有什么错,但你需要深入学习,对吧?像,呃,呃,
经理们总是会谈论 T 型人才,他们拥有这种广泛的理解,但在某个垂直领域很深入,无论是某种工程主题还是某种领域专业知识,比如他们是统计学家等等。这些人非常有价值。但不太有价值的是只拥有深入知识但对周围领域没有任何额外了解的人。是的,这也是一个很好的观点。无法做出良好的关联性决策。
无法建立联系,无法弄清楚事物是如何相互关联的,因为他们没有这种支架。他们没有这个框架来理解这些概念。呃,然后,是的。所以,所以我只是想指出,如果你发现自己处于这种情况,我发现自己也处于这种情况。没有什么好羞愧的,但这是需要补救的事情。是的。
并采取行动,不要满足于仅仅成为《欢乐一家亲》中的万事通。那个送邮件的人,他似乎对一切都了解一点,但当进一步追问时,实际上无法超越任何事物的表面深度,并且缺乏某种功能性的理解,就像软件的物理学以及事物是如何传统地组合在一起的,以及控制不同事物的实际规则。呃,
你会通过 Caleb 提倡的有目的的练习来实现这一点。对不起,我不得不偏离主题。就像我以前从未谈论过这个一样。我认为你,你,你以如此优雅、雄辩的方式表达了极端程度的通才。我只是想说,像承认我曾经是那样的人,任何正在收听节目的听众,现在采取纠正措施永远都不晚。
呃,不要让自己陷入困境,不要接受,哦,是的,我就是那样的人。也许我应该成为一名产品经理,因为我从理论上理解这些事物是如何组合在一起的。不,你应该学习如何编码,最好的 PM 知道如何编码,对吧?最好的,呃,任何人都知道如何编码。就像如果你看看硅谷,像,
几乎所有 CEO 都不是销售人员或类似的人。他们是软件工程师,他们实际上可以深入研究产品,并理解为什么产品设计、基础设施和架构中的决策会以这种方式做出,所有这些事情,对吧?他们可以进行对话,他们可以从不同的抽象层进行对话,并与组织中从事更多技术工作的其他人进行流利的交谈。所以,嗯,
我认为这都非常好。是的。是的。不要仅仅接受,哦,好吧。我是一个通才。这很酷。我是一个通才。不,这并不酷。你需要不要停留在那里,这就是我想说的。是的。我刚开始与一位有首席运营官或基本上是运营方面背景的人一起工作。他们意识到他们总是错过了他们的全部潜力,因为他们从未开始学习。
从代码的基础开始。就像现在我们正在做的事情一样。我们正在填补所有空白。就像,嘿,让我们速成一下你在 CS 学位中会学到的东西。让我们谈谈从头到尾构建应用程序。现在一旦完成,她的知识将非常有价值,因为她同时拥有这两种技能,对吧?就像她现在在高层次上了解技术,并且拥有非常广泛的理解,并且她
它对公司有何帮助,它如何赚钱以及它是如何产生的。但是将这与实际自己构建它的能力结合起来,我会说这是一个高价值的秘诀。是的。我的意思是,基本上,低级别创始人也有这种技能。他们拥有某种管理思维或销售价值,或者组织内的某种维度会计,以便他们能够理解金钱以及资金是如何运作的。
你能够坐下来喝咖啡并整天编写代码,或者喝茶,在我的情况下,或者如果你根本不喝咖啡因就喝水,那么向你致敬,如果你完全没有这些精神活性物质,我害怕随时放弃它们。敬礼。我离题了。
在本周播客节目中,freeCodeCamp 创始人 Quincy Larson 采访了 Caleb Curry。他是一位软件工程师和多产的计算机科学教育家。他最近开始直接指导数十名开发者,帮助他们提升技能和职业发展。我们将讨论他作为开发者被裁员的经历以及他是如何为职业中期求职做准备的。我们讨论了:- Caleb 如何被裁员并找到他的下一份开发者工作- 为什么大多数人忽视了人脉和招聘人员,但其实不应该- 为什么 Caleb 对教授系统设计概念如此认真- Caleb 如何将他的深度专注与通过播客和白皮书进行的广泛课外学习结合起来本播客由 Wix Studio 的资助支持。Wix Studio 为开发者提供工具,可以快速构建具有所有开箱即用功能的网站,然后使用代码扩展、替换和突破界限。了解更多信息,请访问 https://wixstudio.com。本播客还得到了 11,343 位通过每月捐款支持 freeCodeCamp 的好心人的支持。加入这些好心人,通过访问 https://www.freecodecamp.org/donate 来帮助我们的使命我们谈话中提到的链接:- Caleb 关于数据库设计的课程:https://www.freecodecamp.org/news/database-design-full-course-43233664125b/- Caleb 的系统设计讲座播放列表:https://www.youtube.com/watch?v=0e7yQ43bUtg&list=PL_c9BZzLwBRLSs6x50D5WIH76VCUxJs9E- Caleb 的领英主页:https://www.linkedin.com/in/calebcurry/</context> <raw_text>0 是的。我认为当你还是个初学者时,呃,这绝对有一些价值,只是花时间去做这个探索。就像先广泛地学习一下,了解一下有什么,这样你就可以在非正式的环境中自信地交流,但这只是第一步。然后你需要选择一些东西深入学习。呃,
是的,你刚才也提到了我甚至没有真正说过或考虑过的一点,那就是你可以走向另一个极端,你只深入学习,基本上对你那个专业之外的任何东西都不了解,我认为这也很危险,因为你不知道事情是如何相互作用的。比如说你是一个
你是一个分布式系统的大师。你所有的都是后端。然后有人和你谈论web开发,你会说,“什么是HTML?”我不知道。所以,是的,两者兼顾是很好的。我认为人们倾向于只做广泛的学习,因为这不太痛苦。是的。
它不那么痛苦,因为评估标准比较远。我认为Y Combinator的创始人Paul Graham谈到了这一点。他说的一件事是,很多人认为他们的驾驶技术比实际好得多,因为当你开车时,即使是一个糟糕的司机也很少发生事故。
这并不是每天都会发生。所以反馈循环非常松散,很容易有人说,“是的,我当然会出事故,因为我撞到了一扇门。我当然会出事故,因为有道路施工,我感到困惑”等等,忽略了他们本可以——
理论上,对这种情况做好更多准备并避免事故。或者也许他们只是习惯性地超速行驶并紧跟在别人后面。在德克萨斯州这里很常见。我想你住在奥斯汀。你知道,像一辆巨大的卡车朝你冲过来,在德克萨斯州这里就像每天都会经历的事情。但是是的,就像……
如果你正在深入学习,你实际上是在学习一项技能,编译器每30秒就会告诉你,“嘿,那没用,你知道吗?再试一次。”它很快就会让你谦卑。是的,我认为这是你在只是像
听播客时得不到的东西,再说一次,我喜欢听播客,我一直在听,但没有反馈。很好。就像循环一样。不像你在最后会参加测验。尽管理论上你可以使用LLM并将这个播客放在里面,然后说,“嘿,考考我关于这个播客的内容。”而GPT四,例如,会这样做。嗯,你可以获取文本,这样你就可以引入这些反馈循环,但是当你真正学习一项艰深的技能时,就像数学一样。为什么数学对这么多人来说如此可怕?嗯,
因为通常只有一个正确答案。如果你没有得到那个答案,你就得到了一个错误的答案。所以你必须不断地努力,直到你真正得到正确的答案。即使那样,你可能也不完全理解你是如何得到那个答案的,以及为什么它是正确的。是的,就像这会吓倒那些习惯于像学习一样的人,
政治学或,嗯,你知道的,艺术史或,或那些像没有那种东西一样的东西,你实际上并没有将你的想法输入机器并让它们进行评估。是的。
呃,你,你也许你的教授会说,“是的,我看到你在这里使用了这种推理方法”,但我,但这很含糊,很软,当你处理,呃,处理JavaScript编译器并获得这些错误消息时,就没有含糊和软弱了。非常令人沮丧。我可以理解为什么这么多人推迟深入学习更技术性的主题。
是的,你实际上提到了几件事,我想补充一些评论。所以对于一般的学习,如果你想对所有现有的东西有一个很好的理解,比如它是什么,它在哪里,这就是路线图、思维导图之类的东西,你提到的我创建的东西,这些都非常有帮助。所以我真的建议看看其中的一些。但另一种很好的方法是
获得这种普遍理解的方法是通过被动学习,例如通过播客。我很高兴你提到,听这个播客不会让你深入了解,但它确实会让你获得对良好理解所需的广度。这是我最喜欢的了解现有内容或我不知道的内容的方法之一。
所以播客,听那些谈论最新技术或趋势的YouTuber。对我来说,我真的很喜欢那种长篇的东西,你知道的,我可以播放一个小时,然后只是听听不同的观点,并且接触到一些我还没有真正学过多少的词语或技术。你几乎不需要任何,任何
精神压力就可以获得非常好的普遍理解,如果这说得通的话。
是的,对话的目的是引导你。如果采访者做得很好,我希望我做得很好,你会预料到听众潜在的盲点,并试图将其消除,以便他们获得流畅的学习体验,并且不会对你在谈论的内容感到完全困惑,对吧?完全正确。定义缩写词,并试图将事物与人们可能拥有第一手经验的事物联系起来,诸如此类的事情。
是的,播客。我再说一次,我喜欢听大量的播客。我可能每周听,我不知道,大约10、15、20个小时。当然,我以双倍速度收听,如果……
你知道,这个播客没有经过编辑。我希望它是原始的即兴的。我希望我们偶尔会互相打断,因为这在现实生活中的谈话中会发生。我参加过一些播客,他们会剪辑我的采访,就像我说完话的那一刻,我就会说别的东西,没有喘息的空间。但是你可以像这样,获取一个原始的播客,如果每秒的见解不够高,只需将其速度提高到1.5倍或2倍。是的,我的意思是,我做,像……
3倍速。如果你在2倍速,你需要加快速度。来吧。是的,是的。好吧,希望如此,因为我们不是每三到四秒钟就进行一次跳跃式剪辑,我的天哪,我看一些YouTube上的频道,他们在做视频短评,这简直就像,“好吧,我得到了半个句子。现在我们要跳到这个句子的下一个从句。”是的。
而且有一些话要说。就像对不起,我要像个老家伙一样对着云大喊大叫。就像当我演奏吉他、鼓、贝斯和键盘部分时,这些都是一次完成的。我不合成。我不在电脑上做任何魔法来修复我糟糕的音乐。就像我实际上只是,我认为那里有一个我尊重的有机过程。如果你去看现场演出,呃,
他们正在做比我更难的模式,因为我至少可以多次尝试并找到一个好的版本。对。这与你参加会议并观看会议演讲有点类似,那个人可能已经排练过所有这些东西,但他们在没有安全网的情况下在很多人面前现场表演。这需要很大的胆量和,嗯,
是的,我对它的实际表演有一些热爱。你可以带一个对编程一无所知的人,通过让一群主题领域专家为他们写剧本,让他们站在镜头前,告诉他们确切该做什么,并让一个技艺精湛的编辑插入所有表情包等等,你可以把他们变成一个非常受欢迎的编程YouTuber。我发誓,这种东西总是出现在我的YouTube推荐里。
然后我看到Caleb Curry对着他的黑板说话,像是在引导我学习所有这些东西。就像1985年一样。我的意思是,太棒了。我喜欢它。
是的,在黑板上教人工智能。不,我很感激。我经常收到关于这方面的评论。有些人会说,“这是什么?”然后其他人会说,“你在黑板上教这些新技术。这太奇怪了,但我喜欢。”我认为放慢速度可以帮助人们掌握材料。这并不难。
是的,我认为也不是。这就是为什么我也会制作一些动手实践的视频。我喜欢来回切换,因为我认为两者都有其作用。我制作很多系列的方式就像我会关注理论、想法和理解,然后再去应用它,这使得理解你正在编写的代码变得容易得多。是的。
而且在思考你将带给学习者的旅程和学习者同理心方面,有很多深思熟虑和思考。你拥有这一切。所以这只是我想说的一件事。并非所有编程老师都是一样的。有很多优秀的程序员,但他们并没有真正花太多心思在教学法上。他们不一定花太多心思去思考他们将如何真正设计东西。
课程,甚至是简短的视频,以最大限度地提高每分钟的见解或学习,并确保尽可能平滑的难度曲线。因为总是有难度曲线的,而且,
有些人只是想给你留下深刻印象并让你眼花缭乱。你会看到这些技艺精湛的吉他手演奏得非常快。你甚至无法理解发生了什么。你只是想,“哇,我永远也做不到。”这与大多数老师试图做的事情完全相反。他们试图做的是展示,你知道,你可以做到这一点,我们将从慢开始,但我们将努力朝着我们将构建和维护的这些更复杂的代码库发展,诸如此类的事情。所以,嗯,
无论如何,我将停止如此热烈地赞美你并滔滔不绝。但我希望更多的人能像你一样去做。我希望一些听众会受到启发,他们会考虑创作——就像站在黑板或白板前,甚至只是进行屏幕共享并谈论他们正在学习的内容,以及他们是如何学习的。因为这样的内容还不够多。
是的,我非常感谢你的赞美和评论,因为我故意以这种方式构建我的材料,对吧?这不仅仅是我。也许当我开始的时候,我只是打开了摄像头,然后说,“是的,让我们开始吧。”但现在我确实会认真思考,“嘿,什么是像逐步介绍这些概念的最佳逻辑方法,这样你就可以始终隔离你不理解的东西并学习它们。”是的。
所以是的,一个小时的视频可能需要一周的时间来准备和录制等等。所以这里面有很多内容,但我认为这就是为什么我认为我制作的材料以及其他人理论上也认为很有价值的原因,也许吧。
是的,我认为事实胜于雄辩。事实胜于雄辩。很多人都在观看你的视频,并评论说他们从你那里学到了很多东西。我看到有人说在英伟达做软件工程师,他说,“是的,哈里。他让我走到今天。”我的意思是,这让你感到非常自豪,就像工程的顶峰一样,就像人们正在设计半导体之类的东西,并进行这些不同的过程之类的事情,这必须让你感觉很好。
是的,那是一个很棒的例子。我喜欢收到人们的信息,而且我相信有很多有同样故事的人没有说过话。但对于那些确实说过话的人,我非常感谢你们的提及。是的。
我正在当地YMCA的健身房里散步,一个谷歌的家伙说,“Quincy Larson,你让我在谷歌找到了一份工作。”我只是想,“哦,伙计,太棒了。太神奇了。”是的,这是一种美好的感觉。我想回到我们之前提到的关于被动学习和播客的事情。我认为这自然会让你能够更好地沟通。
呃,而且以更好的方式。所以我真的认为它对于筛选面试和简单的沟通面试非常有价值,谈论你如何帮助公司以及实际的工作。所以,回到我们一开始谈论的零知识密码学,嗯,
我基本上听了一个,我相信它叫做零知识播客,你知道的,每天多集。我基本上就像,“嘿,我只需要吸收尽可能多的信息。”在深入研究任何一个特定主题之前,先进行广泛的了解。然后我就可以用一种聪明的方式来沟通任何关于零知识的事情,呃,
以一种聪明的方式。是的,如果我们深入研究,它就不会成立了,就像你提到的那样,我可能会在一次谈话中,有人让我解释零知识电路是如何从头到尾工作的。我会说,“我不知道,但我可以告诉你一些关于不同竞争产品和不同词汇等等的信息”,但这仍然非常有价值。我认为,呃,
人们在面试时也往往会忽略这种能力,因为你不仅需要能够构建软件,你还需要能够
向潜在的雇主证明你将要构建的东西是有价值的,并且你可以编写解决行业中需要解决的问题的软件。很多这样的工作都在沟通层面,而不仅仅是在编码层面。所以如果你进去,你只是在一些技术评估方面做得非常好,并不一定意味着你会得到一个职位,或者你是最合适的人选。嗯,
有些人说,“嘿,这完全取决于你能编写什么代码。”我不认为这是真的。我认为这还取决于你能沟通什么。所以也不要忽视这部分内容。我认为获得更好沟通能力的最佳方法之一就是开始与其他人沟通。所以要找到一些社区,听播客,更高级的内容,会议等等。
所以我想提一下。然后我们还使用了“含糊”这个词,有点像那些不太深入的东西。对于深入学习,做一些让你有点不舒服的事情。就像说,“嘿,我这段时间要专注于这个。”
也许是DSA或我们谈论过的一些东西,但它可能只是,你知道的,最终弄清楚Docker和Kubernetes或任何你想要的东西。你想变得更好的东西。对我来说,虽然我不经常这样做,而且我仍然不喜欢这样做,但当我想要更深入地学习一些我一直避免的东西时,我总是阅读白皮书,因为太无聊了。我的意思是,拜托,它们太无聊了。但是……
强迫自己做这样的事情可以挑战你,让你有更深入的理解。所以我从比特币白皮书开始,它为许多加密货币奠定了基础。我在Web3工作,你知道的,我第一次读它。我有点明白了,你知道的,再读一遍,开始把事情拼凑起来。我只是反复阅读,直到我能理解它的大部分内容。
显然我会做任何额外的研究等等,但仅仅是这种重复,它有助于记住东西并建立联系。然后对数据库系统做类似的事情。所以去阅读Dynamo白皮书或Google Big Table论文,无论你所在领域的什么内容。可能有一些非常无聊的文件,人们知道它为很多学习奠定了基础。
而如果你强迫自己开始消化这些东西,我会说你会真正加深你的知识。所以这是一个想法。它不一定是白皮书,但它可能是某些具体的文档、规范或人们遵循的指南。是的,所以一定要平衡沟通,更含糊的东西,就像你提到的那样,以及深度。
我们简要地谈到了人脉,你想深入了解一下,但我们并没有真正讨论它。我们跳过了很多不同的主题。关于人脉的高级建议。比如说假设你,你搬到了另一个国家。你搬到了德国。
好吧,比如说你搬到了英国,因为至少你不用学习语言。我本来想说,首先我必须学习德语。是的,存在巨大的文化差异。例如,人们低估了美国和英国之间的文化差异。像更多的公司,更多的合资企业。这在90年代是正确的。我不知道现在是否仍然如此。但是,合资企业类型的公司失败最多的国家是美国和英国,因为发生的事情是,人们只是假设文化相同,即使它实际上大相径庭。如果你和你的孩子一起看佩佩猪等等,你就会开始理解,“哦,这与……
美国的文化非常不同,比如说假设这些文化差异也被标准化了。所以这就像一个完整的,比如说,虚构的,人为的练习。但是假设你进入一个不同的国家,你谁也不认识,对吧?
或者我们可以把你送到托莱多之类的城市。是的。好的。所以让我们去托莱多,那里的文化和语言都是一样的。他们也是中西部人。我技术上是西南部的,但我认为你我之间,我认为没有太大的文化差异,但我们可以看看我们的合资企业是否像美国和英国那样失败。但是假设你去了那里,你谁也不认识,什么
也许你有三个月的资金,但你确实有技能。你确实投入了时间和精力。你有一个形状。你对关系数据库设计有专门的知识,等等,对吧?显然,这是真的,因为你可能创建了现在YouTube上关于这个主题的规范的八小时视频课程。所以假设你拥有这种专业知识,但你谁也不认识。对。
你如何开始建立你的网络?你会怎么做才能在三个月的时间里最大限度地利用它?是的,这实际上是一个非常好的问题和练习。所以我会谈谈我会怎么做,我会展示,我会几乎告诉你我做了什么来在不到三个月的时间里获得高级软件工程师的职位。所以基本上你说我们在一个新的地方,
但我拥有相同的技能。这一点很重要,因为求职有不同的方法,对吧?你可以广泛地寻找,就像,“嘿,我要向地球上的每一个职位发送简历。看看会发生什么。”这种策略实际上是有效的。是的。但也有非常有针对性的方法,就像,“这是我正在寻找的类型的公司。这是我正在寻找的类型的技术。”这种方法也可以奏效。
我会说,对我来说,我可能会……我会稍微缩小我的关注范围。所以我想对我要寻找的东西有一些具体的了解。因为这有点像……
你和你公司之间需要有一个很好的匹配,如果你只是非常广泛地申请任何职位,那么对于其中许多职位来说,你很可能没有一些专门的技能或一些独特的东西来让你与其他数百个做着与你完全相同的事情的人区分开来。所以这实际上是一个数字游戏,你只需要发布足够多的信息来让某人相信,说服某人给你一些时间来面试。呃,
我会说,更广泛的方法是我们肯定可以讨论的,但对于这个练习,我将更多地关注狭隘的方法,为了缩小范围,我首先会关注技能,因为世界上所有的技能并不一定都好,对吧?所以对于技能,我会专注于几个我感兴趣的工作领域。
所以对我来说,我想,“嘿,我确切地知道我想使用Rust编程语言,想专注于后端工程或全栈,对移动开发不感兴趣,对设计不感兴趣,甚至对某些小事情也不感兴趣。我不想使用Azure或GCP。我想使用AWS或我熟悉的东西,因为我
你申请的每个职位,如果你得到面试,那么你必须准备等等,所以我认为我会非常专注于技术,在这一点上我对Rust还比较陌生,我还没有用它来完成工作,是的,技能集,但你知道同样的想法,我只是将它与我已经知道的知识进行了比较,我已经在某种程度上了解了C++,并且已经了解了Python、JavaScript等等,所以我只是了解了一些关于,你知道的,
Rust提供的一切,我们以后会讨论。只是为了提供一些背景信息,为什么是Rust?Rust是Web3开发中使用的主要语言。当然,Rust也用于
任何需要高性能的东西,例如它被用于Linux内核。很多人的最喜欢的编程语言是Rust。所以它是一个非常活跃的开发和维护的社区。FreeCodeCamp也有一些关于Rust的免费课程。哦,不错。你可以学习,包括一些交互式课程。是的。对不起,我只是想让人们了解为什么Rust如此重要。
是的,这是一个很好的背景信息。所以对我来说,我看到这为我打开了最多的机会,因为我知道我可以留在Web3环境中
零知识空间,或者我可以进入高性能、低级别的领域,可能是在数据库引擎上工作等等。但也是Rust,因为你可以构建通用的API。如果我想使用Rust来做ExpressJS的等价物,我完全可以做到。所以对我来说,这就像,“嘿,这将为我打开最多的机会。”
而且我认为这是一种如果我拥有这项技能,我可以利用它来找到一个远程职位来做我感兴趣的事情。而且我将要构建的软件很可能是新的软件,相对较新的软件,或者是用Rust重写旧的软件,这让我很感兴趣,因为我不想加入某个项目,然后处理20年前的代码,我必须像
消化或学习某种新的语言等等。所以这就是我选择关注内容的方法。然后我就变成了那样。所以我删除了任何说“有抱负的Rust开发者”或“正在学习Rust”或任何类似内容的东西。我只是说,“嘿,我是一个Rust工程师”,更新了我的领英资料。关于领英,你不需要使用领英,但是
对我来说,我需要一个集中存放所有联系人的地方。所以如果你从事销售和营销工作,这基本上就像你的CRM用于人脉。你开始把它当成营销和销售的事情来考虑。就像我必须推销自己,我必须把自己卖到一个职位上。所以即使在会议上,我没有带手机,但是
我的主页是一个二维码,让人们可以通过Telegram或领英或其他方式与我联系。所以任何我遇到的人,我的目标是让他们到达那个集中的位置。然后我从那里制定策略。所以清理领英,用所有我喜欢的新的技能来更新它,仅限于我认为会给我带来最大价值的几个技能。然后我开始创建。
用Rust构建,并更新我正在做的事情。就像,“嘿,我只是要构建一个CLI。我要构建一些加密的东西。”是的。我开始在领英上发布这些内容,没什么太疯狂的。我只是说,“嘿,今天我学习了clap包”,然后展示了一个例子,没什么了不起的。你知道的,我没有做任何
任何观看此视频的人都可以弄清楚的常规事情。然后我加入了一堆领英群组,Rust、软件工程等等。通过联系,你可以基本上这样做,比如,“嘿,我每天要联系这么多人,你知道的,每天10到15个人。”
这真的很有帮助。为此,你可以针对招聘人员,也可以针对招聘经理,或者你可以针对可以为你推荐公司的人。如果是一家更大的公司,这可能就是我会调整的方式。如果你要找像Fang或一些大型科技公司,而不是针对招聘人员,而是针对你可以建立关系以获得推荐的人。但我当时的目标是小型公司。就像我想做端到端一样。
你说你想在小型团队工作,因为你可以参与产品开发,而不是仅仅在一个部门工作,专注于代码库的某个微观世界。例如,我和大型公司的一些人谈过,他们整个工作,他们有一个人,他的整个工作就是管理CloudFlare.yaml文件。他的整个工作就是在这个yaml文件中移动。这听起来不像你一直在做这件事的话,你会建立广泛的技能。
是的,我想要一个相当小的团队,因为我想做全栈开发,比如部署所有东西,包括DevOps和运维之类的工作,或者只做后端部分。所以,一个中等规模的团队是我的目标。因此,我加入了这些团队,与人们建立联系。有人联系了我。
他看到我加入了那个团队,可能看到了我的个人资料,看到了我正在做一些艰难的事情,然后开始了对话。我只是参加了一个入门电话会议,我认为这些对话的目标就是进行一次电话会议,并自信地沟通你正在做的事情以及你的目标。就像,
极其自信。是的,让他们看到你的脸。让名字与脸对应起来。例如,我记得那些我与之进行了30分钟通话的人。例如,我通常不会忘记我花了30分钟的清醒时间与某人交谈。例如,我不会说,“那是谁?我对这个人毫无印象。”不会。我认为大多数人都会这样,特别是如果他们的工作是招聘或招聘经理,负责寻找人才之类的事情。你只需显著提高……
你在他们寻找候选人过程中的感知权重。就像,“哦,是的,我与这个人谈过话。”这可能是完全下意识的,但在你与他们取得联系后——或者在你开始与他们建立联系后——他们更有可能想和你进一步交谈,或进一步了解你。我希望这不会偏离你所说的内容。不,我认为这是完全正确的,对吧?是的。
在一个我们越来越走向自动化、人工智能和简历自动筛选的世界里,我们想要有意地找到一个人,并进行面对面的交流,即使是在线上的。所以即使我在托莱多、德国、英国或其他任何地方,我们都
我的方法一直都是线上的。我一直远程工作。我一直都在线工作。面对面的活动绝对有效。我也参加过很多这样的活动。但对我来说,我的目标是让那个人在线上与我联系。所以那是我的中心位置。但是面对面的活动可能非常有价值。就像我住的地方,当地真的没有这样的活动。有一个活动持续了一段时间,而且距离我大约一个小时的路程。
我去过一次,在那里认识了一个人。我们都在学习,直到今天我们仍然是朋友。这已经,你知道,八年或更长时间了。呃,我,我们最终去了同一所大学,我说,“伙计,我刚在那个活动上看到你。”就像,我们今天仍然是朋友。所以这些深厚的联系真的很好。你绝对应该建立这些深厚的联系。嗯,
是的,为了节省时间,总结一下这个想法,基本上,我与这个人开始了对话。然后在入门电话会议中,我表现出高度的自信,因为我相信,任何给我的问题,我都会知道如何解决,或者能够通过对话找到解决方法。
研究或他人的帮助。换句话说,四处询问,搜索论坛,在Discord、Slack或任何地方提问,以解决任何问题。
会不会有我不会解决的问题?就像,是的,可能有一些我不会解决的问题。但是相信我能解决它就是第一步。我认为仅仅是这种自信就让他相信,“是的,我们开始吧。”然后,在一两周的来回沟通后,我就在那里开始了一个角色。
并且完成了从头到尾的全栈工作,使用Rust和React,以及许多非常有趣、具有挑战性的东西。它不是在加密货币和国防承包方面,所以要处理空军和一些类似的事情,但这是一个全新的领域。但我对技术技能足够自信,他认为,“是的,我可以教你领域知识。”
我相信你可以构建软件。所以领域知识是有帮助的。所以我一开始就告诉他,“说实话,我对这方面一无所知,但我绝对可以为你构建一个应用程序。”这就是我的故事。我只想引用你所说的一句话,我认为这句话非常深刻。“真正想学习的愿望胜过大多数技能。”是的,我认为这是真的。
如果你付出持续的努力,并且想变得更好,我认为从长远来看,你会比许多人更好。
百分之百正确。让我快速回顾一下你刚才所说的话,因为我认为这非常重要。你基本上决定了你想做什么,第一步。第二步,更新你所有的社交媒体,尤其是你的LinkedIn,这是一个非常宝贵的资源。人们不要忽视LinkedIn。它是一个真正的工具。我认为你说你也使用像Blind这样的工具。是的,我使用这些工具来了解不同的角色以及他们主要在寻找什么。是的。
然后,当然,你也与招聘人员进行了交谈。你似乎是一个鼓励人们利用招聘人员的专业知识和他们网络的人。是的。是的。所以基本上,你就像,“好吧,我是Rust程序员。我将——我是一名Rust工程师。我将学习我需要学习的东西,以支持我给自己贴上的标签。”是的,我相信这是最快的方法——
对不起,我不是故意打断你,但我相信这是学习的最快方法,那就是把自己放在你想要成为的那种位置上。我与一位最近开始接受我指导的人交谈过,他们有机会在公司内部担任高级职位。然而,他们觉得他们没有这方面的经验。
我最初的、直接的想法,就像显然要准备、学习技能、变得更好。我的直接想法是,如果你处于生活中可以投入时间、时间并且你可以学习这些东西的情况下,那就去做,因为你获得经验的唯一方法就是这样做。
百分之百正确。Caleb,很高兴你在Free Code Camp播客上做客。我希望大家都能查看节目说明中Caleb关于数据库设计的课程链接。我会在里面添加一些Caleb的其他链接。
我希望这些建议对你的技能提升、求职以及规划都有帮助。我的意思是,Caleb,你显然是一个计划很多、思考很多的人。呃,你不是像风中飘落的树叶一样的人,你知道,就像阿甘正传里的那样。我认为电影里是一根羽毛,但你是一个,像,
尽你所能去控制,去在一个我们几乎没有控制权的世界里掌控局面。再次祝贺你失业后重新找到工作。感谢你继续非常透明地分享你的见解和经验,造福那些正在经历类似事情的人,以及那些,
正在准备经历类似事情的人,因为很多人希望在28岁的时候达到你的水平,假设他们甚至不到28岁。我直到31岁才开始学习编程,但如果我在31岁开始,在35岁的时候达到你的水平,我会非常高兴。所以就像你说的那样,制定路线图,在你决定你想跳伞到哪座山上并开始攀登之前,先获得山脉的宏伟视野。是的,你在这里有很多见解,我希望所有收听节目的观众都能从中受益。
是的,这很棒。谢谢你,Quincy,感谢你的时间。我很高兴来到这里。也许我们很快会再次这样做。绝对会的。对于所有收听节目的观众,下周再见,祝编程愉快。