程序媛这条不归路

很久很久以前,我便想给大家讲这个故事——我如何走上程序媛这条“不归路”。关于自我定位,关于梦想,关于现实。

6岁开始做Flash动画;
10岁写出人生第一个小游戏《打蚊子》;
14岁为《猫咪大作战》纯手写了个二维物理引擎;
15岁搭建独立个人网站“甜欣屋”。

我是欣欣,那年我高三。了解完情况,桌对面的顾问老师不紧不慢道:“女孩子学什么计算机啊?学数学多好,找工作容易。”

类似的情景,在我的成长路不断上演。我身边出现这样一群人,他们反复说学计算机太累了,女生抽象思维能力比不上男生的,学点简单东西过舒服日子吧。

有时候,他们还会问:“你是真的喜欢计算机吗?”

他们不知道我在笔记本上画的游戏设计稿,不知道我晚自习泡在学校机房写算法题,不知道我半夜蜷在学校寝室的被窝里研究碰撞检测的原理。

凭一个性别,便想否定我做的这一切。

(零)

很多朋友好奇,我是怎么对计算机产生兴趣的。向来不循规蹈矩的我,在这件事上也不例外,我是从“偷师”开始的。

那是我六岁的一天,无意中看到我妈在用Flash软件。她熟练地画出图像,添加关键帧,屏幕上的物体就动了起来,非常有趣。后来我妈有事出门,电脑还开着。刚“偷师”的我双击打开桌面上的Flash,到处东点点西点点,居然也弄出一段动画。

然后被我妈发现了。我妈干脆教我什么是图层,什么是元件。我于是整出一个叫“星球大战”的动画,背景是七彩的,几个飞船打来打去。

断断续续玩到小学四年级,我妈心血来潮教我怎么做按钮。依葫芦画瓢写上几个英文字,按钮会跳转到时间轴某个特定的位置。于是我整出了人生第一个小游戏《打蚊子》,一堆蚊子在屏幕上飞,点鼠标可以拍蚊子。我妈惊呆了,我天马行空,全程只用到她教的那一个时间轴跳转的指令。

也许她看到了我身上的一些特质吧。有天她回家跟我说,她先斩后奏干了件事。我一阵紧张。她说,给你报了个编程班。

我妈除了写按钮外并不太会编程(她说她还会写随机数投骰子的),但她为我指了个方向让我尝试。后来我才知道,她大学时候很想学计算机,却在长辈建议下学了别的。

我是她梦想的延续。

(一)

在儿童编程班,我玩得很开心。我的第一门编程语言是Visual Basic。我学会了变量和循环,还有函数。每节课老师会先示范写一个例子,然后全班照着写。

有一回,老师说要实现让标签框(label)从左移到右再移到左的效果。她写的有一句大致是“label = label – 800”。结果,标签框移动到屏幕最右,就直接瞬移到屏幕最左了。老师一时没想到办法,跟全班说,先这么写吧。

我不甘心,坐在那里使劲想。突然,我有了点子。定义一个变量来记录标签框移动的方向,每次碰到屏幕边缘就把变量的数值取负。老师看了我写的非常惊喜,跟全班说,欣欣来说一下怎么做的。我站起身,有点骄傲又有点害羞地介绍了我的方法。

班上二十几个小朋友,四个是女孩子。我从没有压力,因为我总是做得很好。每次的课前老师会给大家看我脑洞大开的程序。

直到有一天课前,班里一个男孩子的程序比我酷炫,还用到了我不知道的知识——命令行。原来,他爸爸是程序员,给他开了小灶。十岁刚出头的欣欣,心中有点小嫉妒。

也是在那里,我遇到许老师。当时他刚读完大一,勤工俭学教小朋友编程写Pascal。他上课非常意识流,讲着讲着就自言自语“我看下这个怎么优化”。我从他那里有了算法和函数封装的概念,体会了聪明的人是如何思考代码的。课程结束我送了他贺卡,不曾想到很多年后的我们会从师生变为同事。

(二)

家里没有人指导我编程,我自己去书店看书,自学各种语言和技术。高中的某一天,我发现了一本Flash游戏开发的书,爱不释手。我意识到我还非常依赖Flash特有的时间轴来推动游戏进程,所以打算写一个完全由代码驱动的Flash游戏,加深我对面向对象概念的理解。

