在我的编程生涯中学到的 10 个教训;
你好,这是我的第一篇博客文章,我认为有必要写下我在编程生涯中迄今为止学到的一些经验教训。
现在,我从资深程序员和我的榜样那里学到了一些想法,比如@traversymedia和Angela yu,他们拥有非常独特和有效的教学方法。
我意识到其中一些经验教训不仅适用于开发人员,也适用于人们可能选择参与的其他项目和领域。我仍然对其中一些经验教训感到困惑,但每一天都是学习的日子,只要我意识到这些经验教训,我就会变得更好,现在你也会的,所以让我们开始吧……
1. 需要时间;
我知道很多人以前都听说过这个,但直到我决定真正专注
于成为一名开发人员时,我才真正明白这一点。
我了解到,要真正掌握一门语言或编程概念需要时间,而匆匆忙忙实际上是在浪费时间,因为你可能以为自己已经理解了它,但几天后,你会发现你浏览过的大部分内容都消失了,你实际上保留的很少。
这会导致你不断重复学习,不断回头学习那些已经学过的简单内容,浪费更多时间。慢慢来,成为一名熟练的开发人员需要时间。所以我的建议是:
这是一场马拉松,而不是短跑。
2.学会理解而不是去做;
有时我会选修一门课程、阅读相关文献或书籍,然后不知怎么地,当我看到我必须涵盖的内容时,就会感到沮丧。
一本书、一篇文章、一门课程,甚至文档中,可能都包含数百个概念或方法。如果你在没有真正理解每个概念的情况下就匆忙完成,那么很可能当你完成学习后,你几乎记不住任何内容,甚至无法在项目中运用它们。
没有什么比尝试学习新东西却一无所获更令人沮丧的了。相信我,大多数人都会遇到这种情况,如果你也遇到这种情况,我的建议是:
休息一下,稍后再重新检查。
3.通过项目进行实践;
我曾经认为仅仅练习如何用特定语言编写代码就足够了,但随着时间的推移,我意识到我无法利用已经学过的大多数概念,甚至最终忘记了它们。
新程序员最容易忽视的现实之一是,我们学习不仅仅是知道如何做某事,而是如何实际地在项目中使用它。如果你学习了一个概念,但没有在任何项目中使用它,那么你所做的就是浪费你的时间。
对我来说,这已经成为一种非常棒的学习方法,因为每当我学到新东西时,我都会立即想到如何将该功能集成到我的某个项目中,通过这样做,我甚至可以更深入地研究它可以被利用的各种方式,从而真正理解它。我的建议是;
努力创造真实且适销对路的项目。
4. 不要与他人比较——跑好自己的比赛;
你听说过“努力胜过天赋”这句话吗?我甚至觉得有首歌就是唱这个的。总之,我绝不建议你不要欣赏别人的作品,这是一个很好的灵感来源,只是不要拿你现在的水平和能力与别人比较,因为这肯定会让你在编程之路上感到沮丧。
要知道,即使是你的导师和榜样,也并非一开始就达到了如今的水平。不相信吗?你的一些导师可能已经记录了他们的第一个项目,或者更好的是,看看他们在频道上发布的第一个 YouTube 视频,甚至是推文,你就会惊讶于他们取得的进步。
我个人对此感到很为难。*我的意思是,他正在谈论他可以轻松做到的所有事情以及他所取得的成就,而我在这里甚至很难理解他的逻辑——这对他来说太容易了——他在这方面一定很有天赋...........*抱歉,有点分心了。
重点是,我们每个人在推理和学习方面的能力各不相同,如果你拿自己的速度和别人比较,最终肯定会对自己的进步感到不满意。记住,学习没有截止日期, 只有理解了才继续学习,而不是等到觉得方便的时候再继续。我的建议是,听听作家乌佐玛·纳迪 (Uzoma Nnadi) 的话;
“铁只能被锈蚀破坏,而锈蚀是一个缓慢的过程,是由环境中水中的氢离子引起的。要抵御负面思想,谨慎地引导你的大脑,因为你的大脑是你最宝贵的资产,确保你不会用它来对付自己。”
5.追踪并欣赏你的进步;
我数不清有多少次放弃编程,但过了一段时间后,回头看看那些未完成的项目,不禁感叹,我真的做到了吗?关键在于,花点时间回顾一下你的起点。看看你的第一个项目,你就会发现自己已经走了多远。
确实,你可能还有很多不知道的事情,但相信你一定会到达那里,并继续努力,最终你会回顾你所取得的成就,甚至会感到惊讶。我的建议是:
记住,千里之行,始于足下。
6.了解你的工具;
我多么希望自己一开始就充分关注我使用的工具的真正功能,这样可以节省我很多时间。VsCode 的强大功能每次都让我惊叹不已,它是我一直以来最常用的代码编辑器。
目前我只能谈谈这个工具,但这一点适用于你工具库里的所有编程工具。如果你像我一样使用 VS-Code,可以在这里找到 Burke Holland 和 Sarah Drasner 制作的一系列视频,标题为“VS-Code 可以做到这一点”。相信我,当我告诉你这一点时,很多人都没有充分利用这个工具。这个工具可以通过多种方式让你的工作更轻松,让你眼花缭乱。
另一个未被充分利用的工具是codepen。这个工具帮我解决的一个主要问题是代码片段的存储。有时候,我会处理滑块、按钮和其他代码片段,但并不打算在项目中使用它们,直到它们完成,或者甚至需要练习和记住这些小代码片段时才使用它们,而这个工具正是我所需要的。
其他工具对程序员来说只是糖果,比如Git 和 Github,坦率地说,我还在真正理解它的强大之处。我的建议是:
真正了解你的工具库中的工具,你的职业生涯可能取决于它。
7.休息一下;
你可能会觉得这不言而喻,或者这是最简单的,但显然并非如此。有时候,我会连续编程学习六七个小时,结果却头痛欲裂、疲惫不堪。休息对于你的编程生涯发展至关重要,因为你的健康是决定你职业生涯走向的关键因素。
事实上,人类的注意力和理解力每持续工作40-45分钟就会下降很多,因此建议休息5分钟左右。想想看,甚至有一些应用程序致力于提高你在工作时的专注力和注意力,我最喜欢的是Forest。我相信还有其他应用程序可能更有效,但我认为在工作时使用Forest是一个好习惯。留意佛陀的教诲;
“保持身体健康是我们的责任……否则我们将无法保持头脑清醒。”
8.培养其他爱好;
你有没有问过别人的爱好是什么,而他们回答说——编程?我知道,虽然编程本身不是什么罪过,也不是什么坏事,但我觉得它听起来有点奇怪,不知道为什么。我知道大多数程序员都是游戏迷,这有助于减轻长时间的bug和调试带来的焦虑和压力。
就我个人而言,我不太喜欢游戏,虽然我希望自己喜欢,但我更喜欢Netflix或者一两本好书。除了编程,无论你有什么爱好,都请保留并妥善保管,因为在研究算法、数据结构和调试时,它可能是让你保持理智的唯一工具。也许我应该试试国际象棋……你看过《后翼弃兵》吗?也许你应该看看。
9. 参与挑战
我并没有真正沉迷于此,但我已经意识到,不参与会让我损失惨重。我承认这在科技界尤其重要,因为协作和团队合作并非空谈。
Github 全力支持这项挑战,以及 #100daysofcodechallenge 等其他挑战。这些挑战旨在让你时刻关注日新月异的技术,学习和教授他人,并提升你的编程技能。
10.永不放弃
我可以免费告诉你,放弃其实很容易,你只需要停下来。停止学习,停止编程,停止构建项目,几个月后,你就什么都记不住了。别这么做,当然很难,但如果很容易,每个人都会这么做。
如果你放弃,回到原点的路会比现在难上加难,知道为什么吗?这不仅是因为你会变老、长皱纹、脾气暴躁,更是因为科技不等待放弃者。很多事情都会改变,你需要花双倍的时间去学习所有新的东西。记住吉姆·罗恩的话;
“一个人能做的最糟糕的事情就是不去尝试,不去了解自己想要什么而不去屈服,花数年时间默默地痛苦地思考某些事情是否会实现——永远不知道。”
# 结论
总而言之,我还认为找到一位导师,专攻某项特定技术,加入 Linkedin,并教授所学知识会加速你的职业发展,但据我所知,我正在研究名单上的一半,并且已经辞职无数次了,但因为我正在写这篇文章并分享我的代码和经验,所以似乎这一切都已成为过去,当我获得导师或老师的称号时,这将是一个相当精彩的故事。
我本来还有很多话要说,但显然大家已经忍了这么久的聊天框,我得把这个联系表单弄好。哦,关注我的推特吧,我的账号看起来就像一艘被遗弃在大海中央的独木舟,非常感谢。再见——下次再见。
鏂囩珷鏉ユ簮锛�https://dev.to/cyruscodes/10-lessons-learned-while-building-my-programming-career-1eeh