想成为 VR 开发者?不妨看看这位“女学霸”的经历
驱使我写这篇文章的理由不少,但最突出的理由还是我从 Helen Situ 在 Medium 上发布的一篇文章中得到的启发。这篇文章分享了她的亲身经历,标题为《为什么我为 VR 改变了自己的生活方式》。当我在谈论虚拟现实和增强现实的时候,那篇文章的标题总是我第一个被问到的问题,我认为我已经在自己的博客 “The Matrix is My Office” 发布的过往文章中谈论过这个问题,所以今天,我也想在这里和大家分享一下。
写在文章开头:在 VR 的文段出现前,会有不少有关我进入科技行业的闲谈,所以,希望这张“绝地武士 Livi”的照片能够吸引你继续看这篇文章。
我的故事
在 2006 年,当我还在念高中二年级的时候就已经开始编程了,当时我选修了“计算机数学”这门课程,它是 AP 计算机科学这门专业的基础编程课。在童年的大部分时间里,我都痴迷于计算机,自学 Photoshop 和网页开发(我曾经运营了一个极其令人尴尬的《星球大战》爱好者博客,说服几个朋友与我合作开发一个年轻女孩问答竞赛网站),用优异的成绩说服父母给我买一台笔记本电脑——参加编程课程的想法对我来说还是有意义的。我恰巧参加了一个实验项目,强迫自己每天在开课之前提早回到学校学习英语,所以我有多余的时间完成额外的课程——我与编程之间复杂的、爱恨交加的缘分在 15 岁的时候开始了。
当时,我还没能注意到我现在看见的一种模式——我喜欢能够使用 Java 的图形库绘制场景的课程。在我完成了第一个作品——《星球大战》主题的打砖块游戏时,没有比完成开发更能让我感到开心的事情了。接下来的一年,我转入了 AP 计算机科学专业,在我以优异的成绩通过一次又一次的考试时,我遇到了自己的第一个障碍:一个心态上认为“计算机科学并不属于女生”的老师。我完成了所有的课业,知道自己会在大学中研读计算机科学专业,但也从此埋下了质疑的种子。
在大学里,我立刻投入了计算机科学专业的学习,并努力通过了算法课。我没有兴趣去年复一年地打造分类程序,尽管我在天真地回顾自己在高中时学习的形式语言和系统级课程后发现,自己在设计和管理课程上花费的精力远远多余任何一门编程课。我把自己定义为一个“讨厌编程的计算机科学学生”,并用理论课而不是实验课填满了自己的选修课。
OK,我知道——还没有 VR 的内容。这里有一张猫的照片,希望能有所补偿:
(我强迫我的猫戴上 VR 头盔,它照着做了)
大学的第二年,我开始在自己喜爱的课程中看见了一种趋势。一位非常优秀的教授让我把 Windows 8 开发当作一门独立研究项目来学习,在这个项目中,我学会了如何在新平台上撰写教程并试用新的平台。我参加了一门非常精彩的的“游戏和虚拟环境的道德”课,这门课程形成了我对“VR 和 AR 是如何被社会大众感知并利用”以及“性别问题是怎样嵌入科技行业的”两个议题的兴趣。我又一次开始为兴趣而写代码,当我以项目经理的身份入职微软硅谷分部时,我觉得,我庆幸自己已经离开搞开发的日子了。
很明显,这并没有成为现实。或许因为这是硅谷的本性,或许这只是 7 年的开发经历并没有离我而去的事实,或许是因为我最后看了《黑客帝国》——我发现自己很羡慕曾经拜访过的初创公司创始人身上的热情,这种热情包围着我。泰尔奖学金、YC Combinator 的活动——我都知道,尽管我拥有一个真正享受的工作,我却正在失去很多人似乎都有的那种热情。
我启动了一个个人任务去重新寻找那份热情,投入了几个新的项目:iOS 和 Android 开发、平面设计、网页开发,但没有一个项目坚持下来。我的技术水平正在不断提高,但仍然没有找到能让我受到启发的东西。我甚至没法让自己与身边所有人有同样的感觉。
一个晚上,我在看 YouTube,偶然遇到了 PixelWhipt’s 这个频道,看了头两集 VirtuAlly,一个有关 VR 产业以及它为什么如此快速的成长的节目。我非常着迷地观看 Ally 谈论 Oculus 并采访业内人士。我找到了自己一直等待的那种燃烧着的感动。整个房间似乎被某些更强大的东西照耀的更加明亮。我把这叫做自己“毫不夸张的灯泡时刻”——就是在那个地方,我及时意识到自己已经找到了想要在余生中从事的工作。
我立刻订购了一个 Google Cardboard。在 Meetup 网站上,我发现了“硅谷 VR”(SVVR)这个小组并参加了我的第一个活动。我头一次体验了 Oculus Rift DK2 并在回家后立刻订购了一台。我下载了 Unity,开始自学如何使用。首先,我制作了一个旋转的方块。在学习使用这些工具的同时,我也更深入地了解更多有关这个行业的宏观知识。
在一个因失败而结束的项目中,我开始为一个朋友的开发者资源网站撰写记录了自己在 Unity 和 VR 开发过程中所做任何事情的教程——我并不感到挫败,最终还是出版了这个攻略。在我的所有空闲时间,我都会用 VR 演示内容和开发环境把笔记本电脑的性能推向极限。我无法隐藏自己对 VR 的热爱,所以我转向了互联网。
在一次 SVVR 小组的会面中,我听闻三星开发者大会上有一个 VR 活动,所以我做了一件任何正常人都会做的事情:请假 3 天去参加一个我没有任何概念的活动。我参加了所有有关 VR 和 GearVR 的会议,认识了其他 VR 狂热爱好者。我热爱那一周的任何事情,这一势头让我坚持记录自己的经历。
(在这个行业中找到自己的目的是很有挑战性的——我的建议?不断推进自己的“舒适地带”!)
三星开发者大会后的几周,微软的开发者体验团队让我担任北加利福尼亚 VR 和 AR 开发者拓展专员,在 2015 年 2 月份,我正式加入了这个团队。从那以后,生活变成了一股充满沉浸式乐趣的旋风——如果你在一年前告诉我我会在现在的团队工作,我或许会当面大笑,然后哭泣。在 VR 产业里,改变生活的科技,优秀的、充满热情的人们,以及一种工作动力构成了混合物,我确定那种工作动力未来会以难以置信的积极方式影响世界。
在活动上讲述这些故事时,我提供的其实是一个极为迷失的人的视角。我曾经听闻“冒名顶替综合症”,但直到我搬家到湾区,被一些最有上进心和热情的人包围后,我才明白了这个名词的意思。尽管当时的情绪非常激动,但是我感觉自己正在欺骗中度过我的职业生涯。我不停寻找,直到找到了一些我相信能够提高自己不断寻找的内驱力的东西。
我的建议
在写这篇文章的过程中,我得到了乐趣,而我的动机也很简单:我希望让更多的人,特别是那些觉得自己不够格的人,进入到 VR 领域。不过,我还有一个更广大的目标:我知道,当你不确定人生方向的时候,你的感觉是怎样的。我想要帮助其他人找到他们自己的“灯泡时刻”。
1. 尝试去做一切事情
下面是一张我曾经见到过的图表,描述的是人生的意义:它是你的喜好、你所擅长的事情、世界需要的东西和你能得到的金钱补偿的交叉地带。当然,找到特定的方向是非常有挑战性的。把你所喜爱的东西精简为可行动的部分,可能是极为困难的。
我并不是立刻知道自己想要成为 VR 行业的一员的。必要的材料都备齐了,但是,在一年半之前,我还无法告诉你说,我想要在 VR 行业工作。那时候,我甚至没有意识到,那是一种选择——VR 行业很庞大,可以着力的职业和技术组合太多了。
正如我上面提到的:我花费了八周时间,学习网络开发和网站构建,直到我最终认识到,网络开发者不是我的激情所在。我购买了平面设计软件,学习了色彩理论和视觉设计的基础,然后,我才意识到自己需要学会编程。于是,我花好多钱买了一台 MacBook Pro,认为 iOS 开发将会是我的新使命。我花了几个月时间去学习 Xcode 和 Objective C 的基础知识,然后才发现,3D 开发是我追求的创造性编程的完美混合。这不是我一夜发现的东西,但是,我走过的每一步都在定义我所追求的东西。尝试一切东西——最糟糕的后果是你掌握了一门技能,强化了自己所学的知识,对自己有了更好的了解。
2. 开放地对待“自己是个完全的小白”这个事实
如果我没有在三星开发者大会上遇到许多刚刚开始进入这个行业的开发者,我真的不知道自己今天会如何。没有搞过任何 VR 开发并不是什么值得惭愧的事情:许多刚刚开始做 VR 开发的人在拥抱自己是小白这个事实,这不是什么需要担心的事情。
分享经验、试验和错误都是为了 VR 行业的建设。这个行业终于开始意识到自己的潜力和前景了。只有我最终承认自己对此技术完全无知时,我才能够让自己尝试一些新鲜的事情。我以前甚至没有编写过 3D 游戏,但这无关紧要——在业界里,我遇到的每一个人都张开双臂拥抱新人,向他们提供了安全的学习地点。如果你对此领域真的充满激情,不要让缺乏经验阻挡了你的步伐。
3. 你不需要成为最好,只要尽可能地发挥自己的能力
好吧,这句话太烂俗了,但是我还是坚持要说。从开发者的角度看,我永远不会达到 John Carmack 那样的高层次。我或许永远不能做出一个 VR 上的热门游戏。对此,我能够接受。在任何技能或任务上,总有比你强的人——特别是,我们已经确定了,自己可以接受小白这个事实,记得吗?
不要因为你是初学者,就不去发挥自己的最大能力。我的软件有漏洞,而且,我对软件的优化也没有达到 120fps 的标准,但是你知道吗?我仍然能够得到反馈,而且分享了我学习的东西。这就是 VR 行业成长的方法。引用 Tim Ferriss 的一句话:当你自称为专家并且比谈话中的其他人都要懂得更多,那么,你就是一个专家。你不需要成为最好的,你只需要知道,自己发挥了最好的状态。
4. 诚实对待自己和身边的人
在决定诚实对待自己之前,我一直没有意识到,我经常会欺骗自己。如果你在自己喜欢的东西上说谎,那么,你就无法找到自己真正的激情所在。如果你知道,自己在寻找点燃自己的那团火,寻找自己的人生意义,但是,你又告诉自己,你对此无能为力,这或许就是一个谎言。你必须反观自己的内心,诚实起来。我记得,在持续了 9 周的网络开发后,我可以告诉自己,这是个不错的技艺,可以全职去做了,但是,我同时也知道,这不是我出发时确定的目标。诚实是激励我不断找寻的动力。
我也有这样的问题,就是觉得,需要向遇见的每个人证明自己是一个专家,但实际上自己却并没有那种感觉。当我与其它网络开发者交谈时,我就依据自己的经验去做了。我觉得,如果我告诉每个人说,我刚刚开始 Unity 开发,并且认为自己是个 VR 开发者了,那么,每个人都会认为我是个骗子。但是,假装自己懂的很多会让人疲惫、有压力和缺乏效率。
当我说出“你知道吗,我对 VR 超级喜欢,但是,我刚刚开始学习 Unity” 后,实际上感到了极大的放松,而且,我从其他人那里学到了很多东西。除了 2 个月的网络开发之外,我的 JavaScript 经验局限于我用 WebGL、WebVR 和 ThreeJS 做的一些东西。
当我首次在 JavaScript 开发者大会上做发言准备时,感觉自己就像个大骗子。不过,我最终意识到,我带给人们的不是缺乏经验,只是一种不同的经验罢了。当我发言的时候,我没有假装自己是个做 JS 开发多年的人:从一开始,我就确定了方向,让自己的热情倾洒而出。如果你诚实对待自己的所知和未知,那么,你的发言就是对信息和知识的分享。
最后的想法
当我决定写下这篇文章时,我真的不知道会写成什么样子。显然,文章很长。如果你读到了这里,就能获得一个由 GLaDOS 带给你的虚拟蛋糕。我想要以一张可爱的照片或者其他东西结束,但是我在上文中已经有很酷炫的 MosbyVR 了。因此,你得到的是一张我佩戴 Wearality 眼镜的傻乎乎的照片。
(好的自拍?还是最好的自拍?)
没必要再写 500 字的结论了,我就用下面的话结尾吧:如果你想要了解 VR 或 AR 的更多知识,想要开发点东西但是不知从何做起,或者只是想喝杯咖啡聊聊天——如果你想要在 VR 或 AR 方面获得指导或者想要谈谈自己的职业选择——给我写封邮件吧。在 Twitter 上 ping 我,我会帮忙的!
本文全文译自 Medium,原文标题 How I became a VR Dev — and how you can, too。作者 Liv Erickson 在本文中讲述了自己的从一名热爱计算机编程的高中生,逐渐成长为一名 VR 开发者的经历,虽然这个过程并非顺利,但她也从中学会了很多的技能,并最终找到了自己真正热爱的事业——VR。爱范儿积木、麦玮琪翻译出品。
题图来自:Reddit