We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode #164 How to become a self-taught developer while supporting a family

#164 How to become a self-taught developer while supporting a family

2025/3/14
logo of podcast freeCodeCamp Podcast

freeCodeCamp Podcast

AI Deep Dive AI Chapters Transcript
People
J
Jesse Hall
Q
Quincy Larson
Topics
Quincy Larson: 我认为学习编程不需要很高的天赋,只需要时间和坚持。持续学习,每天哪怕只学习一小时,也能取得进步。 Jesse Hall: 我同意Quincy的观点。我从小在路易斯安那州的一个小镇长大,家境普通,没有接受过正规的计算机科学教育。我通过自学,利用FreeCodeCamp和YouTube等资源学习编程,同时养家糊口。我曾在百思买Geek Squad工作,从事电脑维修工作,期间我编写了Python脚本来自动化工作流程,这激发了我对软件开发的兴趣。后来,我成为了一名软件工程师和MongoDB的开发者布道师,我的工作是教导和帮助开发者。我专注于讲解如何将MongoDB与其他技术结合使用,而不是仅仅讲解MongoDB本身。 在养育孩子的过程中,我创建了YouTube频道来鼓励我的孩子学习,结果自己也做得很好。我发现自己喜欢教导和帮助开发者。我创建的YouTube视频帮助很多人学习编程,其中一些视频的观看量非常高。 我利用AI工具来提高工作效率,但仍然认为掌握基础知识非常重要。AI可以帮助我们更快地编写代码,但我们需要理解AI生成的代码,并确保其符合规范和要求。 我建议学习编程的人应该从基础知识开始,例如HTML、CSS和JavaScript,并注重实践。遇到问题时,可以利用Google、Stack Overflow和YouTube等资源查找解决方案。 我曾经沉迷于游戏,但后来我意识到自己陷入了困境。创建YouTube频道让我重新燃起了对学习和工作的热情。现在,我每天都在学习新技术,并享受我的工作。 我获得了一些专业认证,这些认证帮助我提高了薪资和职业竞争力。我建议人们根据自己的学习方式选择合适的学习资源,并注重实践。 我曾经对Web3技术很感兴趣,并创建了一些相关的视频教程。但是,Web3领域存在很多风险和陷阱,我花了很长时间才摆脱了‘NFT专家’的标签。 对于那些想进入软件开发领域的人,我的建议是:坚持学习,即使每天只学习一小时,也能取得进步。不要害怕挑战,积极申请工作,即使你只满足部分职位要求。

Deep Dive

Shownotes Transcript

这不需要火箭科学家就能做到。所以你可以学习。你需要时间来掌握基础知识。但是……

只需要奉献精神。需要坚持。如果你每天有一小时的时间学习,就去FreeCodeCamp,去YouTube,去任何地方,每天学习一小时。并且继续学习。这就是我的建议。继续学习。欢迎回到FreeCodeCamp播客,您的原始、未经编辑的开发者访谈来源。本周,我们将与Jesse Hall(又名Codestacker.com)交谈。

他是一位软件工程师,也是MongoDB的开发者布道者。他在抚养孩子和在百思买Geek Squad工作修理电脑的同时,自学了编程。

本播客的支持来自Wix Studio的资助。Wix Studio为开发人员提供工具,可以快速构建网站,所有功能都开箱即用,然后可以使用代码扩展、替换和突破界限。了解更多信息,请访问wixstudio.com。支持还来自11,384位通过每月捐款支持Free Code Camp的好心人。

您可以加入这些轻松的人,并通过访问freecodecamp.org/donate来帮助我们的使命。本周的音乐介绍,由本人亲自演奏鼓、吉他、贝斯和键盘,我们将回到1983年,与《电梯行动》一起。电梯行动

Jesse,很高兴你在播客上,伙计。你最近怎么样?一切都很好。谢谢你邀请我。我真的很感激。

是的,我很高兴你在这里,因为你是我认识和钦佩多年的人。我喜欢阅读你的教程和观看你在YouTube上的视频。你非常象征着那些在同时处理现实生活中日常问题的同时自学编程的人。比如,我该如何养活孩子?我该如何支付房租?这些事情。是的,有时很难。是的,当然。

是的。在我们深入了解你的背景故事之前,我们将深入探讨,因为你有一个非常有趣的故事,我很高兴听到一些关于你最近使用什么工具的信息。是的。所以,嗯,

老实说,我真的很喜欢所有的人工智能方面的东西。所以这真的帮助了我日常的工作,但是,你知道,光标冲浪,嗯,Copilot等等。我喜欢在它们之间来回切换,新的模型不断出现。而且,呃,这些就是最近帮助我很多工具。是的。所以你完全拥抱了利用人工智能来提高效率。没错。嗯,我们稍后再讨论。我认为人工智能不会抢走你的工作。是的。

好的。所以这就是——大家可以放心,这是第170位左右的嘉宾说人工智能不会抢走你的工作,对于那些仍然为此感到恐慌的人来说。我喜欢说人工智能不会抢走你的工作,但这不会阻止人工智能销售人员说服你的老板人工智能会抢走你的工作。是的。

是的,这是非常正确的。这是非常正确的。是的。所以磨练你的沟通技巧,继续在组织内部为自身和作为开发人员提供的价值进行宣传,这将是我在此谦逊的建议。所以Jesse,你在MongoDB工作。我只想说,MongoDB经常向Freecode Camp提供资助,以开发围绕其一些工具的课程。这不像赞助视频或类似的东西。你为MongoDB工作只是一个巧合。我们彼此认识多年了。

所以,是的,你作为开发人员和开发者布道者在MongoDB工作。日常工作是什么样的?是教开发人员。开发者布道者的基本定义是教导和帮助开发人员。这就是我喜欢做的。所以我创建内容来帮助。

帮助开发人员了解如何将MongoDB与各种技术一起使用。我最喜欢关注的关键部分不是MongoDB本身,而是你如何将这些其他技术与它一起使用?它们如何融入你使用的技术栈中,对吧?是的。是的。好吧……

你比我大一点,甚至比我大一点,我44岁。但你看起来很年轻。你的胡须上确实有一些灰白,就像我一样。是的。

你是在不同的时代成长起来的。我想回顾你的过去,谈谈你进入编程的历程,因为它很有趣。我认为很多人可以感同身受。你是一位自学成才的开发人员。你没有四年制计算机科学学位。你甚至没有四年制学位。你学习的是一个有点深奥的领域,

在软件开发之外,我们可以稍后讨论一下。也许你可以告诉我一些关于你在路易斯安那州的成长经历,呃,这是美国南部的一个州。呃,是的。比如,你的童年是什么样的?所以,我是在一个非常小的城镇长大的。呃,它只有一个红绿灯。呃,我在一条土路上,在一个拖车公园里长大,呃,

非常简朴的成长环境。说到上大学,没有钱上大学或类似的事情。所以在我高中的最后一年,我实际上获得了一笔资助去社区大学。

我真的很想学习一些与电脑相关的东西。我一直知道从小我就想做一些与电脑相关的事情。我一直喜欢摆弄东西。我们从小就有一台Packard Bell电脑。所以我总是记得,我将它的内存从,哦,我不记得了,从16兆升级到32兆,或者类似的东西。我不记得确切的数字,可能是64兆。无论如何,总是喜欢摆弄东西。知道我想做一些与电脑相关的事情。但在社区大学,没有电脑课程。根本没有课程。

只有一门课里有电脑,但最接近的是电子技术。所以我上了社区大学学习这个专业。所以我于97年高中毕业,98年以副学士学位毕业于社区大学。所以很快就完成了学业。嗯,

然后根本没有使用电子学方面的学位。从那时起,我开始接触电脑硬件,并为一些夫妻店工作,组装克隆电脑。好的,什么是克隆电脑?是的,这基本上……我的意思是,孩子们现在也这样做。他们从零开始组装电脑,对吧?只是组装……

一个空白的机箱,从零开始组装一台电脑。那时就是这样,因为没有戴尔。这是戴尔之前的时代。就像,真的没有主流电脑。嗯,如果你真的想,实际上自己组装更便宜,因为那时没有人真正知道怎么做。这是一个非常,这是一个新的利基市场,对吧?所以这些夫妻店纷纷涌现,他们组装电脑并销售它们。嗯,克隆电脑,基本上是不知名的电脑。

所以我开始做这个,组装克隆电脑。然后我开始从事维修工作,电脑维修,然后转向一些与业务相关的,比如企业服务器和网络等等。这花了我几年时间。我认为大约是10年的时间。是的,当你提到修理电脑时,你指的是像百思买Geek Squad那样的东西,有人来修理你的电脑,对吧?

没错。我确实在百思买Geek Squad工作过。那是什么样的?我很想知道,因为那就像一个时间胶囊。一切都是,如果你有一台Mac,你必须把它带到Genius Bar,然后他们把它送去,你再拿回来。整个过程有点像不透明的体验。而在过去,你会说,“好吧,你的声卡松了。”

