您当前的位置:首页 > 电脑百科 > 程序开发 > 程序员

2020 年开发者应该关注的五大技能

时间:2020-05-06 10:25:18  来源:  作者:
2020 年开发者应该关注的五大技能

 

2020 年的今天,如果你是一名开发人员,那么你可能看到一些包含大量技能要求的职位招聘描述。以下面一份 Indeed 网站上的真实招聘要求为例,它列出的技能不少,甚至阅读期间都要中途休息一下。

职位描述:

  • 有使用 Jenkins 和 Terraform 管理 AWS 基础架构的经验;
  • 有 AWS 服务的相关经验(ECR、Lambda、SQS、CloudWatch、Route53);
  • 用 Elixir、PythonJAVA 进行过实际编程;
  • 熟悉支持工具(Docker、Git、Bash、AWS CLI);
  • 具有通过 ETL 和 asynchronous pipelines 进行生产环境开发的经验;
  • 熟悉关系型数据库(Postgres/RDS)和 nosql 数据库(DynamoDB);
  • 具备积极参与设计复杂系统的能力;
  • 熟悉生产环境网络运维者优先;
  • 了解机器学习原理,拥有 NLP 经验,有 Kaggle 竞赛经验者优先;
  • 有数据科学开发库(Scikit、NLTK、Gensim、TensorFlow、Keras)的经验。

你具备所有这些技能吗?

显而易见,这份工作是在寻找一个“多面手”,既是软件工程师、数据工程师,又是机器学习工程师和 DevOps 工程师。从某方面说,这个要求有点“荒谬”。

现在的软件工程师真需要掌握所有这些技能吗?说句实话,差不多。这其中的很多技术都只是第三方工具。如果你是一名软件工程师,那么你很可能在某些情况下用过这些技术或与之类似的技术。

在我看来,招聘经理认为你不能胜任工作,仅仅因为你用过 MySQL 但从未在 RDS 上使用过 MySQL,这非常荒谬。总而言之,幸好有 AWS、Docker、NagIOS 等技术和服务,现在设计、开发、部署和监控软件的工作变得更简单。

所以,现在的软件工程师需要与时俱进,保证自己的技能不会落伍。以下是开发者应该在今年开始学习的五项技能。

1. 云服务

2020 年开发者应该关注的五大技能

 

不仅大企业在使用云服务,现在连小型企业都在用云。云服务不仅有助于减低企业整体运营成本,而且能帮助客户更高效地处理运维工作。

然而,随着这项新技术的出现,开发人员也需要学习相应的新技能。但是,要跟上这个领域的所有技术趋势,还要学会用各种方式来运行代码、存储数据和托管基础架构。这看起来是一件不可能的事。

很多时候,我们感觉自己终于摸清一个云服务,却发现有另一个云可以替代它,或者服务又添加了新功能。既然如此,我们至少应该了解哪些技术?

AWS、Azure 和 GCP:提到云服务,AWS 在美国拥有最大的市场份额,它可以说提供了最广泛的服务种类,从 IaaS、PaaS 和 SaaS 无所不包。它提供了 S3、RDS、 Redshift 和 DynamoDB 等数据存储服务,以及 EC2 和 Lamda 等计算服务。虽然 Auzre 和 GCP 仍然落后于 AWS,但是它们的使用量都在快速增长。这就意味着开发人员需要掌握更多技能。

2. 容器化

2020 年开发者应该关注的五大技能

 

在软件世界,熟悉容器变得非常重要。简而言之,容器将代码及其依赖项打包,以便可以在不同的环境中可靠、高效地运行。

容器化是指将一个应用程序与它需要的库、依赖关系和配置文件打包在一起,以便在多个计算环境中有效运行。

无论是本地环境还是云环境,都可以轻松地部署基于容器的应用程序。市面上有很多容器技术的代表,最突出的要数 Docker。如果你想了解更多关于 Docker 的信息和 Kubernetes ,你可以看看这个 YouTube 视频。

3. 应用程序和服务器监控(Nagios)

2020 年开发者应该关注的五大技能

 

