聊聊过去十年新出现的一些开发职位

新闻
在我和老友的“古老”记忆当中,Web系统还都是通过“套模板”的方式来创建的,简单来说就是美工把页面用Photoshop之类的软件做好,然后变成HTML页面,Web开发人员把动态的代码添加进去,调试通过就大功告成。

前几天和老友聊天,我们都再次感慨互联网和软件行业发展之快,这些年出现了一些我们之前根本都无法想象的开发职位。

首先就是前端开发。

在我和老友的“古老”记忆当中,Web系统还都是通过“套模板”的方式来创建的,简单来说就是美工把页面用Photoshop之类的软件做好,然后变成HTML页面,Web开发人员把动态的代码添加进去,调试通过就大功告成。

这里根本没有前后端之分,都是现在的后端程序员在折腾,页面的一些炫酷的效果也是后端程序员通过调用类似jQuery之类的类库来生成的。

当我***次听到前端这个概念的时候,心里是打了一个问号的,不就是JavaScript, CSS,HTML吗? 还能搞出什么花样来?

没想到的是前端和后端这么快地分离了:后端专注于提供数据, 前端专注于交互,快速响应UI变化。

[[221018]]

现在看来对前端程序员的要求是非常高的:

  • HTML/CSS/JavaScript
  • 层出不穷的开发框架,Angular JS, React JS, Vue......
  • 模块化开发,项目构建
  • 代码质量/风格
  • 单元测试
  • 自动化测试
  • 跨浏览器测试
  • 各种调试工具
  • 版本管理
  • SEO
  • 文件压缩合并
  • Web安全
  • 移动Web
  • 可视化的图形图表,动画
  • ......

要求的技能这么多,薪水肯定也水涨船高了。

第二个就是App开发。

我在10年前还学过诺基亚的塞班系统的开发, 那叫一个麻烦,我甚至觉得诺基亚就是为了提高准入门槛,故意刁难开发者。

然而,乔布斯的苹果开启了移动互联网时代以后,一切都变了,守旧的诺基亚像断崖一样跌落,迅速消失。

无论是App Store还是最早的Android Market , 无不期待着大量的App入驻。

这直接导致了一个新的开发岗位--App开发--的无比繁荣, 在***时期,每个公司都想要自己的App, 但是没有足够的人去开发啊 !

老友感慨说:你不知道最热门的时候想招聘个Android/iOS开发有多难,薪水多高!!

国内培训机构趁势忽悠很多人入坑, 成批地推出了大量Android和iOS程序员。***形成了一个尴尬的局面: 初学者太多,抱怨工作不好找,而公司要求的中高级开发者又太少,抱怨招不到人。

第三个就是运维

我刚毕业的时候, 做的系统相对简单,通常只是部署在一个机器的一个软件组件上,部署的时候就是往一个机器上复制文件,开发人员轻松兼任。

现在的系统越来越复杂,从技术上看,使用的软件组件越来越多,像什么ngnix, keepalived, HAProxy, redis , mysql ,elastic search,rpc框架,分布式文件系统,cdn...... 等等,还经常需要搞高可用的集群,主从备份等等。光是把一个系统搭建起来就很不容易。

从业务上看,把所有的东西放在一起也不可能了,业务也做了分家,放到了不同的机器上,或者虚拟机/容器中。 由于业务之间还需要互相调用,这又涉及到复杂的配置。

数量众多的业务系统+ 数量众多的软件组件构成了一个巨大的挑战, 这些系统和软件组件需要安装、配置、维护、监控,单靠开发人员兼职折腾是不太现实了。

于是运维人员就横空出世了!

运维要做的事情上面已经有所描述,可以看出对运维的技能也很高:

  • Linux 基础
  • 各种软件(Ngnix, Redis, Mysql等)的安装和配置
  • 网络基础服务: DNS, DHCP, FTP......
  • 各种自动化的运维工具
  • 安全
  • 各种脚本语言
  • ......

在机器众多的情况下,手工根本是搞不定的, 关键点就是要做自动化, 自动化的安装,自动化的部署,自动化的监控和分析。

第四个是大数据相关的岗位

刚工作那会儿,看到一个表里几千万行的记录,感觉很吓人,觉得不可能超越了。

没想到的是这才过了几年, 拜互联网尤其是移动互联网所赐,现在的互联网系统都要面对海量的用户和海量的数据, 数据量之大,导致传统的数据库和文件系统竟然无法存储,传统的单机竟然无法在合理的时间内处理!

你听音乐的时候,读电子书的时候,上网浏览的时候,聊天的时候,使用手机的时候,网上购物的时候....  无时不刻都在产生数据,再加上手机拍的照片,聊天记录,很难想象你在网上的活动不产生数据的。

数据的存储必须分布式,数据的多样化让关系型数据库举步维艰。数据的处理也必须想办法分布式,对海量的数据进行分析、“挖掘”, 找出其中的价值, 这就导致了大数据相关系统以及工作机会的诞生。

在这个领域Hadoop是无可争议的王者,对大数据的分析和处理也是很热门的岗位,想象一下,若是有机会处理和分析存储在成百上千台机器上的数据,是不是也很有成就感?

还有一个不得不提的是人工智能,2017年大热,由于数学和算法的关系,导致门槛较高,还未像前面几个职位那样,基本普及了。机器学习,深度学习什么时候能“飞入寻常百姓家”,让我们拭目以待!

总而言之,技术的发展在不断创造出新的机会,对从事软件开发的人来讲,是坏事也是好事,想在这个行业里呆下去,只有一个“秘诀”:快速地、持续不断地学习。

【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】

戳这里,看该作者更多好文

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2021-06-08 06:13:16

React开发开发技术

2022-03-18 13:46:20

物联网数据技术

2019-12-25 08:00:00

开源Chrome物联网

2018-06-28 23:20:51

2018-06-27 07:18:27

2013-08-27 10:25:54

微软鲍尔默盖茨

2022-04-22 13:35:56

人工智能数字医疗医疗保健

2010-08-16 09:09:40

Linux安全

2015-05-12 16:15:18

大数据数据类型

2023-09-14 14:22:10

2010-03-11 10:18:34

十大技术事件

2022-03-07 16:09:15

职业生涯Google工作经历

2012-04-01 13:36:07

2021-10-12 23:10:58

UnsafeJavaJDK

2020-08-17 17:03:58

Windows 10Windows操作系统

2010-11-23 11:46:46

2023-09-07 07:06:56

2020-02-24 19:20:57

Linux内核代码

2017-11-27 08:57:54

AndroidiOS移动系统

2023-06-06 14:53:18

点赞
收藏

51CTO技术栈公众号