我不知道出现了什么问题,但是,比如,比如,你可以描述一下当今支持方式与当时的差异,以及它所达到的程度。我的意思是,似乎人们最终只想让你买一台新电脑,电脑中存在某种计划报废,并且存在积极的,你知道,争取维修权等等。但是,比如,比如,

带我回到90年代,作为Geek Squad的工作。是的,有很多……所以,你知道,碎片整理你的硬盘。就像有很多不同的术语和东西是你今天不会考虑的,也许电脑只是内置了它,它会做这些……

自我维持的任务,但无论如何,呃,有很多手动维修工作要做,所以你知道,我开着甲壳虫,大众甲壳虫,呃,我不知道你是否见过那种黑白相间的,是的,所以我开着它去人们家里修理他们的电脑,呃,修理他们的Wi-Fi等等,嗯

就像你会进去,我们有一张光盘,你把光盘放进去,它会分析,它会查找病毒,会分析所有硬件,看看是否有任何问题等等。是的,你会在甲壳虫车里放一些零件,然后去修理它,把它拆开,修理它。是的。嗯,我们也做了保修维修工作。所以如果你有一台电脑在保修期内,我们会修理它,而且是免费的。

是的。所以人们基本上会订阅这项服务,以便随时可以使用Geek Squad,是的,没错,没错。是的。

这就是它发展到业务方面的原因,因为鲜为人知的是,Geek Squad实际上有一个业务方面,他们只处理——而不是消费者在家中,他们只处理企业。比如公司互联网之类的东西?是的,没错,没错。所以我将——例如,我会去一家酒店,并在整个酒店安装Wi-Fi。

嗯,或者我会去一个有100个,呃,像律师事务所,他们有大约100名员工在那里。所以我们会去为他们设置所有电脑和服务器,以及网络设备等等。是的。嗯,

所以是的,那,而且,而且我不知道这是否是我转向软件的时候,因为像我说的那样,我们使用了大量的软件来跟踪后端的事情,呃,内部软件。而且有很多手动工作,很多手动输入的东西和我们在这里和那里的软件不互相通信。我想,伙计,我浪费了这么多时间做所有这些文书工作和这些平凡的,这些平凡的任务,呃,

我该如何自动化这个?我一直认为软件开发就像火箭科学。你必须非常聪明才能做这种事情。但当然,我只是去谷歌搜索了一下,找到了Python。我可以编写这个小脚本,它会为我做这些事情。无论如何,我编写了这个小脚本,每天为我节省了一小时的时间。它只是为我做了所有这些事情。这就是让我迷上软件开发的原因。

是的。我的经历非常相似,因为我也预先假设编程超出了我凡人的思维能力。事实证明,它实际上完全可以学习,它就像培养任何技能一样——

你获得了一些增量价值。实际上,仅仅学习一点编程就能获得多少增量价值,这令人难以置信。随着你成为越来越多的专家,收益递减。但是只要你投入时间和精力学习,并且勇敢无畏,不要被吓倒,不要让技术吓倒你,你仍然会获得收益。所以听起来你克服了你的顾虑,然后深入研究,并能够让你的生活变得更好。

显著地更好,不用每天做一小时的文书工作,这听起来很棒,没错,没错,甚至在那之前,我喜欢Adobe Dreamweaver,是的,所以我喜欢玩Dreamweaver一段时间,

而且,呃,做了一些什么,它叫什么,嗯,在Flash之前,它叫什么,无论如何,这些动画之类的东西,是的,是的,是的,所以我喜欢玩这些动画之类的东西,这太酷了,但是你知道,我永远无法靠这个谋生,这不可能,这就像我的爱好,就像玩耍一样,你知道,嗯,但是是的,它真的变成了相反的情况,是的,所以,呃,

所有这一切的背景是你现在有了孩子。你很早就有了孩子。呃,你有两个孩子,呃,你专注于努力养家糊口。你能谈谈这段时间的家庭生活吗?

是的。所以,所以,嗯,我认为我24岁的时候有了我的女儿,大约在这个时候。嗯,想想看。是的。大约在这个时候。那正是我在Geek Squad工作的时候。而且,呃,

然后过渡到软件,那是一个有点有趣的事情,因为我没有像样的正式背景。那时他们真的想要正式的背景。那时自学成才的开发人员在行业中非常少。像我一起工作的其他开发人员,他们都上过大学。他们都有学位。所以我,

那是一次有趣的经历,因为那时出现了很多冒名顶替综合征。但这只是一个有趣的过渡,试图跟上技术的发展。但这是每个人都必须做的事情。即使大学毕业后,你也必须不断跟上技术的发展。所以我并没有真正发现……

因为没有大学背景而受到损害,因为我作为日常开发人员所做的事情是我已经自学成才的事情。没有事情

其他开发人员也在自学这些特定的事情,因为有很多事情是他们在大学里没有学到的。所以我发现大学可能会给你提供基础知识,对吧?但是当涉及到在职培训时,那是更重要的事情。你实际上会在你的工作中做什么?

这些是你不断学习的东西,大多数人都是不断学习的。是的。是的。这肯定是我所经历的。我喜欢经常羡慕那些去获得计算机科学学位并能够直接进入行业学习的人。我有许多朋友拥有计算机科学学位,并在像,你知道,硬核工程公司工作,做一些软件,比如,你知道,确保卡车工作。

不要像他们的发动机那样出现问题,而是在公路上拖着所有这些重量。关键任务的东西。在卫星上运行的代码。控制军事装备的代码。我绝对认为——哦,继续说。

不,不。我认为我跑题了,因为你问我关于我的孩子的事情。是的。好吧,我只想快速结束这个想法,拥有这个基础肯定是有益的。这不是你学不会的东西。我的意思是,这些只是你可以从书架上拿下来的书,并获得一些计算机科学教科书。Free Code Camp有很多免费课程,包括来自……

像哈佛大学或密歇根大学教授Chuck博士,你可以学习计算机科学。你可以学习你在计算机科学学位中学到的所有东西,但你不会一定有结构、友情以及所有外在的压力来表现、提交作业和通过考试等等。所以在某种程度上,你不会获得与通过正规教育系统获得的自学相同的体验。是的,当然。当然。然后……

所以我大约24岁的时候有了我的女儿,然后当我嫁给我妻子时,她也有一个儿子。他们恰好相差两个月。所以他们年龄相同。所以再一次,经历了从硬件到软件的整个转变,然后我想我当工程师已经快……

12年了。所以我还在百思买工作。我从Geek Squad转到百思买公司担任工程师。所以我做了12年,然后有点厌倦了,我想,开始创作内容,然后我发现我……

我喜欢教开发人员,喜欢帮助开发人员。我在那里做了,你知道,和同事一起,比如帮助,帮助他们,但是,我该如何大规模地做到这一点?我该如何像过渡到另一个,另一个,我想,在科技领域的职业。对。是的。所以那又是另一个令人害怕的时刻,因为你知道,在那时另一个转变,我想我的孩子都十几岁了,那是令人害怕的时刻,因为我,

你知道,这显然是新的东西。这会成功吗?比如,我应该改变吗?你存了大学的钱吗?比如,你会还清房子吗?那里的所有事情都很好。还是你的生活中仍然有很多不确定性?是的,不,不,当然不是。没有人会那样提前计划。谁会那样做?是的。

不,你只是跳。你只是跳跃。所以,是的。所以,所以,像我一样,像我一样,让我先退一步。让我讲讲真实的故事。所以,所以我的孩子十几岁的时候是夏天,而且,而且,而且他们像,你知道,玩电子游戏,他们,他们,嗯,你知道,只是看电视,浪费时间。对。所以我像,我该怎么做才能让他们至少有点有成效,即使是在夏天。是的。

所以我让他们想出像,什么,什么是一个商业理念,像你可以做的事情,嗯,在这个过程中创造一些东西,这个夏天。所以他们都提出了创建YouTube频道的想法。现在这是在我创建我的YouTube频道之前。这是,这是,你知道,在那之前。而且我当时仍然是百思买的工程师。

所以我的儿子想创建一个关于游戏的YouTube频道,当然。然后我的女儿,一些化妆时尚之类的频道。我说,好吧,让我们做吧。我的儿子,他从未录制过任何东西。我的女儿录制了一个视频,但她从未发布过。所以我决定,好吧,让我证明一下。如果你下定决心,你可以做任何事情。所以我决定,好吧,我要创建一个YouTube频道。

这是一个疯狂的想法,因为我真的认为自己,我认为自己是一个内向的人,像在这里和你一起参加播客一样。这并不是我曾经梦想过我会做的事情。所以创建了一个视频,把它放在YouTube上,它做得非常好。像,好吧,这有点奇怪。我创建了另一个视频。它做得非常好。我说,我甚至不会告诉我的家人这件事,我只是想看看会发生什么。如果我的订阅者达到300个,我,

也许我会,我会,我会告诉他们。而且,你知道,一个月内我的订阅者就达到了300个。我想,这是什么,这是什么,怎么回事?你知道,无论如何,所以我告诉他们,他们嘲笑我。像他们,他们像什么?不,你不能成为YouTuber。你是我的爸爸。你不能那样做。是的。嗯,

