这篇文章来自于我最近刚创建的微信公众号:星辰渔夫,欢迎大家订阅!关注回复「星辰大海」,你懂的。
经常在知乎、悟空问答等平台上看到有人提这样的问题:如何自学编程?IT 行业前景如何?哪个培训班比较好?我该学什么语言?哪个方向比较火......一系列问题。
作为一个本科计算机专业,硕士软件工程专业,工作 5 年的资深研发工程师,带过项目、团队,做过管理。对于这些问题,经过深入思考、总结以后,做了些回答、分享,阅读、点赞的人很多,有些也进了优质回答,所以今天就做了一个整理,关于学习编程,你想知道的都在这里了,希望对大家有所帮助。
用软件工程里的一个术语:自顶向下,先来看 IT 行业前景如何,再说方向,最后说如何学习。
目前来看,就薪资而言,在所有行业中,IT 行业应该是数一数二的,在我看来,以后也会是这样,而且优势会越来越明显。随着科学技术、互联网、物联网、人工智能的发展,未来将是一个更加智能的社会,人类将会更加依赖于智能平台为我们提供的服务,我相信这个大家应该是有目共睹的。而推动这一切发展必不可少的重要动力之一,就是 IT 行业,所以对 IT 行业的前景,我是非常看好的。因此现在有很多人都转行或者准备转行 IT,大学计算机、软件专业更是越来越火爆,这也就意味着 IT 行业的人才会供过于求,其实现在已经有这样的现象了,尤其是在目前形势不大好,很多程序员都担心被“优化”。但是无论大公司、小公司,对于技术牛逼的程序员都是非常青睐的,所以要想转行 IT 行业,就要做好吃苦耐劳,好好学习的准备。
其次我们说说学习的方向,现在 IT 行业方向众多,很多培训班就相应地设立了 IOS 开发、Andriod 开发、Java 开发、C++ 开发、Python 开发、小程序开发、大数据、云计算、人工智能等等很多门课程,对应于不同的方向。在众多的方向中目前最火爆的应该就是人工智能了,当然我也最看好这个方向。很多大公司也都早已在布局这块,目前非常成熟的语音识别、图像识别等技术已经被广泛应用,尤其是随着5G时代的到来,相信这块以后会有非常大的市场需求。但我想说的是,自动驾驶是一个风口,包括 Google、苹果、百度等在内的国内外大厂在这一块都投入了大量人力物力,相信在不久的未来会有成果。因此,如果你想转做 IT 行业,做一名程序员,可以选择人工智能方向。
最后我们来说说怎么学习的问题,这应该也是大家最关心的。
首先,不需要报任何培训班。为什么这样说呢?因为最终学的好与不好,完全都取决你自己。培训班能教给你一般都是一些写程序的基本知识,这些东西网上免费视频、博客一大堆,再加上看看书,你完全可以掌握。实在不放心,你可以几十或者几百块钱在网上买个付费课程看看,你就会明白看书才是效率最高的。因此我认为报培训班学编程,是一个耗时耗力,收获甚微的事情。
看明白编程的知识点相对容易,难的是对这些知识的应用,这些知识背后的原理。编程的入门是一个非常辛苦的阶段,你需要学习的东西很多,但是要注意学习方法。
所以我的建议是:选择一门语言入手,比如 Java 或者 Python,通过网络视频、博客、书籍,以最快的速度掌握语言的基本概念,编程的基本要点。不需要把整本书都通读,看不懂的地方直接跳过,有些大块头的书看着很难受,慢慢来。
接下来你就要去动手,设定一个目标,你要做个什么项目,是一个简单的网站?一个简单的小程序?一个识别图片的工具?还是一个 APP,无论什么功能,无伦多么简单,去做就好。这个过程是最重要的,一开始你会遇到各种各样的问题,动手去查资料,Google,去 Stack Overflow 问,解决问题,边做边学,慢慢你就会掌握语言背后深层的东西,你会发现你需要学习的东西很多,而且以后也需要持续不断地学习。
坚持做完以后,你会很有成就感,你会觉得编程不那么乏味,不那么难,慢慢就会建立对编程的兴趣,俗话说:兴趣是最好的老师。之后,继续不断地写代码,多看书、看博客、看技术公众号、多看看 GitHub 上的项目,如果有能力,参与进来,多总结,多专研,多学习,不断提高自己的技术能力。
如果想做人工智能方向,除了编程能力外,还要学好数学,高数、线代、概率等都是要好好掌握的。因为人工智能的算法高度依赖于数学,如果对数学没兴趣,那还是做其他研发方向吧。当然你也可以按上述学习编程的方法学习数学,培养兴趣。
那么,我应该学习什么语言来入门编程呢?这里我推荐 Python,虽然我是做 Java 出身。高级程序员都明白,其实无论任何语言,都只是一种工具而已,对程序员最重要的还是逻辑思维能力、学习能力、项目经验。但是作为入门,Python 相对于其他语言更简单,容易上手,应用广泛,如果想做人工智能方向的话,Python 迟早都得精通,据说国外学生编程入门教材就是用 Python 为例做的。
至此,相信你已经了解关于学习编程,转行 IT 需要知道的所有问题了。如果你做了慎重思考以后决定入行,就一定要坚持下来,否则将会是白忙活一场。
欢迎关注我的公众号:星辰渔夫。回复“星辰大海”获取资料,你懂的。