我要写的是一个类似超级马里奥的小游戏,用方向键移动地图里的小猫到下一关,要躲避所有敌人或者发射子弹消灭它们。我还没有写过这么复杂的游戏,也没有接触过面向对象的编程概念,就按照书上说的写了详细的资源清单,画了表示继承关系和变量方法的UML类图,制定了产品时间线。

我读的是寄宿学校,不让带电脑的那种。我妈便跟老师申请让我在寝室里用手提电脑。

当时我还没有调试的概念,写了一千多行代码,还纯手写了一个二维物理引擎。然后按下运行按钮,哗,一屏幕的报错信息。我只好赶紧修,修完一波还有一波。游戏第一次跑起来的时候,渲染出的图形和实际位置有偏移,我只好继续一边修,一边上微博吐槽。

我按照产品时间线一点一点完成,从六月断断续续写到十二月。就在我快要完工的时候,发现游戏的碰撞检测有问题,而我怎么也找不到错误的地方。我茶饭不思,夜里躺在寝室的床上想,突然灵光一现。为了不让光线打扰室友休息,我连人带电脑一起闷在被子里写,终于在午夜时分写完了这个历时半年的小游戏。

除了写游戏,高一那年我在朋友的帮助下创建了个人网站,还玩了竞赛。每个晚自习我和同学都泡在机房写程序,第二天早自习前飞速补完学校的作业,甚至期中考试也没来得及复习,可谓不务正业了。信息技术课在中小学生阶段非常不受重视,可谁说得清什么是正业呢。

(三)

大学为我打开了新的一扇门。我发现计算机领域不完全是编程,还有很多话题等着我去探索。

在圣路易斯华盛顿大学,我第一次接触到那么丰富的学习资源,并且学到一些非常重要的能力。我学会用谷歌搜索所有想学的知识,学会在框架的文档记录中寻找我需要的信息,学会用Stack Overflow等网站寻找程序问题的解决方案。我疯狂地学习,像个刚会走路的孩子,在计算机科学的世界里笑呵呵到处乱跑。

学了点皮毛的我,自信地跳过了大学的入门编程课,直接上了算法课。结果第一次作业就因为不熟悉版本控制而没交成,最后整门课只拿了A-。

急于证明自己的我,赌气似的选了高级算法课,和研究生博士生一起上课。教授每次作业布置五道题,全班有半个月思考,头二个做出来的同学有附加分。老师有次出的一道题格外难,助教给了提示,还是迟迟没有同学提交答案。我想来想去,用动态规划搭配多维数组解出来,教授非常惊喜。

彼时我准备转学,教授听说我才大二,更是惊喜,非常热情地写了信向其它大学推荐我。

这门课也使我对计算理论产生了浓厚兴趣。刚好有位教授的方向是近似算法,我便去上他的课,学得非常过瘾。他听说我想转学,就鼓励我:“你在我的课上表现很棒,你是好学生(top student),你值得顶尖的学校(top school)。”我感动得回家哭了一路。

后来我录取哥大,当面告诉教授好消息。他犹豫片刻悄悄告诉我,他也要离开了,要去的是全美国计算机系第一的大学。他当时说人往高处走,也是说服他自己。

我的大学生活,每一秒都在燃烧生命。我有时戏言,大学选得好,年年似高考。而充实快乐,正是我想要的状态。

(四)

我找了好久对自我的定位,我到底能做什么工作。

最初,我是想做游戏的。我认为游戏制作要求非常综合的能力,包括技术、美工、音乐、心理等等,非常适合什么都玩一点的我。为此我去找暴雪公司的人交谈,还混进过EA公司的私人酒会。或许是我没有写说明信(cover letter)的习惯,或者我的C++学得一般般,总之我一直没有得到机会进入游戏行业。

我在美国找到的第一份工作是银行的实习。我是抱着病急乱投医的心态投简历的,把能投的公司都投了一遍。印度小哥质疑我说,有这么多游戏相关项目,为什么要来银行。我急中生智,说,游戏制作也是编程能力的一种体现。他才收了我的简历。

银行的活很杂,我被分配去做手机应用的测试。我便将手头的工作先做好。后来我拿到了正式工的offer,打算要接,我爸反对说:“你对自己的要求就只是找到一份工作吗?”

