人生苦短,我用Python。
与人工智能捆绑在一起的Python,似乎一直不缺的就是热度。
2019年1月TIOBE排行榜显示,由于全球流行度在过去一年中涨幅最高(3.62%),Python一举获得了2018年度编程语言的称号。
事实上,过去几年间Python一直都被寄予厚望,有人认为它最有望超越Java的地位,成为主流编程语言霸主。
如果大家如果在自学遇到困难,想找一个Python学习环境,可以加入我们的Python学习圈,点击我加入吧,会节约很多时间,减少很多在学习中遇到的难题。
(截至2019年3月份,TIOBE的Python编程社区指数走势图)
国际社区上Python可以说是形势大好,前途一片光明。但是在我国国内,仍然还是还是处于两个极端,一方是看好,一方是不看好。那么python到底怎么样呢?
1
市场乐观
从数据表现来看,近年Python工程师在人才市场上整体趋势是乐观的。
2016年到2018年期间,每年平均面邀薪资都是稳步上升,人均面邀数从2016年的6份,逐步小幅缩减到了2017年的5.6份和2018年的4.2份。
横向与其他技术岗位相比,Python这样的薪资涨幅也算得上是表现突出。下图显示,Python在2018年的平均面邀薪资首度突破了40万大关,同比涨幅在所有技术岗位中排名第三。
2
怎样才能高薪
Python在中国曾经历过三次风潮。第一次是 2007 年的搜索引擎浪潮,Google 进入中国市场,这家明星公司里对Python高普及率也吸引了人们的关注;第二次是2009 年到 2012 年的中国互联网创业潮,许多新兴公司急于快速搭建网络架构,开发环境友好的 Python成为许多工程师首选。第三次则是从2015 年初至今,深度学习概念带火的技术潮流。
在这三次风潮中,中国程序员展现出了对捕捉技术风向的饥渴和超强的学习能力。Python与近年走俏的GoLang以及众多前端框架等技术一样,尽管都以海外为诞生和发祥地,但总能被国内的技术工作者在短时期内掌握,并利用庞大的互联网市场人口进行检测。
①工作年限
| Python人才供给偏年轻化,资深程序员仍然稀缺。
在求职者的工作年限上,近年的人员构成变化很小,python工程师仍是年轻人的天下:近半数工程师分布在3-5年经验区间,6年以上的资深人员占比不到三成。
同时,不同工作经验的求职者获得的面邀机会和薪资区别也较为明显。一方面,姜还是老的辣,越资深的员工的面邀年薪越高;
②学历:优中选优,低学历人群的市场空间被挤压
| Python工程师求职者的整体学历水平,近年有所提升。
③技术背景
| 复合背景的Python程序员更吃香。
从求职者的以往工作背景来看,“单一”的Python程序员并不算多,大多数人拥有复合背景。
简历中的最近一份工作经历中有Python开发经验的人仅占26%,加上算法和数据工程师这两个与Python密切相关的岗位,一共也才34%。
相比之下,从事后端、移动端、前端等非Python语言开发岗的程序员最多,占比高达36%; 甚至有20%的候选人来自跨度相对更大的运维、测试、安全和非技术岗。
Python求职者之所以有这样「兼容并包」的技术背景,客观原因之一就是它更简明易学、可读性好,易维护,学习成本和时间相对较短。
3
优秀的工程师特质
Python岗位,以后端开发和架构为主,以算法和数据挖掘为辅,并有少量前端、全栈开发岗,以及运维等。
Python语言本身所具有的优势,决定了从事Python学习的开发工程师相较于其他编程语言,拥有更多岗位发展选择。
将各个企业对优秀Python人才的期望,分类总结出了以下共性。
①Python后端开发
· 编程语言:具备2年以上开发经验,至少熟悉一种开发语言:Python、Java、PHP、C/C++。
· 服务框架:熟悉常见的Python框架,熟练掌握Django、Tornado、Flask等其中的一种 。
· 数据库:熟悉常见的数据库,至少熟练掌握Mysql,Mongodb,Redis其中一种;熟悉大规模数据存储及分析系统优先。
· 熟悉Unix/Linux操作系统,有良好的编码规范。
对web后端技术架构有全面理解,熟悉 TensorFlow 等机器学习框架,是加分项。
②算法、大数据、爬虫类
| 编码能力强,内功扎实;熟悉linux开发环境,熟悉Python,至少精通 C/C++ 或 Java 中的一种编程语言。
· 熟悉爬虫机制,有分布式爬虫开发经验者优先 ,熟悉Scrapy / Redis / MongoDB / MySQL 者优先 。
· 了解多种网络通信协议,熟悉 Thrift RPC 或 gRPC 加分。
· 熟悉机器学习的常用算法,有足够强的业务理解力,数据思维好。
· 数学专业的硕士或博士,有一定数学功底,加分。
· 有图像识别、深度学习、机器学习、自然语言处理等相关经验,大大加分。
③Python前端开发/全栈开发
· 熟悉Python、Java、PHP、C#、Shell等语言中的至少2门,熟悉Linux操作系统。
· 与大部分前端的招聘需求类似:HTML5 / CSS3 / JavaScript 基础扎实,精通 ES6 / jQuerydejs 等,熟悉前端框架(Vue/ Angular /React)和原理。
· 熟练掌握 webpack /gulp /rollup 等构建工具,有丰富的前端工程化实践经验。
· 掌握Tornado/ OpenERP / Django / Flask者加分。
· 熟悉 MySQL、PostgreSQL 等数据库,能编写调试 SQL 语句、存储过程,索引、性能优化者,是重要加分项。
其实各应用场景需要的知识结构有不少重叠之处,需要每位 Python 工程师根据自己的职业规划,有意识地构建知识体系和技能树。
有疑问加站长微信联系(非本文作者)