但关键是,你下定决心,你可以做任何事情。我只是继续。我坚持不懈。那是我真正发现我喜欢教书的时候。我真的很喜欢帮助开发人员。所以这个频道火了,然后为Free Code Camp写了一些东西。然后……

哦,然后我遇到了James Q Quick,我们非常非常好的朋友。他告诉我关于开发者,开发者布道者的事情。我说,这是什么,这是什么?这就是事情。这就像我现在正在做的事情,但是有人会付钱让我做这件事。这有点奇怪。嗯,

嗯,无论如何,这就像,也许是这段旅程的简短版本。所以从工程师过渡到开发者布道者并教导开发人员。是的。而且,呃,James Quick是第153集。如果你想了解更多关于他的信息。

就是这样。我不知道他对你的决定有如此深远的影响,让你进入开发者布道者领域,这实际上只是,你知道,开发人员教开发人员如何使用不同的工具,并围绕这些工具创建工具,以便让人们更容易采用公司的技术,例如MongoDB作为后端即服务或数据库。所以,嗯,

你的孩子从你所做的事情中获得灵感并开始发布他们自己的视频了吗?这有效吗?当然不是。当然不是。不。不。他们年纪很大了。他们22岁。是的。是的。我的意思是,相比之下,我的孩子还很小。所以我试图想象你经历过的所有不同的生活经历等等,而我还没有经历过。哦,是的。

好吧,两周后又有一个新的来了。我的一个女儿两周后要结婚了,另一个女儿计划在两个月后结婚。所以现在家里真是疯狂的时刻。你提到了你的另一个女儿。所以你有一个女儿和一个儿子,但你提到了这个我以前从未听说过的事情,但我认为它真的很酷,我认为值得指出、分享和赞扬。

是的。是的。所以,所以我有另一个女儿。我叫她我的女儿。我们,我们在她大约14岁的时候来到了我们的生活中,

而且,呃,而且她并没有一个真正美好的成长环境,美好的家庭生活。所以我们只是把她带了进来。嗯,我们,我们不能正式收养她,但是你知道,我们,我们叫她我们的女儿。所以,呃,是的。所以,而且再一次,像我们一样,我们正在计划她的婚礼,呃,也将在几个月后举行。而且她是家庭的一员。是的。是的。太棒了。是的。

是的。你们都在德克萨斯州,呃,我住的地方。我在疫情爆发前从旧金山搬到了德克萨斯州,你从路易斯安那州搬到这里的时间比我早一点,对吧?是的。是的。所以我可能在德克萨斯州住了大约20年,18到20年,大约在这个范围内。是的。是的。

是的。而且,嗯,我很想知道,比如,听到生活是什么样的,以及它与生活在,你知道,嗯,中等规模的德克萨斯州城市相比有何不同,而不是,你知道,你所说的像一条土路,只有一个红绿灯的小镇。而且,嗯,很多听众可能都在那条比喻性的土路上,只有一个红绿灯的小镇。而且,嗯,你会鼓励他们尝试去大城市吗?

好吧,好的。所以是的,当然。是的,我会说是的。我一有机会就离开了那个小镇。所以我是,呃,

让我们看看。那是98年。我一毕业就搬到了路易斯安那州的巴吞鲁日。是的。我在那里住了一段时间。然后我搬到了路易斯安那州的拉斐特。然后我搬到了休斯顿。所以我确实在休斯顿住了大约四五年。嗯。

然后我现在住在一个小,是的,非常,非常大的地方。它是美国第四大城市,是的,当然。呃,而且,而且我真正怀念休斯顿的一件事是食物。

那里的食物种类繁多,令人惊叹。嗯,然后我们,嗯,我们决定搬到一个较小的城镇。它不是,它不是一个非常小的,我的意思是,这里的人口可能是5万到6万。所以它不是,而且这里有购物中心,有各种便利设施。所以这是一个不错的城镇。嗯,但是德克萨斯州就像一些国家一样大。所以它就像日本的两倍大。是的,没错。就陆地面积而言,人口方面,它,

它远没有那么高。所以人口密度可能只有日本的四分之一或类似的,八分之一或类似的。是的,太疯狂了。是的。所以德克萨斯州的西边全是沙漠。东边全是森林。我住在森林里。是的。太棒了。好吧,我想谈谈……

你认为软件开发的入门方式发生了怎样的变化?因为很多听众对成为开发者感兴趣。我想说我们的听众大约三分之一是正在工作的开发者,三分之一是大学生、高中生,三分之一是试图转向软件开发的人。这也能描述我。我是一个职业转换者。当然,你可以阅读我的书。只需谷歌搜索“学习编程的书”,它很可能就会成为谷歌中排名最高的非付费结果。你当然也可以阅读我的经历。你还可以收听许多 freeCodeCamp 播客的剧集,我们在其中与像 Jesse 这样的人交谈过,他们通过非常规的方式转向软件开发,这些方式不一定包括重返学校或攻读计算机科学硕士学位或参加一些强化课程。

只是自学。呃,比如,首先我想更深入地了解一下你的方法,然后我们会谈谈自从你自学以来情况可能发生了哪些变化。但是,你早期学习时主要使用了哪些工具?YouTube,YouTube 是主要工具。而且,老实说,我想说主要工具是深入研究并付诸实践。

所以很多时候,嗯,你可能也听说过这个术语“教程地狱”,你只是教程接教程,你只是不停地观看和吸收,但你从未真正做过任何事情。所以,我真正学习的方式是,我又有了这个想法。这是在我从工程师转型为软件开发者之前,我想要构建这个想法,

我只是跳进去开始构建它。当我遇到问题时,我会谷歌搜索、YouTube 等,找出这个问题。对。所以这是一种边做边学的经验,它真的帮助了我。

我想这就是我开始的方式。我认为这回答了你的问题。是的。当你提到 YouTube 时,你是如何使用 YouTube 的?因为很明显,YouTube 是一个庞大的图书馆……是的,是的。我的意思是,我不知道从哪里开始。仅 freeCodeCamp 就有近 2000 个完整的在线课程。

在 YouTube 上。所以它就是一个比喻性的海,如果你不知道如何游泳或不知道你前进的方向等等,你绝对会淹没其中。带我们回到你观看 YouTube 上的技术教程的那一刻,你正在同时进行一个项目。仅仅是项目推动了整个过程,项目的迫切需求和及时学习吗?是的,当然。

当然。是的,就这么简单。说真的。我遇到,我得到这个错误或任何错误。也许我正在尝试弄清楚如何设置我的环境,例如。你甚至如何开始?设置你的环境。所以我找到了一个视频。你如何为此设置你的环境?我需要安装哪些工具等等?观看关于如何执行所有这些操作的视频。然后我想另一个……

与那时同时进行的事情,尤其是 Stack Overflow。所以你出现了一个错误,无论是什么。好的。转到 Stack Overflow,输入错误。其他人也遇到过这个错误,然后这是解决方案。对。所以就是很多谷歌搜索、Stack Overflow、YouTube 等等。是的,是的。

你提到设置开发环境很有趣,因为你最受欢迎的课程之一是如何配置 VS Code,我认为这是一个由微软维护的开源编辑器。但在许多方面,它本质上就像一个 IDE,具有所有可扩展性和库等等。我把它看作 IDE 环境。

在 Eclipse 或 JetBrains 工具或 Emacs 等领域中。你可以深入研究,并且可以使用 VS Code 添加大量功能。而且我会说,这并不是由 VS Code 或微软赞助的,但 freeCodeCamp 工程团队中几乎每个人都使用 VS Code。这是一个工具。所以,

你编写了这个课程,并且你很早就学会了如何真正地高度自定义 VS Code 以使其完全按照你的意愿工作。你会认为这是优化者的思维方式吗,哦,我需要一个处理这个问题的工具?在你学习代码时,你是否一直在努力改进你的工作流程?是的,当然。是的。

你不断地寻求工具,而很多时候它们可能在其他领域。那么你如何将所有这些工具放在一起呢?VS Code 可以像你想要的那样轻量级,也可以像用 Java 编码一样重量级。它可以是一个完整的 IDE,就像你说的那样。因此,由于有如此多的扩展,如此多的自定义选项,有如此多的选项,因此这实际上取决于你的用例是什么。你是 Web 开发人员吗?你是 Python 开发人员吗,等等?而且有……

适用于所有内容的工具,用于测试,用于软件开发的整个范围。所有这些都可以放在 VS Code 中,并且它可以使你的生活变得如此简单,因为它就在那里并且易于访问。

就像你说的那样,VS Code 是开源的,许多其他工具都是基于 VS Code 的。例如 Cursor 是 VS Code 的分支,Windsurf 也是 VS Code 的分支。所以 VS Code,我想说大多数开发者都在某种程度上使用 VS Code。是的。就像你可能不使用 Chrome,但你可能正在使用某种 Chrome 类型的浏览器,比如 Edge 之类的东西。Arc。Arc,是的。所以我有一个问题要问你……

你谈到了使用大量的 Stack Overflow、大量的谷歌搜索和大量的 YouTube 视频来填补概念上的空白等等。在过去两三年中,随着我们拥有更多 AI 驱动的工具,学习新事物对你来说发生了怎样的变化?我仍然……

