在本周播客节目中,freeCodeCamp 创始人 Quincy Larson 采访了 Tae'lur Alexis。她是一位开发者和安全分析师。Tae'lur 没有上大学,而是花了数年时间从事各种快餐和零售工作。她利用 freeCodeCamp 自学了 Python 和 JavaScript,在专注于安全工程之前,担任软件工程师 5 年。现在,她不再构建应用程序,而是破坏它们。我们讨论了:- 在佛罗里达州麦当劳维持生计 - 如何利用 freeCodeCamp 和 #100DaysOfCode 挑战自学编程 - 利用当地聚会结识开发者朋友 - 移居泰国并远程工作本播客由 Wix Studio 的资助支持。Wix Studio 为开发者提供工具,可以快速构建网站,并提供所有开箱即用的功能,然后可以使用代码扩展、替换和突破界限。了解更多信息,请访问 https://wixstudio.com。本播客还得到了 11,384 位热心人士的支持,他们通过每月捐款支持 freeCodeCamp。您可以加入这些友善的人们,并通过访问 donate.freecodecamp.org 来帮助我们的慈善事业。我们在谈话中提到的链接:- Tae'lur 的网站和博客文章:https://taeluralexis.com - Tae'lur 关于在曼谷远程工作的 YouTube 频道:https://www.youtube.com/@TaelurAlexis - Tae'lur 的 Twitter:https://x.com/TaelurAlexis</context> <raw_text>0 安全领域非常广泛,有很多不同的安全领域,比如事件响应、合规性等等。但是我建议那些想从 Web 开发人员或软件工程师转型到安全领域的开发者:
你很有机会进入应用安全领域。这就是为什么我专注于 OWASP 十大漏洞和 Web 漏洞之类的原因,因为它建立在你已有的知识基础之上。你已经拥有了扎实的 Web 开发基础。现在你需要学习攻击者可能会
尝试探索你的应用程序的不同方法。你的工作就是帮助保护应用程序免受这些攻击。欢迎回到 Free Code Camp 播客,这里是与开发人员进行原始、未经编辑的访谈的来源。今天,我们与 Taylor Alexis 进行了交谈。
她是一位开发者和网络安全分析师。Taylor 没有上大学,而是花了数年时间在各种快餐店和零售店工作。她利用 FreeCodeCamp 自学了 Python 和 JavaScript,然后担任软件工程师五年,之后专注于安全工程。现在,她不再构建应用程序,而是破坏它们。
本播客由 Wix Studio 的赠款支持。Wix Studio 为开发人员提供工具,可以快速构建网站,并提供所有开箱即用的功能,然后可以使用代码扩展、替换和突破界限。了解更多信息,请访问 wixstudio.com。本播客还得到了 11,384 位热心人士的支持,他们通过每月捐款支持 Free Code Camp。您可以加入这些友善的人们,并通过访问 donate.freecodecamp.org 来帮助我们的慈善事业。
在本周的音乐介绍中,由我自己演奏鼓、吉他、贝斯和键盘,我们将回到 1990 年,演奏任天堂游戏 Estiniacs 的主题曲。嘿,Taylor,欢迎来到 Free Code Camp 播客。嗨。嘿。
是的,很高兴和你交谈。我认识你很多年了,我很高兴能更多地了解你。首先,我想问一下,安全工程师到底做什么?
这很大程度上取决于他们所在的领域。比如事件响应、应用安全等等。我所做的工作有点像不同工作的混合,因为我在一家咨询公司的 CISO 手下工作。因此,我们为科技初创公司提供各种安全服务,具体领域包括:
如果他们需要漏洞评估,我们会提供。我们实际上也开始进行渗透测试,或者对那些不知道这是什么的人来说是合规性测试。能够合法地侵入或发现系统(例如网络和 Web 应用程序、移动应用程序等)中的缺陷,以帮助提高这些应用程序、系统和网络的安全性。
我们也做合规性工作。这实际上也是我现在很多工作的一部分。因此,我们帮助从头开始构建安全程序,因为许多初创公司通常先发布产品,然后再考虑安全问题。对。因此,为了符合不同的标准(例如 ISO 27001、SOC 2),他们需要一些东西到位。我不想用所有不同的标准来烦扰大家。是的,字母汤。
是的。但是如果他们试图获得资金或不同的客户,这通常是一件非常重要的事情,例如,如果他们遵守某些标准,因为他们试图了解——因为其他潜在客户试图了解,你能否——你是否——你是否实施了某些控制措施来保护我们的数据等等?我们基本上可以信任你吗?因此,我们帮助不同的科技初创公司做好准备。
进行这些审计并获得这些认证等等。所以,我的典型一天,有点意思。正如你所知,我是一个
安全分析师,我实际上与不同的初创公司合作。一个客户可能需要进行风险评估,另一个客户可能会询问有关如何实施 DAS 工具的问题,昨天他们实际上向我咨询了这个问题,对于那些不知道的人来说,这是一个可以帮助查找漏洞的自动化扫描程序。从外部角度来看。
所以他们需要帮助,例如,什么样的工具最适合我们的需求等等,因为潜在客户需要他们实施。所以,是的,这真的取决于情况。我做的工作类型各不相同。
太棒了。是的,听起来你做的很多工作都是帮助人们修复他们的快速行动、快速破坏事物的心态,就像初创公司一样。一切都是以尽可能低的成本完成的。只是试图将产品推向市场,看看人们是否喜欢它,看看人们是否愿意为此付费。很多时候,安全只是最终会被解决的技术债务中的许多事情之一。是的。
是的。我的很多工作实际上是教育,提高人们对安全重要性的认识,为什么需要实施某些工具,为什么安全编码对于帮助防御漏洞非常重要等等。所以当然,这需要很多努力才能让人们感觉……让安全成为流程中的一个重要步骤,最好是从软件开发生命周期的开始,但在任何阶段我们都可以介入。是的。
是的,在你进入安全领域之前,你担任软件工程师大约五年。在此期间,你是否认为自己理所当然地拥有现在知道非常重要的许多安全方面的事情?是的,实际上。当我是前端开发人员时,我对安全编码并不了解。我不知道……我知道跨站点脚本,但我没有现在的知识。我不知道 OWASP 十大漏洞等等。我注意到……
我认为这让我感觉自己不是一个合格的工程师,直到我进入安全领域。然后我遇到了其他非常非常聪明的软件工程师,他们对安全并不了解。而且,正如你所知,许多软件开发课程和编码课程实际上并没有教授安全编码之类的内容。这是作为一个单独的学科教授的。所以这对我来说是一个额外的步骤,我必须经历,你知道,试图去
填补这些空白。另一件事是,我不太了解 Linux,也不太了解网络。所以当我转向安全领域时,我必须建立我的知识,但是拥有软件开发背景确实帮助我获得了现在的工作,因为我知道 Git。我知道 SDLC 等等。我知道不同的技术栈。我知道 React 和 Vue 等等。我知道数据库是如何工作的。所以。是的。SDLC 是软件开发生命周期,我相信。是的。
好的。所以它基本上就像从摇篮到坟墓,应用程序会发生什么?以及所有重要的生命事件。是的。是的,从设计到部署。太棒了。所以……
我很高兴能了解更多关于安全的信息,但首先我想更多地了解你。许多人可能已经认识你了。你有一张照片,照片上你好像在擦拭波士顿市场的浴室或类似的地方。然后是第一张。第二张是你作为软件工程师的照片。是的,我想更多地了解你作为开发者的起源故事以及你如何能够
是的。
我花了一些时间,差不多各占一半。当我真正学习编码时,实际上是在佛罗里达州奥兰多市。在佛罗里达州中部。啊,好的。是的。是的,带我们回到那段经历,你当时在做什么。因为你知道,很多人高中毕业后,
如果他们有足够的学术倾向或有足够的钱上大学,他们就会上大学。如果他们居住的州有价格低廉的社区大学,他们通常会去那里。你的整个方法是什么?带我们回到高中时代。好的。是的。高中时,我不是最好的学生。我实话实说。例如,如果我的数学和科学老师今天看到我在 STEM 领域工作,他们会说:“哇,她真的成功了。”是的。
我真的很害羞。老实说,我认为我并没有在课堂上给自己机会。我甚至不会试图责怪制度或其他任何东西。我认为我只是非常害羞和内向,我只是不想和别人在一起,所以我只会沉浸在自己的世界里。所以我数学成绩不是很好。当我高中毕业时……
真的不知道自己想做什么。从小我就想成为一名律师。我想上哈佛法学院等等。但是事情没有成功,我没有钱,也没有……
像学术上的能力等等,可以进入一所非常好的学校等等。所以我进入了,你知道,我做了很多 18 岁的人都会做的事情。我进了快餐店。在麦当劳和梅西百货工作。我只是做了一堆工作,比如零售和快餐。我不知道什么是编码或计算机科学等等。我不是……
当你遇到行业中的其他人时,这真的很酷,他们像你一样,从拆卸电脑开始,然后入侵系统,成为黑客论坛的一员。他们当时 10 岁。我只是想,哇。当我 10 岁的时候,我不知道,在维基百科上。我看 VH1 之类的东西。是的,我不知道,是的。我不知道这些,我希望知道。但这只是一条不同的道路,对吧?所以,是的。
所以我是在看到 YouTube 视频时接触到编码的,我认为是 Code Academy 之类的视频,就像一个编码广告。我对此感到好奇。我想,这是什么?所以我不知道,你知道,我们在电脑上做的所有事情,以及我们在网上互动的事情。
使用代码构建的应用程序。我根本不知道我会每天都在电脑上,玩游戏,玩 Flash 游戏等等。但我从未想过这些东西是如何工作的。所以,
是的,这就是我当时在做的事情。我在 2017 年接触到编码。好的,你对编码感兴趣,但你如何自学编码?这是一项重大的努力。知道什么是编码并欣赏现在世界上发生的许多令人兴奋的事情(在软件领域)是因为开发人员将它们变成了现实,这是另一回事,对吧?或者说是一组开发人员将它们变成了现实。但是……
将自己置于可以进行开发的位置又是另一回事。你是怎么做到的?老实说,我的资源多种多样。在 2017 年的这个时候,主要的资源是 Free Code Camp 和 Code Academy。这两个网站非常突出。当然还有 Udemy。Udemy。所以这很难,老实说。当我第一次尝试学习编码时,是 2017 年 2 月。
我尝试用 Python 打印“hello world”,然后我立即停了下来,几个月都没有继续学习编码,因为我想,我不知道自己在做什么。我不理解基本的构建块,也不理解函数和注释的用途。我就是不明白。我想我只是不认为自己足够技术娴熟,或者我没有足够的智力来承担学习编码的这项工作,老实说。
但我父亲实际上鼓励我继续努力。但当时,我 21 岁。因为我的父母离婚了,我小时候和妈妈在一起。所以我与他重新取得了联系,他看到我在 freeCodeCamp 上,他说:“你应该继续努力。你看起来好像很开心。”我当时想:“真的吗?”然后他实际上在几个月后去世了。所以,
这让我一直有动力继续学习编码。是的,我试图告诉人们,因为很多人联系我,他们说他们觉得自己不够聪明,无法学习编码并成为软件开发人员,因为某个概念很难。我说:“这是一种循环的感受。”
感觉。你会一直有这种感觉,就像在你的整个职业生涯中,每当出现新的主题或概念时。在编码方面,有些事情花了我很长时间才理解。所以,这只是需要回到……
有时是资源。所以,如果你试图从一个课程中学习,而他们教授的主题你无法理解或与你没有共鸣,那么就多样化,尝试其他讲师,或者尝试视频,因为你可能是视觉学习者,而不是像从书籍或书面教程中学习的人。所以找到你的学习风格很重要,并且乐于使你的资源多样化。我会说这两件事帮助我坚持下去。
太棒了,伙计。我很高兴你父亲在他去世前看到你在追求这种热情。是的。是的,也许你可以带我们进入那一刻。不是你父亲去世的那一刻,而是你生命中的那个阶段。所以你一直在循环往复。我也经历过这种情况。我总是说很多人……
放弃学习程序。我也放弃过几次。对吧?所以你有点像在循环往复地感觉自己能做到。你有什么胆量和毅力让自己重新投入其中?我必须建立我的社区,老实说,我不知道我在建立社区,因为我加入了 100 天代码挑战赛,我认为
公开的责任感帮助我坚持下去,因为我开始发布我正在学习的内容,我学习编程时遇到的困难,我正在构建的内容,以及遇到其他也在学习的人,这非常关键,在我周围没有其他人……你知道,在现实世界中,没有人……我的家人中没有人从事编程,实际上我最近才发现
我有一个我以前不知道的阿姨,她实际上拥有计算机科学学位,那是很久以前的事了,比如 70 年代、80 年代。我想,但是当时我没有任何人,我没有支持系统。所以,是的,像在网上找到它,并记住我父亲告诉我的一切,这确实帮助了我。是的,我不知道自己想做什么。所以,
所以你能够利用你为自己建立的支持系统,就像蜘蛛织网来支撑自己一样,对吧?是的。或者海狸建造水坝来控制它们生态系统的一部分。你创造了……
是的。
嗯,这非常有帮助。老实说,这非常令人鼓舞。老实说,我也必须激励自己。因为我想,我知道我不想长期在快餐店工作。我想,我快要辞职了,在波士顿市场工作。我不想再做这份工作了。是的。
所以,我想看看软件开发会发生什么。老实说,当时,你知道软件开发现在有多么热门,比如,“赚六位数”等等,就像快速致富一样。当时,我发誓,在 2017 年,我甚至不是因为这个而被吸引的。我看到 YouTube 上的人,比如 Coding Face,无论是谁,我只是喜欢他们给予其他人的知识,以及所有的一切。我只是想为他人创造价值。所以,是的。是的。
是的。有一些事情你可以做,这些事情可以为你自己创造很多价值,对吧?你可以去为人们建造房屋,但这需要很多人为某人建造房屋,对吧?它还需要大量的木材和许多其他资源。如果你有开发技能,你可以坐下来
或者你甚至可以去图书馆使用那里的电脑。你可以构建人们可以使用的东西。这正是软件赋予人们的力量和杠杆作用,而其他创作媒介不一定具备,那就是能够大规模地帮助很多人,而无需使用很多材料。
我同意。是的,从想法出发,并真正实现这个想法,使之成为现实。这绝对是一种力量。是的,我认为这就是吸引我从事前端开发的原因,特别是因为我可以立即看到我编码的结果。你在自学编码的同时还在做这些零售工作吗?是的。就像你必须同时做这两件事?是的。
是的,有一段时间我同时在沃尔玛和波士顿市场工作,我工作的时间很长,尤其是在波士顿市场。我会工作 8 到 10 个小时,有时没有休息。我没有车。所以我跑回家,然后打开电脑。出于某种原因,我只是像在电脑上工作 6 或 7 个小时,几乎不睡觉。我只是……
我真的很着迷,尤其是在遇到代码问题或不理解某些东西的时候。对我来说,推动我的动力是,我有一种需要理解某些东西的需求。所以,我认为这对于想要进入科技领域的人来说也是一个非常重要的特质,如果障碍并没有让你放弃
整个任务,那么你就有机会进入科技领域,老实说。因为我们的旅程中有很多障碍,能够克服它们并具有韧性。所以……
是的,我确实非常努力地工作。是的,我经常说学习编程更像是一项动机挑战,而不是一项专门的技术挑战——是的,而不是与早期的能力或对电脑的兴趣有任何关系,因为听起来你并不是——我的意思是,听起来你是一个好奇的孩子,在学校的表现并不出色,但你也很——你对事情感兴趣。是的。
嗯,你只是在等待合适的事情出现,然后你真的接受了它。是的,等待我的热情,老实说。是的。是的,让我们谈谈你意识到“哦,我对这个真的很感兴趣”和获得第一份工作之间的那段时间。是的。所以我想说我学习了大约 7 到 8 个月,然后我
收到一封电子邮件,我收到了一封来自一家位于华盛顿州西雅图的小型咨询公司首席执行官的电子邮件,我记得这封电子邮件,因为我想,发生了什么事……基本上,发生的事情是,他联系了我,说他实际上在 Twitter 上关注我的旅程一段时间了,他们正在招聘初级软件工程师,他想知道我是否
知道,是否有兴趣面试这个职位。我说,是的。这个职位需要搬到西雅图。我以前从未去过西雅图。在那之前,我只去过加利福尼亚州、内华达州、佛罗里达州和佐治亚州。我没有去过大多数美国人都去过的地方。是的。但是,你在东西海岸都生活过。这很酷。是的。是的,当然。
是的,所以让我们谈谈这个过程。你对收到这封电子邮件有什么反应?这感觉真实吗?我的意思是,你到目前为止已经学习了大约 7 个月了?是的,是的。我做了一些项目。我做了一个非常……我记得这些应用程序。我记得它们。我将它们托管在 GitHub 上。是的,你的一些早期应用程序是什么?是的,所以……
对我来说,我如何为登录页面开发想法,因为我想成为一名前端开发人员,我想到了创业点子。所以我想到了啤酒和巧克力送货服务。所以我为此创建了一个登录页面。
让我们看看,我为一个虚假的美容电子商务应用程序创建了一个登录页面,因为我想,“哦,我喜欢构建一个美容电子商务应用程序来销售韩国护肤品和化妆品等等”,根据肤质,我真的很深入地考虑了这个问题,我想,如果我要销售一家初创公司,这就是我想要宣传和尝试销售的东西,并且做到了……
我做了这个。我还构建了一个房地产列表应用程序,有点像 Zillow 的克隆版。这是我最自豪的一个,因为它的用户界面,老实说。有很多渐变效果等等。我相信现在已经过时了。但是当时我很自豪。所以,是的,这些是我简历和 GitHub 上的项目。所以面试过程基本上包括第一次与……
首席执行官进行虚拟交谈,谈论我为什么想进入科技行业
以及我对什么充满热情等等。然后它继续进行技术部分,老实说,这是我自那以后参加过的最不技术性的面试。我必须说,总的来说,因为我参加过完整的、白板面试,而这次实际上是比较轻松的一次。我想,这是一个非常好的初级职位面试。基本上,他们让我与团队中的两位工程师交谈,并浏览我的一个项目的代码解决方案,在这种情况下,我相信是房地产列表应用程序。所以,
他们问我一些问题,比如我的开发新功能的过程是什么?我该如何设计它?我该如何考虑可访问性等等?因为他们知道我还在从我使用的不同资源中学习可访问性。哦,还有关于如何使我的应用程序具有响应性的问题。因为当时我没有构建,我没有首先构建响应式网站。
所以,他们只是想看看我的想法,以及我如何沟通。我认为这也是我经常告诉人们的事情,这些面试实际上是他们试图了解你如何沟通以及你如何解决问题?你能与团队成员一起工作吗?他们能理解你吗?你会问问题吗?他们只是想看看你的表现。当然,还要看看你在压力下的表现,尤其是那些白板面试。但是是的。
是的,这就是面试过程。它非常简单,只有两个步骤。是的,然后,你去了西雅图,开始担任软件工程师?是的,这是我第一次乘坐头等舱。我觉得很酷。是的,我喝了三杯蔓越莓伏特加。我真的很开心。是的。
在飞机上,是的。所以,是的。就像,这是我第一次来西雅图,一切的一切。这也是我第一次拥有自己的住所,因为他们提供了搬迁服务。所以他说,嘿,在我来这里之前,他说,你能在西雅图找个地方吗?请记住,我从未去过那里,就像我说的那样。我说,是的,当然。然后我找到了一间小型的微型工作室。它非常非常小,我不知道是多少。实际上……微型工作室。所以,就像……是的。我的意思是,平方英尺,就像……
例如,这个地方是35平方米。我想说我的微型工作室甚至比这还小。好的。那是两平方英尺。不到400英尺。
所以,不到400平方英尺。当然,你现在在泰国曼谷。我们会谈到这个。我们肯定会谈论一下这个,但我想要,所以你,我只是想给人们一些背景。所以你正在穿越整个国家,就像佛罗里达州的杰克逊维尔或奥兰多到西雅图。你不可能穿越美国大陆更远的地方,是的。
你搬进了一个……我的意思是,我站着的这个房间可能大约有100……
50平方英尺?也许200?所以这和我所在的房间差不多大。是的,差不多。差不多那么大。我没有骗你。那个工作室大约,我想说大约150。甚至没有一个完整的厨房。甚至没有一个完整的衣橱。有一个衣架代表衣橱。一张单人床,是的。但它位于西雅图一个非常好的地方。在巴拉德。我不知道你是否去过巴拉德。
它就像一个郊区,也许距离西雅图市中心大约10分钟路程。而且非常漂亮。距离我的办公室只有五分钟的步行路程,就像我的办公室一样。所以这也是我选择它的原因。所以它就在大街上。所以有很多酒吧和餐馆。这是一个非常好的区域。非常安全,老实说,而且靠近我的工作场所。是的。
是的。那么,在最初的几个月里,从事前端开发,在一个全新的城市,不再从事快餐工作,感觉如何?是的。当我开始这份工作时,是2018年7月。这绝对……
一开始肯定很艰难。我不得不适应一个全新的城市等等,但与此同时,正如你所听到的,我像你一样,我住在不同的州等等。所以我愿意住在不同的地方。这对我来说并不陌生,但只是远离我的家人。这是我第一次离开我的母亲。我的兄弟姐妹,没有人在这个州或附近。当然,我的父亲去世了。所以我真的感到非常孤独,老实说。嗯,
但是是的,所以,我一开始绝对是一个隐士。只是试图找到我在工作中的方向,并试图,你知道,只是像习惯于这种新的工作量等等。因为我从在快餐店工作,在得来速工作和清洁浴室地板的工作量转变过来。所以,哦,你能帮我们开发这个新的未来吗?这就像一个完全不同的思维转变,对吧?
当然。而且不得不学习冲刺等等,以及我们将会举行的每日站会,你知道,只是习惯于这种全新的文化,在项目经理的领导下工作,他们有路线图和截止日期等等。这与不得不遵循在线课程的教程完全不同,你知道吗?
是的。所以他们不一定会,他们只是教你将在工作中使用到的特定技术主题,你将要使用的知识。他们没有教你软件开发团队工作的元方面。是的。而且你看,你提到,是的,你有一个产品经理或项目经理为你工作,他们将不同的功能、错误和事情委托给你。然后你进行冲刺了吗?我的意思是,你参加了站会吗?你做了所有这些事情吗?是的。
是的,每天的站会等等,当然。而且不得不谈论,比如,任何,比如,障碍,你知道,我们遇到的任何障碍,或者我们对某些功能或我们必须完成的任务的任何疑问等等,当然。我还了解了其他功能和……
在技术或IT领域,例如DevOps是什么。我不知道DevOps工程师是什么,以及他们扮演什么角色,系统管理员,所有这些东西。所以这一切都是全新的。实际上,在我的第一份工作中,我们没有专门的安全团队。我相信那一定是外包的。所以我甚至还没有接触到安全。是的,他们没有教我任何关于安全的东西。是的……
这听起来像是你生命中一个令人兴奋的时刻。新的城市,新的领域。你还记得在那段时间你睡了多少觉吗?吃饭?压力大吗?我的意思是,我相信这很压力大。但是,你能在这张你在这间新办公室的画像中添加更多色彩。就像我想尝试将自己带入你的处境,尽可能地设身处地。
这是一种非常超现实的感觉。感觉不太真实。就像我工作的前几周或几个月一样。嗯,我很高兴我得到了适当的,我不会说我得到了适当的培训,但我得到了很多支持,当然。嗯,
在那份工作上等等,所以是的,这只是,这不同,这就像你知道的,你只是试图适应一种全新的思维方式,你试图看看,好吧,对我来说,泰勒在这个团队中扮演什么角色等等,还有不同的个性等等,
在一个技术团队工作等等。所以,是的,能够与不同背景和个性的人打交道,这绝对是另一件事。是的。团队中还有其他人……
没有上过大学?就像我们认为典型的开发者是18岁上大学获得计算机科学学位,然后获得实习机会,然后就像我可能会说,至少50%或60%的开发者即使在今天也是这样做的,那样线性发展。还有其他背景和经历不太传统的人吗?我……
我实际上不知道。我甚至没有询问他们很多背景或他们有什么学位。他们也没有问我。但我认为,像,那两个……
工程师。他们实际上是双胞胎。我不认为他们有学位。是的,我记得他们告诉我。他们也来自佛罗里达州。他们来自迈阿密。他们是我遇到的一些最聪明的人。实际上,我遇到的大多数最聪明的人都没有学位。例如,我现在的老板,他并没有大学学位,他是一位CISO,这很酷。是的。
但是是的,当时,不。很多人仍然来自传统的背景等等,拥有他们的计算机科学学位。CISO是首席信息安全官?对吗?是的。好的,酷。是的,我试图为收听的听众分解缩写。我甚至不确定这一点。但基本上,它是安全部门CTO的等价物。
是的。是的。在安全方面,他负责所有执行决策。他制定公司的安全战略并执行该战略。是的。所以……
在你工作在西雅图的那段时间里,你有没有特别艰难的回忆,让你真的卡住了或完全不知所措?或者有没有你只是像,我不确定我是否适合做这个?是的,老实说,我记得这个。我有一个项目经理。
她对我非常严格。我想说她对整个团队都很严格。我想她自己也承受着压力。因为现在,随着年龄的增长,我试图思考……我试图更加富有同情心。我试图更加注意事情。所以我甚至不想把她放在一个坏的……
方式或任何类似的事情。但是,呃,我想说她可能只是一个完美主义者,她可能也正在学习她的工作。嗯,因为她在Slack上晚上11点给我发了10个任务,让我去做。她希望在早上9点之前完成。什么?请注意。是的。所以要明确一点,就像你有10个小时,而且,
睡觉必须在你工作之前。是的。我已经睡着了。因为当我早上醒来时,她说,嘿,我分配给你的任务的进度如何?它字面上显示她晚上10点将这些任务分配给了我。我只是觉得,这是……我不……
我甚至没有看过这个。我刚醒来,工作甚至要到早上9点才开始。就像,我们甚至没有,你知道,我们并没有被期望在早上9点之前去办公室。所以,就像,那通常是我开始我一天的时候。我说,是的,就像,当我上班打卡等等时,我可以开始这些任务。她说,她只是因为这件事真的给了我一个难题。而且,像……
当时我讨厌它,因为我现在的样子是,我不表现出情绪。嗯,我不喜欢,因为你不会,我不知道。但是,呃,但在当时,就像我只是,哦,我的上帝,就像我真的不知道如何处理它。所以就像我当时正在内化,我感觉非常非常糟糕。我只是觉得,哦,我的上帝,这只是对我来说,嗯,当时。我当时绝对在质疑,我是否应该继续这份工作,但我只是,我已经在这里了。
是的,我的意思是,这是一个很大的梦想。这几乎感觉像是一种老生常谈,好吧,让我们看看她是否足够坚强。是的,是的。团队中还有一些其他人说她也对他们做过类似的事情。他们只是像,我不在乎。他们只是……
你知道,这是不合理的。因为,我的意思是,归根结底,我们的CEO,他是一个非常善解人意的人。非常……所以他根本没有对我们施加压力。所以这只是……她只是……我不知道。我知道一个事实……我非常想告诉我的老板,你能让她不要做我的项目经理吗?就像,因为我们还有另一个更好的人。但我只是……我甚至没有说出来。我甚至没有提出这个问题。我只是……
你知道,我真的依靠我的队友的支持。就像,在,你知道,对同事好等等,并指导我等等。所以……现在这是一个很酷的工作场所。听起来……
类似于你学习编码并经历极端困难的时候,因为编程很难。你同样,你有点像走出去,为自己创造了一个环境,支持你的人。听起来你对公司的同事也做了同样的事情。所以你有一种支持网络,你们都能发泄和
就像,哦,某某人对我期望这样做有点乱。这似乎是你如何应对并保持坚强的一个重要部分。我不会说发泄,因为我从未向我的同事发泄,但我更多的是像寻求指导,如何应对某些事情。好的。以及如何更好地发展我的沟通技巧。
因为我认为这也是,比如,能够,比如,坚定地,比如,在你的沟通中。就像,好吧,就像,我不能,而且与项目经理一起为事情设定更好的截止日期。这些是我从资深工程师那里学到的很多东西,当我说他们,当我遇到,比如,那个支持系统时,他们,是的。所以,是的,这就是我学习如何管理经理的方式。是的。
是的。是的,以及如何成为一个更好的人……是的,以及如何只是成为一个更有沟通能力的开发者,因为这……就像你说的那样,这不仅仅是关于技术技能。一切都是。能够在截止日期和项目以及你获得的所有事情方面设定现实的期望。能够直言不讳地沟通事情,而不会过度情绪化。你知道,还要把你的感受放在一边,就像在工作场所一样。这就是为什么我说我甚至不……
是的。
是的,让你的血管里充满冰块,你只是像,好吧,我要努力了。我不会让他们看到我流血,对吧?詹姆斯·邦德,永远不要让他们看到你流血。听起来这是你如何应对的一个重要部分,只是对此非常冷漠。是的,是的。你从第一份工作中学到了哪些最重要的教训,最大的收获?哦,哇。得到……
就像,嗯,我这样做很有趣,就像,我发誓,就像,嗯,我记得资深工程师,他教我如何,你知道,呃,创建我的第一个分支,你知道,推送提交等等。以及编写有意义的提交消息的重要性,这真的让我走得很远,嗯,了解Git。所以是的。嗯,
还有不要害怕问问题。这是另一个重要的收获,因为有很多事情我不知道。就像我不知道Vagrant是什么,而这是我们经常使用的环境。是的,Vagrant,它是一个DevOps工具,用于拥有预配置的环境。是的,能够……
是的。是的。因为现在人们已经迁移到其他虚拟机等等。但是,是的,我们……好吧,他们创建了你来配置虚拟机等等,但是,现在他们已经迁移到其他工具了。但是,是的,它……
我已经好几年没用过vagrant了,但是……但是你第一次接触到这种类型的工具。是的。在工作中。是的,这使得学习其他工具,例如Ansible或Terraform,或者学习基础设施即代码,这并不是一个陌生的概念,因为你正在编写……你正在编写你的基础设施,就像在vagrant中一样。所以,是的。是的,太棒了。那么你是什么时候决定离开那份工作,然后……
继续,哦,我的天哪,我被解雇了,你被解雇了,是的,他们解雇了所有初级员工,他们解雇了实习生,是的,实际上,我已经查过那家公司了,他们已经改名了,但是我合作过的所有开发者都不在了
所以,我不知道。我想他们已经完全重组了公司。但是是的,他们告诉我,你知道,他们只是快没钱了,真的,客户等等。所以他们不得不做出决定。所以他们保留了资深开发者等等。是的,这让我很沮丧,因为我被困住了。是的,你在西雅图。是的。就像你已经连根拔起了你的整个生活。是的。这发生在假期前后。这发生在圣诞节前后。你做了什么?
哦,我的天哪。我很沮丧,但我有钱,因为,嗯,因为我住在一个微型公寓里,我开始考虑这个问题,对吧。在我开始我的职位之前,我很好。就像我知道我将赚多少钱,嗯,税后,因为我使用像智能资产这样的网站。它会根据州的情况,嗯,有时是城市,所有这些东西,给你一个很好的估计,你的工资税后是多少。嗯,
所以,就像,好吧,我对,你知道,我将赚多少钱有一个想法。所以,就像,我找到了一套公寓,价格远低于这个价格。所以,就像,我的公寓当时是900美元,这对于这么小的公寓来说可能被认为是很多。但是,是的,嗯……
所以我有一些存款等等。所以老实说,我靠我的存款生活。实际上,我开始做自由职业,因为我的好朋友有一家承包公司等等。所以我们开始只是像,嘿,让我们构建一些移动网络应用程序。让我们就这样赚钱。我说,好的,酷。所以是的。
所以这让我接触到与不同客户合作等等。我做了很长时间。首先,你过着节俭的生活,这真的很酷,你能够进行规划。呃,因为很多人在得到他们的第一份工作时,都会说,好吧,我要去租一辆野马。是的。
当然。你计划好了,你有了这种应急基金,然后你能够利用你建立的社交媒体影响力来寻找客户,你能够做客户工作。那段时期你的生活是什么样的?
这绝对很有趣,因为我当时在旅行。我正在做会议演讲。所以我在,我相信,西雅图做过演讲。我在旧金山做过演讲。我在德国做过演讲,这真的很酷。芝加哥等等。所以我在做这个,但我也在接客户等等。我甚至不是通过网络找到客户的,而是通过……我记得我当时在……
我正在我的电脑上编程。我只是在美食广场做项目或其他什么。然后有一些陌生人说,嘿,你在编程吗?我说,是的。他们说,我有一个应用程序。所以我只是遇到了人们,他们只是说,我有一个应用程序等等。或者我想要一个电子商务商店。我真的很擅长WooCommerce和Shopify。
嗯,因为很多人喜欢,你知道,他们想要建立店面,所以我只是,而且我实际上是从YouTube上学到的,是的,所以我是,他们说,嘿,你能构建这个吗?我说,是的,当然,无论什么,我都不知道,我只是像学会了如何做,我只是在YouTube上查找或找到文档,绝对有很多文档,嗯,来构建主题等等,所以是的,这绝对是一个有趣的时期,因为我知道
我不想永远从事前端和网络开发。我知道我最终想进入安全领域。所以这绝对是,你知道,我只是试图维持生计。我只是试图做我的事情。我试图旅行等等。而且,是的。我想我也在写编码教程。就像,我试图坚持下去。是的。是的。
所以如果我可以做一些观察,首先,你只是做了客户需要的任何事情,你并没有说,好吧,我不会做WooCommerce或WordPress。你没有自命不凡。你只是说,当然,我会学习WooCommerce。我会构建这个应用程序。你并没有把自己看作是……
XYZ开发者,你只是说,好吧,我只是一个瑞士军刀开发者。我可以做任何事情。无论业务把我带到哪里。是的。听起来你对维持生计非常务实。是的。
当时,是的。我的意思是,而且我还从在我的博客上拥有自己的博客中接触到了WordPress。所以当我寻找工作时,我的投资组合网站,以及CEO如何找到我等等,我的投资组合网站就在那里,它是用WordPress构建的。所以我已经有了这种经验。所以这很有意义。
对客户来说,或者询问,因为WordPress和Shopify以及其他CMS解决方案只是,就像,总是,就像,一个非常完美的解决方案,对于小型到中型企业等等,他们需要快速且易于管理的东西。我真的很擅长教人们如何使用东西。所以我不只是在构建网站,我还教他们,比如,
你知道,如何更新他们的内容等等,以及WordPress是如何工作的等等。所以……然后当他们确实想要扩展到WooCommerce或添加购物功能时,我也能够帮助他们。我只是想到了这一点。而且我……
我想像拥有像我最好的朋友那样真正深入了解业务的人帮助了我,能够销售我的服务等等。所以是的,而且它也有意义。就像我知道React和JavaScript等等。所以我并不害怕深入前端并自定义代码或任何类似的东西。所以是的。
PHP并不是,与我正在使用的JavaScript相比,它并不是一种陌生的语言,我在工作中使用等等。这不像Java对我来说那么令人震惊。是的。我不想用Java编程。就像,是的,我绝对能理解你的意思。从Java到JavaScript的转变就像从汽车到地毯的转变。是的。是的。
你最常使用哪种语言?主要是Python和JavaScript。Python。好的。而且我保持简单。你知道,像PHP。你提到了PHP。Peter Levels。是的。他只用PHP做所有事情。而且他,像,每一个项目,他都只使用PHP。是的。我认为是SQLite。是的。是的。所以,就像,任何能完成工作的工具,都是好工具。你会和这些……
经验丰富的木匠交谈,他们基本上使用过去20年来一直在使用的相同工具来完成工作。可能有一些新奇的工具,也许他们会尝试这些工具,但是要真正采用新工具并迁移到一个全新的堆栈以及随之而来的所有新学习,需要克服很高的障碍。所以你会说你一直相对专注,至少在你做前端开发时,专注于JavaScript、Python,然后是一些PHP?是的。
是的,是的,绝对是这些语言。我的意思是,我一直对学习其他语言感兴趣等等。但就我每天的工作而言,我绝对专注于这些。这些是我的看家本领。这些也是我向想要学习编程的人推荐的语言,因为它们在今天仍然非常流行。JavaScript和Python。是的。
太棒了。让我们谈谈你进入安全领域的旅程,因为我非常感兴趣。很多收听节目的听众可能已经在担任开发者,或者他们可能还没有弄清楚他们想如何专攻。安全是那些总是会有朝鲜黑客试图入侵你的事情之一。你需要做好准备,对吧?是的。
在本周播客节目中,freeCodeCamp 创始人 Quincy Larson 采访了 Tae'lur Alexis。她是一位开发者和安全分析师。Tae'lur 没有上大学,而是花了几年时间从事各种快餐和零售工作。她利用 freeCodeCamp 自学了 Python 和 JavaScript,在专注于安全工程之前,担任软件工程师 5 年。现在,她不再构建应用程序,而是破坏它们。我们讨论了:- 在佛罗里达州麦当劳维持生计 - 如何利用 freeCodeCamp 和 #100DaysOfCode 挑战自学编程 - 利用当地聚会结识开发者朋友 - 移居泰国并远程工作本播客由 Wix Studio 的资助支持。Wix Studio 为开发者提供工具,可以快速构建具有所有开箱即用功能的网站,然后使用代码扩展、替换和突破界限。了解更多信息,请访问 https://wixstudio.com。本播客还得到了 11,384 位通过每月捐款支持 freeCodeCamp 的好心人的支持。您可以加入这些友善的人们,并通过访问 donate.freecodecamp.org 来帮助我们慈善机构的使命。我们在谈话中讨论的链接:- Tae'lur 的网站和博客文章:https://taeluralexis.com - Tae'lur 关于在曼谷远程工作的 YouTube 频道:https://www.youtube.com/@TaelurAlexis - Tae'lur 的 Twitter:https://x.com/TaelurAlexis</context> <raw_text>0 嗯,好的。所以我如何进入安全领域,我开始通过类似 TryHackMe 来学习它。嗯,这实际上让我开始关注它,还有 TCM 安全。因为他们在 YouTube 上有很多课程,当然了。嗯,大约在那个时候。我想说我开始学习是在 2022 年,2022 年是我加入 TryHackMe 等平台的时候。而且,嗯,我,
不过,这是重点。这就是我告诉人们的,那就是,你不会一开始就学习安全。大多数情况下,如果你想在安全领域获得技术职位,你通常必须先学习 Linux。你必须学习操作系统和网络。而我并不深入了解这两点。我知道一些基本的终端命令,因为我是一名开发者,必须使用 Git 等工具。但我对 Linux 本身并不那么自信。所以我肯定学到了很多,比如,
我读过像《Linux 基础教程:黑客篇》这样的书。我还读过另一本关于 Linux 系统管理的书,学习如何设置 LAMP 栈,对于那些不知道的人来说,这是通常用于帮助部署 WordPress 应用程序的方法。它们使用用 PHP、MySQL 数据库构建的开发服务器,
Apache 网络服务器和 Linux。所以,这就是构成 LAMP 栈的组件。所以我确实在学习如何从头开始构建它,因为我想,好吧,我知道如何运行一个 Web,你知道,WordPress 应用程序。我甚至不太了解如何从头开始设置它,因为你知道你可以使用,比如……
当我还是一名开发者,并且正在构建 WordPress 网站时,WordPress 网站已经通过 DigitalOcean(一个云托管提供商)的一键式解决方案托管。所以他们提供了一种简单的方法来部署 WordPress 应用程序,而无需了解其背后的所有机制。
就是这样。但是当我学习安全时,了解这些东西是如何构建的确实很重要。所以,嗯,我在 TryHackMe 上。我在做那个。然后我了解了活动目录,我根本不知道那是什么。嗯,
对于那些不知道的人来说,这就是,你知道,它可以帮助你管理 Windows 环境等等,以及控制用户、创建策略和部署它们等等。所以我,你知道,我学习了如何构建和设置域控制器,以及在虚拟机中。肯定学习了很多虚拟化技术,因为无论何时你练习攻击或设置任何东西,你都在虚拟机中使用它,
它们与你的实际主机隔离。嗯,所以我,你知道,我学习了如何设置一个完整的域控制器,并连接到 Windows 主机等等,以及学习如何对它们进行攻击。嗯,
所以这只是关于学习如何构建一个东西,然后如何破坏它。这肯定是一个持续的循环。所以是的,我在使用 TryHackMe,但我总是告诉人们学习如何在虚拟机中自己构建东西。这就是你真正亲自动手实践的方式,也是你真正理解事物的方式。不要只做模块。
那不是我保留知识的方式。我是一个非常注重实践的人。嗯,所以是的,我一直在做很多这样的事情。我在学习课程。我在读书,我只是着迷了。好的,Quincy,就像我发誓一样,
我一直在听一个叫做《暗网日记》的播客。哦,很棒的播客。每个对安全感兴趣的人都应该听一听。我喜欢《暗网日记》。是的。这是一个非常非常好的播客,它回顾了不同黑客事件和事故的真实故事,或者只是涵盖安全领域人士的有趣故事和经历,比如 Jason Haddix 和其他人。所以
嗯,向 Jason Haddix 致敬。这真的很酷。嗯,是的,所以,而且我只是,这会让我保持动力,因为我一直对它很感兴趣。我开始了解像 Aaron Schwartz 这样的人。嗯,如果你不知道他是谁,他就像 Reddit 的联合创始人之一。而我实际上是一个 Reddit 迷,
因为我确实使用了大量的 Reddit 来构建我的安全路线图,老实说。所以当我好奇从开发者到安全人员应该学习什么时,有 10,000 人问了完全相同的问题。所以我了解了像 TryHackMe 和 PortSwigger 这样的资源,这是一个很棒的资源。它是免费的,在线的,并且总是更新不同的实验室来学习不同的 Web 漏洞。这很棒。
这就是我转向安全领域的方式。这就是我如何确定我的关注点的方式。所以,是的,我正在构建活动目录实验室等等,以及一般的实验室来学习不同的攻击。但是,我想我的专长是 Web 应用程序安全等等,因为我知道如何构建它。所以现在我很好奇,比如……
让应用程序以非预期的方式运行真的很有趣。这就是 OWASP 十大常见攻击的来源,因为有很多网站,而且很多网站都在运行过时的 PHP 版本等等。他们团队中没有安全工程师,因为他们是一家小型创业公司。当你的开发团队只有两三个人时,
你并不一定会有专门的安全人员。所以如果
如果我可以总结一下你刚才提供的一些建议。我喜欢学习如何构建东西。而且,我非常提倡学习如何构建东西。学习如何构建软件。然后学习如何破坏该软件并做一些控制这些服务器的人不希望你做的事情。因为这就是你发现……再次,朝鲜可能会说……他们入侵一切。
这占他们国民生产总值的一大部分,就像他们基本上,你知道,窃取人们的比特币等等,对吧?所以你必须考虑,好吧,哪些最复杂的国家行为者拥有这些团队,比如军事人员,他们花了所有这些时间?他们会攻击你的网站。你需要做好准备。这就是很多安全措施的本质。这基本上是……
你知道,拥有强大的防御能力来抵御这些类型的恶意行为者。对。并且有一些威胁行为者会针对某些行业。所以,假设你是一名在银行工作的开发者,并且你正在进入安全领域,并且你正在学习不同的策略、技术,他们称之为策略技术。而且,嗯,
我忘了其他的。我忘了它代表什么。但基本上,研究攻击者的行为等等。所以有一些 APT,代表高级持续性威胁。有一些专门攻击金融业等等的不同 APT 小组。所以假设你在红队,或者假设你在银行的安全团队等等,那么你将研究这些策略,并学习如何防御
你知道,这些潜在的威胁行为者。所以,是的。就我而言,就像我现在的工作一样,APT 并不是我们常见的威胁。更多的是像普通的,
脚本小子可能会尝试运行不同的 SQL 注入有效负载等等。所以你必须确保你的 Web 应用程序上的所有输入字段都有适当的验证等等,编码防御以防止不同的注入攻击等等。是的。
是的。
你有很大的机会进入应用程序安全领域。这就是为什么我专注于 OWASP 十大漏洞和 Web 漏洞等等,因为它已经建立在你已经知道的知识之上。你已经拥有了坚实的 Web 开发基础。现在你必须学习攻击者尝试利用你的应用程序的不同方法。所以你的工作将是帮助保护该应用程序免受这些攻击等等。所以我肯定推荐这个给人们。
太棒了。是的,对于任何收听这个节目的开发者来说,这都是非常切实可行的建议,Taylor 刚才说的关于
利用你已经拥有的专业知识,因为存在高级持续性威胁,对吧?有一些国家威胁行为者在那里对人们进行军事行动,对吧?就像 SolarWinds 攻击之类的事件,他们通过利用某些漏洞进入大量计算机,就像
一些被广泛部署的东西,对吧?就像 Windows 机器。你知道,所有勒索软件攻击等等。但是对于每一个,你知道,
持续性威胁,我认为这是你使用的缩写。是的,就像对于每一个这样的威胁,有很多所谓的脚本小子,他们并不一定了解很多安全知识。他们只是在使用某种工具。就像这些工具包,你知道,它叫什么?它被称为 exploit。我不记得名字了。是的。
是的,Metasploit。是的,就像有完整的安全包,你可以坐在那里……
你的 nacho 芝士 Dorito 覆盖的手指,喝着你,你可以进去,并且可以严重地搞砸别人的网站,是的,就像向他们扔一些这些工具一样,所以你做的一件事听起来就像加固防御,并覆盖最常见的攻击类型,这些攻击类型无处不在,并且几乎任何不想
让你的网站保持在线的人都可以利用它来让你下线。是的。是的。嗯,在我目前的职位上,嗯,是的。好的。实际上,我将开始谈论我在安全领域的第一个工作。因为我当时就是这样。是的。所以这很艰难。所以,如果你认为我进入 Web 开发的整个旅程很艰难,那么进入安全领域就更加艰难了,因为安全领域并非,我确实理解人们所说的安全领域并非入门级,嗯,
因为它确实建立在你拥有某种其他知识的基础上。例如,好吧,像 Web 开发一样,你学习编码,你在科技行业找到一份工作。就是这样。软件开发或系统管理或网络等领域都有入门级工作。安全领域通常建立在你刚才提到的任何一个领域的某种知识之上。所以……
对我来说,一个很大的障碍是缺乏经验。尽管我在软件开发方面拥有多年的经验,但招聘人员会说,是的,这很酷,但是你没有实际的网络安全经验,所以这真的很困难,而且在没有从事网络安全职位的情况下很难获得网络安全经验。现在,我确实要说,凭借我
对该行业的了解,获得经验的一种方法是通过漏洞赏金计划,如果你不知道这是什么,它基本上是指人们可以在 Facebook 和 Twitter 等应用程序上查找漏洞和缺陷,
或者其他面向公众的资产或网站。他们报告漏洞等等。他们可以获得奖励,比如金钱奖励。是的,我明白了。这很酷。是的,我认为,像 OpenAI 那样,它就像一个赏金猎人,就像引来了海盗猎人佐罗并得到了他们的,你知道的。是的。而且根据漏洞的严重程度,它可以支付不同的金额。我认为,在 OpenAI,他们提供的赏金高达 100,000 多美元。
对于严重的缺陷。所以我只是想,哇,真是一笔好钱,改变人生的钱。但是,是的。所以找到安全领域的工作真的很困难等等。当然,有一些入门级的渗透测试工作,这绝对是这个规则。我想要成为一名渗透测试人员,这意味着能够以合乎道德和法律的方式入侵 Web 应用程序系统、网络等等,能够,
破坏它并发现其中的缺陷。嗯,是的,像初级渗透测试人员职位,但是它非常,非常……
当然。因为有些人拥有计算机科学学位。他们不仅拥有计算机科学学位,而且从 10 岁起就开始编程。他们还发现了 CVE 和许多漏洞赏金。他们拥有非常非常完美的简历。所以 CVE 代表常见漏洞和披露。这是一个公开披露的漏洞。所以是的,这就是 CVE 的含义。人们已经知道的东西,基本上。但它就像……
人们只是没有修复它。实际上,对于发现该漏洞的组织、应用程序或任何负责该软件的人来说,他们并不知道它,直到你报告它。然后他们可以选择披露该漏洞。因此,它会被分配一个 CVE ID。所以现在它成为公开知识,并保存在公共数据库中。我相信是 NVD,即国家漏洞数据库。
好的,所以基本上,假设你运行某种 Web 服务器,并且有人在那里发现了一些漏洞。他们发现了一个漏洞。所以所有使用该 Web 服务器的人都应该知道,并且应该对其进行修补,并且应该推出更新。但是现在每个人都知道这个漏洞存在,你需要更新你的软件。
是的,是的。所以当你报告它时,他们确实会经历修复它的过程,或者他们选择如何处理该漏洞。然后它就成为公开知识的一部分。好吧,你需要更新或修补你的 Apache 系统,例如。假设你确实在那里发现了一个漏洞。
比如目录遍历或 Apache 网络服务器版本 1.x 中的任何类型的漏洞。现在你可以报告该漏洞,然后它就会公开披露等等。然后就像,好吧,就是这样,它被公开记录在案,让每个人都知道 Apache 系统,因为存在某个漏洞,它将是 CVE ID,我说的是,你知道,当你发现 CVE 或当它被接受为 CVE 时,你会得到分配的。
这将永远与 CVE ID 相关联。所以……
是的。好的,酷。谢谢。我以前不知道这是什么,现在我知道了。希望一些收听节目的听众也不知道这是什么。这在许多工具中都有使用,比如许多安全扫描程序。如果你听说过 SAS 或 DAS,它们基本上是可以针对代码或 Web 应用程序进行扫描的工具。它主要用于,尤其是在 SAS 工具或 SCA 中,用于扫描开源库和我们作为开发者使用的依赖项。是的。
就像,是的,这就是它的用途。就像,基本上,这些安全工具的工作方式是它会根据整个 CVE 数据库扫描你的代码。所以这就是……是的。是的。
是的。所以这就是它的工作方式。太棒了。所以很高兴知道这一点是公开披露的,然后它实际上被用来帮助人们识别,哦,你的代码中存在这些已知问题,但是你需要尽快修复它们。对所有人的公共服务公告,不要关闭计算机上的自动更新。我知道必须更新你的软件、更新你的手机很烦人,但是你应该始终将所有内容保持在最新版本,原因正是如此。他们不断发现并修补小的更新。
被发现并被修补,你不想运行一些旧的,你应该放弃不再受支持的软件。就像 FreeCodeCamp 一样,我们从使用 Ghost 迁移了。我们使用的是旧版本,当他们宣布不再支持它时,我们不得不迁移。我们不会试图,我们不会让自己处于完全开放的状态。所以这是一个令人信服的理由,只需保持,安全是一个非常重要的概念。
在你使用的软件中,以及是否有人积极维护它,以及你是否对这些 CVE 正在被修补抱有合理的期望。我不确定我是否使用了 CVE 这个术语,如果这是正确的表达方式。但是基本上,是的。所以我有很多问题。我们只剩下几分钟了,我只是不想开始向你提出这些问题。首先,你住在泰国曼谷。
这太棒了。我很高兴了解一下你如何到达那里以及你的决策过程。好的,当然。在我第一次访问泰国的时候,那是 2024 年 8 月。而且
我花了两个月的时间在东南亚背包旅行,因为这是我从 12 岁左右就一直有的愿望清单目标。所以我花了两个月的时间旅行,比如泰国、越南、印度尼西亚、马来西亚。曼谷是最吸引我的城市。那是我在亚洲访问的第一个城市。我想,是的,我想,我可以住在这里。当我骑摩托车背包旅行时,这是一个一闪而过的想法,因为这就是我们四处走动的方式,在这里骑摩托车。
所以,而且我想,是的,我可以住在这里。就像,我真的,我觉得这里很舒服。所以,嗯,
我知道那是我想居住的地方,当我得到我目前担任的这个职位时,那是 10 月份,当时我面试这份工作时,我在越南,所以我实际上在面试中告诉了他,因为他问,哦,他问,哦,那里很黑,我说,是的,现在是晚上 11 点,我在越南,他说,哦,他说,好的,所以,嗯,世界是远程的等等,嗯
在我得到这份工作后,我开始研究搬迁事宜。你知道,我问过我的老板。我说,你对人们搬迁怎么看?比如,搬到另一个国家等等。或者从另一个国家远程工作。我不知道我想在曼谷待多久,但我只知道我想在那里待一段时间。他说,是的,我不在乎。他说,我住在船上。我说,等等,什么?而且,像……
他实际上,我的老板是首席信息安全官,他真的住在船上,在加勒比海航行。所以,我想他只是对人们更开放,因为他自己的情况等等。所以我心想,好吧,只要我能处理时区差异,那就是问题所在。所以,比如,我存了一些钱。我基本上存了三个月,而且……
我研究了签证,这里的不同签证选择。所以我最近获得了数字游牧签证或 DTV,它基本上允许我在泰国居住长达五年。嗯,是的,并且可以在泰国远程工作,所以我可以合法地在泰国远程工作。只是不能为泰国雇主工作。但我可以为海外雇主工作,这对我来说非常有效。所以,嗯,我刚刚获得了批准。嗯,
是的,这就是我在这里生活等等的方式。我在佛罗里达州的时候就找到了我的公寓。嗯,我在 Facebook 上找到了公寓,嗯,
在 Facebook 群组之一中等等。我得到了虚拟参观等等,我的租赁代理人真的,他帮助我找到了这个地方。所以,是的,我今年 1 月 11 日搬到这里。我已经在这里住了三个月了。是的。太棒了。我想更深入地了解一下。首先,每个人都应该查看 Taylor 的 YouTube 频道,她在那里制作简短的视频文章、教程类型,介绍她搬到那里的经历,以及
移民考虑、生活方式、安全等方面的内容。但是是什么激励你住在国外?我的意思是,你可能在美国过得很舒服。然而你却在寻找完全不同的文化,截然不同的时区。是的,这是一个很好的问题。我一直对沉浸在其他文化中很感兴趣。我一直想。我尝试,比如,
我想也许从五六岁起,一位家庭朋友给了我一本世界百科全书。我记得我从头到尾读了这本书,直到书页都掉了。所以像小时候一样,我了解了不同的国家,我只是总是很着迷。然后当我长大后,我会上 YouTube,我会看到这些旅行视频博主,比如制作这些视频,比如在曼谷尝试不同的食品市场等等。而且,或者人们学习,你知道,
不同的语言,比如中文或法语等等,并且能够用这种语言与当地人交谈,并且看到他们是如何建立联系的。因为,你知道,这个人来自完全不同的文化。另一个人来自完全不同的文化。他们可能无法用这种语言进行深入的交谈,但是她为了学习他们的语言所付出的努力,对他们来说意义重大。我喜欢这一点。
老实说,而且泰国的人们非常友善,就像佛教一样,我总是说,佛教真的渗透到整个文化中,这就是你知道的,以及他们如何对待你等等,他们多么尊重,善良,你知道,整个氛围中的善良和礼貌,所以我总是非常被吸引,而且我想,是的,我也是那种
我可以转动地球仪,然后说,好吧,我将住在这里。比如,我会看看住一个月是什么感觉。我只是,在合理的范围内,我一直对这一点持开放态度,当然了。是的。所以这甚至没有吓到我。我只是想,让我们去做吧。是的。是的。
如果有人想像你一样计划搬到海外,那么在他们应该存多少钱、应该提前多久开始计划这样的搬迁方面,一个清单会是什么样的?假设——让我们假设他们和你一样,没有孩子,也不需要照顾年迈的亲戚等等。
对。我会肯定地。我所做的,我存了钱,好吧,首先,我计算了我认为我每月的平均生活成本。我确定这一点的方式是 1 美元。
我查看了我的消费习惯。我会在哪些方面花费更多?我会在哪些方面花费更少?然后我还研究了泰国,特别是曼谷,这里平均单间公寓或一居室公寓的成本。所以我记住了这一点。然后我还做了很多研究。我观看了很多 YouTube 视频,这些视频中的人也分享了他们的生活成本。这就是为什么我也在我的 YouTube 频道上分享我的生活成本。我从这种透明度中学到了很多东西。所以我做了这件事,乘以 12。
因为这里的生活成本与美国相比并不算贵。所以我现在的生活成本大约是每月 1200 美元到 1300 美元。这包括我的房租。
<raw_text>0 所以我乘以12,确保在搬到这里之前,我的储蓄账户里有足够的钱。但通常人们会说,你知道,至少存够六个月的钱。如果你存够至少六个月的钱,你比其他数字游民领先很多,因为我在这里遇到过一些人,他们搬到这里什么都没有。我就想,没有工作,没有存款,你在做什么?对。
我绝对不会带着下一张支票就搬家。一定要存够至少几个月,因为你想拥有,你知道,你的,你知道,整个计划。然后还要研究签证。这是下一步。一旦你存够了钱,就开始研究签证选择。在这里,一定要考虑数字游民签证。
你甚至不必是远程工作者才能获得资格。如果你想报名参加泰国的烹饪课,他们会赞助你。泰拳课等等,这是获得 DTV 的另一种方式。泰拳是泰国拳击……
是的,那种,非常酷,在这里看比赛非常有趣,但是,嗯,所以,就像,看看签证选择,看看什么适合你。我想说,即使是日本也有类似的数字游民签证。我认为它有点不同,因为你不能延长签证,或者你可以停留的时间,与泰国相比,但是,有一些区别,但是,是的。嗯,
所以,就像,查一下签证情况等等。然后还要了解一下,尝试了解一下文化和习俗,以及,就像,你知道,人们在这里的行为方式等等。这样你就可以尊重其他文化等等。是的。是的。
然后你就从那里开始,说实话。一定要看看其他做过整个搬迁传统等等的 YouTubers。但是要尽量筛选掉那些只是试图向你推销东西或试图混淆视听的人。是的。你看起来像是那种下定决心的人,就像,我要做这件事,然后你就会想办法去做。如果你心中有一个目标,假设你的目标是
目标是什么?你现在有什么目标吗?我实际上正在申请我的 OACP。所以那是……是的,是的,我明白了。OACP。是的,OACP。学徒安全认证专业人士。
这是一个动手考试,你基本上必须入侵六台不同的机器,包括一个活动目录网络和三台独立机器,这些机器可以是 Linux 或 Windows 机器,并且能够获得这些系统的 root 权限,这意味着能够将你的权限从普通标准用户提升到管理员权限。
在那台机器上。因为基本上,当你成为管理员,就像,用户,就像,在一台机器上,这意味着你已经,就像,控制了这台机器。这意味着你已经得到了它。你已经完全攻破了它。但是,是的,所以……所以我为此所做的是……
我设定这个目标的方法是,我每天都会为此留出时间。至少每天一小时到一天的时间来做这件事。然后我还经常在日记里写下我的目标,我甚至没有意识到我在这样做。但我确实每天都在写。我想人们称之为……
显化,但我并不喜欢,我只是,这就是我所做的。我甚至没有那样想过,但我想是的。所以是的,我只是,我让自己保持这种心态。我还订阅了,也喜欢围绕着它的一切。所以我将订阅不同的 Reddit 提要,或者阅读不同的博客文章或任何关于它的内容,以让我保持参与其中。
所以,是的,这就是我的做法。我只是……我全身心地投入其中。这就是我如何进入一个目标并执行它。就像……这和我搬到泰国的方法一样。我全身心地投入其中,确保我做了所有关于它的研究,然后在我前进的过程中执行。问题是,就像,你……
有些事情准备得过于充分了。在某些时候,你必须尝试并克服恐惧,不要害怕犯错,因为这会发生,或者不要害怕在尝试实现目标时失败,因为我确实失败过很多次。例如,我第一次 OACP 考试失败了,所以我现在正在第二次尝试。所以这就是我的整个过程。这绝对是我的整个学习过程。是的,所以总结一下……
全身心地投入,收听播客,阅读 Reddit 线程,只是试图获取所有不同的元知识,即其他人在携带的隐性知识,试图吸收这些知识。然后不要过度准备,但在某些时候要努力去做。如果你失败了,那就再试一次。是的,绝对的。是的。
是的。因为我认为很多人在准备阶段就会瘫痪。是的。你非常谦虚,但你取得的成就非常显著。我认为这令人难以置信。你还很年轻,只是为了做出如此一系列戏剧性的职业转变,从在沃尔玛和波士顿市场工作到成为软件工程师,再到被解雇并想出如何……
进行自由职业,然后只是决定,嘿,我想进一步增强我的技能,我想转向安全领域,现在正在追求这个大型正式认证。你很谦虚,但你是如何在开玩笑和自嘲之间取得平衡,并让人们认真对待你呢?那是……
哇,这是一个非常有力的问题,实际上。这绝对是我内心一直在斗争的事情,因为绝对会让你暴露在……通过变得脆弱,尤其是在公众面前,会让你容易受到批评,人们会质疑你的智力和你在行业中的地位。所以我很久以来一直在犹豫是否要如此公开地谈论它,但我意识到……
这实际上取决于你对自己的感觉。这才是最重要的。我讨厌那样。我希望这听起来不太陈词滥调。嗯,因为,这花了我很长时间才能真正感觉到自己有能力。因为,我喜欢那样。所以这种自嘲源于我实际上相信自己不够聪明,或者其他什么,但就像,我必须,我必须真正努力地,呃,
消除消极的自我对话等等,并提醒自己我有能力。我试图保持低调,并专注于工作。我甚至不去想所有的成功或成就。例如,我总是想着下一件事
以及我想实现的目标等等。这就是让我继续前进的东西。但是,当你确实能够仅仅通过存在和做自己来激励他人时,这确实会有所帮助。是的,这绝对是一个微妙的平衡。我不知道。我只是有幽默感。太酷了。保持专注。不要想成就。不要想批评。你刚才说的一件事让我感触很深,那就是很多人自嘲。
自嘲,他们开玩笑说自己的缺点,因为事实上他们有点不安全。当你周围都是那些编码多年并且拥有计算机科学学位的人时,很难不感到不安全。而你只是试图学习并赶上他们。是的,这与我有共鸣。我认为这可能会引起很多人的共鸣。泰勒,
你对我来说是一个很大的灵感。我知道对,你知道,广大的开发者社区来说,我真的很感激你抽出时间与我们交谈。那边已经很晚了。我不想让你熬夜太晚。我只是想再次感谢你所做的一切。
谢谢。不,真的,谢谢你创建的平台。我确实推荐你的 YouTube 频道。这是一个宝贵的资源宝库。我至今仍在使用它。因为你在频道上涵盖的所有不同主题,你带来的所有不同的人以及所有教的东西,以及你让它对每个人免费且易于访问的事实。我认为……
你没有意识到你对像我这样的人产生了多大的影响。因为我认为我今天甚至不会在科技行业工作,因为我负担不起重返学校或参加训练营的费用。而你所做的只是提供高质量的资源,这对于像我这样自学成才的人来说意义重大。所以谢谢你。所以当你联系我的时候,我就像,哦,我的上帝。这是一个完整的循环,真的。是的。
是的。你绝对让我的一天变得美好。谢谢。感谢你的好意。嗯,再说一次,说真的,呃,所有收听节目的听众,请查看泰勒的 YouTube 频道。如果你想在泰国居住在国外,她有很多详细的建议,呃,非常切实可行,呃,非常
祝你第二次尝试 LFPP 好运。谢谢。谢谢你,昆西。是的,祝你好运,在居住在这个新的文化的同时平衡睡眠、工作和学习。但是是的,继续努力,完成事情,并激励我们所有人。谢谢。各位,下周再见,编程愉快。