我继续找工作,刚好因为银行的经历,被高盛的量化交易团队看中,邀请我去华尔街的贸易楼层写模型,我却因为对金融了解甚少而踌躇不前。我还投递了UI/UX和产品经理等等职位,后来发现它们对大学专业和工作经历有要求。我想,我学的是计算机科学,当然应该去试试软件工程的工作,为什么非要绕开写码这个选项呢。

经学姐的推荐,我参加了谷歌的面试。第一轮考算法,我绕了十五分钟还没有思路。面试官说,你把问题复杂化了。我再一看题,不小心脱口而出:“这也太简单了吧!”所幸的是,我把题目写出来了。第二轮考到面向对象设计,我使劲回忆的六年前设计UML图时的想法,答上来了。

话说当年教我编程的许老师,大学毕业后来了美国,硬核做研究进了谷歌。而我误打误撞,居然和许老师在异国成为同事,师徒重聚。

(五)

成长路上,我受到过的对我能力的质疑并不少,其中一部分直接或间接来源于我的性别。

基于性别的刻板印象是最愚蠢的。电脑编译时只看代码不论性别,有的人还不如编译器明白事理。(这句话,把性别换成年龄或者学历同样成立)

可怕的是,这种质疑有时候会内化。研究表明,女性对自我的评价普遍低于实际情况,而自信能影响一个人的客观表现。

我总感到一种压力,自己必须要做得很好。不然就会有人说,看,女生是学不好的。很长一段时间里我极力试图证明我自己,直到听到这样一段话,我释然了——

有一种“皇冠”现象(Tiara Syndrome),说的是女性在职业道路上普遍认为要取得某项瞩目的成就,周围人才会认可她的专业度(professionalism)。可这一天是永远不会到来的,因为皇冠不是别人给的,是要由你给自己戴上的。

当我高中听说“女生理科成绩会被男生追上来”的偏见,当我大学发现计算机课学起来非常吃力和想象的不一样,当我找实习没有找到一份完全写码的工作,我曾一次次怀疑过我的能力,再一次次重拾勇气。

每个人,无论性别年龄或学历,都应该有平等的追求梦想的权利。我想用我在甜欣屋写过的这段话,感谢我遇到的良师益友们:

“原来我并不是畏惧平庸,而是害怕天赋永不显露,害怕努力不得回报。可至少有人愿意与我同行,有人愿与在前指引,我也得以跌跌撞撞地一直前进。希望终有一天,我技能强大,内心强大。”

勇往直前,不忘初欣。