我仍然认为你需要理解基础知识。你仍然需要基础。实际上,我的方法是文档。

特别是如果你正在尝试使用的工具或库具有非常好的文档。我只是通过阅读文档来学习最多,再次通过实践来学习。所以很多时候他们会有一个快速入门教程,比如,你知道,这里,让我快速启动它,然后做一下,比如试一试,然后参考文档。然后,如果有什么东西,你知道,更深入的东西你需要更多解释,那就是我现在转向 YouTube 和 AI 相关的事情的时候,嗯,

我已经了解了基础知识之后才使用 AI,因为如果 AI 正在编写我的代码,我需要能够阅读该代码并理解该代码的作用。所以我不会仅仅让 AI 输出一些我不知道它如何工作的代码。所以我仍然认为你需要这些基础知识。你需要了解 AI 正在为你做什么。一旦你达到这一点,AI 就能真正帮助你,因为它编写代码的速度比你编写代码的速度快。但你也可以阅读并理解它在做什么。

是的,假设你正在自学,但你是在有人像你一样指导你的情况下自学的。是的,是的。所以假设我们有一些——我不知道你是否看过《Primer》或任何这些奇怪的时光旅行电影。但基本上你可以向自己发送信息,你可以说,嘿——

好的,现在这样做。不要这样做。你知道,就像,就像你会如何指导自己一样?假设我们有像 Jesse Jr 这样的——我不知道你是否见过像 Primer 或任何这些奇怪的时光旅行电影。但基本上你可以向自己发送信息,你可以说,嘿——

好的,现在这样做。不要这样做。你知道,就像,就像你会如何指导自己一样?假设我们有像 Jesse Jr 这样的——我不知道你是否见过像 Primer 或任何这些奇怪的时光旅行电影。但基本上你可以向自己发送信息,你可以说,嘿——

另一个 Jesse 处于危险之中,我们需要为此带上成功的 Jeff,并让他与不太成功的 Jesse 取得联系,帮助他站起来。对。你会如何建议那个 Jesse,如果那个 Jesse 正在 2025 年学习编程?是的。

所以,非常相似。有一次,我的儿子问我,我该如何学习编程?我想做你做的事情。我不是在开玩笑,我告诉他做的就是去 freeCodeCamp。我说,从这里开始。我不是在开玩笑。老实说,这就是我告诉他的。

因为同样,你需要这些基础知识。所以我对他说,从这里开始,HTML,像这样,然后转到一些 CSS,然后学习这个 JavaScript 东西。这就是我告诉他的。即使是今天,我认为这也是我所说的一个很好的开始,至少要学习这些基础知识。然后你也可以,同样,你知道,使用 Cursor 或其他一些 AI 来,

来帮助你编写东西。如果你不理解它编写的内容,你可以突出显示它并向它提问。这是在做什么?它为什么要这样做?等等。但是,再次,比如,

像 freeCodeCamp 这样的东西会给你提供这些基础知识,然后是你正在使用的工具的文档,使用这些文档。然后是谷歌搜索或向 AI 提问等等。我认为它并没有改变太多。我认为 AI 正在帮助我们。也许它正在成为新的谷歌。它正在成为新的,比如,让我问一个问题等等。但我们仍然必须小心。我们不能让它做太多我们不理解的事情。你仍然必须具备那些基本知识。

是的,如果你考虑旧的 Stack Overflow 复制粘贴键盘,这并不是什么新鲜事。我在纽约会见了 Stack Overflow 的联合创始人 Joel Spolsky,他有一个小复制键,比如 Ctrl-C、Ctrl-V Stack Overflow 键盘。这始终是人们将他们自己并不真正理解的代码包含到代码库中的一个问题。比如,请……

为了所有神圣的东西,不要打开包含你只是从 Stack Overflow 或你本人不理解的 LLM 复制粘贴的代码的拉取请求。你认为当你已经知道它在做什么时,使用像 Cursor 这样的工具实际上节省了多少时间?以及在哪些类型的任务中它真正脱颖而出,而在哪些任务中它不是非常有用?是的。

嗯,你知道,老实说,它甚至在过去六个月里变化如此之大,每一个新模型的出现都越来越好。所以六个月前我对这个问题的回答会不同,但现在,嗯,

特别是像设置基本的 CRUD 或类似的样板代码,或者,尤其是在它现在能够真正理解你打开的存储库中的整个代码库的情况下,它已经变得好得多。你仍然必须告诉它具体的事情。比如,如果你使用的是特定版本的 React 或 Felt 或其他任何情况,它可能会尝试使用旧版本。所以你仍然必须关注它,确保它使用的是你想要的版本,并且它以你想要的方式编写它。例如,如果它使用的是 React,如果它使用的是 Next.js 页面路由器而不是应用程序路由器,有时它可能会来回使用两种不同的东西。所以你必须关注它。再次,你必须知道正在编写什么代码才能确保它以正确的方式进行。有时它会引入你不需要的额外包。比如它会引入 Axios。而且,我不想要 Axios。所以我必须像具体地,这又回到了提示工程。这是另一件需要真正擅长的事情。嗯,

我会说在此之前,谷歌搜索是一种寻找答案的艺术。现在提示工程是一种寻找答案并确保它提供正确的输出、正确的代码等的艺术。所以我要说,不要使用 Axios,只使用 Fetch。

是的。所以很多只是指定和控制这些 LLM 的倾向,只是随意抓取东西,然后就像,好吧,这就可以了,对吧?而且很多时候它们是基于它们观察到某种数据结构或设计模式方法或工具使用的频率。所以它们可能会倾向于……

像最常见的工具和库,这些工具和库可能不一定是最佳实践,因为有很多懒惰的开发者。

他们只是将工具用于他们不一定需要使用的东西,并将许多额外的复杂性和潜在的未来中断等等引入他们的代码库。没错。这些 LLM,它们接受了谁知道哪些存储库的训练,对吧?所以其中一些存储库很旧,并且使用的是旧技术、过时的技术。所以同样,你只需要进行提示工程,给出一些指导方针,给出一些……

关于你想要它如何构建的细节。然后一旦你这样做,它确实会加快这个过程。嗯,但这确实需要一些时间来适应。是的。以及你认为速度快了多少,比如假设你在工作中有一个新项目,你必须坐下来,你必须构建一些新的工具来演示 MongoDB 的某些新方面,比如一个实践项目或类似的东西。嗯,我想,额外的,嗯,

比如,比如你的开发速度的倍数是多少?呃,当你整合这些工具时,当你整合时,当你还包括你必须花费的时间来照看 AI 和制作提示以及做类似的事情时,比如你认为使用这些工具的生产力提高了多少,如果必须指定一个百分比的话,呃,

你认为你使用这些工具的生产力提高了多少?是的,这是我一直都在做的事情。我们必须构建小型演示,对吧?然后根据这些演示,我们创建教程和视频等等。所以构建这些演示,这可能需要,取决于我们试图演示的内容,可能需要一到两天的时间来构建这个小型演示。但是有了 AI,我可以做到。我可以打开 VS Code 并用两个小时完成它。

好的,假设一天是 8 个小时,那么你在构建这个演示产品方面从 8 个小时变成了 2 个小时,这再次不是为了经受现实世界的严格考验而设计的。这是一个演示。但这是你必须做的事情,现在速度快多了。快多了,是的。好的,太棒了。假设你正在处理一些实际上要投入生产的代码。这种类型的限制是什么——

当你真的需要考虑可读性、可测试性和类似的东西时,你会获得多少收益,比如所有 QA 的人都要回来。所有来自安全部门的人都会说,嘿,这是什么?你不能包含这个。就像所有这些东西一样。当你真的必须把它放在一个代码库的上下文中时,你有很多不同的相互竞争的利益,嗯,他们试图确保该代码尽可能客观地好,我想,呃,但符合团队代码的中心,嗯,

某种趋势,我想。是的。我的意思是,再次,如果你有正确的提示工程和对 AI 的正确约束,并且它以你通常使用所有语法编写的方式编写,那么它只需要额外阅读一下

再次,你必须知道它在做什么,你必须确保你知道这段代码在做什么,对吧,而且在生产环境中,你有了你的代码测试,你有了所有这些其他的,你知道,你将运行它的东西,嗯,尤其是在 CI 中,以确保一切满足生产的所有这些要求,所以如果它编写的内容不太正确,它应该会在你的测试中出现,并且

然后你有了你的格式等等,以确保它都符合所有生产指南。所以它不会,它绝对仍然会加快速度。特别是当所有这些约束都到位时,再次回到 AI 不会取代你的工作。AI 将帮助你完成你的工作。

只是,你必须学习如何,我的意思是,那也是另一门课程。你可以学习如何使用 AI 来提高你的生产力,但我认为这是 AI 的最终目标,那就是让我们所有人提高生产力。太棒了。是的,freeCodeCamp 有很多关于类似主题的课程。很多人一直在问,我是否愿意创建一个课程,我个人关于我如何使用 AI,因为我确实经常使用它。但同样,它,它,

