因为有人在酷壳里评论里说我给一个女程序员的建议不靠谱,我不服,因为我的工作经历中的一些女程序员都很不错,比那些男程序员都强,所以,我在新浪微博和 twitter 上征集女程序员的故事和想法,这两天来,我收到了好几封邮件,让我很感动。其中,有一个故事让我回味很久,在脑海里挥之不去,可能是因为她的经历和我很相似,她的想法和我很有共鸣。
本来,我想通过收到的这些故事然后编辑成一篇关于女程序员的文章,但是我觉得这个故事已经足够好了,任何的编辑都是对这个故事的不尊重,所以,我原封不动,一字不改地把这个故事转到这里。我把一些我认为精彩的地方加了粗。
当然,我还是会再写一篇关于女程序员的文章,酷壳 2011 年底的最后篇文章和 2012 年的第一篇文章都是给女程序员的,因为,我为你们骄傲!
从哪里说起呢,我的程序员之路。有些话只是自己心里想的很明白,还从没说过。希望你有耐心看完,因为我的故事不精彩,也算不上奋斗史。我的文笔和叙事能力也很差。
高中报志愿的时候坚定的报了计算机技术及应用,当时对计算机的认识只是机房里的苹果机,和老师教的用 basic 输出一个正方形之类的。 我当时觉得我对计算机一无所知,我想了解他,就选择了这个专业,当然当时程序员的收入也是可观的。 :)
大学四年下来,我的成绩不好,基础也不好,没拿过奖学金。大学的课程很多不喜欢,我不知道为什么计算机系还要学高等物理,和马列毛邓。这是题外话。说实在的,很多课上的我一头雾水。毕业后找工作不满意,我直接去读了软件工程(考研的专业课成绩没到线)。两年制,一年上课,一年实习。我想给自己的履历上增加一些至少能给我面试机会的经历。(我仔细思考过我成绩不好的原因,心里因素是主要的,高中在重点中学,我不能接受自己不是尖子生的事实,总在想自己为什么这么差,以至于这样的心情影响了我很多年,一直到工作后的几年)
实习的第一家公司是个私企,工作两周后他们不满意辞退了我,沮丧是当然的,我知道我的能力是有差距的。虽然他们没有任何培训,直接拉去干活,起码的业务流程也没给我讲,但是我真的发自内心感谢他们辞了我,让我认清了自己。其实当时干的就是一些 perl 脚本和 php 的网页开发。
实习的第二家也是私企,给运营商做项目。我参加的是一个工作流项目,用 java 开发。我当时的 java 技术仅限书本的不怎么牢靠基础知识,至于怎么设计这个系统也没有一点概念,终于一个月后我决定退出了。经过这一个多月,我似乎知道了自己该从哪里开始了。就从 java 开始吧。
经同学介绍,去了第三家实习公司,面试的经理对实习生要求不高,让我能有机会实习。做的是银行和证券公司的网站,我主要做前端 jsp 的页面,同时我也选修了学校请的一位 Weblogic 的工程师开设的 J2EE 的课程。总算开始入门了。公司的同事很帮助我,有耐心让我了解了系统后台的架构。后来我随几位去客户那里出差,周末和晚上加班,为了他们临时改的需求。同事说,你一个女生出差一点不发憷啊。其实我一点不觉得累。同组的 team lead 没事就鞭策我说,你就甘心写 code 么,不能总是做开发,该为以后想想。但是我当时想法是,我的视野当时有限,还不确定自己能做成什么样子。我在这家公司完成了毕业论文。然后毕业。
毕业找工作,我没有留在实习的公司,我想多试试。找工作的经历不多,我去过联想面试,笔试过了,一面是 HR 面,题目现在大概还记得,如果有化学家、天文学家、医生、乞丐、孕妇,在一个荒岛上,你只能带走一个,你带走谁呢?分组讨论,得出一致的结论,也要说出自己的结论。同组有清华的毕业生,真的很自信,她说要带走天文学家。我说,出于人道,我肯定带走孕妇。后来就没了消息。难道医生可以留下照顾孕妇么,还是 HR 以为我选孕妇是注重家庭的人,没有事业心呢,我觉得这题真的不能说明什么。
之后面试了一家日资企业,一面是很多人一起面,我听了一圈之后,觉得自己有些把握,因为同组的人比我差,看来我运气挺好的。他们之中有本科生,有研究生,都是男生,就我一个女生。问的也挺基础,就是 servlet 如何工作,写没写过 SP,其中有个人问,什么是 SP,没人理他,我告诉他是 store procedure。面试官是个部长。后来 HR 的人过来让我留下二面,说我一面打败了所有男士。说来惭愧,我真的是运气好,没碰到牛人。二面经理只问了些平常的问题,就过了,于是我来到这家工作。考虑的是,外企多少工作流程上比较规范,也见见日本人是怎么工作的,还有就是自己能力有限,欧美大公司估计是没戏的,我还是从力所能及的开始吧。
日本人工作的风格大家应该有所耳闻,就是喜欢加班,我进公司的第一个项目是代码改造,把 VB6.0d code 重写为 VB.net。 加班到凌晨是常事,另外一个就是 team lead 的风格是没事也不能早走,也得耗到半夜才行。开始做的真是一点技术含量都没有,都是日本人写好 guide,告诉你什么改成什么,别问为什么,不能有异议,他们怎么说你怎么改。弄得我当时都不去思考这里的技术细节,这是我当时犯傻的表现。除了技术本身,还有很多需要学习的。后来陆续做了一些我喜欢的 java 的项目,用到了 spring,hibernate,ibatis, struts, ant 等等。还有一些日本人自己开发的框架。每个项目的业务也都不同。在这家工作了三年,我觉得这不是我要的,我的技术提高有限,做的事都是别人设计好,甚至告诉你 code 应该如何写,而且做事风格不是我想要的。我想去欧美文化的公司试试。也想做通讯相关的。
同学帮我投简历,我面试一家对欧美的外包企业,一面是本公司的人面,问了项目情况,说了说英语,我准备还算充分,过了;二面是公司的客户面,到公司和客户开电话会议面试,第一次和老美直接对话,我虽说有点紧张,但是还是专心听他的问题,听不清的就让他重复一遍,我现在记得的一个问题是如何写出高效的 SQL。面完回家等通知。过了几天我收到了 offer。
客户是为运营商提供软硬件服务。我们做的是 BOSS 系统的一个模块。都是 java api。 几乎用到了 J2EE 中定义的所有组件和 java 相关的框架。我在这家工作至今。技术从不熟悉到熟悉,业务逻辑从不熟悉到熟悉,都是在开发每个 feature 和改的 defect 中慢慢了解的,硕大的系统不允许我一口吃个胖子。只要脑子里绷根弦就每天都有进步。加班不是常事,但是也有紧张的时候。有时候一个 defect 要跟踪成千上万行代码,你才知道哪里出了问题,这是需要耐心和细心的。给客户的客户做 support 的时候,经常被半夜的电话叫醒去看一个现场的问题,我不觉得累和烦,我觉得这是我价值的体现(当然这不会每天发生)。修复一个 defect 我会有一点小小的成就感,每天晚上回家方便的话也会看看邮箱,看看有没有紧急的事情。有的人认为你下班了就没必要再管工作邮箱了,但是我愿意这么做,我觉得这是我职业精神的一部分,也是工作态度。
偶尔会帮着公司招聘毕业生,有时候会遇到什么简单问题都答不上来的人,我感觉就像看见当初刚毕业的我,临走,我会说一句,没关系,回去好好准备,看看基础知识。
我曾经怀疑过自己是否适合做技术,总觉得自己不如男生,也总在问自己的路在哪。而且没有自信,曾经紧张到,有人看我打字,都紧张的手抖。到现在,我觉得做技术挺好,就像你说的,我清楚的认识自己,我不是技术大牛,就每天写着自己的 code,了解业务,挺好,但是不代表我不上进。很多女同学现在都不做技术了,也不写 code 了,但是我还在做,甚至越来越喜欢,在中国有种普遍的想法是,作几年技术该转去做管理,否则认为你不成功,这是人云亦云的说法。我想我为什么不能一直做技术呢?虽然中国的大环境可能不适合你一直做技术,但是我愿意试试。我不愿意放弃多年来积攒的一点点优势。何况我现在工作上越来越得心应手,不久前,我收到客户的邀请,他们想让我 transfer 到美国或者加拿大成为他们的一员,我在等待漫长的人事流程,也有可能会 pending。但是我无所谓,我现在自信,知道想要什么。一直做技术,怎么了,不行么?
谈到男女程序员的问题,有些男人以技术强自居,而少了一点谦逊和工作的严谨。有些技术不强的,有些懒散,得过且过。都是我遇到过真实的人。同组的一个女生来了几个月就比一个来了一年多的男生上手快,这说明什么的,态度和努力是重要的。我更认同的是技术和男女无关,和个人有关,任何以偏概全都是片面的。
同组的男同事们没有因为我是女性而轻视我,我很感谢他们,在一个 team 工作,技术是必要条件不是充分条件,合作、交流、态度、遵守流程,任何一个都缺少不了。如果我只是技术差点,那么我提高的空间是很大的。 多看看书,真的不难。虽然我可能离 amazon 或者是 google 这些企业的要求还有差距,但是那是我的方向。不过像 baidu,腾讯这些流氓公司,给我多少钱也不去,女程序员也是有傲骨的,虽然也有可能他们看不上我的能力,但是,那又有什么所谓呢。
如果你能看完我这如白开水的文字,很感谢,因为我写的实在太不好了,这些经历普通不过,也证明我是个普通的人,如果我高中的时候不那么在意自己是不是优秀生,就能放轻松,大学(也在想这些)会有个好成绩,没准我就能如愿的毕业就进欧美大企业,不过那样我可能也少了以上跌入谷底的经历和现在平和的心态,我想后者对我更有意义。
不用署名,有的话,一个女程序员,哈哈。有错误处,见谅,中午休息,仓促的回顾了这些。技术本身心得有限,我就不班门弄斧了,还需努力。也请不要注我的微薄行号啦。另外我老公也是程序员,我和他能谈些技术和项目上的事情,我想是非女程序员感受不到的乐趣,哈哈哈。