title: 198.程序员因为女孩而美丽! outline: deep

女程序员是程序员里美丽的风景线,我希望这些女程序员的经历能让我们**在这个“重男轻女”的社会中可以给女程员有更多平等的机会和条件,以及相应的尊重因为,她们其中不乏优秀的程序员,而且在心态、态度和努力上还强过很多男性程序员,很多东西都值得我们大家向她们学习**

这篇文章的来由是因为Eva在“三个事和三个问题”的评论里问我女孩子是否能做技术,她说她的很多师兄都告诉他不要做技术,所以,她有些不坚定了。我的回复是告诉了她我工作经历中的两个技术很牛的女孩,并且我从她们身上学到了多技术。但是,后面有一些人回复说我误导了别人。所以,我在新浪微博twitter上征集女程序员的故事和想法。我一共收到了19封邮件,其中有17封邮件来自女程序员。其中有一个已经发布了(一个女程序员的故事),其中的一些观点已经在网上传播,并得到了大家的刮目和称赞。但这并不是特例,因为下面的这些故事中,还有很多令人刮目相看的东西。

说明:先说明一下,这篇文章并不想讨论女孩子是不是适合做技术,这不值得讨论,因为,在“一个女程序员的故事”中我们已经知道,态度和努力才是原因,而不是性别。这里,也只是想告诉那些有“性别歧视”、“看不起女程序员”、“骄傲自大”的男程序员们,那些女程序员不为所知的一面。我把几乎所有的故事都列在这篇文章里了,我觉得我不用再多说什么了,这些故事组成的风景线,可以让你充分地了解女程序员

Ada Lovelace 世界第一个程序员

Ada Lovelace 世界第一个程序员

在看到那些故事之前,我们需要了解这样的现实——

但是这些现实中的东西,对于我们的女程序员来说算不了什么!不信,你看看他们的故事。至少你会发现,做技术的女孩一点也不浮华

目录

女程序员的故事

下面的故事,都是原文,没有经过任何编辑。下面的故事,很多也很长,她们串成了一个非常美丽的风景线,我真的希望你有空能读一读这些故事。你会发现这些故事都有我们自己的身影

真的非常感谢大家对我的信任,给我发来这么多的故事,谢谢你们的支持。我完全相信——

程序员因为女孩而美丽!
Shaofei – 妈妈是个程序员

1.我老妈是程序员,老朽今年二十有七了,可以想象年龄。

2.她20来岁的时候,背着全部门写的程序——一卷打孔纸带去北京上机调试,要排机时,还要给重要的项目让路,改程序么,就是把纸带剪断,用胶粘一段上去之类的。

3.她们那个时代的程序员都是直接读机器码的,大约就是5665表示begin之类的东西,而且是用打孔纸带二进制表示的,嗯,小时候有印象,她读程序就是站在床上一手拿着纸带卷,另一手抽着读,读过的就拖到地上。

4.好吧,那个时代的程序员应该坚持到现在的不多,很遗憾她中间也转了管理又转了市场,后来创创业也没成,于是现在待在家里悠闲。

zxy_snow – 半女程序员流水账

自我介绍下,女,大三,某高校软件工程专业。

我想,严格意义上来说,我还算不上女程序员吧,还是一个弱弱的学生。

接触程序还是在大学开始,或者说,大一下接触ACM 之后吧。当初和朋友一起做ACM,这一年半,不停地学算法、刷题,也成就了一个水题博客(我的CSDN密码??),交到了很多其他大学的朋友,人外有人,深知这句话的意思。虽然算不上太聪明,不过不笨,另外,还算坚持,想想搞ACM 的时候,经常攒着电影没时间看放寒暑假回家看,看一个电影都能刷个题了都。现在想想,那些日子真的很开心。吃饭的时候可以想想,啊,这个应该用这个算法,和朋友们出去的时候可以一起讨论。用学长的话,有一个你可以一直在脑袋里想的问题,多好啊!庆幸自己遇到了ACM,做自己喜欢的事情,尽自己全力,在大学阶段,真的很难
得。毕竟大学之前,就像机器一样,大家都这么做,我也就这么做,但是大学之后,是完全靠自己想法行动的,无论做什么,都是自己的意愿,这样很有成就感。

还记得,大二的时候,是好孩子,不想逃课,就印了题、算法、论文去课堂上看,看懂后果断逃课回去敲代码,哈哈,不是个好孩子呢!翘了不少课。寒暑假总被老妈说,说别学了,出去玩玩,哈哈!如果她知道我学的和课业无关她会不会还这么说,嘻嘻!

今年的11 月,区域赛结束后,算是告别ACM,开始踏上了网络方面的不归路。确切的说,是因为需要做课程设计。我用了俩星期从J2EE 啥也不懂然后和朋友们完成我们的项目,很开心。我想,这些学习能力、代码能力是ACM 给我的。开始一个完全未知的领域真的好难啊,各种不懂,我的“to learn list.txt”一大堆东西,慢慢来吧,近期把JS 的基础视频看完了,《正则表达式必知必》会看完了,struts2 视频正在学,寒假还有各种任务呢!哈,想想寒假我都好兴奋,寒假学习效率会很高的。当然,先应付完期末考试。引用另一位学长的话,搞ACM的要当学霸!优秀应该是各个方面的。

这次寒假的主要任务是做学校的在线测评系统,怎么说呢,我觉得这是又一件我真心想做并且想把它做得完美的东西。这样的感觉很少有了,但是这次,我真心想把它弄好,所以学架构,写需求分析,数据库设计,学各种需要的知识,但是总感觉,学得越多,自己越需要学的东西就越多,不过,只要开始学了,就有进步的。

不知道符合要求不,似乎又写了一篇流水账,所以说我觉得我还不算是程序员,不过未来很希望成为一名程序员,写代码多开心呐!

璀璨 – 时刻准备着

我:大四在一家叫食草堂的公司做网络管理及网店运营,但基本用不到专业知识。毕业后男朋友坚持不让我再随便找工作,他一个人挣钱并供我去学习java语言,学习了8个月找到了一份做ip网管软件的公司,男友在一家培训机构做教师,后来渐渐觉得不快乐不充实,被封闭在这样的空间内,不能去接触新技术新人,视野渐渐狭窄。于是我们一起辞职从天津来到了杭州,只面试了一家就来上班了,当时觉得自己能力有限,不应该是我挑工作。。。在这里做手机阅读网站,接触不到数据库,我们负责的是中间层,将数据从接口取出展示在页面上,由于我工作积极主动活泼开朗,喜爱解决疑难杂症,又爱组织这个那个的,PM将我提升为开发组负责人,但是转眼一年多过去了,我并没有觉得有成就感,相反觉得自己在技术上一事无成、在管理上又不专业,不想走管理的道路。这一年来我和男友去上海参加了几次技术大会,每回回来都会热血沸腾,我工作很忙又懒惰,导致技术水平一直无法提高,很多书都没看。每天都有强烈的自责感,但又觉得没有学不会的东西,所以就无法放弃。也因为自己对技术能力表示质疑,不敢去大的公司应聘,导致现在总是时刻准备着。。。

回想这些年,我心中所树立的理想、信念,我对it行业的向往、甚至我现在的自责感,都和男友对我的影响有关,他的眼界和思考能力要远高于我认识的人,所以有时候我想我的某些思想是依赖于他的更新而更新的。是那种容易被别人感化的人。

说说其他的女程序员吧,她们之前的人生经历我不说了,就聊一聊我认识的几种女生在工作上的类型吧。

我的同事A:刚毕业没多久的小女生,我每天从男友那里或者我自己这里获得的最新新闻和哲理我都会讲给她听,她认真听,回去也看书,每次都会骄傲的对我说又看完一本了,但技术始终上不来,这大概是那种应试教育下的女生代表类型,就像我们计算机系当年得前三名的女生一样,在实际工作后比不上倒数几名的男生。

我的同事B:已经做妈妈了,工作出色,考虑事情全面,只是她的生活完全和世界脱轨,新事物几乎不接触,新技术也是,但是如果工作用到她会积极去学,并且能把工作做好,对未来没有规划,过好日子就行。

我的同事C:毕业时是C的佼佼者,毕业后一年多就落后了,被爱情和无聊的日子所累,也总是自责,但找不到学习的方向。

看过这么多女程序员的状态,对于自身没有坚定信念和方向的我们来说,我觉得工作环境真的很重要,每天身边是什么人在交流,是什么人在一起工作,团队氛围如何,都会潜移默化影响着每个人,自身的努力和态度也固然不可忽视。

冰 – coding是我们的共同语言

昨天见到了你的关于女程序员的征文,也趁着年末,给个小小的回顾自己吧。也算不上什么经验,只是谈下个人经历感受。

上大学第一天就知道,班里面只有4个女生,但也并没有任何特殊优厚待遇,一般开什么班会,都是女生迁就男生,大老远跑他们那边去开会,常感受到的是,特别容易被老师或同学质疑,这个是你做的吗?你完成上机实验了吗?要独立完成等等。。。

