感谢您抽出时间阅读这篇文章。不管你来自哪里(CodeGiant、Hacker News、Reddit或其他地方),我总是感谢每一位关注我文章的读者。
既然我已经哄你读了这篇文章,那我们就开门见山吧。
无论何时你刚刚开始软件开发,或者只是想提升你的编程技能,你都需要合适的信息资源来实现你的目标。
在这篇文章中,我列出了22个最好的YouTube频道来提高你的编程技能。有些是针对初学者的,而另一些则专注于高级主题。
因此,如果你认为自己是一名经验丰富的程序员,你可以跳到最后一节,在那里你可以找到所有22个YouTube频道。
但是,如果您是初级开发人员,我建议您通读本文的每一节,因为我们将一般性地讨论编码、编程技能、计算机编程简历、工作机会和一些最受欢迎的编程语言。
编码是为创建有形结果而触发的一组特定操作的最终结果,无论是网页、应用程序、视频,还是屏幕上的图像。
计算机编码(或编程)的伟大之处在于,您可以有一个伟大的想法,并将其实际编码成现实。除了你方的一些时间和努力外,它的成本并不高。
许多非技术人员认为计算机程序员的定义是只做程序的人。虽然这部分是正确的,部分不是,但这是一个错误。经理们相信程序员一个月能写的代码行越多,他的创造力就越强--这又是一个错误。你不能把一个开发人员放在一个小隔间里,设定一个截止日期,让他连续工作8-9个小时,然后期望最后能有一流的质量软件。
与其考虑开发人员编写的程序,不如考虑开发程序可能引发的计算。“设计一组计算”是对程序员实际工作的更准确的描述。
人们还可以把程序员想象成必须仔细思考和写作的作家,因为读者(计算机)从字面上理解程序员所写的东西。
许多非技术人员认为编程完全是为了获得技术技能。我认为,作为一名开发人员需要的不仅仅是知道如何编码。要在软件开发领域取得成功,您需要挖掘一些创造力,并将其注入到您的编码技能中。分析性思考的能力在开发人员中也受到高度重视。
开发人员可以拥有的最基本的技能之一实际上不是技术技能,而是社交技能,这就是同理心。缺乏同理心不可避免地会导致沟通不畅(除非你是一个自恋者、反社会者或精神病患者,因此可能魅力如地狱)。另一方面,能够将同理心付诸实践,无疑会增加你的职业机会。
当涉及到规划软件时,开发人员应该知道如何使用模型和流程图来清楚地传达指令。
设计和创建应用程序。根据项目的不同,这可能需要几周到几个月,有时甚至几年才能完成。
更新和扩展现有程序。大多数情况下,您需要修改和更新具有额外功能的现有程序。
简化编程。开发人员还可以使用软件工具将其开发过程的一部分自动化,以简化和加快工作流程。
展示和练习您的编程技能似乎是提高编程和编码能力的主要因素。你必须在业余时间编程;你必须痴迷于此。让自己充满耐心,因为成为一名熟练的程序员需要数年时间。任何人告诉你,你可以在一个月内学会并变得擅长编程,这可能是在试图向你兜售一些东西。
高级开发人员都采用了共同的特点和基本的编码技能,这有助于他们在编程职业生涯中晋升。以下是您成为高级开发人员所需的一些有价值的技能:
在学习的同时专注于一门语言。如果你的注意力分散在两种或三种语言之间,会让你不知所措。
当程序员没有很好地理解他正在使用的编程语言时,这一点就会变得很明显。他将尝试通过遵循其他语言的逻辑来解决问题,从而在代码中散布不必要的语句,否则这些语句可以减少到更少的行。
此外,您还必须知道如何将代码组织到有意义的系统中。创建严格的类、模式和层次结构要求您首先仔细考虑它们。设计可以是一个宽泛的话题,所以我不会涉及太多,但是如果你想阅读更多,请到这里来。
设计不佳的软件缺乏明确的概念,其职责也很模糊。另一方面,好的软件有明确的概念和责任。看看数学家和物理学家。他们花费大量的时间试图给某事下一个明确的定义,因为这会让他们了解事情的真相。开发人员应该采取类似的方法,在编写代码之前花大量时间集思广益。是的,这对敏捷来说可能会有争议,但你必须做你必须做的事情。
最好先与开发团队坐下来,概述所有必需的任务,而不是稍后再进行10轮代码审查。
也许学习设计的最好方法是编写和研究许多由有经验的程序员编写的程序。随着您获得更多的编码经验,毫无疑问,您将增强您的设计技能并扩展您的知识。
大多数人认为,你需要哈佛或大学的文凭才能考虑进入大型科技公司工作。虽然这在一定程度上可能是正确的(尽管并不总是如此,但苹果和谷歌似乎不再要求你拥有大学学位),但一些公司更喜欢相反的情况,或者至少不希望你来哈佛、牛津、斯坦福等大学学习。
有些CEO正在寻找合格但又不太合格的…开发人员。勤奋的员工,准时,但也会在5点钟声敲响的时候离开。这样的CEO认为常春藤盟校是一个危险信号。大简历也是一个危险信号。这是因为来自这些学校的开发人员不能放下架子,质疑是否每一个决定都是最优的,并且总是渴望得到赞扬、认可和“有趣的工作”。
相反,这些首席执行官正在寻找忠诚的人,他们知道如何毫不犹豫地接受订单,并准备好日复一日地工作,因为他们需要月底的工资。
乍一看,这似乎颇具争议性。然而,也有一些开发商不想在30岁时成为百万富翁的首席技术官(CTO)。相反,他们对自己拥有的东西感到满意:一份稳定的工作,公平的薪酬,仅此而已。一些拥有这种文化的公司表示,他们的员工保留率达到了100%,这意味着开发人员对他们的工作环境很满意。
从表面上看,精通编程语言是必须包括的一项重要内容。永远记住,公司每个月都会收到几十份、数百份、甚至数千份申请。所有这些都写着“我可以做X。”问题是,每个申请者的技能水平各不相同。你应该描述你的编码经验,并给出你已经完成的成功项目的例子。
在列出你最有价值的编程技能时,你需要知道几件事,才能拥有一份完全优化的编程简历。
在投递简历之前,一定要把工作描述看几遍,试着了解什么与你申请的工作相关。然后让自己与这份工作相关。
永远对自己诚实。不要列出你不懂的编程语言,因为它们在工作描述中提到了。当你只有4年零1个月的时间时,不要告诉他们你有5年的工作经验。
首先列出您最高级的编码技能,然后在中间列出您最不熟悉的编程技能,最后列出您有不错经验的编程技能。
创建水平类别,而不是垂直类别。这消除了简历上的空白,同时保持了美观。
在你的简历中,除了谈到你能带来什么之外,你还可以提到你想从雇主那里得到什么。如果你得到这份工作,你会因此赢得你想要的尊重。
此外,避免使用其他所有人都在使用的短语。不要害怕给你的简历注入一些个性。这样你就会脱颖而出。不是每个人都会喜欢你的个性,但是那些喜欢你的人会崇拜你。你的写作要尽量具体。不是“丰富的经验”,而是“5年零6个月的经验”。与其说“Y个成功的项目”,不如说“帮助我们实现A、B和C的Y个成功的项目”。你去拿钻头。
然而,通常情况下,经验丰富的开发人员会拥有如此丰富的经验和项目,以至于如果他列出所有内容,他的简历就会长达10页。试着找出与你申请的工作最相关的是什么,并列出那些会让你最相关的技能和项目。
为你申请的每一份工作重写你的简历是个好主意,尽管很费力也很累人。这样,你就可以对一些细节进行微调,使之在雇佣你的人眼中看起来非常合适。永远不要发送普通的简历;你不会脱颖而出;你会看起来像“名单上的下一个无聊的应聘者”,你被录用的机会会大大降低。
在申请在线编码工作时,您也可以尝试一种不同的方法。一些开发人员发送他们的“正常”简历(列出计算机编程技能、教育程度、经验等)。另外还有一份“个人”简历,用算法和技术的图片解释他们之前在主旨幻灯片上的工作。如果你的简历是在一批500份枯燥的简历之后出现的,这也会唤醒读者。
记住,你必须几乎立即引起读者的注意。如今,普通人的注意力持续时间约为8秒。考虑到你的简历将被整天阅读简历的人阅读,我想他们的注意力持续时间可能会更短,大约在5秒左右。
至少有两种语言的扎实基础将使你的工作机会增加2倍。大多数开发人员选择他们真正感兴趣的编程领域,然后专注于学习引领该领域的语言。
根据Indeed.com从2014年到2019年的招聘信息,需求最大的编程语言是SQL(出现在所有科技招聘信息中的22%)和Java(21%)。然而,SQL的主导地位近年来正在消退。
如果您对移动开发感兴趣,尤其是Android,那么您应该学习Java而不是任何其他语言。目前有超过23亿台移动设备采用Android系统。自90年代中期成立以来,Java一直位居榜首。
Python(18%)位居第三,被认为将继续增长,主要占据数据科学岗位。
令人惊讶的是,巨蟒在5年(2014-2019年)的时间里从第15位成长到了第3位。Python和C#被认为是最有利可图的编程语言之一。如果您对人工智能、机器学习或数据科学感兴趣,Python是您应该学习的语言。
使用Python,您将能够找到各种各样的编程工作。此外,根据StackOverflow的说法,Python已经成为最受欢迎和最有用的编程语言。JavaScript作为最有用的编程语言排在第二位。有人猜测,Python可能会在某一时刻成为最受欢迎的编程语言。
如果您不确定从哪里开始编码,可以学习JavaScript,因为它是Web的标准计算机编程语言。有些人认为它是“最值得学习的编程语言”,因为它可以帮助你快速进入计算机编程。它在很多情况下都有使用。
JavaScript通过添加动态样式、有趣的按钮、动画和其他交互内容,使网站具有交互性和吸引力。
今天,网络提供了超过15亿个网站,其中大约95%使用了JavaScript,这使得它的范围很大;当你了解JavaScript的时候,你就不需要担心就业机会了。
您还可以使用C#构建桌面应用程序和游戏。该语言也适用于Web和移动应用程序。
最流行和免费的手机游戏中有34%是由用C#编码的开发者制作的。这种语言被用来赋予本世纪一些最著名的手机游戏以生命:“神庙奔跑三部曲”和“刺客信条”。
C#也非常用户友好。错误很容易识别,因为框架在部署代码之前会对其进行检查。然而,与Python相比,C#需要更多的时间和实践来学习。
顺便说一句:你不一定要有计算机科学学位、软件开发人员证书或任何其他计算机编程资格才能进入编程。你需要的是耐心和忙碌。你可以成为一名自学成才的程序员,但仍然可以进入FAANG(Facebook,亚马逊,苹果,Netflix,谷歌),并获得高薪。学习如何编写代码是您今天能学到的最好的技能之一。这是值得的。
不管您选择哪种编程语言,编码都是一份不错的职业(除非您决定学习Brainfuck--最难学的编程语言)。
程序员的年薪从8万美元到50万美元不等,甚至更多,具体取决于他们的职称和所在的公司。
编程很难,这就是为什么你需要对它产生好奇的兴趣,这样你就不会把它视为工作,而是娱乐。如果你不打算花四年时间获得计算机科学学位,你可以报名参加在线计算机程序员课程或参加训练营。
YouTube是很好的介绍内容和原因的网站,但是文本是最好的介绍内容的网站。记住这一点。
YouTube的一些频道可能有点过时了。尽管如此,您将找到的建议将帮助您进入编程,如果您刚刚开始,将帮助您获得第一份初学者编程工作;如果您是一名经验丰富的专业人员,则可以帮助您显著提升您的游戏水平。下面列出的所有渠道都将帮助您推进计算机编程教育。
这个频道提供的教程数量非常多(就像一本从A到Z的节目指南)。许多经营类似节目频道的YouTubers说,Traversy Media的所有者在某种程度上影响了他们,让他们开设了自己的频道(其中一位YouTubers是DevEd)。在Traversy Media上,您可以找到有关角度、反应和Python等主题的有价值的资源。内容的质量是无可挑剔的。它无疑会帮助你拓宽你的编程知识,提高你的计算机编程技能。
如果你是一个数学爱好者,3Blue1Brown是你的频道。它涵盖了线性代数、神经网络、微积分、拓扑学等主题。频道所有者格兰特·桑德森(Grant Sanderson)于2015年毕业于斯坦福大学(Stanford University),获得数学学士学位。当新冠肺炎疫情导致封锁发生时,他发布了一份名为“封锁数学”的数学教程播放列表,帮助学生在家学习。截至撰写本文之日(2020年9月10日),Grant拥有307万订户。“我们的目标是在动画的推动下进行解释,并通过改变视角使难题变得简单。”
Primeagen对Vim来说很棒。它主要教授表层的东西。如果您开始使用Vim作为编辑器,这将是一个了解更多信息的好地方。其他人是这样评价ThePrimeagen频道的:“YouTube的算法从来没有让我失望过,我现在要把它当做上帝来崇拜,这个频道改变了我的生活。”
高拉夫·森(Gaurav Sen)专注于系统设计组件的可消化部分。这个家伙教授系统设计基础知识,如垂直和水平缩放以及其他与系统相关的主题。以下是他的订阅者对他的评价:“天哪,你就是我要找的系统设计大师。”
说到生锈,Jon Gjengset是你的最佳人选。他是各种Rust项目的开源贡献者。他还录制了数以吨计的Rust现场编码流,为开源做出了贡献,并解释了他自己的项目,所有这些都是在教你Rust的同时进行的。
两分钟论文是AI开放项目的好渠道。顾名思义,你还可以找到2分钟的科学论文视频。许多科学论文都围绕着图形和神经网络展开。如果你对机器学习、3D打印和人工智能感兴趣,那就去看看吧。
{他没有YouTube频道,但只需在搜索栏中键入他的名字就足以访问他的演讲}。
说到Python的强大之处,Raymond是向您解释的最佳人选之一。有些人是这样评价他的:“我是一个简单的人。我看到雷蒙德·赫廷格,我点赞,打球,扑救。“。他教授诸如分块和别名、独立构建类、图遍历、库等内容。
这个频道主要面向初级程序员。在这里,您将找到一般的计算机编程概念,因此您几乎可以立即开始编码。John Sonmez是Simple Programmer的所有者,他在那里不仅仅是教您编程基础知识;他还会谈论生活,并给出极好的建议。
该频道专注于为初学者编写代码。您将了解如何创建像Snake这样的简单游戏。其他视频包括机器学习、模拟、JavaScript等。虽然他的教学风格很独特,但并不是每个人都觉得有吸引力。如果您喜欢看有经验的开发人员在过程中犯错误并快速解决问题,那么您可能会发现这个频道很有趣。
它非常适合JavaScript框架、CSS和Web开发。它有大量的教程来帮助你入门。该频道还提供了30小时的深入课程,主题包括JavaScript、ANGLING、VUE、Node.js等。
这家伙报道了所有与计算机编程有关的事情。你会发现成百上千的教程可以帮助你走出旅途。德里克还创建了广受欢迎的“30分钟内学会JavaScript”播放列表。它由短视频组成,其中包含尽可能多的信息,这样你就可以快速地开始工作了。
Mark是三一大学的一名博士和计算机科学教授,他提供了各种关于Scala框架的视频(Scala被认为是最值得学习的付费编程语言之一)。该频道还为初学者和中级用户提供了大量关于普通计算机科学、函数式编程等方面的视频。有了Mark,您将能够极大地扩展您的编程知识并提高您的编码技能。
“我当时正在一台55英寸的电视上看这段视频,我父亲正好在3:35进场。我还在向他解释,埃德是一名程序员,这是一个正常的YouTube频道。“。这家伙有一种独特的个性,当你看他的视频时会让你着迷。他讨论了web dev、web设计、3D建模、像Figma这样的工具,以及其他令人兴奋的东西。他的内容主要集中在为初学者编写代码。
网忍者的视频是一些最好的编程视频。您可以找到关于JavaScript(高级编程的初学者)、Node.js、Reaction、Vue.js、Firebase、MongoDB、HTML和CSS等主题的视频。管理频道的人是个技术娴熟的开发人员。
.