只是一个加速器,它并不一定能帮助我做任何新奇的事情。嗯,你是否发现它在某些情况下做了一些新奇的事情,它在没有你特别提示的情况下教会了你一些东西,比如,“这是什么意思?”或者你在某个模式中看到了一些东西,你就像,“哇,我甚至都不知道这个存在。”有没有这样的惊喜?老实说,我想不起来有什么。好的。所以,所以,

如果你正在学习编程,让我们回到,你有一个平行宇宙的 Jesse,他,你知道,四十多岁,有孩子,他一直在做,你知道,一个技术员,比如一个工程师,呃,过去 20 年一直在修理人们的硬件。他从未偏离过你走过的岔路口,你学习了软件工程之类的东西,并开始创建教程等等。嗯,

假设你正在与那个 Jesse 交流,他仍然被困在 Geek Squad 工作,如果它仍然存在的话。我可能会。我认为它……我不知道。是的。是的。它可能比以前弱化了。但他正在进入,他正在设置公司网络并为当地办公室配置机器等等。他想进入软件工程。你会如何建议他处理 Geek Squad?

考虑到现在有 AI 工具可以极大地加快软件开发速度?你会鼓励那个 Jesse 在什么时候开始将 AI 工具融入他的工作流程?所以,所以人们学习的方式不同。嗯,我是一个非常直观的学习者,这就是为什么我会默认使用视频。所以,比如,比如观看,观看,嗯,freeCodeCamp 上的八小时长视频,它会给你提供基础知识,对吧,这就是我直观的学习方式,你可以从 AI 中学习,你可以说,呃,你知道,AI,你知道,教我 HTML,它会,你可以花时间来回与 AI 交谈并向它提问,就像你可以这样学习一样,如果这就是你想要学习的方式,当然,我会非常犹豫

在你不理解它正在编写的代码的情况下使用 AI 编写代码。对。所以你真的需要这些基础知识。所以,如果你是一个非常……呃,如果你喜欢通过阅读学习,找到,找到一个,呃,呃,你知道,阅读内容,比如在 freeCodeCamp 上学习一些东西。如果你是一个直观的学习者,那就有 YouTube。嗯,我只是建议,那里有很多免费内容。

我犹豫要不要告诉人们去购买课程,去,去,去购买这个东西,然后做,做,你知道,这将是最终的全部。你将从这个东西中学到你需要的一切,对吧?那,那,那不是我的方法。它就像,你知道,找到你想要构建的东西并构建它。当你遇到障碍时,找到解决这些障碍的答案。是的。边做边学是我的座右铭。

是的,100%。我认为这种以项目为导向的学习方式,你自己的

在构建你想要的东西方面的冒险,正在引导你接下来需要做什么。你真的在回应项目本身。而项目本身就成了你的老板。我喜欢这种学习方式。这也是我学习不同事物的重要组成部分。比如,我会比我能处理的更多地去尝试一些——

你知道,我正在尝试演奏的乐曲,我做这些电子游戏音乐的翻唱等等。就像,哦,不,现在我必须学习如何重新和声化所有这些东西,因为它只有两个声音,但它们做所有这些奇怪的跳跃以使其听起来像六个声音或类似的东西。现在我必须弄清楚如何在乐器上做到这一点,而不仅仅是像他们为视频那样编程步进序列音乐。无论如何,我离题了。但是,比如,比如我会经常让这些类型的项目,呃,

指挥我。就像,好吧,我开始的这个项目现在是我的老板。我不再是项目的老板了。现在我必须去学习这个东西,因为项目需要它。我,你知道,启动了这台机器,但现在我最终受制于它。

我认为这是一件很酷的事情,因为没有其他人负责这台机器。它只是你正在进行的事情,你开始建立动力。在某种程度上,像遗留代码库可以是一个很棒的,呃,类似的老板,因为你有一个巨大的遗留代码库,并且软件工程师在最佳,呃,

以及他们那个时代的最佳实践中使用当代工具。他们这样构建它,现在你需要弄清楚如何维护它。以及在什么时候更有意义地将东西拆除而不是仅仅维护?通常更有意义的是仅仅维护现有内容。并且有一个著名的说法,像完全重写代码库通常是一家公司在倒闭之前做的最后一件事。但项目变成了……

你的老板。我喜欢这样。嗯,而且你是否发现这种情况经常发生,呃,当你,当你正在构建一些东西时,你直到今天仍然是基于项目的需要进行及时学习?

是的,当然。我认为这是,这是诀窍。我的意思是,这对我来说是常态。我不知道它是否是每个人的常态,但对我来说,就像没有人知道一切一样。而且,尤其是很多学生会说,好吧,我不记得所有 JavaScript 语法。我不记得所有命令。我不记得所有方法等等。对。所以,就像没有人知道一切一样。你必须查找东西。我必须查找东西。

每天。我也记不住所有东西。这就是 AI 发挥作用的地方。特别是当你手动编写代码时,你有了自动完成来帮助你,特别是如果你使用的是 TypeScript。这非常有帮助。我显然是一个 Web 开发人员,所以我说的就是这项技术。所以 TypeScript 和未经合金处理的好?TypeScript 太棒了。我喜欢 TypeScript。是的,是的。

太棒了。当你编写代码时,它非常有益。它几乎为你编写代码,甚至没有 AI。仅仅因为它设计的方式和施加的约束,它就像创造性地……你知道在这个上面你拥有的所有方法。如果你的确做错了什么,它会立即告诉你。是的,对于任何不熟悉 TypeScript 的人来说,它只是 JavaScript 的超集。它本质上是,如果你已经知道 JavaScript,你只需要学习一些额外的东西,你就会知道一些 TypeScript,并且它……

没错。编译成 JavaScript,转换为 JavaScript。然后,呃,本质上你有了与 JavaScript 相同的性能等等,但是你犯的错误更少,呃,因为事实证明,呃,鸭子类型或,嗯,他们称之为?像变量和类似东西的动态类型。这是错误的常见来源。比如你创建了一个数组,然后你试图使用该数组来做一些你会用字符串做的事情,呃,

砰,错误,或者比错误更糟糕。它实际上会做它认为你想要它做的事情,但这并不是你想要做的事情。而且你在堆栈的某个地方有一些东西,比如失败了,你不知道为什么它像销售一样失败了。对。呃,因为你没有使用 TypeScript。所以 freeCodeCamp 在过去几年中几乎完全将我们的代码库从 JavaScript 迁移到了 TypeScript。是的。它只是类型安全的 JavaScript。嗯,除了 TypeScript,比如还有什么其他工具让你在过去几年里真的感到……

被震撼了,呃,被击倒了,你就像,你真的想宣传或倡导任何东西,呃,让你的生活更轻松。所以,比如,像 Kevin Powell 一样,我也喜欢 CSS。我喜欢编写 CSS。而且,嗯,我可能已经走向了黑暗面,根据 Kevin 的说法,嗯,我真的很喜欢 Hellwind。它是

在本周播客节目中,freeCodeCamp 创始人 Quincy Larson 采访了 Jesse Hall。他是一位软件工程师,也是 MongoDB 的开发者布道者。他在抚养孩子和在百思买极客团队修理电脑的同时自学编程。多年来,Jesse 在 YouTube 和 freeCodeCamp 上创建了大量的教程。我们讨论了他的编程历程、几年来该领域的变化以及炒作如何扭曲了人们对学习编程的认知。我们讨论了:- 在一个只有红绿灯的小镇长大- 使用 freeCodeCamp 免费自学编程- 他如何创建 YouTube 教程来激励他的孩子,然后变得非常擅长- Jesse 对 Web3 的早期兴趣如何导致他需要“摆脱困境”,摆脱“NFT 教程达人”的称号本播客得到 Wix Studio 赠款的支持。Wix Studio 为开发者提供工具,可以快速构建网站,所有功能都开箱即用,然后可以使用代码进行扩展、替换和突破界限。了解更多信息,请访问 https://wixstudio.com。本播客还得到 11,384 位通过每月捐款支持 freeCodeCamp 的好心人的支持。加入这些好心人,通过访问 https://www.freecodecamp.org/donate 来帮助我们的使命。或者您也可以在 Apple Podcasts、Spotify 或您最喜欢的播客应用程序中收听播客。请务必在这些平台上关注 freeCodeCamp 播客,以便您每周五都能收到新的剧集。我们在谈话中讨论的链接:- Jesse 在 freeCodeCamp 上的教程:https://www.freecodecamp.org/news/author/codeSTACKr/- Jesse 关于如何设置和配置 VS Code 编辑器的课程:https://www.youtube.com/watch?v=fJEbVCrEMSE</context> <raw_text>0 Tailwind 太棒了。它真的就像,就像编写普通的、简单的 CSS 一样。这,这完全没问题。我仍然喜欢这样做,但 Tailwind 对我来说只是让它变得更快了。

然后我想提到的另一个是 V0。我一直在大量使用 V0。它真的有助于快速构思和构建事物,并且它使用了我喜欢使用的技术栈。它使用了所有我喜欢的技术。所以这也加快了我的速度。是的,V0,我不太熟悉这个。它是 Vercel 开发的,Vercel 开发了 Next.js,他们有自己的一种类似……