印象比较深刻的是,有一次,电脑坏了,找男生修,结果他说身为计算机专业的女生,连个都不会,在以后的日子里,我就没有再去麻烦过他,也许他们是那些所谓的Geek,但我理解不了这份傲慢,牛人多的去,尤其在我现在工作的公司,一位资深架构师,不论问题大小,都会给你很好的解答,并进一步发散问题,每次聊天都受益匪浅。当然这些也只是少数,大学里面是最好的学习环境,而且很奇怪地,我发现,学习好的女生,都是在一个宿舍,而不学无术的,又会在一个宿舍,工作以后,大半都没有再从事计算机方面的工作了,要么考个公务员,要么做个辅导员,或去个银行什么的。同生同是,一个宿舍里,好像就是一场编程的竞赛,谁更努力,谁更有资本炫,也许这是学习的动力。

说下出来毕业出来找工作,当时确实茫然,展望整个专业,本来就女生不多,还有大半都去考研考公务员等等的,觉得自己出路在哪啊,男生这么优秀,你凭什么跟他们一拼高下,一次又一次的经历招聘会的沮丧,信心都快打击光了。后来,收到了第一个offer,就马上把自己卖了,这也是我的第一份工作,我是09年毕业的,当年市场确实也不怎么景气,有好些同学,都是在年末才找到工作,甚至先去上了个什么一万多的达内啊青鸟啊之类的软件培训课程。

上班之后,也没多好受,原来老大当初把我招进来,有一个原因是想解决下公司内部单身男士的需求,给我的一般是轻活,自然奖金工资总比同进来的男生少(私底下交流过),自问没做得比他们少。值得庆幸的是我跟了一个不错的组长,他会给跟老大提出要求,可以给我安排些挑战性的任务,由于过去一年确实也收获不少,虽然不是在金钱上,一直比别人努力希望能纠正老大眼中的我是花瓶的感觉。

同时,另一个困扰的问题是,可能女生少的原因,本人有几分姿色,在本部门受不少人追,风言风语不断,给我个人生活不少的精神压力,平时同事也会半开玩笑的说,嫁了吧,写什么代码,而且跟一些比较资深的程序员聊天时,总会呵呵的轻笑,然后说你是程序员啊。。。部门一些杂务,通常都扔了给我处理,这个我觉得吃点亏也没什么大事,但是就是忍受不了那种受轻视的感觉。

处心积累了一年半,跳离了这个是非之地,目前在工作的公司。终于呼吸到新鲜的空气,现在整个开发团队,只有我一女的,开会什么的我就显得特别突出,办活动或者聚会什么的,总不能太融入他们,他们一帮程序猿,辟酒通宵桌游聊天,我总不能也凑上去喝个烂醉吧,活动吧,他们篮球啊足球啊,我根本掺和不上,剩下的就是大家吃个饭,感情上总是欠缺一些,但是他们都很照顾我和接纳我,也教会我了用很多的工具,大家总以邮件形式来分享代码中遇到的抽疯问题,白痴陷阱,即使错了也没关系,反正就是可拍砖可嘉奖,气氛相当的学习火热型。

另外一样是,coding我们可能有共同语言,但退下工作后,基本上,跟一群男程序猿聊一起很难话题不多,偶尔遇到一两个话多一些风趣一些,其他都是木纳得很;而作为女性,当然会爱逛街爱八卦爱打扮,但同学已经各散东西,同事中没几个女的,生活已经没有几个女伴一起做女生爱做的事,而且,上班时,我总是小心翼翼不能穿得太性感,不打扮,怕会遭人闲语。

呵呵。本文就一啰嗦。莫见怪。

Maya Maya – “左手代码,右手诗”

从小我喜欢画画,喜欢文学,上大学的时候,听了家人的意见,报了计算机,从此理想和现实分开。我大学毕业已经10多年了,当年毕业进了高校当老师,两年后为了爱情放弃舒适的生活来到北京北漂,对计算机不是那么爱好,开始做测试,后来转作网站开发,和互联网结下了不解之缘。互联网是节奏很快的公司,虽然自己年纪大了,可是和年轻人在一起,觉得自己心态还很年轻,哈哈~

说起做技术,也是满腹心酸,刚到北京,一个小公司,老板不懂,今天说给我开发一个无纸办公室软件,明天那个,那个时候晚上下班累的洗脚时躺着就睡着了。可是自己没有放弃,逐渐喜欢上了技术,后来去了一家公司,有个大师级人物,虽然大家都说他性格古怪,可我和他相处很好,他算是我一个师傅,和他2年多,自己技术提高了不少,做技术的兴趣也多了很多。最苦的时候加班两个通宵,除了公司坐上出租车就睡着了,但是心里很充实很开心。

女人做技术最怕就是世俗的偏见,尤其是过了30,生了孩子,明显感觉出来了,职业瓶颈。不少人劝我找个轻松的工作,可是我还是没有放弃,还在坚持,不是为了为了养家糊口,为了自己的心愿吧。我做事喜欢亲力亲为,每次招聘约小孩面试,他们都问我,你是助理吗?面试结束,小孩们又说,女的做技术很少的,做技术的女领导应该很严格吧。其实对于别人的任何看法,我从来都是笑笑不语,我带团队,总是希望新人能在我这里学到东西,走的时候能上一个更高的台阶,因人而异给他们提供机会。互联网发展快,我自己也要学习,不然就跟不上,我每天很早来公司,晚上也走得相对晚些,下班了才有自己时间看点东西,上班琐事太多。顾了公司顾不了家庭,回家是孩子睡了,老公一脸的不高兴,生活或许如此,不能尽善尽美。任何事情都有游戏规则,既然选择就要遵守。

互联网的泡沫其实很多,我经常给刚毕业学生说,30岁之前不要看钱,而是给自己长本事,积攒资历。发现在线小孩浮躁的很多,很难静下心来认真做一件事情,总是看着别人的薪水多高,看别人的收获,却没看到别人背后的付出。

程序员给人感觉都很闷,可是我喜欢读小说,红楼梦最爱,很喜欢惠新宸的那句话:“左手代码,右手诗。”

Joyic – 只要努力,一切皆有可能

看过“一个女程序员的故事”这篇文章,很有感触。我是2010年的硕士毕业生,也是个女生,和故事中的女主角比起来,我的故事其实才刚刚开始。或许平淡,但希望能给即将找工作,还在徘徊和犹豫的学弟学妹们一些鼓舞。

经历的小学和初中的辉煌,经历了高中的低潮,我进入了一所211本科,不是985,一所不上不下的大学,专业是信息管理与信息系统。这个计算机相关专业让我接触到了C语言,数据结构,Java,Web编程以及数据库,我发现自己从来没对哪些课程有如此大的热情,这些热情带给我的动力以及对知识的渴望,换来的不仅仅是优异的成绩,最重要的,让我拾回了高中三年几乎丧失殆尽的信心,我又开始相信自己。

转眼大四,与保研失之交臂,考研又没能进入理想的学校。又一次进入了一所不上不下的211学校,一切似乎又回到了原点,这次的专业是软件工程。不幸中的万幸,我还没离开自己喜欢的专业。研二的上半年,我得到了导师的一个横向项目,给四川的某出版社分社做一个信息管理系统。这是我得到的第一个锻炼机会,用的是最简单的jsp+servlet技术,系统结构不复杂但内容很庞大(就一个dev来说),我一个人硬着头皮码了十几万行的代码,需求、开发、安装、调试、培训一个人从头干到尾,中间多少次我都觉得自己做不了了,要放弃了,这个功能我完不成了,没时间了,咬咬牙,全过来了。现在想想,这个系统错露百出,但它使我完成了从无到有的涅槃,不再是看看书,写个百十来行的练习,是真正做出来个东西。

完成了这个项目,对自己的信心又增强了。我有了下一个目标,找个实习,去IBM试试!

以我所在的学校,能拿到IBM实习offer的人凤毛翎角。“应届生”网站上随时会有IBM招intern的消息,我的简历因为有了刚刚做过的这个项目,基本都能得到电话面试的机会。当时我的知识面还很窄,加上没有为面试好好复习过基础知识,屡试屡败,有时拿到面试也是铩羽而归。“WSDL是什么?”,“你对SOAP有什么了解?”,“设计模式你熟悉么?”,“解释一下Spring的依赖注入”一次次的失败也指引了我学习的方向。不会我就学么。至少面了5个team,我终于拿到了IBM的offer,当上了intern!现在想想,这个时刻带给我的喜悦甚至超过了我毕业真正找到工作的时候。我再一次给自己画了一条遥不可及的线,再一次把自己扔了过去。

实习了不到一年,让我学到了很多,也适应的外企的工作环境。开始真正的找工作了。有学校的项目和IBM实习经历,我的简历更加丰满,加上自己经历多次intern的面试,积累了一些面试经验,很顺利的,我拿到了Oracle,IBM和我现在公司的Offer。

工作到现在工作一年多了,有过一次promote,也得到了一次出国培训的机会。真正的工作中,我的技术和工作过3、5年的同事尚有差距,我把很大一部分精力放在了解业务上,通读了产品所有的design文档,对架构及所有workflow了然于心,专挑一些别人不愿碰的硬骨头,亦因此建立起自己在team中的reputation。

