原文:
towardsdatascience.com/how-i-learned-to-code-no-cs-degree-no-bootcamp-3e2c5b3918ea
图片由 Christopher Gower 在 Unsplash 提供
学习编程可能是我一生中做出的最好的决定之一。它为我打开了无数机会,并让我找到了一份我热爱的工作。不用说,现在能够编程是一项非常宝贵的技能,你可以找到很多工资相当高的工作。
因此,在这篇文章中,我想回顾我的整个编程之旅,并为那些刚开始你们旅程的人提供一些建议。
我的经历
图片由 Clemens van Lay 在 Unsplash 提供
我并不是那种 10 岁就编写了第一个编译器的年轻天才。事实上,我在大学的第一年,18 岁时,才写下了我的第一行代码。
我小时候的梦想是成为一名物理研究员,那是在我 13 岁时看了《生活大爆炸》之后。我基本上想整天在纸上或白板上涂鸦,试图解决量子力学或广义相对论中的复杂证明。
然而,在我物理学位的第一堂课上,我发现自己身处一个计算机实验室,正在学习如何编程。而且情况变得更糟。教授的语言,也就是我学过的第一种语言,是 Fortran。
现在,我对 Fortran 有一种浪漫的偏爱,我甚至写过一篇文章,解释为什么数据科学家应该考虑使用它而不是 Python。然而,作为我学过的第一种语言,它让我对编程并不那么感兴趣。
对于那些不熟悉 Fortran 的人来说,它可能是最古老的高级通用编程语言,并于 1958 年首次发布。它并没有一个庞大的社区,并且现在几乎不再使用。
Fortran 使用 DO 循环而不是 FOR 循环,这仅仅显示了它有多么古老!
与 Python 或 JavaScript 相比,它并不是一个理想的开始编程之旅的语言。公平地说,它让我对编程不太感兴趣,并且在我整个学位期间,我积极避免那些包含编程元素的模块。
我在第一次编码测试中表现也不太好,这可能没有帮到我。
尽管我对编程没有立即的热爱,但我从 Fortran 中学到了很多东西:
-
变量和数据结构
-
for 循环和 while 循环
-
函数和子程序
-
如何导航终端
-
Bash 和 Z-shell 命令
这些是所有编程语言中普遍存在的核心思想和模式,以及如何使用它们。
说实话,尽管我可以用 Fortran 解决简单的物理问题,但我实际上并不“了解”如何编程。我只是学习这些主题以确保我不会在大学模块中失败。我对编程没有深刻的直觉。
我有一篇之前的博客详细说明了为什么我想成为一名数据科学家。但简而言之,我对在物理学领域进行研究的想法失去了兴趣,并受到了 DeepMind 的**AlphaGo**纪录片的启发。
要成为一名数据科学家,众所周知,你需要精通 Python。所以,尽管当时编程并不是我真正想做的事情,但为了有希望成为一名数据科学家,我需要学习 Python。
我第一次上的课程是 2020 年由freeCodeCamp提供的Learn Python – Full Course for Beginners。它大约有 4 个小时长,我一次就把它全部完成了。
这是一门极好的课程,可以让你了解 Python 语法和所有你需要知道的本地数据结构,所以如果你是初学者,我强烈推荐它。
在上述课程中,我使用了W3schools和TutorialsPoint来补充视频中的材料。
在完成这门课程后,我需要一些实际操作和问题来解决,以便自己练习。最简单的方法是通过Hacker Rank或LeetCode。在我开始感到舒适之前,我解决了大约~50 个 Hacker Rank。
现在我已经掌握了基础知识,我需要学习数据科学 Python 技术栈。为此,我简单地给一位教授发了一条消息,他负责一个物理 Python 模块,并请求他提供课程笔记。
尽管人们可能会说,在我看来,数据科学遵循科学方法。因此,大多数在物理学中使用的 Python 库也在数据科学中使用,因为它们是相似的。
我还结合了这些模块笔记和Kaggle(一个数据科学竞赛网站)上的课程,以进一步巩固我的理解。
到这个时候,我觉得我对 Python 的掌握已经相当不错了。请别误会,我并不是抽象装饰器的专家,但只要有足够的时间,我几乎可以从头开始编写大多数代码。
除了 Python,我还选修了几门课程来学习 SQL,因为它是所谓的“数据语言”,几乎每个数据专业人士都在使用。我使用的两门课程是Jose Portilla和W3schools.的The Complete SQL Bootcamp: Go from Zero to Hero。
从那时起,我开始构建简单的机器学习项目来丰富我的简历,以便在求职时使用。然而,在这个阶段,我已经超越了“学习编码”的部分,开始专注于提高我的数据科学技能。
所以,就是这样。
那就是我的整个学习编码之旅。它大约持续了 3 年,尽管一开始我只是从每周大约 4 小时的大学模块中学习。
实际上,我花了 2-3 个月的时间来学习 Python,但我确实有从 Fortran 学来的先验编程知识,而且我的物理背景可能也帮了我。
每个人的旅程都是独特的,我确信有些人比我更快地学会了编码,我也确信我比其他人学得更快。记住,你正在跑你的比赛,不要和别人比较,尤其是在学习像编码这样的硬技能时。
建议
由Kenny Eliason在Unsplash上的照片
对了,现在我想给你一些建议,这是我希望有的,还有一些关键的事情我做对了,这有助于我的学习。
选择一种语言
从单一语言开始,理想情况下选择 Python 或 JavaScript,因为它们在当前环境中可能最有用。
如果你选择 C、Rust 或 Fortran 这样的语言,学习起来会更困难,可能会让你像我一样失去编程的兴趣。Python 和 JavaScript 将让你在早期就能构建东西,这有助于激励你继续学习。
显然,你可以自由选择你想要的任何语言,C、Rust 或 Fortran 也很重要,并且有它们的应用。这只是我对你认为应该采取的方法的一些看法。
这将会很艰难
有时候人们错误地认为编程是一项相当光鲜的事情,你可以“黑客”大型机或构建下一个 Facebook。
大多数时候,你会在 Google 上搜索,或者如今使用 ChatGPT,来查找从简单的加法函数中得到的回溯错误。你可能花在思考上的时间比实际在键盘上打代码的时间要多。
这个初期阶段将会很困难,你可能会什么都不懂。但随着时间的推移,你会意识到事物是如何相互关联的,你的技能也会提高。这是复利的力量。
正如著名的企业家和投资者**Naval Ravikant __**所说:
不是一万小时,是一万次迭代。
有一个“为什么”
学习编程很酷,但如果学习没有背后的原因,你可能会很快失去动力。
对我来说,是为了成为一名数据科学家。然而,它可能比这更小。例如,你可能经营着一家杯子蛋糕店,并希望为它编写网站代码。
你可能没有明确的目标,只是想学习编程。这完全没问题。但也许你可以设定一个最终目标,比如一个项目,然后你可以写一篇关于它的博客。至少这会给你的学习提供一些方向。
结构、实践与多样性
在我看来,跟随课程是最好的学习方式。在这篇文章中,我链接了几个我用来学习 Python 的课程和教程,你选择任何一个都不会出错。
当你开始上课时,确保你对此做出承诺,并定期练习。你需要至少每周两次投入几个小时的时间来练习,以保持一个合理的进步速度。
尽管我建议选择一个课程并专注于它,但通过谷歌搜索你不清楚的概念来补充你的学习是非常有价值的。它提供了广泛的不同解释和多个示例,这可以真正增强你的学习。
摘要及进一步思考
编程是一项每年变得越来越重要的技能。如果你在考虑学习它,我保证这将是一项无价的技能。我希望我的经历和建议能成为你今年开始编程之旅时可以借鉴的东西!
另一件事!
我提供一对一的辅导通话,我们可以讨论你需要的一切——无论是项目、职业建议,还是只是确定你的下一步。我在这里帮助你前进!
[与 Egor Howell 的一对一辅导通话]
职业指导、工作建议、项目帮助、简历审查topmate.io](https://topmate.io/egorhowell/1203300)
83

被折叠的 条评论
为什么被折叠?



