当前位置: 首页 > 科技观察

没办法没办法?真的有人认为程序员很容易吗!如何对抗编码焦虑?

时间:2023-03-17 21:46:07 科技观察

本文转载自公众号《核心阅读》(ID:AI_Discovery)。你认为编程是一项压力很大的工作吗?很多人不这么认为。在一些人眼里,程序员只需要坐在电脑前打字就可以了。与医学、银行或会计行业相比,编程并不面临生死存亡。问题,也没有太大的责任。但事实证明编码焦虑是真实存在的。我发现许多学生在工作一个多小时后难以集中注意力,因为在科技行业找工作的压力让他们筋疲力尽。可能有些有才华的人真的把敲代码当成玩游戏了,但这种看法其实更多的是外行人不知道是什么东西。必要时,您确实需要学习一些技巧来对抗编码焦虑。为什么编程学习者压力如此之大?首先,我们需要仔细研究技术学习者压力的主要原因。我将程序员焦虑的原因归纳为三点:(1)冒名顶替综合症。程序员的平均年薪相当高(根据Payscale调查,平均年薪为8.6万美元),很多开发者觉得自己的能力与薪水不匹配。在团队中工作也可能会有压力,而且您总是会接触到更聪明、更精通技术、有远见和注重细节的同事。以上所有这些都给软件开发人员带来了贬低自己并担心被视为盗版的压力。(2)不是“真正的程序员”。如果你长期对技术感兴趣,你一定对“真正的程序员”原型不陌生。你经常可以在Facebook群组、Reddit或StackOverflow中找到这些程序员,他们在讲述他们是多么努力工作,他们几乎不在乎周末或业余时间。来源:unsplash外界普遍认为程序员就像工作机器,以至于初学程序员开始怀疑自己:“我不能连续8小时编码,也许软件开发这个职业不适合我?”根据斯坦福大学的一项研究,过度工作只会适得其反,每周工作40小时的员工的工作效率是每周工作60小时的员工的三倍。(3)进入行业太晚。虽然在我看来,只要渴望学习和吸收新技术,编程就没有年龄限制,但我的一些学生并不这么认为。任何听到14岁天才AI工程师故事的人都会感到害怕和震惊。30岁左右的编程学习者在感受到年轻编程天才的威胁后,开始低估自己的能力,不敢要求更高的薪水。如果你也在为这些问题而苦恼,不要让自己陷入这些情绪中,你要积极面对编码焦虑,提高学习效率。学习编码的4种简单方法如何让学习编码变得有趣并不断学习?我怎样才能避免因嫉妒同龄人的成功和失败而气馁?以下是根据我的经验得出的一些见解。1.选择一门主要的编程语言是精通一门编程语言更好,还是成为众多中级程序员中的一员更好,这是软件开发中的一个普遍争论。我个人不介意使用多种语言,但我认为每个程序员都应该精通一种技术。想想我们说的语言,有很多人会说两种、三种甚至五种语言。然而,大多数人只精通一种(最多两种)语言,就是你思考和与朋友聊天的语言。编程和语言在这方面是相似的,你可以学习多种语言,但确保你作为程序员只用一种语言“思考”。作为学编程的学生,初级阶段应该学习哪门语言?考虑到学习资源的数量、就业市场以及技术的多样性,我建议编程的同学从Java开始。Java的工作机会是遥不可及的。根据全球最大的求职网站Indeed的说法,Java、Python和Javascript是首选的编程语言,职位空缺很多。Java教学资源丰富。初学者常常因为找不到可信赖的学习资源而无所适从。为确保他们学习的编程语言符合最高行业标准,查看顶尖大学和学习实践会很有帮助。如果你想学习学术材料,那么学习Java是不二之选,因为该国前10名计算机科学专业的许多人都选择Java作为入门课程的语言(Python的数量较少,有13个程序可用)。Java开发人员的薪水很高。确保与所学编程语言相关的工作报酬丰厚至关重要,而薪水与压力直接挂钩。根据PayScale调查,Java是计算机科学中收入最高的研究领域之一,Java开发人员的平均年收入为74,000美元。2.规划你自己的教育刚接触编程的程序员通常在没有努力学习其基本概念的情况下开始学习编程语言。他们如此依赖他们在网上学到的一切,以至于他们找到了它,但它很糟糕。大多数初学者过早地开始使用高级概念,并很快因语言的复杂性和缺乏进步而感到沮丧。如果您想在尽可能短的时间内成为一名成功的程序员,那么规划您的学习曲线至关重要。那么如何打造一门真正能坚持下去的高效课程呢?来源:unsplash首先按照复杂程度递增的顺序写下你想学习的语言的概念。Java列表如下:Java基本语法主要面向对象概念集合类和数据结构数据库并发和多线程JVM和内存管理Java生态级别将这些概念分解成更小的模块并使其成为日常学习主题。以Java为例,下面是Java语法概念的分解:可变数据类型If-else计算器循环延续语句和中断语句由于本文不关注Java,这里就不列出完整的课程了。学习路线图可自行查看。为每个模块设置明确的截止日期,以便您对完成部分课程需要多长时间有一个现实的想法。不要低估-编程语言概念比您想象的要复杂。最好设定一个上限,不要连续数小时进行压力锻炼。3.收集正确的资源。对于编程学生来说,必须应用在实际学习中获得的知识是崩溃的主要来源。Freecodecamp论坛用户完美地总结了这种焦虑:“每次我编程时,我都担心有一天我会被其他专业程序员面试。”来源:unsplashtrait,那么罪魁祸首可能就是你学到的资源。虽然书籍和视频课程对于学习语言的本质很重要,但练习也同样重要,甚至更重要。在与初级Java开发人员交谈时,我通常会推荐以下资源堆栈:书籍和教程占总资源的20%,主要用于参考。据统计,大多数程序员不读书。我能理解为什么,大多数书都是无聊和过时的,书中所说的内容不会在脑海中停留太久。但是,如果我被困在一个项目上,我很想知道在尝试找到问题的解决方案时可以参考哪些书籍、文档资源和教程。在我看来,你不需要一本书接着一本书地看,但是读几本书会给你一个坚实的语言理论框架。以下是我最喜欢的Java书籍和参考资料:书籍:HeadFirstJava-对于初学者,快速概述如何使用该语言及其基本结构。EffectiveJava-为希望充分利用该语言工具集的有经验的程序员编写。JavaPuzzlers-Java的缺点和挑战的真实指南。教程:JavaCodeGeeks-一个结构良好的Java相关文章列表,可以在开发新项目时方便地作为参考。JavaOracle教程-是大多数程序员的参考资源。ProgrammingCreek-一个直观且可访问的Java教程数据库,绝对值得添加到您的收藏夹列表中。在线课程(深入理解语言,理论与实践相结合)占总资源的30%。与书籍不同,视频更具动手性和吸引力。讲师经常以案例研究为特色,分享现实世界的语言应用。此外,还有一些学习平台可以让学生与讲师互动,支持学生提问。虽然在线视频课程没有太多练习空间,但它们绝对是为您在书中阅读的概念建立背景的可靠方式。以下是我最喜欢的Java课程:Coursera的JavaPluralsightJavaFundamentals中的面向对象编程Udemy的JavaProgrammingForCompleteBeginnersPractice-BasedPlatform-占总资源的50%。编码就是熟能生巧,这就是为什么解决现实生活中的问题与从书本和在线课程中学习语法一样重要。我强烈建议您花时间研究可以帮助您更好地掌握所选编程语言的练习游戏和平台。以下是我最喜欢的Java平台:Codegym-一个强大的实践平台,可帮助您成为熟练的Java程序员。有1200多个练习任务与简短的讲座相结合,可帮助您复习每个问题背后的理论。Codegym涵盖了该语言的所有方面,从Java核心、集合、多线程、服务和JSP,甚至数据库处理和SQL。HackerRank-一个易于使用、结构良好的平台,带有Java练习题。这个平台可以用来通过完成小挑战与他人战斗。不同复杂程度的任务可以帮助初学者学习和提高高级开发人员的水平。Codewars是一个社区驱动的实践Java资源,开发人员可以在其中为彼此创建挑战和练习任务。除了Java,该平台还支持JS、C、C++等语言。4.加入社区学习编码既困难又孤独,但您的家人很可能不会理解您的挣扎。但你不必孤军奋战,可以向同事或同事寻求帮助。个人比较喜欢Reddit、Freedcodecamp和StackOverflow,这里列出了一些编程社区供参考:StackOverflowGitHubPHP编程论坛JavaScript论坛Gamedev.net如果您是一名与编码焦虑作斗争的编程学生,请记住您并不孤单。给自己定下明确的目标和计划,以平静的心态对待学习的每一天,找朋友互相扶持,你就会度过这段艰难的时期。