写点什么

还在为工作发愁?学 JavaScript 吧

2015 年 5 月 06 日

事实上,每家专业招聘机构,从 Glassdoor.com 和 Linkedin 到美国劳工部,都报导了就业市场对开发人员需求的增长速度出于意料地快。这种需求可能已经不新鲜了,但是就业市场对哪种开发语言的需求量最大,依然是个热门话题。虽然对 HTML5 技能的依然需求保持稳定,但真正必须掌握的语言就是 JavaScript。

在 Monster 网站的技术求职趋势报告中,特别指出了JavaScript 是必须掌握的几门技能之一,这要得益于企业级Web 应用的增长。在2015 年1 月,Mashable 网站列出了对于开发人员来说最重要的15 项技能, JavaScript 排在第二。相比前几年 JavaScript 并不受欢迎,这种变化很明显。博客作者 Glen Maddern 的文章代表了对 JavaScript 的全新思考,他相信 JavaScript 正从一种“凑合”的语言变成一种优秀的语言。

JavaScript 好在哪里?

为什么如今 JavaScript 如此火爆?首先,很多企业都在采用它,它在很多技术系统中均扮演了正面的角色。根据 JavaWorld 的 Martin Heller 的说法,JavaScript 不仅仅可以搭配HTML5 和CCS 来构建Web 前端,在移动应用中也经常见到它的身影,甚至在后端开发领域,它也通过 Node.js 服务器在发挥作用。如果你去读读这篇文章《全栈JavaScript 介绍》,你就会理解JavaScript 远远不止是一门“90 秒钟可以掌握”的编程语言那么简单。JavaScript 在产品经理和设计师人群中越来越流行,因为它实现了很多具有良好用户体验的功能,支持大多数流行的网页浏览器和平台。这对于设计师和终端用户来说是好消息。

随着移动领域的飞速发展,消费者和企业用户不管使用什么设备,都开始期望得到高响应性的(译者注:指针对不同设备的显示屏幕自适应地显示内容)、无缝的Web 体验。那些理解大势所趋的品牌,都撤下了m. 开头的移动版网站,开始提供完全动态的体验,它们具有丰富的功能,性能良好,而且可以根据环境为你展示不同的内容。此外,客户端为了达到使人惊叹的效果,也需要动画和交互;最早,Flash 是这些目标的解决方案。如今,JavaScript 能得到更好的效果。

以前原生应用中很多很酷的功能,在网页浏览器中只能用Macromedia 的Flash 或微软的Silverlight 这样的插件才能做出来。今天,JavaScript 配合HTML5 和CSS3 就能达到这些效果。复杂的数据交互(比如内嵌过滤、即时反馈、基于上下文的规则等)以前需要花数个星期才能编出来,但现在如果用流行的JavaScript 库和框架来操作和实现,能达到开箱即用的效果。由于这些原因,前端开发人员的职位需求描述已经从“有jQuery 经验”,变成了“有Angular、Node、Bootstrap 和jQuery 经验”。作为一门语言,JavaScript 在迅速成长,但高质量的开发会不断地催生新的需求。

局限性

光有技术还不能造就一个优秀的开发者。他要有从整体角度去理解和处理应用的能力。JavaScript 可以成为架构和开发策略的一部分,但它本身并不能作为一种架构或开发策略。

换句话说,JavaScript 很不错,但是它不是万能的。有经验有能力的开发者知道,何时何地应该如何去使用它。但开发新手不一样,就像他们对待任何编程语言那样,一旦他们熟悉了某种库或框架,就想着用它来搞定一切,哪怕它对某个任务来说并不是很合适。这个问题要潜伏一段时间才能暴露,这将会给业务的可伸缩性、可维护性和性能带来负面影响。

举个例子,在一些发展中国家,网络带宽、计算机的CPU 和内存资源都很成问题,这种情况JavaScript 就不是最好的选择。甚至,用户的浏览器版本落后最新的版本很多,也是很常见的事情,所以如果大量使用JavaScript 的话,性能和兼容性就会成问题。如果你产品的受众是世界性的,那就少用些“最前沿的UI”,否则产品到部分用户手里会产生糟糕的用户体验。此外,在安全管控甚严的工业领域,JavaScript 也不是开发应用的好选择。