托管即服务,一种无服务器类型的平台,我想这是一种描述它的方式。没错。我不记得他的姓了。雷。是的。罗奇。酷哥。该领域的创新者。还有凯文·鲍威尔,只是 CSS 第 154 集之王。如果你想听我与凯文·鲍威尔谈论 CSS 以及为什么你不必害怕它。

但你现在是 Tailwind 的拥护者,你也在使用 vZero。它就像一个快速原型设计工具。你用它做什么?是的,没错。你只需给它一个提示,它就会为你构建一个应用程序。第一个版本,vZero 版本,它不会完美无缺,但你会不断迭代。你可以选择要更改的应用程序部分并执行操作,然后你只需不断迭代。然后它会让你完成 90%,然后你可以把它提取出来,然后……

你拥有整个代码库。它使用各种不同的技术栈编写,但我喜欢的是 Next.js、Tailwind、ShadCN UI。ShadCN,是的,这是一个较新的。是的,所以 ShadCN 基本上就像组件一样,就像预构建的组件,它们也基于 Tailwind。你可以根据自己的需要自定义它们。它只是非常不固执己见的组件。

嗯,所以我,我喜欢用这个栈构建,然后我可以把它从这些零中提取到我的环境中,然后继续迭代。是的。我认为,呃,这些工具非常令人兴奋,因为你知道,开发人员喜欢,

在电影中,这个人只是打开空白代码编辑器并开始快速编写代码,一切很快就组合在一起了。实际上,如果你看看架构,看看音乐制作,看看任何东西,通常都会有一些支架,一些极其粗略的草稿,就像一个演示。然后

你用它来更结构化地思考,好吧,我有点喜欢它的走向,或者我不喜欢它的走向。这,它需要更多的东西。它需要更多的小牛铃铛 X、Y、Z。然后接下来你就知道,你已经得到了一个极其粗略的原型。然后你用它作为你最终将构建内容的 V0,即版本零。因此,即使在敏捷软件开发中,他们也有类似于尖峰的概念,对吧?

对。你并不是试图编写健壮的代码。你并不是试图采用最佳实践。你只是试图摸索着前进,弄清楚,好吧,我们想要朝这个方向前进。我们想让你大致这样做。然后这节省了大量时间,因为否则你将编写大量软件,并且你会喜欢在文档顶部键入 HTML 编辑器等内容,并花费大量时间做最终可能会丢弃的事情。

所以这就是使用这些快速原型设计工具的论点。这也是使用诸如

你知道,Figma 是我们与 Free Code Camp 一起大量使用的工具。因此,你可以模拟一些东西,你甚至可以模拟功能等等。但这只是能够进行沟通。如果我可以稍微谈谈我的观点,人们不了解软件开发的一件事是,他们认为我们正在编写代码或类似的东西。就像,这就是开发人员所做的。他们把咖啡变成代码,对吧?代码通常是输出,但做出这些微小决策的实际过程,例如

有时,你知道,在构建应用程序、功能或库的版本一的过程中,可能有数百万个微小的决策。这些决策本质上是将所有这些决策编码成代码,类似于你如何决定你希望社会成为的样子。你会编写代码。

为社会,就像汉谟拉比法典一样,对吧?巨大的,你知道,庞贝石碑,无论它叫什么,都在城镇广场的中央,每个人,比如以眼还眼,你知道,就像你期望软件运行的规则,以及,你知道,所有这些东西。所以……

我会开始放下我的讲台,说这就是为什么我认为即使我们拥有星际迷航级别的工具(我们有望拥有,而且可能比 24 世纪快得多),开发人员也不会消失。但是是的。所以……

我很高兴听到你对这些新工具如此兴奋,并且你正在快速采用这些工具。你不仅仅是坚持舒适和熟悉的东西。我一直喜欢你的一点是,你从不休息。你永远不会处于山顶的顶峰。你就像爬到半山腰,你知道,然后你就像环顾四周,看看我是否真的在爬对的山,或者我应该爬另一座山?对。对。

是的。是的。而且,那是,嗯,我不知道。我觉得那是成为一名开发人员的关键,那就是对学习的热爱,以及对像,你知道,继续寻找新的、新的方法,而不是停留在旧方法中,因为你可能会停留在某个困境中。而且,我在一段时间内陷入了困境,只是在,在,在,在生活中,我想,工程方面。然后我觉得我有点,嗯,

我不知道,重生了。我不知道。但只是对学习的热爱,这是你不能失去的。你不能停留在困境中。你必须继续看看外面有什么,学习新事物,学习新方法,向周围的人学习等等。就像继续消费和创新一样。这就是我们需要的东西。我们需要创新。我们不需要人工智能的样板乏味。我们仍然需要人类来帮助它创新。

是的。我想回到那个陷入困境的时刻,杰西,并看看你当时的生活是什么样的。因为我想象很多听众都曾陷入困境。我以前也陷入过困境。作为一名学校主管,我只是让自己放纵,我只是从 Blockbuster 租借电子游戏。如果有人记得 Blockbuster,我只是喜欢蝙蝠侠,你知道,那个。

哪个?阿卡姆城还是什么的?那是一个很好的。我会每个周末都租借不同的游戏,我想,好吧,工作结束了。我要回家玩游戏了。那就像好几年了。我只是基本上停止了前进,我停滞不前了。我的意思是,作为一名学校主管,我仍在取得一些渐进的进步,学习新事物,

与我的工作相关,但就像,我觉得我开始走那种递减收益曲线了。而且我将要,也许如果我继续做我现在做的事情 20 年,我会成为一个 10% 更好的学校主管,或者 20% 更好的学校主管,或者类似的东西。对。嗯,就像你获得的大部分收益一样,就像你在开始时获得的巨大收益一样,我已经做到了。而且我没有作为软件开发人员转向新的道路。你知道,没有,

没有像不同的前沿一样。你将去探索这个领域是如此的深邃和丰富。是的。但让我们谈谈你。当你,当你发现你陷入了困境时,就像那是什么样的,以及你的感受。是的。所以那是,所以最初的学习,

然后过渡到开发人员的角色。那是一段令人兴奋的时光,学习,学习很多东西。然后做了几年,那是我处于同样情况的时候,同样的困境,好吧,我只是要完成我的日常工作,回家。对我来说也是一样,那是游戏。我想,浪费了大量时间在游戏中。嗯,

嗯,所以老实说,直到创建 YouTube 频道的那个故事,我才意识到我陷入了困境,那真的重新点燃了我内心的某种东西。所以我陷入了困境很长一段时间,甚至都没有意识到。嗯,然后只是学习这个,只是这个新事物,并过渡到一个新的角色等等,这真的激发了我。

你会如何比较你现在学习的速度和你刚从社区大学毕业、工作、组装电脑等等时的学习速度?我会说现在是 100 倍,因为我认为主要是因为——

学习资料很容易获得。像那时,我必须去 Barnes and Nobles 买书,我必须坐在那里看书,对吧?现在我可以坐在 YouTube 上。没有人想付钱。你只是坐在那里,你就像,也许你付钱买了一份副本,然后你只是坐在书店看书,因为这本书要 50 美元。没错。也许你,你知道,像……

你必须想象书后面粘贴的 CD-ROM 上有什么。没错。因为你永远不可能真正买得起这本书,对吧?对。当我学习的时候就是这样。没错。所以现在你可以坐在……我可以打开一个 YouTube 视频,以 2 倍速观看,我正在学习。我只是不断地吸收新的想法、新的内容,学习新事物,速度之快是我的大脑所能允许的。是的。我的意思是……

那是一种好感觉吗?就像,就像,你对踏上这段学习之旅感到高兴吗,你没有停留在那个困境中?

是的,当然。当然。我喜欢学习新事物。技术一直是我喜欢的东西。所以问题是,你想,你需要能够享受你所做的事情,享受你的工作等等。享受你正在学习的东西。如果你只是强迫自己学习一些对你没有吸引力的事情,那一点也不好玩。所以我喜欢这些东西。我一直告诉我的所有老板,当我停止享受工作时,那就是我要开始寻找另一份工作的时候。

而且我正在享受我正在做的事情。所以,所以我们现在很好。所以你可以继续享受乐趣。只要确保你正在做的事情对你来说是令人愉快的。这实际上是我的副业和我的爱好。我整天做的所有事情,对我来说都是令人愉快的。所以,是的。我想谈谈副业以及你的副业的演变。显然你,你创建了这个 YouTube 频道,你有一些视频完全爆火,就像你的 VS code 视频一样。而且,嗯,

你如何处理这些副业?我想在某种程度上,你是否向你的另一半解释了你投入到这些事情上的时间和精力,理论上你可以把这些时间和精力花在孩子身上等等?因为我认为这是我们许多人都在努力解决的问题,就像我自己在某种程度上一样。时间管理。时间管理绝对是一件重要的事情。你必须确保你给自己和你的家人留出足够的时间。这些必须放在首位。所以我一直都在这样做。我确保我晚上不会工作太晚。我非常擅长时间管理。所以我的大部分时间显然都包含在我的日常工作中。然后我会在我的副业上再花一两个小时。所以……

