Python自学很难找到工作?YES and NO

237 篇文章 4 订阅
219 篇文章 3 订阅

一场圆桌会

周日晚上9点,我正在看苏炳添的百米决赛,Kevin给我发来消息:

叔, 来参加吗?

Kelvin组织了比较熟悉的一群小伙伴直播讨论学习编程的问题。今天是「人于八」分享Django的学习

我加入的时候他们正在讨论:「什么是MVC」(Model,View,Controller)。大家七嘴八舌,说的不亦乐乎。

到了最后,人于八说:

不过招聘网站上Django的岗位真的很少,不好找工作!

大家有点沉默了:讲了一晚上,讲了个寂寞。

进而,又谈到了Python是不是很难找工作。学到什么程度才可以找工作。

最后大家请我讲一讲,下面是我的核心观点,希望对大家有好处。

Python不难找工作

在我前面的一篇讨论Python,Java和Go的编程语言中,我曾经展示过:

Python的专业开发岗位数量上大概是Java的60%,是Go的4倍左右。

从这个意义上说Python的开发岗位是不少的,如果你Python学的还比较扎实,并不难找工作。

问题来了:怎么算学的扎实呢?要掌握哪些内容呢?

只会Python不好找工作,换成其他编程语言也一样

那为什么很多自学的人,非科班出身的人,自我感觉学的也不错,在找工作的时候还是很容易碰壁呢?

因为编程不仅仅是一门编程语言的事情,而是需要综合运用很多知识。所以只会Python还不够成为一个专业的开发者。这个结论换成Java,换成Go,换成C++也一样成立。

开发和运行一个商业的系统,除了基本的编程知识外,还需要:

  1. 最上面是网页和HTML的基础知识。不管你是后端开发和全栈开发,这都需要会一些的。如果你的定位是后端,前端不需要精通,会核心的内容就可以。
  2. HTTP协议,TCP协议等网络知识。任何一个合格的Web后端开发必须对HTTP协议有一定深度的了解。
  3. 你的网站或者API程序会最终肯定会发布到Web服务器的后面。你了解Nginx或者其他Web服务器吗?
  4. Linux操作系统总要会一点吧?大部分的程序会发布在Linux平台上。
  5. 软件总要存储数据,所以数据库知识肯定离不开。

对于非科班出身的人,相对来说右边的这些知识会相对比较缺乏。当然我们在学习Python的过程中也会或多或少的涉及到这些知识,只要注意积累,有意识的去补充,也没有那么难。

在校生好好学习很有必要

仔细看一下上面图中左边的这些知识,正好对应计算机专业大学里的几门课程:

  1. 数据库工程:其中包括数据库的原理,SQL语言,MySQL等。数据库和SQL分不清楚,Microsoft SQL和SQL Server分不清楚的直接就暴露了这方面知识极其欠缺。
  2. 网络工程:学校里学的网络还是很重要的。但讲的太全面,缺乏重点。比如HTTP协议可能是一带而过的,但在这工作中很重要。这就需要自己再加强。
  3. 操作系统:操作系统是学校里非常重要的课程。也是理论讲的偏多,实践缺少。这也要自己加强实践。但这些理论也很重要。
  4. 数据结构:数据结构自然也是非常重要的科目。

在上大学的时候也许或觉得这些科目很无聊,但他们很重要,是区分专业和非专业的重要方面。对你能否更深入的走下去也有很重要的影响。

当然这些还不够,你还需要多做几个项目,多锻炼一下,再补充一些行业知识和实战能力。但在校期间,首先应该先学好这些非常重要的基础知识。

有些大学的课程作业也是很接地气的,很有用的,建议认真完成,不要随便糊弄完成。很多人来我的群里直接付钱找人代写课程作业,土豪归土豪,建议还是自己完成吧。

我印象很深的两个课程作业,给大家分享一下:

  1. 数据库课程作业:自己实现一个MiniSQL数据库管理系统。完成了这个作业,你对数据库的存储,SQL语言的理解不深都难。
  2. 软件工程的作业:自己实现一个简单的浏览器。这个作业对HTTP,HTML,软件设计等要求都很高。

如果再补充一门学问,那就是「设计模式」

本文开头讲的MVC严格来说算是框架模式,但也可以算是设计模式的扩展。

设计模式的书很多,其中最著名的设计模式的书是:GoF的23种设计模式。不过提前警告一下:这本书很难懂,可以先看:大话设计模式。

随着经验的增加,我越来越觉得模式的重要性。建筑设计有自己的模式,算法有算法的模式,软件设计有软件的设计模式。掌握了这些模式你就是高手,你就是行家。

总结

说了这么多,不想给大家泼冷水,说几个结论:

  1. Python不难找工作,而且专业的开发岗越来越多。
  2. 但只会Python语言本身不够,要有意识加强补充周边知识。

信心还是要有的,也许你不加强也能顺利找到工作,那恭喜你了。但要在程序员这条路上走的更远,这些知识是很有必要的。

我对周边知识的重要性排序:

  • 第一梯队:
    • 「HTTP协议」 - 学习难度中等,找对资料,几天到一个月足够了。HTTP和Web服务器知识是关联的。
    • Web基础 - 学习难度中等。
    • 数据库基础 - 这个入门不难,但是水很深。涉及到的知识,实战细节和经验都很多。是需要一直努力学习的内容。
    • 算法与数据结构 - 这个博大精深,慢慢加强吧。
  • 第二梯队:
    • Linux命令,操作系统的其他知识。基本的操作也是简单的,有两周就够了。但是操作系统的总体知识就博大精深了,多线程,多进程等其实都属于这个范畴。
    • Web服务器,其他网络知识。
    • 框架,设计模式等。

好了,今天跟大家分享一些个人看法和总结,希望对大家有帮助。

最后

如果对Python感兴趣的话,可以试试我的学习方法以及相关的学习资料

Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python必备开发工具
 

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、Python练习题

检查学习结果。

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

大家拿到脑图后,根据脑图对应的学习路线,做好学习计划制定。根据学习计划的路线来逐步学习,正常情况下2个月以内,再结合文章中资料,就能够很好地掌握Python并实现一些实践功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值