对每套系统、每个网络和每一片基础设施进行监控,这是非常困难的,尤其考虑到现在的应用程序被用在许多不同类型的硬件上。

Nagios 监控是一种开源技术,它可以帮助监视 DevOps 中的应用程序和业务流程。Nagios 几乎可以监控一切,从 HTTP、SSH、SMTP、内存使用、微处理器负载到服务器等。只要你能说出来个类型,Nagios 就能进行监控。

在 2020 年,开发人员将需要使用 Naigios 这样的框架,以打造一个全天候的监控系统。这意味着我们需要熟悉像 Naigios 这样的工具,才能成为一名高效的开发人员。

4.Jenkins,Bamboo CI/CD

2020 年开发者应该关注的五大技能

 

许多工程师新人可能不知道,一个没有 CI/CD 的世界是什么模样。但是,这并不是说很多传统的 deployment shops 不存在了。然而,使用 CI/CD 等辅助工具的趋势将持续增长。

很多公司都在研究或使用关于 CI 的第三方工具,其中有两个很好的例子就是 Jenkins 和 Bamboo。Jenkins 是一个开源工具,而 Bamboo 则是一个商业工具。

Bamboo 提供了很多功能,这些功能通常取决于你的预算,并且很容易与 Jira 和 Bitbucket 集成。但是,这三者的结合创建了一个可以帮你轻松部署代码,并提供检测代码中的错误等功能的 CI/CD 系统。

Jenkins 是一个持续集成(Continuous Integration)开源服务器,它具有编排和执行一系列操作的能力。Jenkins 可以在 JAVA 的帮助下执行,并具有监视项目和检测可能出现错误的能力。Jenkins 的检测率相当高,这也是其迅速普及的原因之一。关于这些工具的更多知识请参考此处。

5. 数据库

2020 年开发者应该关注的五大技能

 

作为一名开发人员,了解数据库和数据存储系统的各种选项是个人技能的一个重要组成部分。选择如何在后端支持应用程序的决策会显著影响性能和功能。

长期以来,大多数应用程序的数据库选项都局限在应用程序端的关系型数据库上。然而,随着服务器和计算机的存储能力和性能提升,现在已经出现很多新型的数据存储系统。

DynamoDB

例如,DynamoDB 是一个与标准 MySQL 实现非常不同的数据库。DynamoDB 使用它所称的属性、条目和表作为用户经常使用的核心部分。它允许开发者自由使用非结构化数据集,这种数据集并不总是需要相同的值。

此外,还有像 Hadoop/HDFS/Hbase 这样的技术栈,它们也允许更少的结构化和更分布式的数据存储。所有这些只会让开发人员的工具箱变得更加复杂。

传统 RDBMS

就算有这么多的新型数据系统,也并不意味着你可以忽略传统的 Mysql 和 SQL Server 等关系型数据库。使用 RDBMS 为应用程序设计数据层仍然是一种非常流行的方法。所以不要忘记提高 SQL 和数据建模技巧。

编程语言

作为一名程序员,你仍然需要知道如何编程!但是用哪些语言呢?

编程语言是开发人员赖以生存的基础。大多数开发人员在这个行业工作几年后就已经掌握多种编程语言。

如果你是新手,那么你可能需要研究 Python 和 JavaScript。这两套语言在大多数工作中都被广泛使用。当然,这并不是说,像 Java 和 C++ 这样的语言已经没有自己的位置。

至于工作岗位的需求,你可以从下面图表中看到,需要 Python 和 Javascript 的工作岗位都在增加。

2020 年开发者应该关注的五大技能

 

来源

为什么选择 Python?

之所以每个人都倾向于 Python,是因为它既简单又很擅长处理大多数问题。现在,它已经不允许通过 C 或 C++ 进行调优,也不能作为原生 Web 语言。然而,它在各种事情上都处理的还不错。幸好 google 在诸如 Tensorflow 库等方面的工作,Python 经常与人工智能、机器学习等最新技术相联系。

如果想快速编写一个网站,你可以很容易地使用 Django 和 Flask 来作为后端。这比试图配置一个 Spring 框架要容易得多。Python 很容易支持并行计算,这减少了组织数据的麻烦。而 Pydoop 是一个 Python 的集成库,可以让我们在 HDFS 集群的帮助下处理数据并表示出来。