架构师和资深开发人员理解上面这些因素,知道什么时候使用JavaScript 是正确的选择,什么时候不是。这里的底线就是把这方面的最佳实践时刻牢记,确保用户体验不受影响。

JavaScript 就业市场展望

JavaScript 会经得起时间考验吗?会长盛不衰,还是昙花一现,很快被更好的技术所替代?换句话说,用 JavaScript 来开发你的企业应用是否保险?

很多开发者同意 Flash 已经穷途末路。部分人认为 Flash 退出历史舞台是自然演化的结果,但更多人都知道是谁击败了它。JavaScript 已经替代了Flash,至少在下个十年中,它会继续扩张,在各种软件系统中承担越来越多的角色。我们来考虑一下Flash 提供的功能——主要是UI 方面的——再把这些UI 功能的数量乘以几倍来估算应用程序所有方面的功能,可想而知JavaScript 将带来多大的价值。JavaScript 会有过时的一天吗?当然会,但我们还不知道是何时。

另一个有可能促成JavaScript 长盛不衰的因素是它总是在不停地演进。新的JavaScript 库和框架在不断地涌现出来。就在几年前,AngularJS 还处于beta 测试中;而今天,就业市场对有AngularJS 经验的开发者的需求空前高涨。并且这仅是一个例子,说明JavaScript 的前沿成果演变成市场主流的速度有多快。当然知识是多方面的。解决重大问题的能力、最佳实践以及能够清晰地理解这些库和框架如何解决我们面临的挑战,是人事经理为人才定价的最重要依据。

要精确预测一门技术会如何演进是不可能的,但是我们可以确定今天用JavaScript 写的应用,在未来好多年中都需要得到持续的支持。就算我们乐观地认为JavaScript 会很长寿,目前的这些产品也需要在未来十年中得到多次升级和修改,以适应企业级的应用。为了能维持业务,或增强JavaScript 写的应用,企业在当下以及未来都需要拨出预算来和外部机构合作,或雇佣内部的专家。

JavaScript 开发者下一步该做什么

对于那些经历着 Web 技术演进并保持自己的 JavaScript 技能持续更新的开发者来说,这一切都是好消息。但是,刚刚入门的开发者(或刚刚参加工作的年轻开发者)要想抓住这一波机会,应该做些什么呢?当下从事技术工作的迷人之处就在于,所有的文档、示例代码以及其他开发者讨论过的问题,只要稍一搜索便唾手可得。

转投 JavaScript 的开发者,或者想试水现代 Web 技术的人,可以从在线进修课程开始。像 Codecademy 这样的网站免费为初学者提供了 JavaScript 课程。如果开发者希望通过实战来学习尽可能多的知识,那么订阅 Pluralsight 可能是更好的选择。Pluralsight 有更多的课程门类可供选择,从 AngularJS 基础课程,到使用 Backbone.js 在服务端存储数据,样样都有。这些课程都由业界专家编写并解说。

这些库和框架的开发者社区是很强大的。如果你需要面对面讨论解决问题的学习方式,那么你可以考虑找一个本地学习小组或上 Meetup 去找一个,这类小组通常会分享关于特定技术问题的知识。像 StackOverflow 这样的网站也是一个知识宝库,开发者遇到的常见(或不那么常见)的问题都会有。

大多数顶级的框架和库都是开源的,并且托管在 GitHub 上(比如, GitHub AngularJS )。对于当代软件开发来说,GitHub 是一笔无法想象的财富,它提供了大量在不断演进的优秀软件。开发者如果希望帮助开源软件发展,并获得开发者社区的认同,可以通过解决 bug、更新 wiki 和提交新功能补丁等方式来参与进去。而且越来越多的技术招聘者在筛选阶段要求查看应聘者的 GitHub 或 Bitbucket 的账户,使得这一点变得更加重要。

