之所以从事Python是因为很不爽PHP的语法,虽然PHP被称为世界上最好的编程语言。于是,为了这个原因,付出了沉重的代价,失业了好几回。
身边有些人时不时总是会问我一些Python的技术问题,但是大多数情况下都是比较基础的。要不是近几年Python火了起来,说不定我真的转行送外卖了。
对于Python这么语言,可以当作一门兴趣或爱好来学习,但是若是想找到份好的工作还是谨慎为主,这也是为什么不建议你搞Python的原因。
Python学习热 VS Python就业市场广阔
Python流行起来实话说是意料之中的事情,只是没有想到它是那么的快。在的时候,实在无法忍受PHP那美元符号和分号的结尾,于是开始入坑Python。那时的Python,市面上只有寥寥几本的书籍可以参考。至于廖雪峰的Python入门教程,看了2篇就放弃了,写的实在太浅显。当然,后来他也写了些高级的教程,有兴趣的可以看看。
然而,Python仍然是门小众的语言。有多么小众呢?你可以上拉钩或BOSS直聘上搜索下,基本上一线城市除了北京、上海外,其他区域来来去去就那么10-20家公司,而且这些公司中80%都是创业公司。
曾经,我在1年中入职了2家Python的公司,前1家公司我才进去3个月就倒闭了。为什么呢?没人用它搞业务啊。
当前Python比较适合的业务主要有:数据分析、信息安全、系统运维、应用测试
运维就不用说了,现在基本都是自动化时代了。而数据分析中,说的最多的就是爬虫。实际上,它跟分析没有太多的关系。常见的反倒是一些报表的导出功能。再高级一些的就是什么大数据了。
对于信息安全,完全可以说是石器往青铜时代过渡。虽然有metasploit这样的大杀器,然而很多事情还待人为实现。
对于如下的一些业务还是谨慎使用:GUI开发
嵌入式开发
首先GUI开发,现在不是热门业务。即使有这业务,也只会是Windows的GUI,人家有MFC,跟你Python没有半毛钱关系。如果你要用PyQt5写个界面,还不如用Electron,人家内存管理方面做得反倒更好些。
至于嵌入式开发,还是老老实实学习C语言和汇编吧,不要指望Python能在里面帮上什么忙。当然,做做应用级别的业务,什么语言都是可以的。
对于Web开发,可以选择的余地就更多了。前有Java深耕市场多年,后有nodejs来势汹汹,下有Golang虎视眈眈。而Python在这个市场中能分到的梗真心不多,而且很大一部分都是Django带来的。
这几年Flask的流行,让不少人体会到了Python的简洁。然而,真的好用的还是Pyramid这个名不见经传的框架(仅本人自身观点,可以挖掘很多有意思的东西)。
理性的回归
是个疯狂的一年,资本的市场风起浪涌。相比,反倒平静了许多。理性的回归,资本也逐渐回归到正常。
有位哥们说他公司现在前端最火,他的Java都要退居二线了。随便随便1个3年的前端,动不动就要求薪资最低16K。如果放在16-完全是有可能的事情,而放在只能说是痴人说梦。
因此还是要多从自身的学习做起,多沉淀自身的技术。当然随便学习下技术之外的东西,一些赚钱的方式总是在你认知之外的地方。
你完全可以把学习Python当作一门投资,至于有没有回报就不要太看重了。
错入一行误半生
之所以不建议从事Python的问题在于,你以为从事Python是门轻松的事情,然而却选择了条艰难的不归之路。
不得不说,在从事Python的这几年中,每天都在朝九晚六中度过,还时不时要找点事情做做。虽然薪水没有Java大佬们那么高,然而生活还是过得有滋有味。为什么呢?Python效率高的。效率有多高,直接pip装个包就好了。
每次看到Java的大佬在用maven或grade安装依赖时,就默念还是pip好用,至少还有个进度条知道还需要多久能完成。至于npm就不谈论了,再说下去就会沦为语言之争了。
如果你觉得从事Python是件轻松的事情,那么混吃等死的日子就会到达尽头。有时你拍着胸脯跟BOSS说,这个东西我半天就能完成,结果现实狠狠的扇了你一个耳光。举个简单的例子,比如报表导出word是个很常见的业务输出,如果要在word中输出对应的目录,那真的是件可怕的事情。因为python常用的docx库根本不支持,而Java的POI及PHP的phpword是支持的,结果为了你的无知不得不加班。
然而,闲着无事又会激发自身的瞎折腾,不然没法对上级交待。这里也要庆幸总是遇到些好的领导,鼓励你多学习一点。于是,逐渐的就变成了1个打酱油的人物,救火版的存在。别人搞不定的东西,你花个半个小时完美解决。
什么Win32 API编程,GUI编程,数据报表、分析,打补丁甚至开发外挂样样都过了一遍。结果,2-3个人做了1个团队5-6个人的活,钱还是那么多。
当你从事Python久了,就会发现自己的知识是多么的零少。结果,又不得不推动着你系统的学习一遍,从而每天都在信息量巨大的日子中度过漫漫长夜。
举个最简单的例子,在股票技术面的分析中,什么K线分析是常用的方法。此时你用Python来折腾,是个很不错的主意。结果,你不得不学习点金融的知识来扩充。于是事情就开始变得不可控制和确定了。当然,结果会是有意思的。
曾经在某个夜里,自己通过Python分析的几只股票的组合的收益率达到了20%,我几近失眠了。我从来没有想到,事情是那么的简单且来的不容易。作为1个发了工资就还花呗的人来说,余额宝的收益率才3%而已。即使我1年存了1W,1年后利息也才300。而我用1-2个月的时间,却达到了20%的收益,那种欣喜有点佩服自己,只是后悔当初投入太少。
于是,后来慢慢了解到Python在量化分析中大有用途,虽然没有什么大公司用它进行实时交易。但是,不得不说Python是门很不错的分析语言。
Python作为1门学院派语言,只有在重点高校才会存在的语言,有其独到的先天优势。相比其他分析的工具,如R、Matlab,Python使用起来更人性化些。特别是开发外挂的时候,当然这涉及到黑产的部分内容,就不展开说明了。你会发现Python写起来的效果只是比易语言稍微复杂一些。
抛开信息安全的领域,虽然数据分析动不动就是7位数的收入。但是,要成为1位数据科学家也不是件容易的事情。之所以能给你这个价位的薪资,是因为你自身能提供对应的数据观点,换句话你能挖掘出大数据后的商机。这必定是个缓慢的过程。
很多人没有坚持到那么一步就放弃了,还不如早点找些收入稳定的渠道,避免错过机遇与财富的积累。如果能理性对待,清楚认知自己的当前情况,才知道该岗位是否适合自己。
结语
对于Python,建议可以学习下,但是如果想靠他找到份工作就要谨慎些。毕竟,决定你工资的是你的稀缺程度,如果没有业务的支撑,即使你再精通也是瞎扯。
如果期望高薪资的话,还是建议从事Java或C、C++的岗位。如果想快速找到工作,还是建议从事前端或PHP的岗位。而对于想多方面发展,想折腾自己的人,建议来混混Python的岗位,每天"混吃等死"。