【外行自学系列 3】从自学软件开发到开公司?分享我的编程学习方法

媒体链接

内容要点:

  • 1. 学习编程是一项系统性的工程,需要时间和耐心,建议通过制作实际项目来加深理解和掌握技能。
  • 2. 不同的开发方向使用不同的编程语言和工具,因此在学习之前应根据自己的需求进行调研。
  • 3. 加入编程社区可以帮助你获取行业动态、学习新技术,并与经验丰富的人士交流,提升自己的能力。
  • 4. 学习编程和软件开发需要不断练习,建议选择能够解决自身问题的项目进行实践,以增强实战能力。
  • 5. 编程学习没有捷径,需花时间阅读文献和技术文档,同时保持对新技术的学习与应用,以提高自己的编程水平。

我的大学专业是电子,经过自学编程,现在我开设了一家互联网公司。在这个视频中,我将与大家分享我的编程学习经验。我制作了一系列视频,旨在向大家展示作为外行我是如何快速掌握各种技能的。这是第三支视频,如果你还没有看过第一期,建议你先去观看。

大家好,欢迎来到视频大拍档,我是特里。想要通过一个视频学会编程是不太可能的,因为软件开发是一个庞大且系统性的工程。因此,这个视频的目的不是一次性教大家所有编程技术,而是通过展示我的学习方法和路径,希望大家能从中获得一些启发,尤其是对刚接触编程的朋友们。在我的自学过程中,我制作了一些小项目来帮助自己理解。

我的第一个实战项目是网络课程网站,最开始学习编程时做了一个招聘网站和团购网站。这是我用iOS开发的程序,还有我用Python写的语音合成软件以及人脸识别程序。我还进行了深度学习、物体识别训练,和制作视频编辑器及互动课程系统的项目。可以说,从自学到写出商业应用的过程中,我逐渐成长为一名专业工程师,这也正是我常跟大家分享的经验。

回忆我大学时的情况,我想将信息整合到一个手机APP里,但是由于不会编程,也找不到正规的学习资源,只好自学。我开始学习编程和网站开发。刚开始学习编程时,没人指导我,也没向前辈请教,只能在网上查资料。很多资料声称PHP是世界上最好的语言,我当时信以为真,于是开始学习。但随着时间推移,我意识到如果我当初选择Python,或许会是更好的决定。确实,学习编程的路上,先入门很重要,之后才能不断提升自己。

无论选择哪个方向的软件开发,每个领域都有特定的编程语言和工具。比如iOS开发、网络编程和游戏开发,它们所用的编程语言和工具都是完全不同的。因此,我们应根据自己的需求先调研、了解。学习编程时,我建议大家多看视频教程,但在后期,要着重了解一些复杂的概念、设计模式以及编程核心思想。这些都需要通过阅读文献和API文档来加深理解,而大部分文档都是英文的。

对于英语水平不高的人来说,这确实是一个挑战。由此可见,学习软件开发的同时,也要重视英语的学习。我自己也是在自学编程的过程中提高了英语水平。在这里,我还想强调程序开发对毅力和耐心的考验。建议大家加入社区,无论在哪个领域,总有很多经验丰富的人,他们开发了一些优秀的框架或开源项目,可以频频向他们学习。

此外,在社区中你可以及时了解到行业内的新动态,比如新发布的框架和工具,以及当前流行的设计模式。我通常会在写代码或做其他事情时,听一些编程专家的播客节目,了解行业动态和新技术。他们的讨论不仅带来有用的信息,更让我感受到这个行业的整体氛围。还有,我会订阅一些Weekly邮件,如JavaScript Weekly和Golang Weekly,这些邮件每周都会推送有用的资讯和资源,非常适合与社区互动。

哦,对了,那些论坛有些还是可以的,但大部分论坛其实还是比较水的。所以我更建议你去关注一些大牛,关注他们的博客和文章,同时也要订阅他们的每周更新,还可以听一下播客。学了理论知识后,应该尽快去练习。在选择练习项目时,尽量选择那些可以解决你自身问题的程序进行开发。比如说,你可以做一个个人页面、个人博客,或者开发一个小的手机APP,以提升你的工作效率。

我当时学完网络编程后,实战项目是做一个教程网站。在这个过程中,我会遇到各种各样的问题,但只要我不断地解决这些小问题,整体上我的编程水平和实战能力都得到了很大提升。在制作这些有实际应用价值的程序时,不仅能够让我学到更多书本之外的知识,而且解决实际问题也带来了成就感。而那些教程里面很没有用的练习项目,做完后很容易就会被遗忘。因此,学以致用是非常重要的。

学习编程和软件开发,实际上和学习一门语言是非常相似的。如果你不经常去说、不经常去用,学了之后很快就会忘记。我们需要不断积累,不断去练习和使用这些不断变化的API。在学习技术时,不要一口气就想把所有内容都学会,因为这些技术也是在不断更新、不断进步的。对于编译工具、框架以及工具链,都是在根据现实需求持续改进的,因此要有耐心,分步学习。

在这个系列的每一个教程中,我都会强调另辟蹊径。作为外行,只有与别人做的不同,才能够做出创新的产品。在软件开发方面,我的另辟蹊径方法就是结合我在其他领域的一些经验,比如制作视频或动画设计。在编程时,我会尽量利用这些经验,把编程技术与我在其他领域的技术结合起来,做出与其他同类产品不同的功能。比如,将机器学习、深度学习、图形学等前沿科技应用到基础程序开发中,比如手机APP或前端页面。

最近,我们的视频已经很久没有抽奖送奖品了,所以今天我们准备送出一些福利。你们知道我之前录节目时一直使用的是BOOMX-D这款便携的领夹麦克风。它在远距离录音时能很好地降噪,非常抗干扰,是我用得最多的音频设备。而现在我准备送出更好的产品,就是BoomXD的升级版本BoomXU。新款的U代表高频,它在抗干扰和稳定性方面有了显著提升。送这样专业的设备,参与方式也很简单,大家只需去大排档剪辑助手的抽奖页面参加活动。

非常抱歉,这个视频中我没有分享具体的学习编程细节,而是一些比较笼统的概念性方法。如果你对编程感兴趣,想要详细学习,可以关注我们的大排档剪辑助手,我们将推出一个课程,计划在这里开设一个编程模块,届时我会制作一个从零到Pro的完整成长路径详细课程,敬请期待。

学习编程其实没有捷径,需要不断克服繁琐和枯燥的过程。你需要花时间阅读英文文档,学习新教程,技术更新得也非常快,今天有个框架,明天有个工具,这些都需要你不断学习。因此,我想表达的核心思想就是通过学以致用、参与社区,给自己带来成就感和学习动力,不断坚持,才能在这个过程中提升自己,最终做出有意义的程序。好了,这个视频就到这里,希望对大家有帮助,下期视频再见。我们的上一期抽奖是送三套桌面三角架,接下来会选出十个用户进行初选。恭喜这三位幸运观众!如果你还不知道怎么参与抽奖,可以去我们的大排档简介处,左下角点击大排档抽奖就可以了。