我如何在短短 6 个月内学会编程并构建出一个真正的软件产品
2020年5月21日,我在哈佛大学CS50在线课程中写下了我的第一行代码。六个月后,我发布了一个可用于生产环境的Web应用程序(参见https://joyful.gifts/),供全世界使用。以下内容将介绍我的学习方法、学习历程,以及一些给正在学习编程以构建产品的朋友们的非常规建议。
我是如何学习的。
请注意,这段经历从一开始就强调要具备企业家和建设者的灵活性,并能够运用最佳工具解决实际问题。如果你的主要目标是找到一份软件开发入门级工作,那么这段经历可能并不适用,请谨慎参考。
以下是我学习的方法:
-
我专注于创造,并从中获得乐趣。如果感觉像是在苦苦挣扎,我就知道我的方法不对。
-
我没有拿自己所处的环境或技术栈跟任何人比较。如果它运行良好、可靠且易于使用,那就说明我找对了地方。
-
我花了很多精力寻找这个领域的真正专家,而忽略了那些试图向我推销最新热门教程的营销人员。
-
我密切关注并验证了开发者平台上的建议(技术性很强的播客、开发者论坛、小众的Reddit子版块都是不错的起点)。
-
我会根据需要了解新技术,但只有当它能解决我当前的具体问题时才会深入研究!(抱歉——我目前还没有遇到单页应用程序(SPA)可以解决的问题。)
-
如果能解决问题,我从不回避“困难”的事情。Docker 的确很难,但它解决了我的一个问题,所以我选择了它。
-
如果可以选择,我总是选择经过验证的成熟技术,而不是新颖炫酷的技术。
旅行。
这应该是一个总体指南,而不是具体的步骤说明,因为软件开发发展日新月异,资源更新换代也很快。此外,在产品发布过程中,还需要学习一些其他的小知识,这些知识可以通过简单的教程来掌握(例如 Git、Bootstrap、第三方集成、部署等等)。
- C语言及算法入门(CS50课程)
- 通过FreeCodeCamp学习 HTML/CSS 基础知识
- 通过EloquentJavaScript实现 JavaScript
- Python/Flask(CS50)
- Django——入门指南(参考书籍《Django for beginners》)
- 通过CS50W使用 Django + 现代 JavaScript
- 通过深入了解Docker
- Django — 通过“Django for professionals”和“Two scoops of Django”了解专业和最佳实践
非同寻常的建议(或许吧?)。
- 如果你想学习,那就学习全新的东西。如果你想创造,那就运用你已经掌握且行之有效的知识去创造。
- 流行的工具并不等于好用的工具。
- 多向经历过一两次失败的资深开发者寻求建议。远离那些只会炒作技术的人。
- 学习编程就像学习阅读或写作一样,只有当你能够表达一些有意义的内容时才有用。
我很乐意回答任何关于我的旅程或joyful.gifts 的具体问题——最好的方式是在Twitter上联系我。
文章来源:https://dev.to/jonathanadly/how-i-learned-to-code-built-a-real-software-product-in-6-months-3gje
