女程序员职业发展的特别之处
在“做自己想做的工作”公开课的互动环节,有位女生提了个问题,大意是“女生是否适合做程序员”,当时我怎么回答的,已经忘差不多了,大意是性别对是否适合做程序员没有直接影响。课后我又仔细琢磨这个问题,联想到之前有多位女程序员给我的微信订阅号“程序视界”留言,询问女程序员的职业发展状况,这让我恍然发现,我之前居然一直忽略了女性的具体情况对软件开发的影响。因此,这次,我准备特意来聊聊这方面的话题。
首先要说明的是,从大的脉络来讲,女程序员的职业发展与男程序员大体相同。我曾经在微信订阅号“程序视界”发布过一篇题为“程序员如何谋划出月薪3万”的文章,里面有很大的篇幅讨论了程序员的职业发展,不分男女。感兴趣的可以跟过去看看,那这篇文章,我是专门来讨论女程序员的,不会再专门讲那些普遍性的话题。
我会先谈一谈女程序员有哪些典型的职业发展阶段,然后会针对女程序员的特殊性,提供一些职业发展规划的典型策略。
先看女程序员有何特殊性吧,我准备从三方面来谈:
- 性别与性格
- 女性生理特点
- 家庭对女性的期望
性别与性格
据研究,大约2/3的女性偏好情感,以人为中心,有同情心,更愿意给别人支持,看重自己和他人的利益,偏好以个人价值来做决定,对客观和逻辑不那么在意。而在男性中,大约2/3偏好思维,喜欢有逻辑意义的决定,通常愿意通过客观地分析来决策。
不同性别的个体在做决策的方式上,其偏好会有所差异。通常人们会觉得,男性偏思考,女性偏情感,甚至有人说,千万别和女人讲道理。这可能会导致因为性别而曲解个人的性格偏好。实际上也有很多的女性偏重思维,当我们判断一个个体的性格时,要尽量避免用群体特征来为其贴标签,忽略个体独特性。
男女之间的这种性格差异,对从事软件开发工作有什么影响?
温伯格在《程序开发心理学》一书的第八章,专门讨论了性格因素对程序开发的影响。温伯格认为,相比较为稳定的智力因素,性格特征对软件开发的影响更大,甚至远远超过人们通常的估计。
那么有哪些关键的性格特征会导致程序开发的成功与否呢?
温伯格的研究很有意思,我觉得他的发现和结论放在现在也是适用的。
比如他说,如果一个程序员缺乏在高压力的环境中坚持一个多星期的能力,也许我们就可以肯定地说,他不是一块程序员的材料。
他还提到,由于程序开发工作的多样性,所以一个人只要稍微有点不适应快速的变化,他就不能胜任专业程序员的工作。网络流传的一个段子也可以作为佐证:杀死一个程序员不用枪,只要改三次需求就可以了。
我在公司内做主题为“程序员的个人品牌”的内部分享时也提到了适应并拥抱变化对程序员的重要性。
在MBTI性格类型里,第四个维度是关于我们喜欢结构严谨的方式还是自由宽松的方式的。这个维度从个人喜好的生活方式来考察性格,区分我们如何适应外部环境,它提出了判断(J)和知觉(P)两种性格偏好。具有知觉偏好的程序员喜欢多了解世界,灵活,即兴,喜欢更多选择,更容易适应需求、技术、计划等方面的变化。具有判断偏好的程序员喜欢组织和秩序,喜欢计划,条理,一切事情都早作安排,对临时的、突发的、打破计划安排的事情较为排斥。从现代软件开发的过程来看,适应性好的人更适合做专业程序员。而回到女性和男性的性别角度来看,则没有明确的结论说明男女在判断和知觉两个偏好上存在明显差异。
温伯格还提到了一些典型的性格特点,比如爱好整洁、谦逊,还有幽默感。在提到幽默感时,温伯格说,如果某个傻瓜缺乏自嘲的能力,那么在乏味的程序开发过程中他肯定坚持不了多久。互联网上有很多黑程序员的段子和文章,多数出自程序员自己,充分说明了这一点。
我个人认为还有一些性格特征会影响软件开发,比如注重细节,比如内省,比如责任。举个简单的例子,有些程序员习惯代码写完、BUILD通过就将包扔给测试人员去测,如果他具有内省和责任这两种性格特征,就会意识到他的行为会给测试人员带来多么大的麻烦和困扰,就会进行自我改善。
可能很多人会认为女性更主动细节,男性往往粗枝大叶。女性更爱整洁,男性比较邋遢。这也是性别对性格的影响,但并没有明确的研究和论据来说明这一点。而每个人的性格偏好,又往往是两个方向都有的,只是存在一端强,一端弱,如果环境和工作需要,还可以发展完善另一端的偏好来适应外部环境。
所以,我觉得从性别造成的性格差异这点来看,性别并不能决定一个人是否适合做软件开发工作。有些性格确实会对软件开发造成影响,但如果你真的要做,也可以通过对外部环境的选择来找到更适合自己性格的行业和公司。比如你灵活性、适应性较差,那软件开发里也有一部分岗位需要更有计划有组织有秩序的执行,可以选择具有这种特点的细分岗位。
但是,性别确实也会对整个软件开发过程带来非常重要的影响,尤其是女性,她的生理特点和周期会对其职业生涯带来非常大的影响。我们接下来就来看看。
女性生理特点对软件开发的影响
毫无疑问,女性生理结构和男性有较大差别,比如女人有月经,女人要生孩子,有人有明显的更年期等,这些生理上的差异,对职业生涯会有比较大的影响。
其实我老早写过一篇文章,被人骂直男癌患者,那篇文章的题目是——请区别对待女程序员,感兴趣的可以看看。
女性生理期
我们先谈女性生理期这个贯穿整个职业生涯的生理特点。
一般来说生理期就是指发育成熟的女性每个月都有一次月经,也就是月经期。一般的女孩,生理期会持续3天到7天左右。
在生理期期间,多数女性会有比较典型的身体和心理反应。
身体反应
女性来月经的时候,会消耗很多体能,容易感到劳累,需要注意不要用眼、用脑过度,还要保证充足的睡眠。有些女性会怕冷,有些女性会有头晕、易疲劳、嗜睡等表现,有的女性常有小腹胀痛、腰酸、乳房胀痛、轻微腹泻等现象。凡此种种,不一而足。
假如在这个时候,你负责的产品要上线。上线,你懂的,经常熬夜,尤其是已经发布给用户使用的网站,基本上更新都是在凌晨。此时熬夜会让女性身体不适更为明显,有时难以承受。而身边的男性程序员多数不会注意到这个,直男领导多数也不会注意这个(有的注意到了也只能假装看不见),所以,有苦得自己受着。
假如在那3到7天里,开发节奏失控(这很常见),天天加班……
心理反应
月经期间,由于体内雌激素与孕激素水平的突然下降,通常会引起人体的一系列不适反应。这点前面刚说过。身体上的不适,如果遇上开发有状况(加班、调试鬼Bug、上线等),又会引起心理反应。通常在生理期内,多数女性更容易情绪低落和波动,诸如烦躁、易怒、激动、抑郁、焦虑等反应会比较常见。有些女性甚至在经期前几天就会有明显的情绪异常,多见于年龄稍长的妇女,如30多岁的已育妇女。
当情绪低落、频繁波动时,工作效率就会明显下降。调代码也没心思了,烦烦烦;解Bug也捋不出头绪了,烦烦烦;与产品经理或UI沟通也言语不到位了,烦烦烦……诸如此类各种状况,在月经前、月经期都会经常遇到。
现代职场男女平等,很少有男性领导和同事会因为月经而特别照顾女性,而女性此时又需要特别关注(特别的爱给特别的你),这就形成了反差:老娘已经很烦了你还不消停,需求一天改三遍,Bug一天提几十个,作死啊。此时女性需要保持稳定的情绪和平和的心态,难……
快写成论文了,呃,打住了。反正女性生理期对软件开发的影响是显而易见的,不必多说了。也没什么好办法解决,淡定,淡定,淡定。
女程序员职业发展中的几个典型阶段
接下来我们结合舒伯的生涯发展阶段论来看看女性生理特点对其从事软件开发工作的影响。注意,我在谈及这些影响时,是针对女性群体的普遍特征而论,个体的差异,在谈完群体特征后再来补充。
舒伯这人太牛X了,是世界职业规划发展史上里程碑式的任务。他提出的生涯发展阶段理论,将人的生命发展过程划分为成长、探索、确立、维持、衰退五大阶段,并且给出每个阶段的年龄段、职业发展课题。这个五阶段模型,被广泛应用,长盛不衰,对人的一生的发展与规划,具有极强的指导意义。
先看一张图:
这张图是我整理的舒伯生涯发展阶段理论图。因为我们讨论的女程序员的职业发展,略去了成长阶段(4~14岁)。我特意标出了三个阶段,这三个阶段对女程序员的职业发展非常重要,是因为它们刚好和女性的几个特殊人生阶段重叠。
好啦,一个一个来趴一趴吧。
修正期与成家立业期
标号为1的是舒伯从建立阶段细分出来的修正期,年龄段是25~30岁。25~30岁,又是我们传统意义上的成家立业期。从群体意义上讲,成家立业期对女性的影响比男性大,不服的请先三缄其口。
在25~30岁这个阶段,大部分的女性会谈对象,结婚,还有相当一部分要生孩子。如果一个女孩到了这个阶段的后期,28~30岁,还没有男朋友,那面临的压力将会非常大,有的可能家都不敢回——七大姑八大姨这个问那个问,心理承受能力不够强的话根本受不了啊。此时父母也会拖着各色人等为你物色相亲人选了,开明的父母虽然可能不明说,心理也是焦急万分。
在这样一种革命形势下,女性更容易不淡定,心理上会产生各种反应,情绪容易波动,表现强烈的甚至见不得别人秀恩爱,听到谈恋爱、结婚的话题就潸然泪下。
回想刚出校门,22~24岁,也曾豪情万丈,巾帼不让须眉啊。可是翻过了27,多数女程序员的这种豪情就会慢慢退却,取而代之的,是对恋爱和婚姻的焦虑与烦恼,是对可能变为剩女的不甘和恐惧。
作为一个女程序员,在这样的个人心理状态下,怎么能一心一意码代码呢?此时此刻,女程序员和男程序员的差别会第一次以比较明显的形态凸显出来。
安定期与育儿期
舒伯给安定期划定的年龄段是31~44岁。
即便一个女程序员在大学期间或26岁之前就收服了一个男票,到了舒伯划定的安定期,31~44岁,也会遇到另一个非常现实的问题:生儿育女。
女人的黄金生育年龄是25~30岁(不小心和修正期又重叠了),再划长一些,有人说黄金生育期是10年,那就是25~34岁,这和职业上的稳定期又重叠了。女人多磨难,不是白说的。
假定一个女人28岁怀孕,怀胎10月,29岁,起码要养三年,等孩子进了幼儿园,精力牵扯和压力才会稍轻,此时32岁。就是说,女人因为生孩子,会有4年左右的时间,重心不可避免的放在孩子身上。加上备孕的时间,可能会有5年左右。
5年,你做软件开发,五年是非常长的一段时间,假如在这样长的时期内,你都不能将精力集中到工作上,那你的成长和发展必然会大受影响。
现实的讲,一个26岁的女程序员要跳槽,就会面临下面三个问题:
- 有男朋友吗?
- 结婚了吗?
- 准备什么时候要孩子?
如果你结了婚还没孩子,那很多单位会找理由拒绝你。因为你进了这家企业马上就会要孩子,要孩子就有五年时间不能全身心的投入快节奏的软件开发工作。
如果你还没男朋友或有男朋友但还没结婚,状况稍微好一些。但考虑较长远的主管还是会预料到不就即将发生在你身上的事情,这是人生发展的阶段规律……
所以,现实的讲,一些企业更愿意要孩子在3岁以上的女程序员。
这些看起来不公平的潜规则,是由女性的生理特点导致的。如果讲应对策略的话,应该这样:女程序员25岁左右就稳定到一家企业,等到结婚生子孩子稍大后再考虑跳槽。
我有一个女同事,研究生毕业,什么样复杂的代码都敢写,执行力和解决问题的能力都很强,但她始终待在毕业时就进入的那家公司。原因非常简单,她生了一对双胞胎,自己和老公两个人照顾两个孩子,工作必须稳定。孩子上幼儿园后,她和公司商量,申请了每天下午四点半下班——要接孩子下学。对她来讲,稳定是第一位的,所以即便从经济角度和将来发展角度来看有更好的机会,她目前也不会考虑。
维持期与更年期
舒伯生涯发展阶段理论图中标号为3的细分阶段,是维持期,年龄段为45~60(或65)岁。维持期与众所周知的、女性特有的一个人生阶段重叠:更年期。
更年期是伴随着女性绝经出现的,一般在45~55岁左右。
进入更年期后,女性卵巢功能衰竭,雌性激素明显减少,可能引发体内诸多器官的退化,进而导致各种身体症状的出现。比如潮热、高血压、关节疼痛、骨质疏松、皮肤干燥、毛孔变大、皱纹增多、头痛、眩晕等。这些身体变化,会带来心理变化,这个时期的女性比较容易烦躁、多疑、焦虑、抑郁,情绪不稳定。
还有一点必须要提,这个阶段的女性,其孩子要么面临中考,要么面临高考,这也会给女性带来比较大的影响——就国内情况来讲,备考不但是孩子的事,还是父母的事,尤其是妈妈的事。除了中高考,孩子们的另一个典型特征是处在青春期,青春期撞上更年期,各种乱都会出现,妈妈的反应首当其冲。
你看,有这么多状况,如果你还在做软件开发工作,恐怕工作效率降低是难以避免的,要完成舒伯提出的维持现有地位的职业课题恐怕也有一定难度。
更年期对工作和生活的影响已经被广泛关注,不少影视剧也将场景聚焦在这个时期,比如《更年期的幸福生活》、《更年期的战争》等电视剧,里面处于更年期的女性,在生活、工作上,都因更年期而有各种纷乱、迷惘、难以琢磨的行为。
从常理看,处于更年期的女程序员,更需要关心和理解,也更需要心态调试。假如一到单位,就有人报Bug,搞了一天没搞定,就有人说大姐啊你真是更年期了啊这么简单的Bug愣是搞不定,那估计搁谁也受不了。
家庭对女性的期望
从文化传统来看,我们国家对女性在在家庭和社会中的角色有更多的要求。比如一般认为女性应该将更多的时间和精力投入到家庭生活经营中,诸如相夫教子、上得厅堂下得厨房、照顾老人等。虽然现在时代已经进步了,但这种社会文化氛围仍在持续影响着女性的生活和工作。
假如一个女程序员,组建的家庭是双职工类型的。生孩子之前,你搞你的设计,我撸我的代码,大家相安无事。可一旦生了孩子,平衡立马被打破。丈夫会更倾向于让妻子来管孩子,比如孩子小的时候,晚上照顾孩子,给孩子端尿、喂奶,孩子大了接送幼儿园,生病了妈妈陪护,再大了陪孩子做作业教育孩子……大部分的家庭,都有意无意地把这些事情放在了女性身上。
作为女程序员,相对其他职业女性,从事的工作多数节奏快、压力大、技能更新频繁。到了我们前面提到的修正期和安定期,生理特点和家庭对女性的期望,会迫使女程序员不得不将更多的时间、精力放在养育孩子上,这样的话,分派给工作的精力就有限,非常容易有精力不足的表现。其结果,往往是两头奔忙,疲惫之极。
女程序员职业发展策略
前面我从性别与性格、生理特点、家庭期望三个方面谈了女程序员可能会面临的一些职业发展方面的困扰,也提出了一些应对策略。最后呢,我们再来总结一下,看看女程序员在职业发展上应该怎样应对常见的问题。
第一个时期,修正期,25~30岁
女程序员在这个时期,应该要比男程序员更早稳定下来,让自己稳定到一家企业,为结婚、生子做准备,这样可以避免频繁跳槽面对的不公平待遇。
所以,女程序员要更早注意职业选择问题,选择向好、有发展潜力的行业内有一定规模的、处于成长或成熟期的公司,这样的工作环境相对稳定,对女性马上要面临的结婚、生子、育儿等课题有非常大的好处。如果你在生养孩子期间工作不稳定,今天公司破产,明天被裁,那很难受得了。
有的女程序员也会在生孩子之前考虑转岗,比如在同一家公司内部,从开发转到需求分析、配置管理、发布管理、质量管理、流程管理、测试等岗位。也有的女程序员从不考虑结婚、生子等问题对自己的影响,她们认为那些事情不会对自己有太大影响。个体可以选择自己的将来,不一定要受普遍规律的约束。
第二个时期,安定期,31~44岁
这个时期的早期,31~35岁,多数女程序员都有了孩子,孩子小,需要妈妈投入更多时间照顾,比较好的策略是保持工作稳定,把精力向家庭倾斜。
假如你在修正期没能稳定下来,此时就会面临比较大的压力。企业对程序员的要求是不分男女的,你新进入的公司,遇见的领导、同事多半不会因为你要生孩子、有孩子要养就不给你分派任务。而如果你已在当下的公司稳定工作了2年以上,从人情方面讲,领导就很容易考虑到女性的特点,予以适当的关注和照顾,你的同事们,曾经一起战斗过,也容易理解并照顾你的情况。我前面提到的那位女同事能够申请下午四点半下班就是一个例子。
当你的孩子大了之后,比如上了幼儿园,就会有更多精力可以投入到开发工作上来,此时可以再度扬帆起航。
注意,生儿育女并不总是会影响职业发展。个体之间差异很大,在任何时候,个体都可以选择超越自我超越一般规律。我媳妇他们单位就有一个特别犀利的女同事,在生养两个孩子期间还升职了两次!
这个阶段还应当考虑将来的职业走向。如果已经不再有雄心鹰击长空,那可以着手准备切换到较为轻松的岗位,比如测试、需求分析等。如果还想继续奋斗在一线,那就要经常梳理自己的技能,着意培养顶端优势(程序员的顶端优势概念,请参见我发布在微信订阅号“程序视界”的文章“程序员如何谋划出月薪3万”),为维持期能够维持现有地位做准备。
第三个时期,维持期,45岁以后
我还没遇到过处于更年期的女程序员,从逻辑上讲,此时应该接纳这个特殊阶段出现的身体不适,注意心态调试,避免身体不适带来更多的心理不适。如果身体、心理真的有比较大的反应,影响到工作,也别死拧着不接受,要接纳工作表现可能变差的事实,顺其自然,才能更好走过去。
更多文章,请关注我的“漫谈程序员”专栏或微信订阅号“程序视界”(programmer_sight)