我喜欢设计,所以大学学了工业设计,现在做交互设计。但从小到大,我都痴迷于 IT 技术,也曾经幻想以后成为一名黑客。刚进大学的时候也想过自学编程然后成为一个开发者。
然后始终下定不了决心全面学习编程,大一的时候学习了一本 C 语言的书之后就不了了之了。
转眼间几年过去了,我也大四了。也是很奇怪,到了大四,突然有了很大的学习编程的决心。可能也是这几年这种学习编程的信念的不断累积,终于突破我犹豫、缺乏勇气的内心。
终于,我在大四寒假到学期初,花了将近四个月的时间学会了 iOS 开发,并且尝试着自己设计并开发了一款 APP。
这真的很酷。
为什么我最终下定了决心学习编程
大学期间,我给自己定的方向始终是成为一名交互设计师。围绕着「交互设计师要不要学编程」这个话题的争论一直在持续下去。但是随着这几年的观察,越来越多的设计师掌握了编程能力,在作品集中经常会见到一些偏向「创意编程」的项目。设计师掌握了编程能力后,就闯入了一个新的游乐场。在这个游乐场中,设计师能够尽情发挥自己的创意去完成一些让人耳目一新的跨学科项目。
于我自己而言,我学习编程的目的有:
- 能够独立开发产品。我可以快速、独立设计并实现我的 idea。
- 对技术的崇拜。前文也有提到,我一直向往技术,想成为一名hacker
- 实践「交互设计」。大学做过不少项目,但大部分也是到了设计方案阶段就停止了。学习了大量的关于交互设计的理论的知识,画过大量的 prototype,也跟程序员就实现需求争论过。但是始终没有亲自实践过「从设计到开发」这一完整流程。
- 增添跨领域的项目到作品集。现在的编程环境越来越好,你只需要很少的代码就能实现一些很酷的功能到你的作品上。另外通过编程,也能讲不同领域的东西联系起来。比如音乐、 VR、AR等等。编程始终是手段,通过这一手段能够实现更多、更有趣的想法。
设计师要不要学编程?在我看来,年轻的设计师去学习编程是有必要的。编程能力对你之后的设计道路肯定是有益的,而且这种是持续你的职业道路的。在这个设计师讲究设计思维的年代,学习编程当然也不止是学习如何去编程,而更多是掌握这种「编程思维」。而这种思维能够给你带来新的观点、新的可能性。
更何况的是,现在是个推崇「人人都要学编程」的时代。作为与前沿科技紧密相联的设计师,为何不尽早去尝试呢?
编程带给了我什么
一种不同的看待问题的角度
好比工业设计师去学习材料工艺、机械结构。掌握了编程,我对于软件产品的产品设计有了不同的认知。以前的我,会关注到产品的视觉表现、按钮的排布、动画效果、产品的功能架构等等。现在,我也会看到这个产品是用什么「控件」实现的、这个产品的开发成本、产品功能实现的技术原理 ···
毫无疑问的,懂得编程技术的交互设计师会大大降低与程序员之前的沟通成本。但这不意味着你要帮助程序员写代码,这不是设计师的职责所在。
对交互设计的更深层次的理解
交互设计是离不开技术的。所有的关于交互设计的理论书籍是离不开谈论技术的内容的。交互设计的内容就是基于技术的限制来提出方案。从设计到开发,掌握了编程,有助于我加快获得最终的最佳方案的效率(本质上就是减少与开发人员的反复沟通...)
学会了编程我还能干嘛
向 VR 进军
VR 这个领域最近火的不得了。于设计师而言,这里存在这很大的机会。通过这一新的技术,可以为解决问题提供新的可能性。设计、建模、编程,掌握了这些能力,设计师也是更够通过 VR 实现自己的创意。
这是一个很值得挑战的领域,学会了编程后,去制作 VR 项目也不是不可能!
做游戏
值得一提的是,我最早对于设计的概念都是来源于「游戏设计」,我小时候设计过一些桌面游戏。对于游戏设计,我始终是充满热情的。现在的我,也有打算去做独立游戏开发。很难,但是也很酷 !
对设计师学好编程的一些建议
最后,通过我自己的亲身实践,我结合自己学习编程的过程给出了一些设计师学习编程的建议,希望对读者有一定的借鉴意义吧!
- 学一门你会用到的语言。新手学习编程,总是会犹豫学哪门语言。我的建议是,学一门跟你工作内容最接近的语言。如果你是从事移动开发的,可以学习 iOS 或者 Android 相关语言,如果你从事网页设计,那你可以学习一门前端语言。掌握一门能力最快的方法是实践。学习一门你能直接使用的语言,你可以直接自己动手去实践从设计到开发这一流程。
- 对编程产生兴趣。既然要学习编程,那肯定是要更多的了解「程序员」这种生物。多多逛逛一些类似于v2ex的论坛,浏览知乎相关的话题、在社交网络上关注一些厉害的开发者等等。这都有助于你对编程产生兴趣,同时也能掌握「编程界」的最新动态,获取到最新资讯。
- 多渠道学习。现在学习编程的渠道很多,有书籍、视频教程、网课、论坛资料等等。我的建议是不要锁死在一种渠道,比如通过一本书就学会一门编程语言。这样做只会提高你「升级」的难度。因为你很容易卡到一个你很难理解的概念或问题。我的建议是通过多种方式学习,相互补充。看书最实在,但是很比较枯燥,这个时候你可以去看视频教程。
- 学会自己去寻找答案。无论你在编程上遇到了什么问题,大部分网络上都是有现成答案的。不要成为一个「伸手党」,要学会去使用搜索引擎。实在找不到了,再去论坛上友好的提问吧!
- 学会使用外文资源。无论你是想学好设计还是学好编程,离不开学习英语国家产生的优质内容。在编程的学习上,你可以在 YouTube 上找到很多优秀的编程教学视频,在 stackoverflow 上基本能找到大部分编程时遇到的问题的答案,通过 google 总是能获得比百度更加有价值的内容...
开始编程吧,少年!