你的职业发展、受欢迎程度和薪水从没有像现在一样,掌握在自己手里。你是否还记得几年前,就业市场对 iOS 开发者的需求量空前的大?如果像你这样的 UI 开发者当时只能站在边上看着那些招聘广告流口水,那么好消息来了:现在是你的时代了。由你统治的市场来了,并将繁荣很久。

关于作者

>Areos Ledesma是 AIM 咨询公司的企业发展总监。曾经担任该公司数字体验和用户体验设计的解决方案总监。Areos 是一名经验丰富的咨询师,他在高效领导项目管理方面有卓越的声誉。他精通于管理一项大规模行动的方方面面,包括数字策略、用户体验和视觉设计、快速成型、内容策略、开发、测试和计量。

Will Asrari是 AIM 咨询公司的解决方案咨询师和高级移动开发工程师。Will 是微软认证的 ASP.NET 工程师,他精通 iOS 和移动 Web 开发。他关于数字体验和移动的解决方案致力于用户体验设计原则和以及移动技术如何能创造出吸引人的客户体验,同时又能满足业务目标。

查看英文原文: JavaScript is Cool…and the Market is Hot

2015 年 5 月 06 日 14:105168
用户头像

发布了 77 篇内容, 共 31.0 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

多线程 & 并发架构

石刻掌纹

击破技术枷锁与认知迷雾 百度四大杀手锏开启新基建AI风暴

脑极体

week 9 作业

Geek_2e7dd7

阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破

应用研发平台EMAS

100% 展示 MySQL 语句执行的神器-Optimizer Trace

程序员历小冰

MySQL

汇付天下与阿里云合作打造企业级移动中台,运营效率提升100%

应用研发平台EMAS

LG的“卷轴”柔性屏,技术可期,前景未卜?

脑极体

简述 JVM 垃圾回收原理

一叶知秋

设计模式

张明森

ElasticSearch笔记

石刻掌纹

厦门航空牵手阿里云打造航空业移动研发中台,研发效率提升50%

应用研发平台EMAS

相聚“云”课堂,智微智能“双师课堂”促进优质教育资源共享

DT极客

iOS身份证号码识别

高丰

区块链标准化很重要吗?

CECBC区块链专委会

区块链 区块链规范

ARTS-WEEK9

一周思进

计算机网络基础(十二)---网络层-外部网关路由协议

书旅

计算机网络 网络 协议栈 BGP

原创 | 使用JPA实现DDD持久化-O与R:两个世界

编程道与术

Java hibernate DDD JDBC jpa

第九周作业

方堃

week 9 学习总结

Geek_2e7dd7

LeetCode题解:70. 爬楼梯,DP遍历,变量缓存结果,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

学编程没人带?推荐10个免费学编程的最佳网站给你

代码制造者

学习 编程 编译器、程序语言、CPU 编程网站

阿里云移动研发平台 EMAS 助力银行业打造测试中台,提升发版效能

应用研发平台EMAS

无接触,云办公!5天完成手机淘宝新版本迭代,揭秘阿里工程师协同研发“神器”

应用研发平台EMAS

BIGO 实时计算平台建设实践

Apache Flink

flink BIGO

全国首个市场监管区块链电子取证平台正式上线

CECBC区块链专委会

区块链

分布式环境下,我想要一致性

架构师修行之路

分布式 分布式系统 架构师 CAP

手把手教你实现自定义Spring Boot的 Starter

java金融

Java spring 程序员 Spring Boot starte

redis-port支持前缀迁移

心平气和

redis redis-port

Java字符串拼接,去首尾, 判空, 类型转换

狸猫换太子

Java 类型推断 字符串

两万字长文50+张趣图带你领悟网络编程的内功心法

arthinking

网络协议 TCP/IP

阿里云小程序云发布小程序跨平台开发框架,助力开发者一次开发,多端运行

应用研发平台EMAS

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

还在为工作发愁?学JavaScript吧-InfoQ