最后,我想说,我身边也有在学校的时候就能写出操作系统的牛人,我也是无比尊敬和仰慕着他们。作为一个热爱着编程又天赋一般的普通人,没有清华北大北航北邮…的好出身,也没有根红苗正的计算机科学与技术专业背景,一步步的走过,被兴趣爱好还有自己的执着指引至今。

给向往着大公司的学弟学妹们,可能你的学校使你没有运气在面试的时候发现面试官刚好是自己的师兄师姐,但只要努力,一切皆有可能。

给我的老师和帮助过我的同事,你们引领我一步步走进了这个行业。

还有我相伴7年的男友,我还记得大学的时候我们打电话时讨论技术,宿舍姐妹们看我的眼神儿。哈哈哈。

叨叨 – 为了忘却的纪念-我在恒生的七年

叨叨的博客
http://blog.sina.com.cn/u/1892569084

强烈建议大家看看这个连载,你一定能从中看到很多东西的

(本文发布时,这个故事还在继续中……)

Kelan – 在coding和修复bug中享受无限的快乐和价值感

我是一名入职不到一年的女程序员,很幸运,能进入一家知名的互联网公司做web开发,用的Java。我记得当时面试的时候,我在技术上毫无优势,公司要用到的很多框架,我都没有使用过,只是听说过,知道一点点概念,但是过了两个技术面,面试官很nice,觉得我有潜力。第三面是HR面,当时HR问我,为什么要做技术,我当时思都没思考就回答:喜欢!我一直很惊异这个答案,也许,那是一个连我都不敢相信的真实的答案。

我在的team里面,就我一个女生,又是最小的,大家相当照顾我,在工作上给与了我很大的帮助,不得不提的是,我不仅遇到了一个很和谐的团队,还遇到了一个打着灯笼都难找的boss,对于这一点,我觉得也许是上辈子积了德,呵呵呵。也正因为他们对我很好,我在工作上不敢懈怠,我知道我基础很欠缺,我不想因为这个影响到整个团队。我会主动的去学习相关的东西,但是,从前的一些经历,让我对自己很不自信,当我看到同事游刃有余的处理工作,讨论技术,研究业务的时候,我很羡慕,同时也觉得自己很苍白,不知道何时才能和他们一样,同时也很害怕让他们失望。

很多人都觉得女生就该做像女生的工作,比如hr,比如行政,做技术也可以选测试…我也有过疑惑迷茫的时候,不知道未来的路如何走,也想过自己是不是选对了职业的方向。但我不得不承认,coding和修复bug后给我带来了无限的快乐和价值感,那种感觉很好很好。

我没有太多的分享工作经验,只是想说说自己的迷茫。我从前一直觉得,要做技术大牛才是技术人员的目标,而技术大牛四个字,我望尘莫及。我很堕落的想过,我可不可以不做技术大牛,我就写我的代码,去实现各种业务流程,做一个平凡的程序员,这样算不算不思进取?我看了你分享的文章后,觉得我的想法也许没有那么不堪,每个人都有选择成为哪种人的权利。既然现在的我喜欢code,那我就写好每天应该写好的code,至于以后,那是以后的事了。

我觉得,也许很多女程序员和我有相同的困惑,不知道,有谁可以解惑?言语有些乱,因为最近也被这些问题烦扰。但我还是想给自己一个机会,在技术领域,至少五年,如果真的不适合,我放弃,去选择另一种人生;如果相反,呵呵呵,那我真是很幸运,从一开始就选对了路:-)

WaterMask – 踏踏实实的做coder,每天写好每一行代码

偶也是个女程序员,看了cool shell上的blog,发现同自己想法一样的人很多,我也想说说自己的事情。(可能会有点长,如果您能读完我会很荣幸,因为一直都是我读你的blog来着么,呵呵~)

我是09届毕业生,加上实习时间也不过3年不到,所以还是个新手。