然后,这也包括周末的一些时间,当,当,当我可以的时候。但现在孩子们已经搬出去了,事情容易多了。我没有,你知道,现在要处理的事情少了,但是你知道,当时要找到这段时间要困难得多。但是是的,我只是……

当你很晚的时候,你会对自己说些什么?我知道你说过你可能早起工作。我开始超级超级早起,早睡。这不像什么努力的兄弟类型的事情。我真心认为这效果更好,因为你有阳光。如果你有孩子,你的孩子会在……

我们称他们为小公鸡。我的意思是,他们在太阳升起之前就起床了,你对此无能为力。你无法改变你的孩子。他们只会那么早起床。所以如果你有年幼的孩子,调整你的作息时间以便早睡是有道理的。但是假设你早起,你起床了,如果你喝咖啡的话,你正在磨咖啡,你就像——

在你去上班之前尝试做一些事情。就像,当你感觉,哦,天哪,我只是,我想在这里再躺一个小时,按下所谓的贪睡按钮时,你会对自己说些什么?就像,你会对自己说些什么来让自己兴奋起来或让自己继续前进吗?我希望是这样。我希望我在这里能说些好话。这是,但总的来说,我只是,我想到了

我生活中的目标,我想我的家人等等。就像,我必须养活很多人,照顾很多人。很多人依赖我。所以,是的,我只是,我只是起床去做。但它也,再次回到,

这不是我的苦差事。这不是什么,嗯,这就像我必须做的事情。就像我可以直接停止副业一样。如果我,如果我想,我可以只做日常工作。我可以过我的生活,呃,你知道,像我日常工作中的僵尸一样,不用担心任何这些事情。如果我想,我可以停止学习,但我喜欢做这些事情。所以我起床去做。让我问一下,你 realistically 认为你能停止学习多久,然后只是随波逐流?呃,

你知道,在它开始真正影响你之前,这个领域竞争激烈,软件工程。

是的。然后菲尔,是的。我的意思是,你确实必须,你确实必须适应,但是当涉及到像,如果你是一名软件工程师,并且你在某种公司工作,大多数像,就像你之前提到的那样,大多数公司都是,他们可能有遗留技术。他们,大多数公司都没有跟上每天都在出现的更新、新技术,对吧?他们有一套技术,他们可能每五年升级一次。对。所以你,

你真的可以在这样的日常工作中随波逐流很长一段时间。在我现在的工作中,不,我必须每天学习新东西。我必须跟上技术。我必须确保我了解与我在日常工作中使用的产品相关的任何更新等等,对吧?所以对于我现在的工作,我想,是的,你是对的。我必须继续学习。是的。

好吧,我有一些快速的问题要问你。我想注意你的时间,因为你是一个忙碌的爸爸,同时还要处理一些副项目,我们已经讨论过了,以及在责任和需要处理的任务多样性方面都非常丰富的日常工作。你早期做的一件事,据我了解,当你学习编程时,你确实寻求了一些专业认证,对吧?

你能谈谈这些认证吗?你获得了 Linux 认证、CompTIA 认证,还是其他什么认证?是的,是的。它更多的是 CompTIA 认证,大多数认证都围绕着硬件方面,例如网络和服务器。所以我获得了微软认证等等,但实际上除了从 FreeCodeCamp 获得的认证外,我没有其他软件认证。是的。

好的。好吧,呃,我很高兴你拥有,呃,你有一些 free cocaine 认证,我会鼓励大家查看新的认证,即认证的全栈开发人员认证,它基本上是所有旧认证的组合。而且它更加严格。呃,

你可能拥有旧的认证。你可能会说,哦,是的,我从六年前获得了响应式网页设计认证,或者类似的东西。相信我,它正在非常努力地继续更新和刷新它。杰西,如果你有时间,并且你加入进来,并且你,呃,给我一些关于我们如何介绍不同概念的想法,我会非常高兴。因为我喜欢听取该领域的工程师的意见,但是,嗯,

所以你获得的那些认证,你会说它们当时值得吗?你会鼓励人们考虑获得这些类型的认证吗?是的,我认为当时我工作的雇主会根据我获得的认证数量给我加薪。就像我每次获得认证时,都会加薪。

嗯,所以我并不是说这会在任何地方发生,但这只是我遇到的情况。对。而且,嗯,它绝对,呃,是有益的,因为你再次学习你在日常工作中需要的东西,嗯,或者,或者,你知道,无论你试图学习什么等等。

它也确实让你对你的知识有一点可信度,对吧?所以你完成了这件事,你获得了认证。所以你有了这个东西来证明你知道 X、Y、Z。

是的,绝对的。我认为认证的最大作用之一是学习证明。没错。你不仅学习了它,而且你满足了评估标准,无论是认证考试,还是构建了一堆让你有资格持有该认证的项目。因此,雇主可以勾选这个框。就像他们可能对网络了解一些,因为他们获得了网络加加认证,对吧?

所以是网络加还是加加?加加。等等,是 N 加?是的,N 加加,我认为。好的,好的。是的,所以像……

那是很久以前的事了。是的。但是,好的。所以将这些用作学习证明的工具。向 ExamPro 的 Andrew Brown 致敬。Free Code Camp 发布了他的大量课程。如果你想获得一些特定于供应商的证书等等,它将帮助你参加任何这些认证考试。所以……

我对你还有一个问题,就是关于一致性,就像你做得很好,没有回到你之前谈到的那种停滞状态,你就像,啊,足够好了。我可以轻松一下。我可以玩电子游戏。你现在还玩电子游戏吗?只是 Candy Crush。我会告发自己的。好吧,只有 S 级顶级货架,像硬核游戏玩家认可的游戏。是的,没错。

好的。但是,假设你有一些空闲时间,你的孩子正在做一些成年人的事情。你会用这段时间做什么?我可能会读一篇文章。我可能会读一些与技术相关的东西,老实说。这就是我的爱好。这就是我的,一切都是。就像我一直在消费一样。是的。是的。

所以所有那些对技术不太热情的人,这就是你必须与之竞争的对象。杰西·霍尔,他就像,好吧,我可以做任何事情。我可以去远足什么的。让我们读一些技术文章。如果我去远足,我可能会收听技术播客。我的意思是,太棒了。我喜欢收听大量的播客,当我在亚洲度过夏天的时候,我喜欢去亚洲,因为我的家人大部分都在亚洲,我的很多姻亲都在亚洲。而且我会去,我会爬山。

嗯,而且,你知道,我会在锻炼的时候收听大量的技术播客等等。我不能在游泳时收听播客,但我可以在跑步或慢跑时收听它们等等。所以我一直在吸收这些东西。是的。嗯,保持我的身体健康,进行重要的、强制性的体育活动,你知道,就像那个老笑话一样,程序是什么?对程序来说身体是什么?它是防止你的大脑掉到地上的东西。没错。嗯,照顾好自己,请多喝水。

至少每小时起床一次等等。是的,哦,是的。但不要停止收听播客。无论你用这些东西做什么,你都可以同时处理多项任务,对吧?所以这只是部分玩笑。所以我现在想和你谈谈,对于所有正在收听的人来说,他们就像,杰西是一个很棒的人。我喜欢这个人。我迫不及待地想看看他的频道。我们将讨论在一个变得流行的领域中变得非常流行的黑暗面。

在你变得非常流行之后,我们将讨论 Web3。所以,呃,警告 free code camp。呃,你知道,我对这件事采取了非常谨慎的态度。嗯,我们不会试图鼓励你购买迷因币或类似的东西。但我们将要讨论的是你如何在更天真的时代对 Web3 产生真正兴趣的这个引人入胜的故事。是的。

以及你如何成为这些工具最杰出的教师之一。是的。你准备好深入探讨了吗?我想我们开始吧。据我所知,你从未在任何地方谈论过这个。从未。所以这是真正的,全新的,杰西·霍尔,新的混音带即将发布。杰西·霍尔的 Web 3 短途旅行。短途旅行。好的,我们用这个吧。所以设置场景。是的。

Web3 正在变得越来越大。大量的风险投资资金流入其中。你是一名开发人员,正在工作。我认为你可能在那时已经在 MongoDB 工作了,做了很多……是的,那实际上是在我转到 MongoDB 之前。所以我仍然是一名工程师,我在业余时间经营我的 YouTube 频道。所以我是在百思买担任工程师时开始创建 YouTube 频道的。好的。

然后,所以是的,Web3 变得流行起来,区块链等等。所以我想,再次,我喜欢学习。我喜欢消费内容。所以我想,好吧,这是什么东西?所以底层技术,很棒,太棒了,很棒的用例等等。所以学习它。好的,所以像我当时正在创建内容一样。所以让我们围绕这个创建一些内容。让我们看看它会做什么。所以我想经历一下这样的过程,

解释区块链,解释 Web3,并通过创建 NFT 来做到这一点。它非常具有教育意义。就像这是这项技术。这就是你如何去做等等。那个视频最终做得非常好,在各个地方都有数百万的观看次数。

