这是给转行做Python的小白的参考,无论是从零开始,或者是转行的朋友来说,这都是值得一看的,也是可以作为一种借鉴吧。
而且我决定转行IT(互联网)行业,其实理由也很简单,不用动体力,大多数动的是脑力工作,而且现在的互联网趋势很明显。再者看到一些网上的招聘平台,基本上每个行业都是需要这块的,工资也都是很高的。
我的大概情况是,专科专业建筑环境与设备工程,17年7月毕业,同学很多去了工地。我的话,受不了工地居无定所,去了制造业。 制造业确实环境不好,虽然我的岗位是研发工程师,但是经常要在车间干体力活车间,累的满头大汗,跟车间的大妈大叔撕逼。
不管是自然环境还是人文环境,只能用恶劣来形容吧。而且我们是单休,动不动就加班,最扯淡的是加班是没有钱的。但凡节假日一般放一天,国企两天,搞笑的是周日值班一天,给32块钱。
看到我们办公室里面三十几岁的男生还没有女朋友,还有即使有女朋友的还在住员工宿舍,而且有的快十年的工作经验,还出国待过,现在月薪不到1w。
想到七八年以后我的生活是这样,我就惶恐不安,我觉得我七八年后不要过这样的生活。
于是我便开始了自学之路,当时因为计算机基础不是很好,可以说特别的困难了,看了一些网上的教程学习,可以说是拆东墙补西墙的做法,甚至有段时间居然想放弃了。
想学好Python选好方向很重要,而大部分新手对Python的方向并不了解,可能对有些分析也是看都看不懂,我的建议是找了解的人有经验的人带你,
一般来说,有了一个具体的学习路线,知道学习什么之后,我们通常有下面几个方向来学习: 有哪些学习的途径?
1视频:
学Python的小伙伴尽量多看视频,因为视频教程会比较容易理解。
不过,对于经验已经比较丰富的小伙伴来说,视频教程相比于文档教程学习起来会更慢一些。
2官网:
除非是一些国产项目的官方文档提供了中文版本,否则大概率是英文的。
另外,官方文档介绍的往往也比较粗糙,不太适合初学者作为学习资料。
不过,官方文档我们一定是要看的。通过官方文档你才能知道你学习的技术最新的技术动态,才能知道这个技术有哪些模块需要学习,才能知道这个技术具体可以帮你解决什么问题。
比如下面是 Spring 的官网,通过网站首页你就可以大概知道 Spring 可以帮助你:
快速开发网站
开发微服务架构的软件
开发响应式架构的软件
......
3书籍:
书籍的内容更成体系,更系统。不过,书籍存在时效问题。你可以通过一些手段了解技术最新动向:
关注一些技术社区的动态比如 Github Trending
关注一些公开的技术分享
关注一些技术大佬
......
自学过程中有哪些需要注意的地方?英语阅读能力 大部分优秀的技术书籍都是国外的,几乎都是英文,并且,大部分技术的官方文档也都是英文的。
所以,提高自己的英文阅读能力很重要。英文阅读能力暂时比较差的也不要紧,有道翻译和谷歌翻译就是你最好的老师。如果是使用 Chrome 浏览器的话,我还推荐你安装一个 Mate Translate 插件。这个插件对于网页阅读英文文档太友好了,可以一站式翻译您的网页以及标记的文字段落。
多练!多记!多实战!
不论是看视频还是看书,最好都要跟着一起练,记录一些关键的内容。
另外,如果你是看视频学习的话,最好可以边看视频边找一本相关的书籍阅读。
学习过程中没弄懂的知识点一定要尽快解决。如何解决?首选百度/Google,通过搜索引擎解决不了的话就找身边的朋友或者网上认识的一些人。
另外,一定要进行项目实战!很多人这时候就会问没有实际项目让我做怎么办?我觉得可以通过下面这几种方式:
实战项目视频/专栏 :在网上找一个符合自己能力与找工作需求的实战项目视频或者专栏,跟着老师一起做。跟着老师做的过程中,你一定要有自己的思考,不要浅尝辄止。对于很多知识点,别人的讲解可能只是满足项目就够了,你自己想多点知识的话,对于重要的知识点就要自己学会去深入学习。
实战类开源项目 :Github 或者码云上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。Python类的实战项目,你可以从 awesome-Python 这个仓库里面找,里面有很多非常赞的项目。
从头开始做 :自己动手去做一个自己想完成的东西,遇到不会的东西就临时去学,现学现卖。这个要求比较高,我建议你已经有了一个项目经验之后,再采用这个方法。如果你没有做过项目的话,还是老老实实采用上面两个方法比较好。
......
做项目不光要做,还要改进,改善。
一定要学会分配自己时间,要学的东西很多,真的很多,搞清楚哪些东西是重点,哪些东西仅仅了解就够了。一定不要把精力都花在了学各种框架上,算法和数据结构真的很重要!
4不要把学习编程还当做学生时代的应试考试来看
你或许也发现了。很多成绩特别特别优异的同学,他们的编程能力其实并不好。在大学的时候,那些编程能力最强的往往是那些成绩比较一般的。
为什么会这样呢?
我觉得主要是一个思维的转变问题。很多人学习编程的时候,总是想着我要把这个 API 记下来,把这个库的用法记下来。这样学习,导致的结果只有一个那就是你会很难受!因为,这些根本不是要死记硬背的东西啊!真还当这是上课考试啊!你要从如何用你学的东西来解决实际编程问题出发,站在做一个实际的项目的角度来学习。
拿我自己来说:我平时也会写 Python,基本就是自己看着官方文档或者一些书籍的教的语法跟着写。如果哪个地方不会了,我就去查一下。
多看优秀的代码
不看优秀的代码,你写的代码质量很难提高。
虽然要多看优秀的代码,但是也不要被 “最佳实践” 所束缚,很多时候实际是根本不存在适用于任何场景的“最佳实践”,没有银弹。
5不要死记硬背
学习理论知识的时候,我们可以多花点时间整理笔记。
但是,在学习框架使用的时候,就没有太大必要花大量时间的整理做笔记了。
你要做的就是把常用的东西串联起来,知道有这个东西就好。根据自己的实际能力,再对底层的东西进行学习就好。
希望我的分享能帮到也有转行想法想学习Python的朋友。另外我发现了一个免费python线上编程实训营,对刚入门的同学特别友好,一起交流讨论,学习效率更高,不需要花一分钱。有需要的可以在评论区扣个“1”,