编者按:看到敲代码的小哥是不是觉得超性感?是不是觉得自己不会写点代码会很落伍?本文作者 Carson Miller 认为由于为前端开发和基础技术写代码大有不同,没有必要盲目的学习编写代码,更需注重的是设计。
我们需要培养我们的孩子学习写代码吗?我最近在一个晚宴上被问到这个问题。作为社交圈中唯一一个整个职业生涯都从事软件开发工作的人,我经常被问到类似的问题。我的第一反应是一个大大的肯定,与此同时我还侃侃而谈如此选择的几个原因。
虽然谈话继续走向了其他方向,但是这个问题却久久萦绕在我心中。可能是“写代码”这个词涵盖范围太广了。对于工程师来说,总会有一个角色来面对来自构建自主交通、虚拟现实和任何其他有前途的未来技术所需的巨大挑战,我们不可避免地想到这一点,但是我不能确定这就是我朋友心中为子女规划的写代码工作。
如果他们展望的是他们的子女为网页和移动应用程序写代码的未来,我则怀疑我是否给出了合适的建议。鉴于现在设计工具和软件开发基础设施的巨大创新,这些代码将会在未来大有不同。事实上,设计和开发之间的界限可能不复存在,导致将产品推向市场所需的技能和团队发生根本性的改变。
在过去的十年里,发布软件产品的成本呈指数下降。比如,在网络公司繁荣发展的最初期间,开办一家互联网新公司需要成百上千美金,这在很大程度上是来自服务器、互联网带宽、软件许可和办公空间的资本成本。从那时候开始,云基础设施(如Amazon Web Services)、开发者工具(如GitHub)、开源架构(如Ruby on Rails)和定制后台服务(如用于搜索的Algolia)都进入市场,这促进了电子产品的快速发展,它们现在的开发成本是十年前的十分之一。如今,如果你有时间并且有设计和开发能力,开发和上线一个产品只花费数百美元也是可能的。
设计和开发产品越来越简单,但是要开发出一款用户喜欢的产品仍需要面临重大的挑战。开发出好的产品需要你对自己的目标用户有着深刻的理解并且视野足够满足他们的需要从而达到传递愉快经验的效果。同时还需要能够让产品团队快速掌握测试、学习和重复产品经验、商业模式和价值主张的工作流程。
在过去几年,迭代产品成为主流。精益创业的关键原则——尤其是将最低可行产品(MVP)快速推向市场,并从实际客户反馈中学习的倾向——已经被广泛的接受为建立公司和开发产品的更好方式。
新兴的工具生态系统支撑了各种新的工作方式,使产品设计团队有机会更高效地协作。团队已经从传统的在PS中做静态设计过渡到了使用更全面的工具箱——从协作设计工具(如 Sketch、 Figma),到简单的原型平台(如InVision、Marvel),再到用户测试平台(如UserTesting.com、Validately、Lookback)以及设计-开发协作工具(如Zeplin)。
以上这些工具都支持现代产品设计工作流程中的一个或多个核心方面,并且所有工具都可以无缝连接。最终的结果就是将想法转换为拟真原型的过程呈几何速度上升。并且这个原型产品可以在自己写代码之前体验、测试和认证。
在未来的几年里,“产品设计”和“前端开发”作为两个独立功能之间的界限将消失。很多公司已经采用了这一策略,聘用精通产品设计和前端网页技术的个人(多被称为“创意技术家”)从而可防止任何不需操作就可以将设计带入生活的代码。
这样的融合也发生在产品设计团队所使用的复杂工具中。设计和原型工具替代前端开发只是时间问题,根据你的选择框架无缝生产高质量前端代码(反应,节点和其他)。 Squarespace已经在基本网页领域这样做了。 Webflow提供了拖放式的互动和内容驱动网页环境。 Atomic和Origami使用可重复使用组件和数据做着有趣的事儿。
所有的这些都是设计优先工具,但是很多是用户编辑或者增添代码以重新设计其产品。试想一下5年后这些以及其他工具会是什么境况?
流程、能力要求和工具的融合会带来以下几点重要的改变:
• 团队结构会改变:同一个团队里不再同时需要设计师和前端开发人员了,这使团队更加灵活;
• 实时迭代会成为常态:团队会在设计持续改进的状态下运行——原型设计、测试、学习和比以往更快地提出新的功能。
• 商业结果会提升:产品团队会在第一线推动商业进展并可以通过资本化新产品快速地为公司利益作出重要贡献,同时其还可以在问题扩大之前及时解决问题。
所以,我们的子女应该学习写代码吗?我赞同每一个孩子都应该有一定的软件开发知识这一价值观。但是为基础技术和前端开发写大码是大不不同的,并且这种差异正在增大。后者将会随着设计师和设计工具的到来而逐渐走向衰落。有兴趣建立公司以及想为顾客提供更好体验的小孩应更注重其设计和商业思维的培养,而不是其深层软件的开发能力。
翻译来自:虫洞翻翻