随着更多支持 Jupyter 笔记本工具的开发,Python 在数据分析领域也占有一席之地。在我看来,Python 如此流行主要归于其多功能性。

无论你是数据科学家还是开发人员,你都能使用 Python 作为开发网站或机器学习建模的工具。针对你想学的东西,网上有很多的免费资料。例如,这里有一个很棒的 YouTube 播放列表。

React.js

2020 年开发者应该关注的五大技能

 

React 怎么样?无疑,它让前端开发变得非常简单。例如,使用 DOM API 可能是一件痛苦的事情。不过,React 为开发人员提供了在虚拟浏览器上开发的能力。本质上,这个虚拟浏览器是开发者和真实浏览器间的联络器。

关于 React.js 的另一个著名概念是可重用组件。在 React 中,应用程序由所谓的组件构成。有许多不同种类的组件,目的都是创建可以很容易移植到应用程序中的代码片段。

最后,React 的单向数据流非常好用,因为组件不允许在 ReactJS 中更改,而且组件中的数据具有相同属性。当 ReactJS 监听从上游流出的数据时,组件会平稳运行并保持同步。这个特性实际上让 ReactJS 非常适合构建用户界面。

小结

说实话,软件开发领域,新技术不断出现,开发者要学习的东西越来越多。有时候,软件开发人员的职位描述看上去要一个人能干一个开发团队的活,从 DevOps、数据库管理到后台和前端开发,甚至无所不包。



