编程真的很难吗?
并非你想的那样……
2018年9月,我开始了为期90天的软件开发训练营。当时我刚满28岁,生活中发生的一些事情促使我决定辞去电商品牌经理的工作,转型成为一名开发人员。
我唯一的遗憾?就是没能早点做这件事。
小时候,我觉得当程序员很难。我觉得学习这门技能需要付出很多很多努力。我甚至想象自己要强迫自己阅读技术手册和文档。我还幻想过要学习数学和公式来培养更强的思维能力。
幸运的是,我大错特错了。
最近,我反思了自己的固有观念,并意识到它们从根本上就是错误的。这件事并不难,也不应该很复杂,更不需要超凡的智力。
我总结了成为一名开发人员的三个必要条件:
- 理解这些词语和符号(数量不多)。
- 理解语法(开发者称之为“句法”,它是将词语组合在一起以表达思想的方式)。
- 学会如何用谷歌搜索你不知道的东西(这非常非常重要)
训练营
我在俄勒冈州波特兰参加了一个非常有趣的训练营。让它有趣的不是课程的种类,而是每个项目的第一门课。
你上的第一门课解释了编程中每一个基本的词汇和符号。
从链接(URL)中使用的符号,到“计算机”和“开发人员”等基本词汇,以及更深层次的技术术语,所有内容都进行了定义。
随着训练营课程的深入,我开始更多地了解所使用的语法。幸运的是,许多语言都使用类似的语法(也称为句法),最终这会成为一种本能反应。
训练营强调的一点是要能够独立进行研究。
起初,理清自己的困惑非常困难。但随着我不断深入,我发现运用新词汇对我的研究方法产生了重大而积极的影响。
我开始使用一些关键词和短语,其他开发者在尝试解决与我类似的问题时也使用过这些关键词和短语。
后来我意识到,我知道如何用谷歌搜索我的编程问题。
最终,我从新兵训练营中获得的是自信。
我懂得如何编程,我懂得如何不断学习和成长,我也懂得如何摆脱几乎任何困境。
我的第一份工作
经过数百份申请、多次电话面试(以及多次拒绝)和几次编程挑战后,我终于在纽约一家代理公司找到了我的第一份网页开发工作。
薪水不高,工作也很有挑战性,但我很喜欢。
我一直在不断学习和研究,因为我作为WordPress开发人员的工作意味着我需要学习一门新的语言。不仅如此,我在Web开发的基础知识方面还有很多东西需要学习。
幸运的是,我拥有所有需要的工具:
- 对常用术语和符号的理解。
- 对语法(句法)的理解。
- 能够独立研究和解决问题。
有了工作之后,学习和记住所学知识就容易多了。
如果编程是你的工作,那么你必然要学习新的做事方法。
当你与其他开发者合作时,你对开发的理解自然会加深。每个开发者对于语法、使用的工具以及启动流程(任何流程)都有不同的看法。
编程与其说是重复解决同一个问题,不如说是寻找解决问题的新方法和更好的方法。
例如:
- 你可以先找到所有边和角,然后从那里开始拼图。或者,你也可以从主要兴趣点开始,逐步向外构建。
- 你可以通过探索哪些东西会杀死你来开始玩电子游戏,或者你可以探索地图,甚至可以阅读论坛。
- 你可以从主人公的视角、叙述者的视角或朋友的视角来写一个短篇故事。
就像解决谜题、玩电子游戏和应对生活中的挑战有很多种方法一样,编写代码的方法也多种多样。
总之
总而言之,在我从事网页开发一年半多的时间里,我意识到了一些事情,我希望二十多岁的自己早点知道这些:
- 编程并不难,至少不像你想象的那么难。它只需要好的学习资料,以及足够的毅力,每天坚持学习,哪怕只学一个小时。
- 编程不应该复杂,我阅读和学习得越多——而且我每天都在这样做——我就越发现所有高级开发人员和专家都建议我们编写简单、易于人类阅读的代码。
- 不应该因为不理解就回避编程。实际上,它远比看起来简单得多。你只需要把它分解成一个个简单的组成部分。
如果你想成为一名软件开发人员或其他类型的专家,不要因为这一切看起来“很难”或者看起来很复杂而气馁。
很多时候,这些复杂之处仅仅是由于对词语、符号和语法的误解造成的。
如果你掌握了这些基本知识,并且有一些指导你进行自主研究,我相信只要稍加坚持,任何学科都可以被攻克。
参考
如果你想知道我参加的是哪个训练营,或者我推荐哪些学习资料,请查看以下内容:
- 我参加了 Tech Academy Bootcamp,他们提供线上和线下课程,你可以在learncodinganywhere.com上找到他们(如果你告诉他们是我推荐的,我可能会获得少量佣金)。
- 技术学院还出版了一本技术词典,收录了迄今为止最简洁、最精辟的定义。你可以在亚马逊上找到这本词典。
- 完成训练营后,我学习了 FreeCodeCamp 的大部分课程。虽然他们没有涵盖你需要知道的词汇和符号,但他们提供了大量信息,最棒的是,它是免费的。访问 freecodecamp.org 了解更多信息。
- 如果你在计算机学习方面遇到困难,我强烈推荐应用学术出版社的《学习技术》一书。以下是书中的一段摘录:
基本事实是,学生学不好是因为没有人教过他们如何学习 ——也就是说,如何识别学习的障碍以及如何克服这些障碍。
如果您有任何疑问或反馈意见,请在下方留言。
文章来源:https://dev.to/damsalem/is-programming-actually-hard-1j89


