很久很久以前,我便想给大家讲这个故事——我如何走上程序媛这条“不归路”。关于自我定位,关于梦想,关于现实。
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)。可这一天是永远不会到来的,因为皇冠不是别人给的,是要由你给自己戴上的。
当我高中听说“女生理科成绩会被男生追上来”的偏见,当我大学发现计算机课学起来非常吃力和想象的不一样,当我找实习没有找到一份完全写码的工作,我曾一次次怀疑过我的能力,再一次次重拾勇气。
每个人,无论性别年龄或学历,都应该有平等的追求梦想的权利。我想用我在甜欣屋写过的这段话,感谢我遇到的良师益友们:
“原来我并不是畏惧平庸,而是害怕天赋永不显露,害怕努力不得回报。可至少有人愿意与我同行,有人愿与在前指引,我也得以跌跌撞撞地一直前进。希望终有一天,我技能强大,内心强大。”
勇往直前,不忘初欣。
你的文笔很好,考虑一下转行做文学家卜?哈哈哈
初中才第一次接触flash
然后就是手机自学。然后当兵去了。2年后出来了,在工地上干活。因为啥都会一点,也啥都不懂。
生活和家庭环境所迫只能去工地上干活了。
为年轻的女程序员加油!
见过程序媛,没见过这么美美哒的程序媛~
世界上最早的程序员就是女人,所以女人做程序员很正常。
天赋这东西真的很重要,能够坚持更是难能可贵!不忘初欣,继续前行!加油!
一字不漏看完了,很励志..天赋和努力
不应因为性别而否定其真实的能力。
我喜欢你!美女!!
我记得我有来过你的博客,不记得评论过没有了。
膜拜,让生命有光
敢去做就很了不起了
有才华,有颜值,赞
来看看!
唉唉,我做网站的时候和你一样,高一在朋友的帮助下,学会了建网站。O(∩_∩)O哈哈~
很厉害的小姐姐 跟你比我太菜了 我要加油
天道酬勤,你投放的回报没白费。
学历高,又长得好看,其他人怎么说女性不适合编程这种话,无论怎样都是一种比较肤浅的认识,你很优秀!
同时为什么不把顶部标签里的网站名改一下?还是链接
修复啦,之前不小心把挂载点删掉了。谢谢你!
甜欣好棒!好欣赏你的学习能力和意志力,羡慕不来呀
我也是从flash开始打开计算机的大门的,第一次让动画动起来,那种激动和自豪这辈子都忘不了
路过打卡
单凭自己的努力做到这种程度,真是厉害。我16岁建立了自己的博客~,马上17岁。
我16岁的时候,环境太差了,都自我放弃了。
牛妹子一枚,极其少见,特别励志,不奋斗真心对不起这么走心的文章了。
都是大佬!!
“原来我并不是畏惧平庸,而是害怕天赋永不显露,害怕努力不得回报。可至少有人愿意与我同行,有人愿与在前指引,我也得以跌跌撞撞地一直前进。希望终有一天,我技能强大,内心强大”
感谢感谢!一句话点醒了我,读博中途就开始抑郁,害怕平凡
美女
你真棒,我半年前一鼓作气地报了计算机,现在却有一点点退缩了……还是要好好学敲代码
从事自己喜欢的职业真是一种幸福啊。
6岁 玩泥巴
10岁 玩泥巴
14岁 玩泥巴
15岁 电脑是啥?
对对对!我和你一样!!
哈哈哈
牛牪犇!
勇往直前,不忘初欣。
好羡慕
2019,勇往直前
能转载在微信公众平台并注明出处吗?
谢谢你喜欢我的文章!公众号搜索“甜菜欣欣”即可,如果能转发就太感谢了
一个女学霸的成长之路!不过好在你找到了自己想要的~?
看到你的经历我真让人惊讶!随便教育的普及,认为女生抽象思维能力比不上男生的想法会越来越少。
观念其实取决于环境,在我上学阶段的小环境里有很多数学好的女生,数学课代表是女生,特级教师是女性,没听过“女生不适合数学”这种蠢话。直到走入社会才听说,居然还有这种说法。
我印象中女生多是文科好,感情丰富细腻。
欣欣写的真好呀,很多人可能都会对自己产生过怀疑吧,无论性别。有时这种焦虑是没来由的,我的办法就是,不要怂就是干哈哈? ,忙起来就好了,加油!
不要怂就是干,用成绩说话~加油!
环境改变一个人的一生,2018即将过去,2019继续加油哦!
一起加油~谢谢小杰在过去的一年给甜欣屋的这么多建议!
欣欣同学
我只能膜拜你!
我还要膜拜你呢!新年快乐呀
每个人,无论性别年龄或学历,都应该有平等的追求梦想的权利!
鸟叔也是这样认为的,国内交易重视书本知识,轻视动手能力,所以一旦有机会都跑国外去了。教育体制有问题