除了编程技术之外,如今的软件开发者们还需要了解许多在过去闻所未闻的技能
如今的软件开发者们已经不必像前辈们那样担心诸多因素,尤其是编码工作中最大限度降低内存占用(即使这意味着执行时间将会大大延长)或者局域网连接最大带宽不能超过14.4KB每秒等等。(尽管其中有些时至今日仍然具有一定的指导意义甚至有重新发挥作用的可能,但毕竟不是主流趋势。)
不过从另一个角度来说,当下在软件开发、硬件开发、系统及网络管理以及其它IT专业领域充斥着大量全新的技能乃至业务范畴,这些内容在过去往往根本不存在(所谓的‘过去’涵盖很广,从三个月之前到五年、十年甚至二十年都说得通),或者只出现于预算庞大的某些特定机构或应用程序当中。
“大家可以给自己必需的技能列一张单子,其中具体内容的取舍与我们何时走出学校、对待工作是否认真以及接受新的技术、产业动态与工程发展的积极性密切相关,”Embarcadero技术公司开发部门副总裁兼企宣负责人David Intersimone如是说。
无论各位是刚刚跻身于软件开发者行列(或者是正有此打算),还是已经成为一位经验丰富的专业人士,了解自己需要掌握的内容都是很有价值的。这样大家才能具备足够的竞争力,轻松自如地选择继续从事这一行业、重新选择其它领域或者着力争取晋升。
因此在这里我要与此前自己编写的“回顾那些失传的技能”一文做个呼应,着重探讨“发掘全新的技能”——相信我,无数IT专业人士们正紧盯这些新兴领域,因此同样身为软件开发者的你绝对不能错过这个将技能添加进自己知识结构中的机会。(声明:很明显,大多数情况下我不会讨论具体某种编程语言的相关话题)
函数库的灵活使用
第一条冲击到我传统观念的新技能就是,开发者们对预置在新语言中大量分类库及模板库的把握能力,这一点在Java、C++乃至Python中都表现明显。如今我们要想完成复杂的应用程序,对函数库指令加以充分运用绝对是必不可少的能力。如果我们只懂得使用某种语言而不会使用函数库的话,那么软件成果只能是空谈。
站在用户立场打造产品
就在两三年前,“信息架构”与“可用性工程”还属于冷僻词汇。而到了2010年,围绕这两个关键词产生的招聘岗位不断涌现。总结起来,这些技能其实是用于为用户打造良好的使用体验——用户界面设计、信息展示架构以及独特的平面布局,这一切已经组成了全新的正规专业知识领域。
异步编程及其它相关技术
将业务平台向云计算转移主要通过基于Web的接口实现,因此如今异步编程正越来越受到业界的关注。眼下即使是最简单的应用程序也可能会需要异步编程技术,这一切都归结于AJAX的广泛应用,其编程风格迥异于以往,因此开发者们恐怕要投入相当大的心力以跟上时代的脚步了。
扩大技术的涉猎范围
随着时代的发展,业界对技术的要求也日新月异。如今精通某个单独领域的员工已经不那么抢手,能够掌握自己专业周边的各类相关技术才足以笑傲职场。客户的要求越来越多,而那些万金油式的全面人才已然成为猎头公司中公认的热门人选。
特色专长造就全新岗位
在这一话题当中,我希望用客观现状代表主观评述。在下面这份来自某招聘管理者的列表中,罗列出了数条能够为求职者加分的技能内容:
1. 基于语音识别技术的非可视化用户界面设计师;
2. 无硬盘大屏幕移动设备软件设计师;
3. 位置及方向响应(类似于导航类)应用程序设计师;
4. 石油及天然气勘探及地质领域的辅助软件专家;
5. 体内嵌入式医疗器械设计专家。
通过这份列表,我们可以看出,除了软件编写技能之外,广阔的IT天地间还有许多特色专长的用武之地。
开发工作中的快速反应与协作能力
今天的开发者们需要对软件开发过程中的快速反应具备更详尽的了解。反应速度与协作能力常常能够为企业提供极大的市场竞争优势。驱动测试开发、自动化验收测试、代码重构等等工作内容的顺利实施都迫切需要上述能力的支持。
围绕可部署性、可扩展性及可管理性开展开发工作
系统管理员们比软件开发商更了解具体产品,不仅是从业务应用角度,从企业负责人的采购决断角度更是如此。因此,开发商应该从管理者的立场密切监控产品的部署情况、扩展性以及管理难度。从这一点出发,企业的竞争力将会得到大大提升,而且管理员的一句赞许永远强过投入巨资打造的广告。
其它建议
以下是来自专家的其它一些补充内容:
◆ 为严格要求可扩展性的云计算提供类似Hadoop的分布式计算技术;
◆ “大数据”分析能力,以应对网络及科学数据等带来的庞大数据量,比如说那些用户数量惊人的超大型门户网站。
◆ 为了提高生产力而部署的Web应用程序框架,例如Ruby on Rails以及Grails等。
◆ 动态“脚本语言”强调开发者在实时性能表现方面的生产力,Python、Ruby、PERL、JavaScript以及Groovy(作为Java的替代方案存在)等都在此列。
高级软件工程师Amy Unruh还补充说,“当下对于开发者们来说,了解关于实时搜索、流水线数据分析以及活动数据流管理方面的知识非常重要。此外大家还应该在自己的知识储备中时常添加一些小型体系,包括微格式的使用、服务相关API的支持等等,这些都是计算原则之外颇具价值的实用技能。”
诸位读者在工作过程中发现了哪些必不可少的技能,又是如何将相关学习付诸实践的呢?
原文链接:
http://www.infoworld.com/d/application-development/what-todays-software-developers-need-know-173201?page=0,0
分享到:
相关推荐
本报告是基于一年一度的CSDN...该调查旨在全面和深入地了解中国开发者群体整体现状、应用开发技术以及开发工具、平台的状况和发展趋势等,它是各相关行业了解中国开发者群体以及软硬件开发服务领域市场的重要参考资料。
2019-2020年度调查问卷从个人信息、基本信息、职业信息、技术与技术文化、新技术趋势等版块对开发者进行数据征集,最终收集问卷近万份。 本次调查报告重点发现摘要: 1、30岁以下开发者人数占比超8成,全国近半数的...
1. **Android系统更新与API详解**:可能讲解了Android当时最新的系统版本特性,比如Android 6.0(Marshmallow)或7.0(Nougat)的新功能、性能优化以及API的变更,帮助开发者了解如何在新平台上进行开发。...
本文是2018年7月twitter开发者账号不好申请,而写的。
统信UOS操作系统离线进入开发者模式安装包,安装后重启即打开开发者模式,无需申请官方账号。适用于arm64版,安装包已签名。
这份7z压缩文件包含了丰富的教程、文档、示例代码和工具,旨在帮助开发者快速掌握鸿蒙系统的开发技能。下面将详细介绍其中可能包含的重要知识点。 1. **鸿蒙系统介绍**: 鸿蒙OS是华为自主研发的分布式操作系统,...
2. 软件开发者学习热情高涨,9成开发者通过技术媒体、技术社区、技术论坛等渠道了解行业最新 动态、获取新知识。3. 7成开发者在使用Java语言,近6成开发者近期最想学Python语言。4. 超7成软件开发者主要来自二本以上...
对于学习Flash的人来说,绝对值得一看,不管你是初学者还是高手,我相信你为了更上一层楼还要继续需要系统的学习。
4. **示例代码和教程**: 这些资源可以帮助新开发者快速理解智能卡编程的基本概念,并通过实例学习如何实现特定功能,如数字签名、加密和身份验证。 5. **文档**: 完善的开发者指南、API参考、用户手册和技术规范...
《软件开发者路线图:从学徒到高手》完整版,以前下载过6.3M那种,只有1、2章,此为完整版,旨在分享好东西
- 在 VC++ 开发环境中,开发者过去常选择 MFC (Microsoft Foundation Classes),因为它覆盖了广泛的编程技术。 - **模板库的发展**: - 模板库逐渐扩展其应用范围并提高质量,如 ATL (Active Template Library) 和 ...
那么地坑等在那,难道你打算一个一个趟过去? 本《WebRTC 零基础开发者教程》主要讲了什么 本文中提供下载的《WebRTC 零基础开发者教程》将以一个初学者的角度,从0开始逐步引导你掌握WebRTC开发的方方面面(当然,...
微信公众平台开发者手册.CHM,微信开发者手册.chm,微信.chm,微信开发手册,微信开发,微信开发者chm文档 版本:v2.0.1 最后更新时间:2014.03.18 编著:绿水青山 为离线文档,可以断网下使用;
微信公众平台开发者文档.pdf,很齐全的微信开发资料,想学习微信开发的朋友可以作为很好的入门资料。
微信开发者工具 64bit,适用于windows操作系统
点满这些技能树,你也是卓越的游戏开发者,罗列了游戏前端开发需要知道的方方面面
前端开发者要掌握的技能;并且这些技能可以让前端开发者价值百万。准确的说,这些技能可以让你能够轻松步入百万富翁的行列。 哪些技能呢?下面就列出这10项技能,看看你符合价值百万的前段开发者的队伍中嘛? 现在的...
此外,启动页的加载时间不应过长,以免用户等待不耐烦。通常,这个时间控制在2-3秒内比较合适。如果应用初始化操作较多,建议将其放在后台线程执行,以避免阻塞主线程。 总的来说,开发者头条的启动页实现主要涉及...
在升级到4.4时,开发者应关注行为变更,比如权限管理、组件生命周期以及用户界面元素的改动,确保应用在新平台上表现良好。 **3.ART运行时** Android 4.4引入了ART(Android Runtime)作为新的默认Dalvik虚拟机。...