毕业那年正赶上金融危机,就业形势一片糟糕。对于非名牌大学的我来说,简历通常都是石沉大海。身边的同学如果自家有门路的基本都舒舒服服的实习了或者考公务员什么,心里不是没有憋屈的。虽然自己家里也不是一点门路也没有,但是我还是想能靠自己的能力找到工作。(工作到现在我发现,做IT的都不喜欢走后门,大家都靠自己的实力面试工作之类的,恩所以我更爱这个行当了

我的专业是计算机科学与技术,所以除了程序员,我基本没有想过要做别的职业……不晓得为什么当时我会这么想

实习的第一家公司是在一家展会公司做网管。公司在市中心的高档办公楼,只有一个hr面试我,没有任何的技术问题。接到录取电话的时候,还是开心极了,因为那时候简历投的基本要发狂了。之后去那边上班才发现受骗了,那家公司其实就只有一个部门——电话销售部门。所有的人每天都是不停的打电话做推销(原来那些成堆成堆卖客户资料的人都是卖给这种公司了……居然还有电话过去找的那人死了好多年的……)。于是我干了没几天就走了。

沮丧的很,本来以为是难得的实习机会。因为知道自己其实除了计算机系毕业的外,连真正的代码也没有敲过几行,对于自己想干什么能干什么都很模糊。当时甚至觉得如果有一家软件公司肯要我,给我一个学习的平台,我工资也可以不要的……

之后我认真修改了简历,也去了几家公司面试,不过可能因为技术方面太贫乏,都没有公司有回音。除了再接再厉外,我也没别的方法。正好当时学校里已经没有课了,只剩下毕业设计,于是我有大把的时间出去找工作。

最后拿到offer的是一家民营公司,专做外包的。(虽然当时我对外包这次词其实不是很理解)我只能说我的运气很好,这家公司的hr是个很nice的姑娘,通过笔试面试之后,她还和我聊了很久,问我为什么非要做程序员之类的,而我也破天荒的说了很多心里的想法。(应届生面试总会事先准备一些问题和答案,有些可能会有点冠冕堂皇)。我记得我跟她说我觉得写程序应该是一件充满想象力和创造力的工作,我喜欢当完成一段代码像完成一件作品一样的成就感。面试完之后,我其实没想过会被录取,只是觉得把心里面的话说出来了,觉得很舒服。过了不久就接到去上班的通知了,心里是非常愉悦的,这次是真正的程序员了!

开始工作之后才发现了梦想和现实之间的差距。因为是外包公司,所以项目进度非常的紧,而且需求也是三天两头的变。我所在的项目组一共5个人,却有6个项目在同是开工,其中3个人事项目经理。不过那时候的我没想那么多,加班就加班呗,我觉得是自己学习的机会。因为我是项目组里唯一的女生,所以大家都非常的照顾我。在写代码的过程中有遇到什么问题,基本都会抽时间帮我解决。有时候我怕会打扰别人就到网上搜搜解决办法,看看文档。每次靠自己解决问题之后,都会很有满足感。我觉得我所有的代码知识几乎都来源于实践,有点现学现卖的。

在工作了一年之后,我甚至觉得自己进步的很快。因为有同事跳槽的关系,项目组里缺人,我居然开始一个人负责一个项目。天啊,我觉得自己太伟大了!是个网上办事的电子平台的OA项目,还有一些杂七杂八的附带功能,视频、聊天、发短信什么……面向的客户是政府机构,使用的人员基本也都是事业单位或者是公务员。(这就不难理解为啥要那些杂七杂八的功能……)

我接受这个项目的时候已经是中后期,从跟客户需求沟通,到代码,到测试,到现场实施,到后期维护……几乎就是我一个人在做。其中的苦辣酸甜也就不谈了,常常被客户骂的饭也吃不下。我就这么浑浑噩噩的又干了半年左右,每天都是白天接到客户的需求变更或者使用的bug(测试也是我自己做的……所以bug非常多)下午代码,晚上就跑到客户机房去调试补环境……

通过这样的长期反复,我开始思考自己一开始的初衷,我为什么要做程序员?我每天都要花很多的时间去理解和分析客户的需求,然后想尽办法修改我的代码,我的代码几经修改已经面目全非,已经没有任何代码质量和运行效率的考虑,纯粹只是为了实现功能而功能。由于工作时间的增加,我也看到了身边很多其他同事的工作状态,除了那些和我一样埋头苦干的所谓项目负责人外,其他的人都善于跟客户周旋,用一些看似很专业的辞藻去推脱用户提出的各种要求,实在推不了的,才勉为其难的答应下来。

诚然,当公司把这个项目交给我的时候,我是充满热情的。但是现在,我终于清醒了。我想这不是我要的工作,我还只是一个刚刚毕业的本科生,不能夜郎自大的认为自己已经可以独挡一面。我根本不懂项目架构,不懂项目管理(虽然也木有人给我管理……),不懂得如何消化来自客户的需求并从中取舍(并不是客户所有的意见都要接受,这是我通过身体力行才了解到的……),我的能力仅仅停留在知其然而不知其所以然,我只能实现一个功能,但不知道怎样优化这个实现。所以我想,我应该去一个能教会我这些东西的地方

2011年初的时候,我离开了原来的公司,到现在的公司上班。公司只有30多个人,研发部10人,测试部10人,剩下的有行政和销售。这是一家做产品的公司,产品主要涉及网络运维管理,安全策略啥的。公司非常注重产品质量,对于每次产品升级而变更的代码都会做code review,写的不好的地方就要改。也有详细的项目管理流程,项目经理会合理安排每一个时间节点的工作任务。在这样的环境下,对我的帮助是巨大的。

一切都要重头开始学,我第一次写python因为之前一直习惯的分号结果而郁闷不已,第一次用vi编辑代码,折腾了大半天才码出了一段代码,小心奕奕的保存好……现在回头想想都觉得很有意思

我也想过今后要往什么方向发展,是一直做技术?还是做管理?做前期需求?

以前总以为做IT,就是写代码。但当自己干了这些日子,才明白软件工程的每一个环节都是非常重要的,程序员只是其中的一个环节。但是无论今后自己要转什么方向,程序员的经验一定会为我在IT行业打下坚实的烙印。

我坚信一个不会写代码的管理者,一定不是一个优秀的管理者。

IT行业和别的行业很大的不同是人。IT都很喜欢分享,只要肯问或者寻求帮助,就算对方不是很懂,也会非常乐意帮助我解决。我觉得这样的氛围很好,互帮互助,共同进步。这个是我在别的行当很少看到的。我有很多同学都会跟我抱怨她们办公室里错综复杂的人际关系,每天听到那些事情,我都会庆幸自己从未遇到过。

所以我想,我现在非常喜欢自己的职业,喜欢自己的行当,我就踏踏实实的做好我的工作。我就是一个简单的coder,每天写好每一行代码就好。至于今后的发展,今后的职业规划也不用想的太细。既然我要一直混迹于IT这个行业,那么多做几年程序员不也挺好。顶着程序员这个头衔,我就需要不断的学习,不断的接触新鲜的知识,让自己不会落后。

禾禾木木 – 女程序员的路可以很长

简要的说下自己,本科调档不幸进入计算机行业,于是开始了跟计算机,跟开发的纠结。本科在一个很差很封闭的学校,就死学了,只会考试,实践的东西基本没有~考研上 了一个挺好的学校,可是因为一些原因只读了个跟计算机相关的专业,自己接了几个活做学院网站什么的,网站虽然基本是自己前端后端一个人忙乎乎地整起来的, 但是质量很差,重复的代码很多,现在想想,太恐怖了,那时候就知道,功能实现就ok了。现在很后悔在学校的时候,在思维最活跃的时候没有错接触点新的东西。

毕业。来上海,在一家外资民企工作至今。

之前在学校里女生很好,特别计算机这块的,女孩子真的是宝,受着宠。工作了就不一样了。虽然男人帮们还是很帮助女孩子的,但是,毕竟工作是靠绩效靠能力来权衡的,尤其是技术领域。按照你完成的事情多少和能力强弱来决定关注度的,虽然大家感情都不错,但是我还是能明显地感觉出来,因为自己能力比同组的男同胞差,老大不太敢把重要的事情给我做,承担不了重要的事情,在关注度,升职加薪等 等上面就打了很多折扣。

为什么会坚持下来呢?因为喜欢这个行业,也因为自己学的是这个,也因为自己小小的虚荣心,因为一般大家听说女程序员都觉得是很牛的,似乎女孩子加上了这个职业就有个光环在头上,只是我的一个想法,不知道大家有没有这么想过~还有,这个职业对我来说还是蛮有吸引力的,我也喜欢做这些事情,虽然进步不快,但是看着自己整出来的东西大家玩的开心,自己也很开心。

我虽然每天笑嘻嘻的,其实自己知道自己有多么辛苦。想写精致点的代码,重构,可是没有太多的时间,工作任务还是很重的,强度也大,基本上每个晚上到八九点走。要学习很多新的东西,我脑子还反应很慢,很多时候老大给同组的人讲的东西,可能大家马上就会了,可是我还是没听懂,老大会很无奈,我会记下来,有时间就去看。有时候会去关注下招聘的事情,不是为了跳槽,而是看看需要什么样的人,看到很多要求有开源代码经验的,在github上面整了代码的,我也会去关注,以后计划着自己整个人的网站,写技术文章,多交流。我还是很有热情和很负责的一个人,为了赶进度,周末两天都可以放工作进去,把上淘宝的时间都用来看新的东西了,逛街,基本一两个月去一次的。即便如此,老大从我们一个组走过,还是只会关心那些写代码写得好,事情做得好的人。虽然会很难过,但是我还是挺下来了。告诉自己说,既然坚持了这个行业,就开开心心地走下去,看看自己跟别人有什么不足,为什么会有差距,弥补弥补。这么坚持下来,虽然我还是没有同组的人进步快,但相比刚开始工作的时候,什么东西都不知道,还不知道该怎么去学,怎么去把程序写好,已经好了不知道多少倍。我也会去参加一些会议,去关注一些小组,在女孩子看韩剧的那些时间了,可能我关注的是一些技术的博客论坛等等,这么样,也增加了自己的见识等。我不敢说我现在是有多么强,至少,在我周围的认识的女孩子转行,退避的时候我坚持了下来,算是女孩子中不错的吧。

觉得女孩子跟男孩子差别并不大。可能他们真的思维会不一样,劳动强度能更承担些,但是,其他的应该都还好。我有个朋友,也是女孩子在做开发,长得很漂亮,她 说她经常碰到了问题,一大帮男的会过来帮忙,依赖心很强。我觉得依赖心强的女孩子做不好开发的,男孩子做得好开发,是因为他们喜欢自己专研,依赖别人了会 被人瞧不起,但是如果是女生,基本上还是有求必应的,所以,很多时候做不好,是因为自己还不在悬崖边,还有很多绳子牵着,虽然不至于让自己摔死,但是也被 绊住了,前进不了。还有,我自己的观察,长时间的专注和精益求精也是写好程序的关键。我自己最缺乏的就是长时间的专注,于是在找bug,看源码方面就欠缺 了很多,不能深入进去,要有在茫茫多的代码中调试的那种心境,一点点地挖掘到底是哪里出问题了,哪里影响效率了,哪里内存泄露了,一点点地试验等,能力就 提高了。精益求精才能写出好的代码出来,我也是受着周围男人帮的影响,从马大哈,从写完了程序就想玩想放手变成了事关审视代码,看哪里能够重构,哪里能够 抽象,去掉重复等,代码才能写得好。

曾经一度,自己也很喜欢抱怨,抱怨自己怎么就没有别人进步那么快,就得不到重视,还这么辛苦,想走人,那段时间也就是我自己觉得最虚度,最没有成效的时间。现在想想,与其这样,还不如拿出时间来好好做好自己的事情,如果真的承受不下去了,觉得自己真的不适合做这个行业了,那么就转吧。我看到过一些女孩子,做程序做得很轻松,她们很聪慧,或者很有方法,我不是这种人,在这里我想鼓励那些不是 天才的女孩子们,如果你在做开发这个行业,如果你喜欢这个,那么坚持自己吧~

有人会说,做IT的女孩子,老得快。其实我觉得这说法也不全对。我周围也有些长得很漂亮,打扮得也很好,生活各方面都维持得很不错的女开发人员。很久以前看过有女孩子一边写着程序一边吃着芦荟啊,抹着各种护肤品,我们也可以做做瑜伽啊,平时煮点汤给自己补补脑子什么的,周末不宅着,去锻炼锻炼身体,虽然可能没那么多时间去逛街,但是也可以抽个空给自 己买些好看的衣服来让自己开心点。写程序的女孩子也是女孩子嘛。

我没有讨论更多的技术方面的东西,我觉得工作态度,人生态度是很首要的。有个开心乐观的心境,加上好的方法和总结,我觉得,女孩子走程序员道路还是能走很长久的,也能做得很好。共勉。

Bana – 我是一名女程序员 我无怨无悔

我在大学学的是计算机与信息科学专业,那是大家有两个方向:计算机和数学。我想我以后肯定是不会从事计算机的,试想一个在电脑前面坐上一个小时就腰酸背痛的人&不能熬夜的人,会从事计算机方面的工作吗?

现实与人所想差距是很大的。一晃,我已经在IT行业混了3年多了。现在除了不能熬夜,叫我在电脑前面坐上12个小时,一点问题也没有。

大学我考研是考的数学方面的。那时很是迷茫,不知道自己能干什么,在大学我全身心的投入到那些毫无意义的课本知识上,最后获得的只是一叠毫无价值的证书。考研没有考上我报考的学校。调剂到了另外一所学校,我没有打算读,但是竟然跑出复试了。也许是为了给大学生活句号吧。

离校时间到了,我已经放弃了读研,而工作是没有着落的,我揣着优秀毕业生的证书被毕业了。毕业那一年的经历,对我打击很大。曾经的自信心,已经荡然无存。时至今日,才恢复得差不多了。2008年6月份,一个偶然的机会,让我走上了IT行业。

在上海的一个朋友,他公司有人休产假要招人,他在他老大面前极力推荐我,结果就是他老大自掏腰包,出我往返的车费。当时我在湖北。当时的情况是:我只是在大三的时候考过一个程序员的东东,似乎在代码方面得分蛮高的(我记忆不好)。毕业设计的时候做了一个简单得不能再简单的发邮件的东东。我已经有一年没有碰任何跟代码有关的东西。就这样我从湖北跑去上海面试了。其实心里是没有底的,只是有一个强烈的愿望,一定要通过。我急需要改变目前的状况,这一次对于我意义重大。

面试的时候,是朋友的老大和休产假的同事。也没有问什么,后来说叫我一个礼拜做一个用VB写的计算器。我应聘的工作是维护一个VB 6.0写的ERP系统。面试完后,我就赶紧整合多方资源来解决这个留给我的题目。从网上找相应的资料,寻找朋友的帮忙。

回到湖北的时候,是表哥去接我的。我请的假比较长,就先去表哥那里啦。这时对于我来说,要紧要的事情就是完成那面试题目并Email出去。在坐了15个多小时的火车后(我坐的是硬座),一直到我把题目给解决后,一刻也不敢耽误。那时精神超好,后来题目解决后,我倒在床上就睡着了。把代码打包连带一篇非常诚恳的文字给面试的人发了过去,之后就焦急的等待结果。终于等来了电话,问我什么时候可以去上班,并说了薪水。当时我高兴坏了,辞了当时的工作,就奔赴上海了!

最开始的一个月,很难熬啊。我什么都不懂的。专程跑出上海书城买了一本VB 6.0的书来看。等到了我适应得差不多的时候,公司发生了一件事,要裁员了。金融危机呀,当时心惶惶啊,好害怕自己被Fire掉了。因为我这个岗位当时招了2个人,而且我总觉得我是多余的。最后的结局是:我被调出负责另外一个用ASP写的OA系统。之前负责的那人被Fire掉了。

ASP,我不会。当初老大问的时候,我说应该还好,没有什么问题的。当初说好交接时间是一个月的,那人不同意,最后说是一个星期完成交接。结果是她最后上班的一个星期,她只来了两天。My God!那段时间是我最难熬的时候,User的电话打个不停,而我都不知道怎么解决,而且也找不到人帮忙。真是叫天天不灵,叫地地不应的。全靠自己一点一点的摸索。最终工作终于是游刃有余了。但是ASP我只是皮毛。

我最初进公司的目的是想学C#,直到09年7月份的时候才接触到了C#。公司的系统要进行改版,用C#来编写。之前的老大因为一些原因,离开了。当时我差点流眼泪了,如果当初不是他,我还不知道自己会怎么样,会不会一生就那样了,就是痛苦的一生了。

新来的经理,对于我产生了很大的影响。他给我们培训C#的相关知识,其实韩磊翻译的那本经典的C#书籍我都不知道翻了多少篇了,但是因为没有操作,了解到的很少。当经理给我们培训的时候,有一种豁然开朗的感觉,听起来特别带劲。经理给我们讲了程式命名的规范,SP命名的规范,自此我一直按照这些规范来规范着自己。接着就写了关于人事系统的几个窗体。看书和写代码完全是两回事。

新系统改版,我没有参与多少。能力不够的,在新系统上线(2010年10月份)的时候,了解了一些业务知识。当时心里很苦闷,我想做开发的,不想做维护的。维护做得没有意思,也学不到多少东西。而且要想学东西学得快的话,做开发是学得最快的。实际参与其中,才会去思考相应的解决方法。在寻找解决方法的过程中,就学到了东西。

现有的工作岗位满足不了我的需求,但是此刻我又不能去找工作,因为我不自信。还是觉得自己什么都不会,其实也就是什么也不会。阅读是排遣痛苦最好的方法,我陆续的阅读了一些书籍。关于心理学方面的,在我认为,最重要的源头就是心理。找到了源头就好解决问题了。

就这样,让我接触到了周金根的敏捷个人(有关敏捷个人的话题,需用另一篇日志来讲述)。2011年节后返回上海,当时上班没事看,我就看《遇见未知的自己》,因为我正面临着一个问题,不知道是怎么回事,就想从书里面寻找答案。谁知,看完不懂后,又跑出看了《秘密》。而敏捷练习也在进行着,在做个人生活方向盘的时候,我明白了什么对于我来说是最重要的。

当下也就有了计划,准备换工作了。当对某事有着强烈的愿望时,那事一定会实现的。

4月中旬,经理离职了,去武汉开公司。我就跟着经理回武汉了。这真是一个很好的机会,在武汉,我周末就可以回家。更重要的是,我做开发,做我喜欢做的事情。此时我已经找不到待在上海的意义了。家人和个人的前途对于我来说,是最重要的。

经理建议我们至少读三本英文原文书籍,这样之后就看英文就不会排斥了。为什么看书呢?你解决某个问题的时候,在网上找到的资料时很片面的。书里面的知识比较全面,但是需要花时间。还推荐了一些关注的英文网站。Code Project 是必备的。提高搜商是必须的,找准问题的关键点。坚持每天看书。关键是要多思考。充分的运用各种知识的能力。

我意识到某个地方不足的时候,会找相应的书籍来充电。让我一段时间不看书,会浑身不舒服的。当然我看的书的范围很广泛的。

从事这个行业,本来就不是那么轻松的事情。而我不喜欢轻松的工作。这个行业不断的出现新的知识,需要不停的学习。其实不管哪个行业,都需要不停的学习,否则很快被淘汰的。

爸妈曾经说过,如果我当初去读研,毕业后去学校教书就好了,工作稳定。未来的事情谁说得到呢。我不喜欢当老师,而且在这个变化莫测的社会,又有什么是稳定的呢?同学、朋友跟我讲,女孩子干这行太辛苦了,转行吧。可是我能够体会到乐趣所在。为自己写出了一段好的代码,或者是解决了某个困难的问题。

这个行业要加班,熬夜,那么为什么不能从别的角度来看这个问题呢?提高自己的工作效率,管理好自己,是不是可以解决这个问题呢。

这一年,我一直在修生养性,读灵修方面的书籍。人管理好自己后,其他的是不是就不是问题!

从事这个行业,我无怨无悔。现在我还是菜鸟,需要学习的东西很多。未来的路还很长,我坚信我会走好的。

Cathy – 一个非典型的女程序员的曲折经历

简单介绍一下我自己吧,我07年从一所TOP10的著名理工大学计算机专业硕士毕业,目前在一间世界500强的欧美通信公司担任高级系统软件工程师的职位。

因为本科并不是学的传统计算机专业,而是计算机与通信的交叉学科(课程设置上少了面向对象、JAVA程序设计等计算机高级专业课程,增加了很多电子线路设计、通信、信号论等)。毕业时因为专业课成绩优异直接保研。如果说本科毕业的时候,自己还是颇为踌躇满志,那研究生的三年就是郁闷的开始。保研后,虽然还在计算机专业但主要从事的是硬件电路板的开发。项目组的组长是一个博士,人很好但是不太会和女孩子打交道,或者说有一些性别歧视吧。进入项目组之后,一开始做了一些电路板的Schematics、PCB layout和Debug的工作,也得到了组长的好评。但是渐渐的,由于我并没有表现得非常的积极主动和对技术充满热情,组长分给我的任务越来越少。我也越来越苦闷,当时的我还并不知道该如何面对这种情况。组里曾经也来过一个女生,面临比我还要糟糕的情况,记得一次项目组吃饭当时那个女生没来,组长直接对我们大家说这个女生能力不行,没过多久她就被调去别的组了。但是我还留在这里,组长几乎很少和我说话,当时的我不知道如何向他表达我的心情也不知道自己想要什么,陷入对自己能力的深深的否定中,当时的想法只有一个:赶快毕业吧。这种情况一直持续到研二下学期。最后一年碰到了一个去国外实习半年的机会,毫不犹豫的就去了,是在一个很牛的电子公司里做电子工程师助理。干的活基本和在项目组干的差不多,画图调板子打杂,但是这半年我想清楚了一件事,就是我对干硬件没啥兴趣如果不能做IC design的话就转去做软件吧!

但是,当时的我还陷入在对自己能力的盲目乐观中,总觉得自己之前成绩很好,做实验写程序从来不输给男生,想转应该不难吧。回国后迅速搞定论文就开始找工作了。找工作的时候,现实很快无情地把我打倒了。因为当时我的男朋友也是现在的老公已经早我几年毕业在北京工作了,而且发展得很不错,所以当时我也一心只想找北京的工作。可是自己过去三年几乎没有写过程序,和学校里众多写过N年程序的同学竞争,结果可想而知。我只能拿到去其他城市做硬件的offer,但是却无法拿到去北京做软件的offer。这时,我的自信心跌到了谷底,TOP10大学的TOP10学生(即使读研期间很郁闷但是还是拿了不少奖学金,而且去国外半年也赚了不少钱)居然找不到工作。后来,在一个师兄的推荐下,得到了我的第一份工作,在北京的一个小公司做嵌入式软件开发。

虽然能来北京做软件,但和我去Google、Microsoft、IBM的同学相比,失落感不言而喻。几乎每个认识的人都会问我为什么去那个公司,为什么不去大外企,为什么不留在国外。这种失落情绪笼罩了我工作的第一年。但是还好,这个公司没什么牛人,并且因为我很好的学习能力,很快上手了。因为做底层软件需要对各种硬件接口、中断、DMA、处理器深入理解,我之前做硬件的经验也派上了用场,只用了半年时间,我就开始独立负责项目了。从第二年开始,我开始参与公司一些重要产品的开发,越来越得心应手。

期间,公司从其他部门调了一个工作多年的男程序员来做我的领导。一开始,我很高兴,因为了解到这个人技术不错,而且一直做上层软件所以对面向对象、设计模式、软件架构、代码规范都颇有经验,我正好可以向他学习。但是,一起工作了一段时间后,矛盾出现了。这个人认为我虽然学东西很快对公司产品业务熟悉,但是对技术缺乏热情很少主动学习技术,对很多软件开发的基础也掌握得不够,所以每次对我的评估结果就是一般;而我当时初出茅庐,认为这个人对硬件毫无了解并且没有很快在做底层软件上证明自己比我牛,所以很不服气。记得当时一起开发一个产品,因为我对主要的业务逻辑更熟悉,所以挑了最复杂的业务逻辑模块来做;他则负责其他几个通用模块的开发。为了证明自己,我只用了他一半的时间就完成了所有功能。在联调测试过程中,由于他是项目的负责人,所以每次Bug都是先提交到他那里然后再由他来指派给对应的人来负责。因为他对平台不熟悉,所以每次解Bug都要连调试器跟很久,而我常常只通过代码Review就能找出问题所在。渐渐的,所有测试的问题都直接反馈到我这边;后来产品上市,售后碰到解决不了的问题也会直接反馈到我这里。等到我们一起开发第二个产品的时候,那个男程序员几乎完全交由我独立负责。半年后,他调回了他之前的部门,我们共同开发的两个产品也顺理成章由我独立负责下去。

在公司工作三年以后,我对继续呆在这个部门里干软件开发渐渐失去了兴趣,基本都是重复性的劳动,而且由于是小公司除了开发之外还有很多杂事(比如因为公司售前售后没有技术背景,常常需要开发去Support;因为薪资不高常常会招一些水平较低的工程师,需要很多力气去Training)软件水平也难以再提高。而这时,公司也有意让我转向业务型负责人的方向,这几乎是在当时公司晋升的唯一途径;而如果升职,之后基本和程序员Say Bye了。可是真的要放弃做开发吗?以当时所在行业规模和公司本身的名气地位来说,如果不做开发,我很难想象以后跳槽的机会在哪儿;如果做开发,我又很难在公司继续获得我想要的。于是,我接受了公司的安排,去体验一下程序员之外的工作是否适合,同时也积极寻求跳槽的机会。在公司的最后半年,我几乎脱离了开发的工作,主要的工作内容是调研公司计划新开辟的产品线的产品形态及技术,去往各地出差做客户交流,和开发部门开会制定产品开发计划。在这半年里,我开始怀念单纯的程序员生活,不用去应酬形形色色的陌生人,即使公司倒闭也能很快找到工作养家糊口的踏实感。

第二次找工作的经历和第一次完全不同,有了之前几年的工作经验,我很快就拿到了几个大公司的offer。通过面试,我也逐渐认清了自己的不足之处。回想起来,我觉得之前那个男程序员说的一点没错。我并不是个本身对技术非常有热情的人,之前的研究生经历也是如此,后来工作也常常认为自己学东西快所以技术可以等到用的时候再学。面试的时候和一些经验丰富的面试官交流,可以非常明显得感受到热情这个东西对技术水平有着多么重要的影响。但是,另一方面,我对技术也并不是完全没有热情,这种热情很大程度受外界环境的影响。如果在一个大家都很牛都很积极学技术的环境,我也非常乐在其中。选择目前的公司,一是因为当时经历了比较艰苦的几轮技术面试,另一个重要的因素就是这里是有可以正面影响我的环境。目前在现在的公司工作了大半年,虽然部门三十多个程序员就我一个女孩(但是很多男程序员级别都比我低,哈哈)但是很开心,周围都是聪明并且富有经验的同事,让我受益很多,对技术也越来越有兴趣。

这就是我有点曲折的女程序员经历,但也是女程序员们很有可能会碰到的情况,譬如性别歧视,譬如对技术的热情等等。我觉得做女程序员不容易,女程序员由于女性的心理特质容易把负面的情绪扩大。所以女程序员最重要的是内心强大,碰到不信任你的领导或男同事,要大胆说出自己的想法,同时拿出有说服力的行动。另外,从我自己的经历和我面试过的女程序员来看,女孩通常会专注于完成工作,不像男孩那么对技术有热情;而且社会上也有各种声音说女孩不适合做程序员,于是女孩也容易自我怀疑。我的经验是,有时候先暂时不要想究竟适不适合,努力做一段时间,有些事情需要深入到一定程度才会有兴趣,如果还是不喜欢再考虑是不是放弃。

Linn – 误打误撞的程序员

昨天老公发来的网址给我看。
那时候刚好项目上线,大家要去聚餐,就匆忙的瞅了一眼,跟老公开玩笑说,怎么样,我也写一篇?
他说好啊。

今天是2011年的最后一天。
挺有纪念意义的,回顾一下。

我是高中生,05年毕业,去了北大青鸟,我知道现在很多人对北大青鸟的看法褒贬不一。
怎么说呢,一母生九子吧。

其实当初高考失败,我不想去上大专,更不想复习,我知道自己学不进去。
那时候接触电脑不多,可能也就一周一次的电脑上机课,但我就是对它很有兴趣。很单纯的。

接着,同学听别人说了北大青鸟,然后想让我跟她一起去。
其实,当时我连编程是干什么的都不知道。哈哈。
我那个同学也是女的。
我说服不了我爸爸,我爸爸还是比较想让我上大专,他说至少你出去长长见识。
我脾气比较倔,想一件事,就一定要去做,我带我同学去我家,她的劝说能力比较强,最后我爸无奈之下同意了。

然后我就离开了我们县,去了我们省的省会。

第一次出远门。
我当时不会讲普通话,我觉得自卑(现在想想我真是很容易自卑),到了那里后,同学跟她姐姐有事出去了几天。
那几天我就跟个傻子一样,就在她姐姐租来的小屋子里呆着,没有电视,没有电脑,甚至我不怎么出去吃饭。
寂寞、孤独、无助、茫然。
其实人的恐惧源于无知。对这个城市的无知,对未来生活的无知。

我终于没有忍住,给家里打了个电话,哭了。
我爸跟同学的爸爸听说后,立马就坐车到了我住的地方,我那时候真的没有想到有那么严重的结果。
我爸爸一直都比较宠我,我没想到他们会来。
那天我刚好跟同学还有她姐姐出去玩,很晚才回来。
那是夏天,很热,就看到两个老人满头大汗的在我们住的屋子对门那家,吃西瓜。
我差点又哭了。
第二天早上,我爸问我,他说,你还想留下吗。
我说想。
就这么回去了,我觉得没脸。

我想那时候我爸就彻底死了劝我回去的心了吧。

然后交钱上课。

大家刚学编程的时候可能都会有那样的经历,计算机本来就是一个很抽象的东西,编程,就是抽象中的抽象。
刚上课的时候,很久没有玩过电脑,我甚至忘记了本来就不怎么熟悉的盲打。
我很清楚的记得班主任跟我说:盲打还不会,基础不行啊,多练习练习。

2005年8月份,到2007年3月份,我毕业了。

这时候我的状态:学过多门编程语言,主打java,当初学了app4.0,4.0的课程里有struts1.2,oracle等。
但,知其然不知其所以然,还是懵懵懂懂的样子。

其实我们当时有两个就业方向.NET,J2EE,当时还是叫J2EE的。
都说J2EE是比较难的,我为什么学这个,说起来也有点搞笑,因为我觉得,.NET可视化功能太强大了。
我本来就学的懵懂,不精,控件拖来拖去的,我就更迷糊了。不如JAVA一行行代码写起来来的踏实,哈哈。

第一次面试,现在说起来真的很鄙视当时的自己。
我本来是相当老实一孩子。
我们当时有就业部,负责学生就业。
教我们如何面试,如果跟面试官交流,如何突出自己的优点。
我记得特清楚的是,如果人家问你的缺点,你可不能真说你自己的缺点,要说一种看起来像缺点,实际对编程或者公司来说是优点的。
我真是傻孩子,我这么干了,记不太清我的原话了,但大意说自己比较执着什么的。
面试官最后说了一句话让我无地自容至今,他说:这不还是你优点吗?

07年4月9号入职。公司做一个门户网站。

公司给新员工机会,试用三天。
就是看公司原有的框架spring+ibatis,做一个功能给pm看,如果可以,就留下。
我运气有点背,机器有问题,不时的挂。
再说我也没怎么看懂的说,三天过去以后,没能拿出来一个东西。
pm过来看了一下,然后跟人事说,回来的时候表达要我离开的意思。
当时我内向啊,有点懵。
我跟他说,我机器有问题。
pm人也很好,他说那再给你半天吧。
这时,我后来的组长,真的给我很大的帮助,他说你应该怎么怎么来。
其实我本来有些懂的,他那么一说,我顿悟了。
1个小时,或许不到,反正很短,我又叫pm过来看。
他跟我说,好了,你可以留下了。
我跑到卫生间,那瞬间,真的很想大哭。兴奋、激动、委屈。我也读不懂当时的那种感情。

其实这个公司并没有让我的技术提高多少。
pm是一个技术相当强悍的人,至今见过这么多人,我依旧这么觉得。
框架里的很多东西,当时不太能理解的了。
但是当初经历的那群人,真的让我铭记至今。

09年,男朋友毕业,留在了另外一个城市,我所在的公司宣布解散,于是我也过去了。

其实我觉得我内心深处有一股非常强烈的自卑,我不知道这自卑来自于过度的谦虚,还是觉得自己的水平真的不行。我想或许两者兼有。

在这个城市的面试很糟糕,我是一个很简单的人,只是想尽自己的努力去做一些事情。
后来留在了一家公司,公司新开的一个部门。
招的都是几个大学刚毕业的学生,有几个从达内出来的。
他们的技术不是不怎么样,是真的很不行!
于是我跟另外一个男同事就成了头儿。

那时候的项目是给公司自己用,做页面,写css,写代码,服务器,几乎都是我来牵头。
那一年的时间,对我的感触很大,技术也提高很多,因为什么事情都是你自己来做,自己去想。
压力很大,但也很茫然。我不知道自己在做些什么。因为公司毕竟不是正规的it公司,我自认自己技术挺烂,真的需要人协助。

说一下我的男朋友。
他一直喜欢手机上的东西,知识面覆盖非常广。
10年6月份的时候,北京有一个机会,他过来面试,然后留下做iphone手机开发了。
于是我也着手辞职跟着过来。

北京的面试依旧不怎么乐观。于是我几乎每天晚上看基础知识看到很晚。
我一个同事说的好。他说如果你不能说,你就只能靠做面试题来让对方看到你的水平。

我还是算运气比较好,一个星期的时间,我收到了现在公司的offer。

或许你看到这里已经明白,我几乎是跟着男朋友的脚步走。
事实上,是这样的。
做程序员,只是我要做的一件事。而家庭是我的全部。
事业上,我其实一直都很茫然。
我想是有这样一部分的人存在,他们没有梦想,没有目标。
我说的梦想是指那种真心喜欢,并能为之奋斗一生的事情。
我想我就是那样的人。
但这种人必然有另外一种追逐的东西,比如,我时刻都很清楚家庭才是我的全部。
我会找一份不很累的工作,有充裕的时间,来陪伴他们,同时也让自己有事情做,不空虚,不无聊,不虚度。
但这不代表我工作会做的很糟糕,相反,我第一个项目经理跟我说,以后如果我开了公司,我第一个就会找你。
我第二家公司的老板,在我来北京之后还打电话叫我回去。
现在的公司,领导跟我说,我见过很多跟你一样条件,从北大青鸟出来的人,但像你这样的,真的少见。

我做程序员,其实算误打误撞,现在想想,我当时向往的应该是美工设计之类的工作。
我不是什么技术大牛,我碰到的女程序员,也没有什么技术大牛的。
但是他们都有一个共同点,就是不管他们做任何东西,只要交到他们手上,在相等条件下都会比男同事做的好。
这可能跟女孩子天生的认真细心有关。

这篇文章,可能看起来比较乱。
但我想表达的一个意思就是,其实女程序员很普通,也特别,神秘,也不神秘,如果你了解了的话。
但她们绝对是可爱的。大多数有着男孩子的性格,豪爽。
所以我时常说这世界上有男人、女人、女博士、女程序员,哈哈。

Nana – 做喜欢做的事,所以很开心

你好,关于女程序员的那篇blog是群里一个GG推荐我看的。这应该算一个励志故事吧,可是一般励志故事都没什么意思,不是苦大深仇,就是从委屈一路走到故事末尾,见到一点小小的胜利。说的故事虽然到了末尾,但人还活着啊,所以真正的故事还没完呢。对励志剧不太感兴趣,因为事实往往是,努力不一定会成功,而且不成功的在大多数。

我的故事无关成功与失败,随便看看。先说说为什么会去写程序这件事吧。起初完全不相关的,我喜欢的是动漫。但是对于自己的画画和分镜都不看好,于是想到了游戏。动漫游,是不分家的。游戏行业有许多种职业,常见的小工有:策划美术程序。这3种职业的相关基础课都上了下,其中,编程给我留下了非同寻常的印象:这件事情,太TM好玩了!!即便会拉3D模型、会设计游戏的灵魂世界观,也不能同它相比。于是,几乎没怎么犹豫就开始学习编程了。

一开始是学java,比较容易的。后来接触了C++,貌似稍微复杂点,不过总的来说,会了一门语言其它的都有点异曲同工,所以不管性别如何,其实没啥差别。在工作中,也没觉得人家拿我性别说事或特殊化,大家都凭能力干活拿薪水,可能比某些靠关系的行业好一点。很想推荐下我们项目组正在开发的这个游戏,但又怕一说名字就暴露了,呵呵,我们组就我一个mm。

人家都说,编程薪水高,我不能说这是假的,但我的同学中,薪水高的都是加班连轴转、除了程序不太想其它的。用那样的精力时间换来的高薪,到哪个行业都能换到吧。

学历,貌似在编程这个行业里更加渺小了吧。只有一次去面试一家大游戏公司时,被问过是不是重点大学。其它公司基本不怎么关心,更看重能力。也只有一次,在面试中,被问到是否已婚。可能是怕生孩子耽误工作吧,人走了活儿给其他人干,其他人虽然不说什么,但无形中增加的压力是肯定有的。但在这里我要说一句,这些面试官思维都有点传统啊,其实不结婚也可以生孩子、已婚生完孩子的也可以再生啊。要不你们干脆就说,女性勿面试,不是更好?!

做程序是吃青春饭,这话有点道理的。我现在的工作,是喜欢干的事,所以很开心。但如果是一个需要养家糊口的GG,可能就不能只顾着自己开心了。所以说,做程序员,mm也许更合适?

呵呵,午休结束了,回去干活~

Gift – 当一名战士就是一支军队,那些软件不需要工程的时候

请允许我为公正评价女程序员做一点贡献。以下文字所提到的关同学是一位女程序员。

注:以下文字已发表于[http://blog.csdn.net/younggift/article/details/7166600\]。

* 最初的代码

1994年,当我开始对编程感兴趣的时候,还没有软件蓝领这一说法,但是我已经有了后来软件蓝领流行起来以后的困惑。

我第一次做的比较大的程序,是用GW-BASIC写的,没有IDE界面,需要按行号插入,黑底绿字的显示器,单个软驱倒腾用两张盘。 (感谢我们的导员刘春光老师每天中午借我用他的计算机) 要编的程序是自己想出来做着玩的,一个DOS界面下CGA显示模式,菜单方式的……班费管理程序。如同齐同学的那个定票系统,这个软件并没有实际应用,不过,它对我来说,比此后所有写的程序都更难。

代码后来参加一个比赛的时候,打印了唯一的一份纸质版,打印纸抻开比我举起手还要高。我当时遇到了程序设计中的核心问题–大量的代码,复杂的逻辑。

我当时使用了GW-BASIC提供的一个非BASIC的功能 gosub,类似于函数调用,它帮助我逃过了程序彻底混乱的厄运。后来当我学到模块化思想的时候,如遇故人。我毫不费力地就接受了这个观念,因为痛过,所以印象深刻。

后来经常见到有初学的同学函数写得超出两三屏,还很得意自己逻辑控制能力。我就在心里撇嘴,你那是还没受够罪。

大量的代码,复杂的逻辑。软件工程给了我们某个答案,就是软件蓝领,它声称大量的人工、短期培训、重复地简单劳动,能够解决–以工程的方法–大量代码和复杂逻辑的问题。

是的,我们这么干过,好几千看前就这样做。埃及盖金字塔,是没有起重机的,而是靠几千几万人力完成的;中国的古长城 (不是当代的) ,也没有等待现代电子计算机和通信技术的发展,而是靠万喜良们的双手堆砌出来的。

那个时候,他们一定期待一种东西,可以用燃油作为动作,稳妥精确地运输沉重的材料。

但是他们没有。因为是时代是父亲是民族选择我们,而不是反过来,所以很多时候很多事情都不能一蹴而就。

有的时候,智力或自然的法则也参与限制。

* 他们说,没有解析解

在数学当中,有一种解题的方法得出的结论称为解析解。我们解一个方程,得到结果,如果我们所做的常见运算只需要 有限次,那么,这个结果就称为解析解。

这是什么意思呢?就是说,你可以通过公式,只需要一个大式子,可能非常大,但是最终可以计算出结果,直接地。

难道不都是这样么?不幸的是,还有一些方程,伟大的牛人数学家们告诉我们,有些方程就是不能通过公式求出来。而我们在工业生活中还需要求解。

数学家牛人们还是有办法的。他们创造了另一种方法,用猜测-比较-再猜测,大致这样的方法,逼近我们寻找的那个数。这些牛人们中的第一位就是著名的牛顿。

但是,我们得到的是那个”数”,是整个方程中的一段,而且是粗糙的。精细的完全一致的解,可能永远也无法求得,我们得到的就是对于当前的应用”足够”精确
的个案。

人类是多么地热爱形而上,热爱一次性解决所有问题啊。可是,数学牛人们说,有时候,你哭也没有用,就是不行。

在程序设计中也是一样,只有工程方法,有人说,就是蓝领方法,才能解决大量代码和逻辑复杂的问题。

如果没有燃油,没有热功当量,除了征服更多的奴隶,又有什么方法能够赢得自己的自由呢?

但是,我们是否已经判定程序设计一定没有解析解,所以只能靠人力逼近?

* 解析解

我和李记者曾经对刘典同学怀有偏见,认为他(没有虽然技)技术极好 ,但是却从不注重软件中的工程,也不怎么注重合作。

今天,关同学用事实给了我强烈的教育。她用事实告诉我:软件工程为什么有时可以忽略?因为有的程序员,她一个人可以完成超过100个程序员的。

就像有的战士,一个人就是一支军队。

刘典同学讲过他写数据库的程序用了编译原理生成代码,讲过写手机游戏的时候用虚拟机。前几天,我刚刚写了3千多的代码生成器,吐出来近6万行代码。这些
给我的印象也都没有今天这样深刻。

程序设计,是一种创造工作,就像写小说。与写小说不同的,你所创造的是一台机器,它可以做很多事,你甚至可以制造一台机器,它以代替你写作最终需要的
代码。

在所有的计算机本科都开设了相关的课程,叫做编译原理。在一定程度上,这是一个解析解。

* 关同学

今天我CIAC的导师请大家吃饭,辛苦一年。导师本人想参加,我托包师弟说:不欢迎他。如果导师出现,今天稍微拘谨的场面,就可能令聚会完全不同。

我们讨论了,我们吃午饭了,我们唱歌了,我们又吃晚饭了。

刚开始吃晚饭没多久,包师弟说:2012的上半年,我们有一些任务要完成,相当于本年度完成任务的40倍工作量。

他说:这些工作都是相似的。

可是这些相似的工作如果不能抽象出其中相同的部分,就没有一点相似。我们人类看到的相似,对于构造代码而言,毫无用处。

我看不出来相似。然后我想了几个方案,又都推翻–我在想从哪里抓那么多奴隶来,又用什么报偿他们,工程本身于他们何益。其实,同学们并非奴隶,必须保
证同学们有足够利益和受益,否则除了我自己,一个人也派不出来。

我说:包师弟啊,你能不能别在吃饭的时候说这个,我都吃不下去了。

我真的吃不下去了。焦虑。而且,从这以后,我真的几乎没吃啥。

奇迹时刻。

关同学说:老师其实我想了,这些方案都是类似的。

我说:啊?

她说:所有的界面都可以……根据配置文件,new 出 一个 label来……

是的,不熟悉关同学的,对女生能否写好程序有疑问的,请仔细看一下,她,不是他。

而且,她也不必再解释这个方案,因为软件组可以全体解散,而剩下的工作,只需她一个人短时间就可以完成。

这就是抽象的力量。

她没有写GUI,而是解析配置文件生成了GUI;她绕过了令我头疼的C#如何表示GUI–这样就可以生成RC文件,在编译前,我考虑过的方案–而是在运行时,new
出所有的GUI控件来,相当于解释执行的。

* 后来

后来,全体软件组成员加入了硬件组,将承担下位机的代码。很好,我终于不用再讨厌他们用的IDE了,因为再也没有他们熟悉的VS什么的了。我们都开始进入
单片机或ARM的世界。

后来,关同学对我的赞不绝口指出:这个方案是你告诉我的啊。

我说:啊?

她说:就是大仪网的时候,你告诉我blabla。

我想起来了。不过,这仍不是我的方案,而是她的。一个方案之所以好(像这个,好到如此突出,以致你一眼就能看到,绝不可能错过,如果你看到了的话),是因为它被应用在一个恰好合适的领域,恰好解决了一个难题。至于这个方案有多难有多容易,有多高科技,其实不是多重要。

关同学刚毕业的时候,我们在CIAC讨论一个框架,当时我说:这个倒是可以再抽象,不过我的方案有点耍赖了。

关同学说:你是不是要用函数指针。

是的。而且我非常欣慰了一下,因为学生优秀。

黄同学当时认为:函数指针,也没啥难的啊。

是的。函数指针一点也不难,能想到用函数指针解决这个问题,是一个高度。

关同学在此刻想到了一个如此好的方案,所以接下来的半年,我们都不必那么焦虑了。

这就是解析解。

关的方案,不是减轻了劳动,不是像我以工程的方法、各种测试 (关今天还提出用MATLAB生成测试数据,也很好,后来给齐同学用上了) 来控制代码质量,用框架规范程序员的行为,这些都不是,关同学直接替代十来个人把40个用例生成了出来。

代码质量如此一致和优秀,是由图灵保证的。

* 后后记

上午,与一位技术人员和一位经理谈话。

我提到 通用的CMS › 定制的站点 › 使用CMS。

那位技术人员不认可。我说:我刚刚说错了啊,我不是指复杂,而是指困难。

那位技术人员blabla说,这不困难,只要如何如何即可。

我说:其实我们也不必达成一致意见。我的意思不是说我们无法实现,我说的我会收更多的钱。

争执略去,我同意那位技术人员的下面这个观点 (大致意思,我翻译过的) ,但是当时没有时间表达:这不是工作量,而是更高的高度。

是的,那不是更复杂,不是更消耗时间,甚至不是更困难。

那就是更值钱。

关同学用事实告诉我:一名战士完全可以是一支军队。没错。

Zheng – 永不放弃程序员的工作

从工作年限来说,我还不能算是一个程序员,因为现在还是一个大四的学生。但是我已经认定了程序员的这条道路。
高考结束后考虑专业问题,那时我的兴趣是文学,但是因为现实社会的关系和家庭经济的原因,我在毕业生收入排行榜上选择了平均收入最高的专业,软件工程。大一时懵懵懂懂,挂了很多科目,重修,从大二起开始拿奖学金,开始参加项目。因为大一评奖学金时看到自己排在倒数第二的位置,看到同班的同学参加各种软件比赛,我那时就开始思考,我在做什么?于是开始疯狂地写程序,重新学基础知识,认真上课,经常去看一些IT博客。在一家公司实习,我开始接触分布式系统的东西,那时leader让我一个人负责这一块,我就像实验的小白鼠的一样,但是我却感到很如鱼得水,我喜欢快速掌握一门新的领域,并学会总结。那是我真正意义上的在linux下的开发工作,学会了c网络编程,shell,python,hadoop,hive。那里的开发团队只有我一个女生,我见识到一个优秀的程序员所应该具备的一些素质,对技术热点的掌握,对产品的敏锐,不仅是代码,而且是融入产品的设计中,能提出作为一名开发者的意见。如果说作为一个女程序,我与他们不同之处,恐怕是得到更多的照顾,也学到很多。

实习两三个月后,我选择离职,在我看来,没有毕业的我实习就是一个新的课程,工作经验就像是旅程,经历的风景是阅历,也是财富。我选择了去一家做云存储服务的公司,在那边更深入地了解关于分布式系统的知识,而这些知识的获取是我自己间接得到的,并非公司培训。我刚到那里,发现还有另一个女程序,她很活泼,而且在项目开发中占据很重要的位置。从一个程序员的角度出发,我并不觉得会写代码是一件多么厉害的事,重要的是上手的能力,系统设计的能力,构架高性能的能力。而基础这些东西只要是一个智力水平相当的人,通过一定时间的磨练,都有可能掌握的。这家公司的资源很丰盛,我的任务并不多,更多的时间是自我学习和研究毕设课题。因为leader没有放手让我干活,干的只要是python脚本的一些开发,所以每次任务来的时候我都很快完成,一般leader上午给任务,下午下班前我就可以提交代码,剩下时间就做自己喜欢的c/c++的cli小应用和一些nosql开源项目。有时一个程序出错,就很偏执地想把错误找出来以后再收工,导致吃饭误点,这样的习惯对身体很不好,现在也正在努力改正中。工作经历差不多就是这些,不介意的话讲一下求职经历。

我去面试时,很多面试官都会问我,女生做开发人员的问题。我想这本来就不是一个问题,作为一个人,你需要养家糊口,我也需要。我也有自己的职业规划,清楚知道自己想要什么。从懵懂到略知一二,到准备跳进火坑里塑造一个雷厉风行的新的自我。我一直相信人的某些性质是会变的,随着阅历,经历,实践的不同也产生质的改变。你现在看到的是一个弱女子,未必将来你不会看到一个女架构师。这些都是在进入hr面以后经常会和hr聊到的东西。这份工作能体现我的价值,我就来了。这就是我求职一路的态度。后来成功拿到一些公司的offer。

在未来的职场上,我也会不放弃程序员这份工作。学习的态度,认真负责的做事风格,即便我不是一个天才工程师,也可以成为优秀的程序员,不用刻意加“女”字。

女程序员们,为你们骄傲,祝你们2012年更上一层楼。

(另外,请各种网站、媒体,报刊,杂志,自由转载或是选取其中的故事做为你们的素材)