比我频道上的所有其他视频都要好得多。所以我的频道很快就因此而发展壮大,我开始被称为 NFT 达人。我在 Twitter 上收到这些提示,我收到了每一个……它变得失控了。之后,我花了将近一年的时间才摆脱被称为那个

拥有那个角色的困境,并且随之而来的是非常负面的含义,尤其是在从只是学习和试图理解这项技术的那个天真阶段转变而来之后。它真的很好。它真的是一项很棒的技术,好吧,现在出现了这些骗局和这些骗局以及所有其他事情,并且所有这些负面含义都与我以及我的频道相关联。那不好。是的。是的。为了明确起见,有很多技术创新,

区块链分布式账本等等。你阅读了原始的,比如白皮书或黄皮书,比如,呃,使比特币成为可能的实际创新等等。呃,

如果它没有被卷入一切,那么它可能是一项非常有用的技术,也许将来它会很有用。但是现在对什么有用,我认为这不是一个有争议的观点,主要用于洗钱和欺诈人们。是的,差不多就是这样。是的。

但让我们谈谈摆脱困境的过程,因为我真诚地相信你是一个无辜的受害者。你确实发布了一个 NFT 集合,我认为它的交易量达到了 3 ETH,我不知道,大约是 6000 美元或 7000 美元左右,根据……我不知道当时是多少。你能谈谈这个吗?是的,是的,当然。所以整个过程是如何创建数字艺术?

这同样也源于……我也有艺术背景。我哥哥是个艺术家。我们

我喜欢创作东西,绘画等等。所以,比如,你怎么创作数字艺术并出售它等等。所以,呃,重点是,你怎么构建这个,这个应用程序和应用程序?就像,嗯,嗯,你可以,你可以买它,然后你,然后它就像,你不知道你究竟会得到哪个,哪个。这就像整个,就像打开礼物看看你会得到什么一样。对。所以无论如何,整个视频是如何构建这个东西?而且,呃,

然后当我把它放到区块链上,以及部署到区块链上,所有的一切。所以我通过这个视频将一个集合部署到了区块链上。

而且,当我,我把它以非常,非常便宜的价格卖出时,就像我不想,再说一次,不想试图卷款跑路,不想靠这个赚钱。它就像,这就是你做这件事的方法。而且,嗯,它确实卖出去了。我想我只发布了,嗯,我甚至不记得有多少,我想我只发布了大约一千个。它就像编码猫之类的。所以你做了艺术,然后你只需要使用软件来基本上,嗯,

取这幅原始艺术作品,然后交换颜色,交换纹理。是的。并且基本上创建了不同的图层,28个不同的版本,或者类似的东西。是的。是的。所以有不同的图层。所以,嗯,它会随机地将不同的图层与不同的东西放在一起,从而创建独特的,呃,

我有点把它与玩纸牌联系起来,就像独特的扑克牌一样。所以你是在重新组合不同的元素。没错。没错。是的。这就是,这就是它所做的。一个非常,我的意思是,视频还在网上。它非常,非常具有教育意义。向你展示了许多伟大的概念,但是其意图,其意图是教育性的,但是它,

其中一部分是一群人学习如何做这件事,然后试图诈骗人们,只是为了快速致富之类的事情,对吧?直到今天,仍然有这样的评论……我们在YouTube上一直收到这些垃圾评论,都是一些随机的东西,他们只是试图从你这里获取信息,比如进入你的钱包等等,对吧?所以……

是的。是的。这是拥有NFT的一大问题,如果它存储在像浏览器扩展程序之类的钱包中。

一个恶意链接被点击,突然间,你知道,你钱包里的内容可能会丢失。而且,你知道,很多时候人们喜欢它,它就像幸灾乐祸一样,哦,富有的,你知道,嗯,科技兄弟失去了他的,呃,你知道,加密猫之类的。让我们嘲笑一下,让我们嘲笑一下。但是,但是我的意思是,这是这项技术的可用性问题。如果,

工具被盗很容易,无论什么有价值的资产。但是,我们有后见之明的优势。在过去的几年里,很多炒作都消退了。现在所有那些推销NFT的人都开始推销AI了。几乎是。

但是,你知道,我想我会争辩说,AI比能够创建大量程序化生成的艺术,然后,你知道,让人们拥有独特的体验,拥有更多,我猜,直接的实用性。

拥有这种艺术的标识符。嗯,是的。这就是,这就是当时存在的创新。你可以认为它有点像为一个问题寻找解决方案。NFT一直是这样的。但是,嗯,可能会出现一些合法的用例。所以,再说一次,我不想把我们描绘成完全的加密怀疑论者,但是你会说,总的来说,你会如何权衡因创造一些本意良好的东西而臭名昭著?

是的。对你个人来说,它是净正面的还是净负面的?对我个人来说,我仍然认为这项技术很棒。我认为这是因为……例如,NFT不必是……

艺术,它不必是,它可以是任何东西,例如,NFT可以是你的驾驶执照,驾驶执照可以是NFT,它是在区块链上的东西,没有人可以,我的意思是,我想他们可以从你那里偷走它,我们谈到了是的,它如何,你知道,但是无论如何,它就像,它是在区块链上属于你个人的独特的东西,对吧?所以它可以是任何东西,所以它背后的技术是惊人的,所以我不后悔我

喜欢学习这项技术,并喜欢教导,呃,

你知道,它如何以有益的方式使用,等等,嗯,在,在有益的方式中。所以,但是然后像,之后发生的一切过程,是的,看起来不太好。所以花了大约一年时间试图加倍关注其他内容,比如加倍关注我的频道上的VS代码内容、JavaScript和Web开发以及所有这些东西,这些东西启动了我的频道,并试图掩盖这些NFT的东西。是的。就像抹刀城一样。我们不只是卖抹刀。没错。没错。

所以我认为我已经回到了这一点,一切都回到了Web开发,不再做任何区块链内容了。是的。好的,很酷。然后你对那些试图追逐普罗米修斯之火的人有什么建议?这是最新、最伟大的东西。嗯哼。

你对那些正在创作关于可能,他们可能会,你知道,教人们如何,你知道,利用像,你知道,富集核裂变材料之类的教程的人有什么警告或建议吗?只是无意中没有意识到它会造成多大的危害。比如,人们是否承担着某种责任,或者你认为有多少是可以预料到的?

是的,不,我认为很多事情是无法预料到的。但是显然,如果你知道某些东西可能会——可能会被滥用,那么在教授它的时候要非常小心,显然。但是是的,有些事情只是——不要总是追逐炒作浪潮。就像——

再说一次,我喜欢学习新事物。炒作浪潮席卷了AI,其中涉及各种各样的东西。我喜欢学习它们,但我不会去教所有东西。当我学习到一些对我的日常生活有益的新东西时,我才会去教它。这就是我一生中一直秉持的概念。

嗯,你知道,教学之旅,如果你想这样称呼它的话,就是我喜欢学习一些东西,然后教它。嗯,所以我并不一定像我所教的很多东西一样,是我很久以前就知道的东西,但是也有一些全新的东西,当你刚刚学习到一些东西的时候,教它会容易得多。嗯,这就是我的,我的事情,我喜欢不断地消费内容,当我遇到一些对我真正有益的东西时,我就会去教它。是的。是的。

好吧,我想最后问一下,你对那些处于职业中期的人有什么建议?也许他们20多岁到30岁出头。他们有孩子,很多其他的责任,也许还有年迈的父母。他们想进入软件工程领域,他们想拥有你那种职业,你有很多选择,你可以做一些有趣、令人兴奋的事情。如果你觉得它不有趣,你就有这种奢侈,这种特权去去做一些不同的事情。

与之相关的,在不同的公司,甚至在公司内部换到不同的部门等等,你会给人们什么最重要的建议来帮助他们达到你今天的水平?这不需要火箭科学家来做。所以你可以学习。你需要时间来掌握基础知识。但是

只需要奉献精神。需要坚持不懈。如果你每天有一小时的时间学习一些东西,就去Free Code Camp,去YouTube,去任何地方,每天学习一小时,然后继续学习。这就是我的建议。尽可能多地学习。分析你的一天。

我相信你可以找到一小时,也许30分钟,但是尽量每天找出一小时来学习一些有助于你继续职业生涯的内容。我发现的另一件事是,很多人陷入了困境,因为他们认为自己知道的还不够,无法达到下一个层次。

当你查看职位发布时,如果你至少符合他们要求的50%左右,我会说大约50%,那就申请那个职位,那个新的,那个更高级的职位,或者那个新的职位,或者任何职位。如果你至少有50%,因为他们永远找不到一个完全符合他们要求的人。嗯,如果你愿意学习,并且你拥有那种,那种渴望和那种,那种动力,嗯,

你永远不知道会发生什么。申请吧。精彩的建议。我想再次感谢你,Jesse,感谢你加入我们。我有一些Jesse的写作链接,一些Jesse的课程链接,比如他的VS Code课程。它已经有三年历史了,但我认为它并没有从根本上过时。很多东西仍然是一样的。我鼓励你们都去看看。Jesse,这绝对是一种荣幸,伙计。感谢你来到节目。我很感激。谢谢。下周见,大家。快乐编程。再见。