起因一前几天,去个商场逛逛,突然有个小伙子给我一张传单,写着“人生苦短,我学Python”,就像从前“华尔街”英语一样……接下来,我发现很多手机里电脑上关于“学Python”的广告……
从内心来讲,我觉得大家都学习一下编程思维是好事,毕竟现在讲“全民编程”了,但是似乎大家对Python给予了太高的期望。似乎大家都在传递一个信号“学Python”,就有更好的职位,就能找到好工作!(写这篇文章的目的,是希望大家正确认识学Python本身,并不是故意黑Python,我也黑不了)
起因二由于工作的原因,每天也会查看大量求职者投递过来的简历,很多都是应届毕业生。不管什么专业的,都会写一下“学习过Python语言”,或者参加过类似培训。见得最多的,“有说自己做过一个爬虫的”,“有说用Python写过神经网络的“,”有说用Python处理数据的(其实就是简单表格)“……
由于大部分学习时间都很短,很多都是现成的模拟和照搬,对招聘者来说,最多就是认为你“兴趣面挺广”最多认为你还“挺爱学习”,但他不会指望你通过Python能做什么事儿。实际上也根本做不了什么,前端做不了,后台也不可能让学了几周Python的同学去做(现在企业真正用Python做后台的并不多,主流还是JavaPHPNodeC/C++GoR等)。处理表格Excel可能更方便,人工智能看上去高大上但是一般公司用不上(如果用也是用现成的模型或接口),至于爬虫用得到的公司就更少了。
我们先说一下Python的历史(上世纪90年代初就有了)
pythonhistory一句话,Python作为一门语言,其实很早就有了,实际上比Java还要老一些,我倒不是觉得活得悠久的语言有什么不好,只是纳闷为什么最近会这么?
其实,主要还是归功于人工智能的兴起,Python提供了大量的库和工具包方便开发人工智能(特别是神经网络)相关产品,由于这个优势,Python伴随着人工智能的兴起而快速发展起来。
人工智能从五六十年代开始,已经经历过几次高潮和伴随而来的低谷。而最近这一次,资本市场投入很多很多钱!使得“国内很多学校开设人工智能专业”“很多类似方向的老师都说自己是搞人工智能的”“凡是声称懂人工智能的毕业生可以拿到天价薪水”……似乎全民都开始搞人工智能了,每个项目每个产品都要和人工智能沾点边,不然就OUT了。
在我看来人工智能也是一个“基础行业”,需要大量底层的研究,需要在基础的算法/芯片上获得突破才会带来下一波红利(这一波基本已经释放差不多了)。其实也就是说用Python调用一下神经网络几个标准函数或算法,和你做“神经网络算法的Research”没什么关系。
总结一下,Python的几个坑:
坑一:“以前用Excel要几个小时完成的,用Python几分钟搞定“经常看见这样的广告
作为表格引擎Excel也许运算速度比Python慢,但是就日常数据处理方便性来说,Excel已经足够强大,里面也有大量的公式和算法,如果你不是很熟悉想要写Python代码,然后跟Excel这个现成工具去比工作效率,这个就比较扯了。
坑二:学了Python好找工作,薪水都很高
如果是做工程师,我找过一些招聘网站,前端都不会用Python,后台用Python也是不到1/10(小众语言),排前面的还是Java那些。所以,职位就没多少,工作自然没那么好找。
坑三:排名很高,作为爱好和学校学习的人多,和找到高薪工作还有很长一段距离
最近,Python全球范围内排名都很高,不是第一就是第二,确实很多人都感兴趣和学习,也可以在很多领域和方向派上用场。最主要领域:金融数据分析、人工智能、科学计算等,但是要在这些领域找到工作,学个把月的Python是没有用的。
当然,如果你是Python高手,那一切都另当别论。
我写这篇文章只是希望,很多学习Python的同学,能有一个恰当的预期,回归到理性上面来,不要被很多培训机构给忽悠了。
如果我建议,如果真要通过编程找到好工作,要么就下苦工,从算法/数据结构开始,选一门基础语言(C/Java)开始,至少弄个3年5年(这样才有竞争力)。要么就找iVX这些可视化开发工具学一下,一两个月就能快速掌握(毕竟不需要复杂的语法学习,就是拖拽开发),也能快速找到工作,至少从事外包接活,反正养活自己不成问题。