评论区

  1. 勤话日记 2019年7月21日 回复

    你的文笔很好,考虑一下转行做文学家卜?哈哈哈

  2. 罐子 2019年7月21日 回复

    初中才第一次接触flash
    然后就是手机自学。然后当兵去了。2年后出来了,在工地上干活。因为啥都会一点,也啥都不懂。
    生活和家庭环境所迫只能去工地上干活了。

  3. 玩转英语语法 2019年7月16日 回复

    为年轻的女程序员加油!

  4. 伪科学 2019年6月13日 回复

    见过程序媛,没见过这么美美哒的程序媛~

  5. 独立思考网 2019年6月7日 回复

    世界上最早的程序员就是女人,所以女人做程序员很正常。

  6. Oct. 2019年5月31日 回复

    天赋这东西真的很重要,能够坚持更是难能可贵!不忘初欣,继续前行!加油!

  7. Mr.Chou 2019年5月26日 回复

    一字不漏看完了,很励志..天赋和努力
    不应因为性别而否定其真实的能力。

  8. www.qian.lu 2019年5月6日 回复

    我喜欢你!美女!!

  9. 奶爸de笔记 2019年5月4日 回复

    我记得我有来过你的博客,不记得评论过没有了。

  10. 张凯博客 2019年4月7日 回复

    膜拜,让生命有光

  11. 大连红五 2019年3月23日 回复

    敢去做就很了不起了

  12. 楚狂人 2019年3月13日 回复

    有才华,有颜值,赞

  13. 演员 2019年2月19日 回复

    来看看!

  14. 菜鸟头头 2019年2月16日 回复

    唉唉,我做网站的时候和你一样,高一在朋友的帮助下,学会了建网站。O(∩_∩)O哈哈~

  15. 青铜 2019年1月24日 回复

    很厉害的小姐姐 跟你比我太菜了 我要加油

  16. 皮皮 2019年1月19日 回复

    天道酬勤,你投放的回报没白费。

  17. mler 2019年1月17日 回复

    学历高,又长得好看,其他人怎么说女性不适合编程这种话,无论怎样都是一种比较肤浅的认识,你很优秀!
    同时为什么不把顶部标签里的网站名改一下?还是链接

    • 甜菜欣欣 2019年4月14日 回复

      修复啦,之前不小心把挂载点删掉了。谢谢你!

  18. 陈仓颉 2019年1月15日 回复

    甜欣好棒!好欣赏你的学习能力和意志力,羡慕不来呀
    我也是从flash开始打开计算机的大门的,第一次让动画动起来,那种激动和自豪这辈子都忘不了

  19. 菜仔卢 2019年1月12日 回复

    路过打卡

  20. 青山 2019年1月9日 回复

    单凭自己的努力做到这种程度,真是厉害。我16岁建立了自己的博客~,马上17岁。

    • YIR 2019年1月28日 回复

      我16岁的时候,环境太差了,都自我放弃了。

  21. 飞之梦 2019年1月9日 回复

    牛妹子一枚,极其少见,特别励志,不奋斗真心对不起这么走心的文章了。

  22. Diryh 2019年1月7日 回复

    都是大佬!!

  23. lynn 2019年1月6日 回复

    “原来我并不是畏惧平庸,而是害怕天赋永不显露,害怕努力不得回报。可至少有人愿意与我同行,有人愿与在前指引,我也得以跌跌撞撞地一直前进。希望终有一天,我技能强大,内心强大”
    感谢感谢!一句话点醒了我,读博中途就开始抑郁,害怕平凡

  24. Alex 2019年1月6日 回复

    美女

  25. 鄢落 2019年1月5日 回复

    你真棒,我半年前一鼓作气地报了计算机,现在却有一点点退缩了……还是要好好学敲代码

  26. 大致 2019年1月3日 回复

    从事自己喜欢的职业真是一种幸福啊。

  27. 范明明 2019年1月3日 回复

    6岁 玩泥巴
    10岁 玩泥巴
    14岁 玩泥巴
    15岁 电脑是啥?

    • YIR 2019年1月3日 回复

      对对对!我和你一样!!

    • 辍学者 2019年8月22日 回复

      哈哈哈

  28. NOCOPy 2019年1月3日 回复

    牛牪犇!

  29. 蒲公英 2019年1月2日 回复

    勇往直前,不忘初欣。

  30. Angel 2019年1月2日 回复

    好羡慕

  31. kimeng 2019年1月1日 回复

    2019,勇往直前

  32. Reinhard 2019年1月1日 回复

    能转载在微信公众平台并注明出处吗?

    • 甜菜欣欣 2019年1月1日 回复

      谢谢你喜欢我的文章!公众号搜索“甜菜欣欣”即可,如果能转发就太感谢了

  33. 十三姨爱我 2018年12月31日 回复

    一个女学霸的成长之路!不过好在你找到了自己想要的~?

  34. demeiyan 2018年12月31日 回复

    看到你的经历我真让人惊讶!随便教育的普及,认为女生抽象思维能力比不上男生的想法会越来越少。

  35. Lolita 2018年12月31日 回复

    观念其实取决于环境,在我上学阶段的小环境里有很多数学好的女生,数学课代表是女生,特级教师是女性,没听过“女生不适合数学”这种蠢话。直到走入社会才听说,居然还有这种说法。

  36. 走来走去的大鱼 2018年12月31日 回复

    欣欣写的真好呀,很多人可能都会对自己产生过怀疑吧,无论性别。有时这种焦虑是没来由的,我的办法就是,不要怂就是干哈哈? ,忙起来就好了,加油!

  37. 杨小杰 2018年12月31日 回复

    环境改变一个人的一生,2018即将过去,2019继续加油哦!

    • 甜菜欣欣 2019年1月1日 回复

      一起加油~谢谢小杰在过去的一年给甜欣屋的这么多建议!

  38. Flyer 2018年12月31日 回复

    欣欣同学
    我只能膜拜你!

  39. time.life 2018年12月30日 回复

    每个人,无论性别年龄或学历,都应该有平等的追求梦想的权利!

  40. 鸟叔 2018年12月30日 回复

    鸟叔也是这样认为的,国内交易重视书本知识,轻视动手能力,所以一旦有机会都跑国外去了。教育体制有问题

发表回复

您的电子邮箱地址不会被公开。