Tags:开发者   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、Java 线上诊断工具 ArthasArthas是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊断工具。工具的使用场景:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我...【详细内容】
2021-11-17  Tags: 开发者  点击:(35)  评论:(0)  加入收藏
作为继苹果ios、安卓系统后的第三个主流操作系统,围绕华为鸿蒙系统的生态建设一直备受各界关注。自今年6月HarmonyOS 2正式上线,截至今日,已有超过1.5亿智能机、平板、手表、智...【详细内容】
2021-10-25  Tags: 开发者  点击:(34)  评论:(0)  加入收藏
谷歌离推出Play Store应用程序的新数据隐私部分又近了一步。应用程序开发人员现在可以通过谷歌在Play控制台的新 "数据安全表 "填写相关细节。该公司表示,所需信息将从2022年...【详细内容】
2021-10-20  Tags: 开发者  点击:(57)  评论:(0)  加入收藏
本文首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Lin...【详细内容】
2021-08-26  Tags: 开发者  点击:(79)  评论:(0)  加入收藏
作为独立的开发者而言:生活在这个国内的大环境中非常的不容易,与国外的独立开发者相比真的是可怜很多。国内的人都喜欢免费,破解版的东西,即使让用户支付1分钱去使用,都是一件很...【详细内容】
2021-08-17  Tags: 开发者  点击:(91)  评论:(0)  加入收藏
华为开发者大会已经结束不久,我想大家应该都知道鸿蒙系统是基于什么语言开发的了。实际上大部分操作系统的开发基本上离不开C/C++、汇编语言、Java这三种编程语言。不过,我相...【详细内容】
2021-06-24  Tags: 开发者  点击:(170)  评论:(0)  加入收藏
IT之家 6 月 16 日消息 kernel.org 的管理员 Konstantin Ryabitsev 近日宣布,将为 Linux 内核开发者提供专属的 @linux.dev 邮箱。该邮箱域名是和 migadu 进行合作,帮助 Linux...【详细内容】
2021-06-16  Tags: 开发者  点击:(102)  评论:(0)  加入收藏
今天JetBrains正式发布了Python开发工具PyCharm 2021.1最新版。码农老杨第一时间安装体验,新增的CodeWithMe可以和好基友边撸代码边视频了。WSL的增强支持可以直接在WSL里跑...【详细内容】
2021-04-09  Tags: 开发者  点击:(379)  评论:(0)  加入收藏
作为一个相当完善的移动操作系统,Android 系统涉及到很多组件。如果宽泛的来讲可以分成两大部分,应用生态和操作系统本身。而对于开发者来说,所选择的编程语言会根据正在开发的...【详细内容】
2021-04-07  Tags: 开发者  点击:(286)  评论:(0)  加入收藏
本文参考最新发布《2020-2021中国开发者调查报告》,文内包含技术热点‘未来趋势,意在全面深入地了解中国开发者群体的整体现状,应用开发技术以及工具。纵观去年,在人工智能...【详细内容】
2021-04-06  Tags: 开发者  点击:(274)  评论:(0)  加入收藏
▌简易百科推荐
JAVA开发工程师(北京)本科 3-5年经验 面议 (招1人)岗位职责:1.负责我行应用系统的设计,完成软件编码工作,负责管理代码设计规范等工作;2.根据应用需求分析说明书,评估需求研发的可行...【详细内容】
2021-12-27  just do丶IT公众号    Tags:国企   点击:(1)  评论:(0)  加入收藏
今天聊聊编程的本质。程序就是数据结构+控制+逻辑,程序员编程工作的本质是翻译,翻译机要来了,程序员怎么办?黑客帝国中的程序黑客帝国4就要上映了,不知道前三部你看懂了么?值得多...【详细内容】
2021-12-17  博士聊IT    Tags:程序员   点击:(8)  评论:(0)  加入收藏
梦醒之后,每个人对于这份职业的未来、互联网行业的未来,以及更重要的,自己的未来都有了更现实的判断 文 | 祝颖丽编辑 | 黄俊杰一个生于 1986 年的人,他所走过的前半生:从出生起,...【详细内容】
2021-12-03    财经杂志  Tags:程序员   点击:(15)  评论:(0)  加入收藏
前些天在头条看到一个八二年的哥们,述说自己找工作屡次被拒的问题,在网上引起了广泛的讨论,这件事给我留下了很深的印象,因为这哥们和我同是程序员,都人到中年,上有老下有小。唯一...【详细内容】
2021-12-01  云南贤哥在深圳    Tags:程序员   点击:(20)  评论:(0)  加入收藏
很多读者都问过一个问题:程序员如何实现高速成长?之前也写过相关的文章,强调的主要是夯实计算机体系基础知识。 再说另一个诀窍:多看经典开源项目,这些项目大多是众多顶尖程序员...【详细内容】
2021-11-30  findyi    Tags:程序员   点击:(14)  评论:(0)  加入收藏
近日,一位45岁的网民在中国政府网留言求职,引发关注。该网民自称是一名软件开发人员,今年45岁,精通各种技术体系,“而我辞职回家半年后再回来寻找工作机会的时候,却发现连个面试...【详细内容】
2021-11-17  郭主任    Tags:程序员   点击:(42)  评论:(0)  加入收藏
即使在安全技术取得进步之后,网络犯罪仍在不断增加。据统计,网络犯罪每分钟给企业造成约 290 万美元的损失。主要是因为新技术不断涌现,难以维护安全。随着网络威胁的增加,网络...【详细内容】
2021-11-04  章大千    Tags:编程语言   点击:(40)  评论:(0)  加入收藏
北漂小伙李强(化名),在北京互联网大厂工作7年,月薪3万,离职回老家开摄影店,亏了200万。李强出生于山西一座名不经传的小城市,互联网专业大学毕业的他,没有听父母的劝言回到家乡考公...【详细内容】
2021-10-29  霸王课  今日头条  Tags:程序员   点击:(51)  评论:(0)  加入收藏
程序员是青春饭,这在国内似乎是公认的。所以很多公司不愿招大龄程序员,很多程序员也“知趣”地及早转型。有的做管理,有的做架构,我还见过改行卖保险的。总之,年龄大了不想敲代码...【详细内容】
2021-10-27  编程的艺术    Tags:   点击:(29)  评论:(0)  加入收藏
软件工程专业有Web开发、移动终端开发、大数据开发、计算机系统工程师、视频开发工程师、计算机软件应用工程师等就业方向。第一,Web开发。Web开发包括前端开发和后端开发。...【详细内容】
2021-10-19  辰新   企鹅号  Tags:软件工程   点击:(79)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条