2019年,企业对Python开发人员有什么期望?
Python无处不在。
根据StackOverflow 2019 年开发者调查,它是世界上第二受欢迎的编程语言。
在过去的 4 年里,Python 一直是GitHub 贡献者中最受欢迎的第三大语言。
即使在CV Compiler,我们也使用 Python 作为简历处理引擎的核心语言。
我们对 Python 的热爱促使我们更进一步——利用NLTK和spaCy,我们创建了自己的文本分析工具。(如果没有它,你就无法阅读这篇经数据验证的 Python 编程入门指南。)
实际上,这就是我们努力的成果——作为一名 Python 开发人员,为了在 2019 年保持市场竞争力,你需要掌握的一套全面的技能。
2019年,要想成为一名成功的Python开发人员,我需要掌握哪些技能?
我们团队共同收集了 300 份 Python 开发人员的职位描述,这些描述来自 StackOverflow、AngelList、LinkedIn 以及一些全球快速发展的科技公司。我们从所有这些描述中提取了提及频率最高的技能,结果如下。(数字表示提及次数。)
除图表中重点列出的技能外,其他经常被提及的技能包括单元测试(32)、持续部署(30)、MongoDB(30)和面向对象编程(30)。如果谈到机器学习技能,最常被提及的是Pandas(29)、NumPy(24)、SciPy(15)和Scikit-Learn(11)。
当然,这些技能的必要性取决于你如何使用 Python。如果你是一名机器学习工程师,你就不需要精通 Django,以此类推。
请注意:这项研究反映的是就业市场的整体趋势,而非Python开发者自身的偏好。此排名可能与大多数开发者在工作中偏好使用的技术列表有所不同。如需了解更多Python相关见解,请参阅Python软件基金会发布的《 Python开发者调查》或GitHub的Octoverse项目。
专家们对当前的Python发展趋势有何看法?
如今,熟悉 Git、GitHub 和 Travis 等持续集成工具已成为开发人员的标配。测试,最好使用 pytest 并(合理地)使用 unittest.mock,对于一个运行良好的项目也至关重要。从 Docker 到 LXC,再到 AWS、Azure、Kubernetes 和 OpenStack,容器和虚拟化技术在开发和部署中都非常“常见”。能够创建构建工件,部署基础设施的测试版本,对其进行测试,然后部署到生产环境,并在必要时回滚到之前的版本,所有这些操作都应该像按按钮一样简单。Django
仍然像以往一样流行,掌握这项技能非常实用。Flask 和 SQLAlchemy 也是同样强大的组合,但需求量不如 Django 那么高。至于数据科学,它是 Python 世界中一颗冉冉升起的新星。Pandas、Numpy 和 SciPy 以及 Jupyter Notebook 都是非常热门的工具。数据库知识在这里也必不可少。——
Michael Foord,Python 核心开发人员。
“mock”(现为 unittest.mock 标准库)的创建者
Twitter |个人网站
这项研究清晰地展现了开发领域的发展方向。AWS、Docker、云计算和Kubernetes虽然出现时间不长,但已经成为程序员日常工作的一部分。这并不意味着作为一名Python开发者,你需要了解这些技术的全部细节,但你每天都会接触到它们。
机器学习在十有八九的情况下都需要用到Python,但它与Python完全是两个不同的领域。如果你是一名Python开发者,你不需要掌握机器学习技能。但如果你选择机器学习或人工智能,那么你肯定需要Python。 “微服务”这个词与Go、REST和API在图上非常接近。然而,这个看似不起眼的词却在悄然改变着整个市场
。我建议你开始花时间去了解它所带来的影响。Mikhail
Kashkin,
系统架构师和Python专家,前谷歌
员工,乌克兰PyCon组织者。YouTube | GitHub
对于一般的 Python 开发者来说,我认为他们并不需要掌握某一项特定的技能才能脱颖而出。数据科学、DevOps、Web 开发和自动化虽然是完全不同的领域,但都属于“Python 开发者”的范畴。然而,我的客户现在比以前更频繁地向我咨询数据科学工具。他们最常问的是 Pandas,其次是 Jupyter Notebook。Trey Hunner
,
Python 和 Django 团队培训师,
Python 软件基金会前任总监。Twitter |
网站
过去一两年我参加了一些面试,确实有很多雇主都希望求职者拥有AWS或云计算经验。此外,我也看到数据科学/机器学习领域发展迅猛。而且,正如这项研究已经表明的那样,如果你会Web开发,那也很有帮助。
迈克·德里斯科尔,Python书籍作者、博主,Real Python
教程团队成员。推特|博客
为了提升我的技能,我应该使用哪些资源?
为了帮助您,我收集了一些资源,这些资源既受到我们团队的认可,也受到世界各地 Python 社区经验丰富的开发者的推崇。
Python 相关资源(包括 Web 开发):
- RealPython是一套全面的 Python 教程。(他们还有一个非常棒的YouTube 频道,由Dan Bader创建。)
- Python Weekly——一份精选的每周新闻简报,内容包括文章、版本发布和招聘信息。
- 这个网站包含了丰富的Python资源,面向经验丰富的开发者、工程师和科学家。(由Kenneth Reitz创建。)
- Sentdex YouTube频道拥有大量关于Django、机器学习、Python与金融等方面的播放列表。(由Harrison Kinsley整理。)
- Miguel Grinberg在他的博客中发表了约 80 篇关于 Flask 的文章。
数据科学、机器学习和人工智能:
- 关于数据科学和人工智能实施的技术说明。内容涵盖AWS和Linux等主题。(作者:Chris Albon。)
- Keras 是 Python 中最流行的神经网络库之一,它还有一个很有用的主题博客。
- 一套面向希望掌握科学 Python 编程的用户的 Scikit-learn 教程。
- 计算机视觉和深度学习资源指南,作者:Adrian Rosebrock。
我应该在网上关注哪些人才能随时掌握最新动态?
以下是我在 Twitter 上乐于关注的一些 Python 程序员:
- @kennethreitz — Pipenv 和 Requests 的创建者。
- @dabeaz — Python Cookbook 的作者。
- @raymondh — Python 核心开发者。
- @1st1 — Python 核心开发者,EdgeDB 创始人。
- @adrianholovaty — Django 的联合创始人。
- @jacobian — Django 的联合创始人。
- @pydanny — 《Two Scoops of Django》一书的合著者,开源程序员。
- @ixek — 微软云开发者倡导者。
- @karpathy — 特斯拉人工智能总监。
- @AndrewYNg — Coursera 联合创始人。
熟能生巧,所以,列出你想学习或提升的技能,然后开始向新的高度迈进吧!希望这份指南能帮助你提升IT职业生涯!
本文最初发表于CV Compiler的博客,CV Compiler 是一款面向技术专业人士(尤其是 Python 开发人员)的机器学习简历优化工具。如果您需要一份完美的简历,请点击此处。立即查看您的简历评分。(完全免费!)
文章来源:https://dev.to/stetsenko_me/what-do-companies-expect-from-python-devs-in-2019-21k7