首先声明,本人是男生,从来没有站在女生的角度思考过问题,因此只能就自己的角度来探讨一下问题,说得不准,勿怪。
嗯,说个现象吧,我在成都呆了12年,确实没怎么看到女性程序员,有几个,生了娃以后,都回家带孩子去了,不过我到西安来以后,吓了一跳,程序员中男女比例接近1:1,呵呵,确实给我上了一课。
所以,就我的经验值,我发现你说的其实不准确,起码中国北方城市,女性就业率还是比较高的,至于是不是程序员职业,并不重要,也有很多女性做的,你大可不必担心这个问题。
当然,女性有女性的弱点,生理上的咱们就不说了,其实对于办公室工作来说呢,问题不大,关键是结婚生孩子,根据劳动法,女性一般是4~6个月的产假,这在很多小公司来说,一个人接近半年不上班,还拿薪水,确实有点难以接受,因此,在招聘时,不知不觉就对女性有点回避倾向,就造成了女性求职困难的现状。
但是呢,我觉得这是短期现象,为什么呢?一个公司,如果要做大做强,做正规,必须正视这些劳动法规定给员工的基本福利,如果老板刻意回避这些话题,应该说,这家公司也确实做不大。至少,我到现在没有看到哪家超过1000人的大中型企业,里面一个女人都没有的。你说是吧?
所以,这个问题,归根到底,我的理解,还是市场经济的初级阶段问题,即中国的企业刚刚出现,还在进步,目前实力还弱,无力承担太多的社会责任,无法承受女性结婚、生子的一系列额外成本增加,因此导致女性就业渠道偏弱。
就我的经验而言,目前国有大型企业、欧美外资企业,嗯,台资和港资等企业也是,对劳动法遵守比较好,反而是中国的民营企业,遵守得不好,让买个社保都磨磨唧唧的,更不要说女性的产假等问题了。因此,如果求职时主要针对上述企业来说,应该问题也不是很大。嗯,国内华为、中兴等大型企业,对女性歧视也很小,可以考虑。
但是,要注意,这里面也有个门槛问题,国有大型企业,其实福利是比较好的,但是,工资待遇偏低,尤其是进去主要靠关系,很少有凭借真本事能进去的,这个难度很大。其他三资企业,人家是典型的资本主义社会原则,看人部分男女,都是成本,每个人必须创造出效益来,因此,首先必须要真本事才进得去,其次,进去后,人家用人也比较狠,我们常说女生当男生用,男生当畜生用就是这个道理,如果进这类企业,要做好被扒层皮的思想准备。
每个人的幸福都是不一样的。我喜欢田园式的生活,在人多的地方总是不舒服。
对我来说,最幸福莫过于在工作中做着自己喜欢的事情。闲暇时,在能够眺望江边的地方,端着一杯红酒,一个人细细的喝。
为了这种生活方式,离开了北京,来到家乡所在的这个三线城市,寻找自己的道路。经过一年的探索,颇有心得。
大体上,我对自己走过的路和即将走的路划分为七个阶段:自信=意志=布局=切入点=团队=渠道=产品
第一关:自信
先说说我这个城市。这是一个什么样的城市呢?依山傍水,适合生活。几乎没有IT,也没几个真正的程序员。一周上班六天,平均工资1000元上下。程序员的工资在1000-3000左右。要在这个城市探出自己的道路,首要的一点就是自信。没有自信,活不下去。这个城市的年轻人大多非常迷茫,对自己的前途缺乏信心,有冲劲的都往大城市里跑了。回来之初,我也迷茫了很久,迷茫的时候,就在WOW里泡着,观察那个世界。在WOW里,作为一个萨满,傻乎乎的扛着个盾晃晃荡荡的升级。当时赚钱,也就是打打元素之火每天赚个几十G.后来,不断的观察不断的总结,成长为日入近万G的大奸商。哦,俺要走的也正是这一条路子。生活总是要继续的,在WOW上也学不到更多的东西了,就离开了WOW,开始了一个人的征途。
支持这条路子的核心力量就是自信。在小城市里不缺乏聪明的人,这些聪明的人大部分却并不优秀,因为他们缺乏自信,缺乏自己走路的勇气,从而甘于平庸。没有自信,走不出这第一步。
第二关:意志
在小城市做IT,相当锻炼人意志。这里就像一片沙漠。市场,没有。程序员,没有。找人说话也找不到。曾经组织过次聚会,包括我在内到了2个人。想要向下走,没有相当强的意志是走不下去的。彷徨,彷徨,最终还是坚持走了下来。
第三关:布局
所谓布局就是决定做什么事和不做什么事。经过相当久的考虑,我决定远离Web开发,远离本地市场,甚至远离数据库。做Web开发和数据库开发的太多了,你呆在偏僻小地,做这些完全没有优势,做本地市场呢,又没客户资源,关系又比不上已经在本地深耕数年的小IT公司。于是宁可荒芜这些技能,也不趟这个混水。最后决定,人做我不做,人不做我做,在偏僻的地方,做外面的市场,做深入的开发,做点做线不做面。为什么呢?
(1)本地的工资摆在那里,做本地的就算做起来了,利润也不丰厚,还累死累活,要赚外面的钱,在本地花
(2)要赚外面的钱,如果做Web开发和数据库开发,根本无法和当地公司竞争
(3)所以只能做别人不做的,或者别人做不了的,做技术要求高的。而我恰恰有相当多的研发性项目开发和管理经验,正适合做这些。
(4)所要做的东西,必须通过网络可以展示,可以远程技术支持。
第四关:切入点
切入点是个很关键的东西,综合上面第三关所讨论的内容,结合自己的技术能力和技术经验,然后结合需求情况,最终我从协议分析这一块切入进去了。哦,不是外挂那种分析。从QQ协议,到MSN协议,到YMSG协议,当然,还有Http这个最简单的,从有参考资料的分析,到无参考资料的完全黑箱分析,到现在在某方面的协议分析已经达到世界领先水平了。从协议分析,切入到验证码识别,从验证码识别,切入到车牌识别,从车牌识别,切入到模式识别、图像处理和机器视觉,而模式识别结合前面的协议方面的工作又可切入进NLP,客服机器人,有这些为基础,我又想切入淘宝店铺工具(哦,还没时间做,并且目前也没找到一个好的切入点).因为对图像处理的了解,我现在又成功切入进Flex开发了。以上各点貌似很散,也是也挺集中,就是:协议分析与设计、机器智能和图像处理,这三者是相辅相承的。
每个人的幸福都是不一样的。我喜欢田园式的生活,在人多的地方总是不舒服。
对我来说,最幸福莫过于在工作中做着自己喜欢的事情。闲暇时,在能够眺望江边的地方,端着一杯红酒,一个人细细的喝。
为了这种生活方式,离开了北京,来到家乡所在的这个三线城市,寻找自己的道路。经过一年的探索,颇有心得。
大体上,我对自己走过的路和即将走的路划分为七个阶段:自信=意志=布局=切入点=团队=渠道=产品
第一关:自信
先说说我这个城市。这是一个什么样的城市呢?依山傍水,适合生活。几乎没有IT,也没几个真正的程序员。一周上班六天,平均工资1000元上下。程序员的工资在1000-3000左右。要在这个城市探出自己的道路,首要的一点就是自信。没有自信,活不下去。这个城市的年轻人大多非常迷茫,对自己的前途缺乏信心,有冲劲的都往大城市里跑了。回来之初,我也迷茫了很久,迷茫的时候,就在WOW里泡着,观察那个世界。在WOW里,作为一个萨满,傻乎乎的扛着个盾晃晃荡荡的升级。当时赚钱,也就是打打元素之火每天赚个几十G.后来,不断的观察不断的总结,成长为日入近万G的大奸商。哦,俺要走的也正是这一条路子。生活总是要继续的,在WOW上也学不到更多的东西了,就离开了WOW,开始了一个人的征途。
支持这条路子的核心力量就是自信。在小城市里不缺乏聪明的人,这些聪明的人大部分却并不优秀,因为他们缺乏自信,缺乏自己走路的勇气,从而甘于平庸。没有自信,走不出这第一步。
第二关:意志
在小城市做IT,相当锻炼人意志。这里就像一片沙漠。市场,没有。程序员,没有。找人说话也找不到。曾经组织过次聚会,包括我在内到了2个人。想要向下走,没有相当强的意志是走不下去的。彷徨,彷徨,最终还是坚持走了下来。
第三关:布局
所谓布局就是决定做什么事和不做什么事。经过相当久的考虑,我决定远离Web开发,远离本地市场,甚至远离数据库。做Web开发和数据库开发的太多了,你呆在偏僻小地,做这些完全没有优势,做本地市场呢,又没客户资源,关系又比不上已经在本地深耕数年的小IT公司。于是宁可荒芜这些技能,也不趟这个混水。最后决定,人做我不做,人不做我做,在偏僻的地方,做外面的市场,做深入的开发,做点做线不做面。为什么呢?
(1)本地的工资摆在那里,做本地的就算做起来了,利润也不丰厚,还累死累活,要赚外面的钱,在本地花
(2)要赚外面的钱,如果做Web开发和数据库开发,根本无法和当地公司竞争
(3)所以只能做别人不做的,或者别人做不了的,做技术要求高的。而我恰恰有相当多的研发性项目开发和管理经验,正适合做这些。
(4)所要做的东西,必须通过网络可以展示,可以远程技术支持。
第四关:切入点
切入点是个很关键的东西,综合上面第三关所讨论的内容,结合自己的技术能力和技术经验,然后结合需求情况,最终我从协议分析这一块切入进去了。哦,不是外挂那种分析。从QQ协议,到MSN协议,到YMSG协议,当然,还有Http这个最简单的,从有参考资料的分析,到无参考资料的完全黑箱分析,到现在在某方面的协议分析已经达到世界领先水平了。从协议分析,切入到验证码识别,从验证码识别,切入到车牌识别,从车牌识别,切入到模式识别、图像处理和机器视觉,而模式识别结合前面的协议方面的工作又可切入进NLP,客服机器人,有这些为基础,我又想切入淘宝店铺工具(哦,还没时间做,并且目前也没找到一个好的切入点).因为对图像处理的了解,我现在又成功切入进Flex开发了。以上各点貌似很散,也是也挺集中,就是:协议分析与设计、机器智能和图像处理,这三者是相辅相承的。
你是不是感觉标题有点矛盾啊,是啊,程序员当然就只是程序员而已嘛,还会有其他什么吗?
No,No,No,如果你以前是如此认为的,那看完这篇文章后,请从此打消这个念头,因为你要改变成一个不一样的程序员(怎么还是程序员?)
虽然我工作经验也就6年左右,但经历了很多,也自己创业过,也是从一个初级程序员走起,因为看的比较多了,某些东西也普遍存在着很多程序员身上,希望自己的经验能帮助你们。
当刚踏入程序员这条路的时候,有幸为一家公司开发一个大型的电子商务网站,因为这篇领域当时还算刚刚起步,自己的编程能力还不太好,所以做起来就比较吃力,每天重复着做完PM给的工作,但是做了大概几个星期,我发觉某些地方真的不合理,但自己又仅仅是一个程序员而已,怎么办呢?我还是按照PM的任务一步一步来做,私下里我用了大量的时间去尝试着我的做法,在接下来的几个星期,我试着跟我的PM进行沟通,他也发觉不错,所以一并写了方案提交给上级领导,很好的是,我们的领导发觉建议还不错,所以改变了原先的策略,对我们的网站原先的设计进行了彻底的推翻,一套新的理念就此诞生了。
这只是一个小例子,并不是炫耀自己的能力,我只是想说,程序员,你其实不仅仅是worker,更应该是Ideaer。当你选择程序员这条路时,如果你仅仅为了工作而选择的,我想你的人生真的很灰暗,为什么这么说呢?我面试过很多人,大多都是从培训中心出来的,虽然我也是从那里走出来的,不过我当时是为了学习编程而去培训,但现在更多的人会为了工作而去培训。其实如果你是真正的选择程序员这条路,我想你的思维能力一定不错,因为一般程序员大多是理科出生,理科靠的就是你的思维能力,在某些时候或许你的思维还不够敏捷,但我知道,每个人在接受了一段时间的工作后,就会产生各类的想法,或许某个想法你会改变你公司的命运,可为什么提出观点的人就寥寥无几呢?
我想可能是因为性格吧,因为很多程序员都是内向型,因为我们需要花一定的时间,去沉醉在代码中,因为这是一个奇妙的世界,无法自拔,所以很多时候就忽略了沟通,因为我们打交道最多的是abcd。如果你正是如此,希望你快点走出来吧,分清楚何时沉醉,何时交流才是最好的。我的偶像-唐骏,我看过他的访谈,他在大学时还是一个不会沟通的人,只是偏执于技术,而且和大多人一样,都会觉得自己什么都会,什么都行,是个天才,但在他大三的时候,他意识到了错误,花了几年的时间去学习交流、沟通,在宁愿委屈自己进入微软做程序员,再到无数次发意见给Bill,一步一步成就了这位打工皇帝。
所以,我们每个程序员要做的是,技术和沟通并行提高。在唐骏的话中,我会学到很多东西,他能从容应对每一次挑战,当时有幸成为唐骏的下属,见证过他的能力,虽然他当时只是个技术总监,但他的想法、创意给盛大带来了无比的利益,我不得不佩服他的胆大,不得不佩服他的能力。从他身上还学到了专一,其实很多程序员会在编程的道路上三心二意,这是很正常的,不过我相信一段时间以后你会学会专一的,因为程序真的很美,带来的不仅仅是工作和薪资。
我这里又不得不批判一些年轻程序员了,他们仅仅看中的是工资、福利等,没错,这是考虑工作的一点,但你要知道,有些时候,你第一点的工资,或许你会学到更多的东西呢?我经历过很多,经历过1年工资翻几番,又经历过折一倍,又经历过小公司,又经历过大公司,各种各样看的实在是很多,但我不会说我自己半途而废,因为每次我会把事情做的觉得自己可以了,我才会选择更好的发展前景。我面试过一些人,工作也就2,3年,做过的东西也很多偏向于OA、ERM等项目,就觉得自己很了不起了,工资也是漫天要价,可真正面谈的时候,我才得知,你仅仅是其中的一个小模块,但当我问其项目的整个运维的时候,就会楞个半天,最后来一句,这个模块不是我负责的,敷衍了事。那好,我问你自己负责的模块,如何具体写的,用了何种方式等,基本都会回答,三层架构,什么什么,My god 三层架构是你一个模块就能体现的吗?那好,既然你说三层,何为三层,三层的优点,缺点在哪里?诶~~~~~前几天首页那篇批判大学生的文章,我觉得写的太好了,你们这是在沉醉吗?如果你不喜欢,你为什么非要选择程序员这条路呢?
在技术的选择上,是敏捷敏捷再敏捷!数据库尽量db4o,前台尽量sl/flex(面向最终客户的就不能选择sl).工具软件尽量用C#开发。尽量只做自己擅长的,不做别人擅长的。
我有一个特点,就是会一大票语言,能用来干活的就有C,C++,C#,Java,Python,matlab,actionscript,javascript,tcl.去上班的话,这是缺点--泛而不精。自己干的话,这反而成了优点了。因为我接的项目,很多属于偏门项目,这些项目往往都有开源的实现,但这种实现,要么只有C版本,要么只有Matlab的,要么只有Java的,会这些语言可以最大范围的参考,降低技术风险。缺点在不同环境下可以成为优点。
第五关:团队
通过前面的不断切入,形成了一系列案例,也积累了良好的信用,业务量是翻番的在长,最后自己的时间成了瓶颈。前两天小试了一把,谈了5个项目(2个flex,2个图像处理,那2个flex项目的核心也是图像处理),4个有合作意向,自己干不完,没办法,只能选择1个。
这就到了第五关了--一个人干不过来,得团队了。
但我前面说过,本地是人才沙漠。我的观点是宁缺勿滥,仔细挑选,从头培养。俺的挑选标准是:有激情、品德要好、数学基础要好、有自学能力。目前在带徒弟,看成长情况怎么样。
不着急,用不着太多的人,培养团队的同时开始摸索渠道。那个也得时间。
第六关:渠道
我最终想做的是产品。而在偏远地区做产品,想做成功,渠道和推广非常重要,不然的话,就算做出来了,也只能拿小头。在国内,还要考虑盗版因素。我现在只是有大致的产品方向,做也是玩票性质的,目的是摸索渠道和商业模式,想摸摸国内的和国外的两种市场。国外的只有试探性的探索。国内的,嘿嘿,前面的开发已经形成了一系列的推广工具了。
第七关:产品
做了这么多年项目,累死了。最终的目的还是产品和平台。我的征途是星辰大海(搞技术的,也得有技术的浪漫)目标是5-10年后,互联网3D化之后的虚拟现实(切入点?俺已有一个初步考虑的切入点).短期(5年内)是开发一些工具类型的产品和推广平台。
我是学材料的,在纳米材料界有一个名言--Build The World Atom By Atom.那么,在可见的未来,虚拟世界就是--Build The World Bit By Bit. 协议、图像、机器视觉、3D、语音,正是构成虚拟世界的因素,前面的种种,都是为这个做铺垫。未来的制造业将是分子制造,于是Atom和Bit将会碰撞--Build The World Atom By Atom, Bit By Bit!
但还是那句话,只做小,不做大,做点做线不做面。
什么程序员30岁之后转行之类的鬼话。俺到今年,才开始感觉进入了程序开发的大门,写程序时开始有一种美感,有那种几十人骑着战马冲击奥山大桥的壮烈。做一辈子的技术又何妨。
上述路径相当保守,指导思想不是胜利,而是避免失败。无恃其不来,恃吾有以待之,无恃其不攻,恃吾有所不可攻也。
所以我这里提醒一句,现代女性,最好有一份自己的事业,不要轻易依赖别人,记住,今天你有优势,别人会爱你,但是明天当你优势丧失,而男方优势突显的时候,很多时候,家庭并不是很稳固的。最好的方法,有份自己的工作,有份自己赚的薪水,可能不多,但是家庭建设有你一份,男方如果动不动就动歪心思,就是他无理取闹,打官司他都打不赢的。这也是保护自己必要的方法。
当然,也不要走另外一个极端,动不动就以女强人自居,你的事业是第一位的,男人天天在家里要给你扫地做饭端洗脚水,这也不好,中国社会,毕竟几千年,有个文化风俗在里面,女性再赚钱能力上,总的来说还是不如男方的,以后家里的顶梁柱还是男方,那么平时在家里,让着男方一点,家务活多做一点,让男方回到家,有个休息的感觉,能放松能感到温馨,这样的话,这个男人就是你的,打都打不走。呵呵。
总结一下,女性的工作问题其实比男性复杂,中国的男性,一般都是一门心思顾事业,把事业做到最好,而中国的女性,永远需要在事业和家庭之间求得平衡,既不能没有自己的事业,也不能放弃家庭,这很难的,不过,慢慢锻炼,总会找到办法。我的经验,能把握好这个平衡的女性,一般这辈子都比较幸福。
所以,针对你的问题,我觉得要辩证地看,既要看到,找份工作对你很重要,也要看到,作为以后家庭中,主要负责家庭事务的成员,你的工作不要一味追求高薪高职位,要寻求一个合适的职位,能满足长期工作不失业,但也不能太苦太累,搞得家庭无法维系。这才是比较周全的解决之道。
现在我们回过头来看看程序员,其实程序员这份工作,我觉得女性可以做的,程序员有很多加班的,但是这往往是工作刚开始,没有太多经验的情况,待工作一定年限,掌握了一定经验,加班会越来越少,其实大多数程序员工作岗位,是不出差的,基本上是朝九晚五制,做久了,收入也不低,可以满足一个女性对事业和家庭的平衡。因此,我建议你大大方方就做程序员,找不到,努力找咯。
嗯,再多说一点,就我个人的经验,程序员的加班,往往都是由于bug导致的,大多数时候,公司在安排项目开发时间时,时间还是给得比较够的,至少是评估过的,但是,往往是后期出现了很难跟踪,很难解决的bug,导致项目进度大大滞后,时间突然变得很紧,于是出现大量的加班,有经验的朋友可以想想,自己以前的加班是不是这样。
其实这个问题和男女无关,实实在在是每个程序员的问题,我本人以前也深受其害。后来我痛定思痛,准备彻底解决这个问题,于是我用了大约8年的时间,研究了一种方法,出来后,我的bug果然少了很多,几乎达到0 bug的地步,自然而然,我加班也变得很少了。
怎样评定一名软件开发人员?这是一个颇为奇怪的问题。现在已经有了很多的理论和形式来做这件事,人力资源部门也试着帮你管理和反省自己的行为。然而,怎样才是一个伟大的软件开发人员,在今天,你该怎样发展你的职业生涯?以下是我评定团队中软件开发人员的军规.按照这些技巧和规则,你可以改善你的现状,由一个优秀的程序员,成为一名伟大的程序员。
1、时间花在写精彩的代码上
这里说的不是数量,而是质量。对此,一种歪曲是:要数量,也要质量。你也许会很多次的遇到以下的两种情境:
情境A:你有一个发疯似的能写代码的程序员,事情似乎在进展中然后,Bug开始不断出现,你们也不知道为什么,好像永远补不完。补完十个,又出来五个,现在你手里的,就是一大堆代码
情境B:你现在有一个看起来很聪明的程序员,你面试他的时候,他似乎无所不知,能把理论说的头头是道。然而,你留给他三个任务,三个星期以后,他还在做一些三天就该干完的事。这下该你困惑了,他这么聪明,他知道generics(详见备注),多线程的一切事情,甚至还能给祖母级的人讲解什么是指针,让老太太兴奋的想去编程。可是--怎么什么都没完成?
于是,在梦境中--你写出了堪称伟大的代码,--伟大的代码是伟大的程序员写出来的,他睿智,明白代码的真正品质所在。写代码就像托尼?霍克在玩滑板一样自然优美,看上去就令人愉快。这些程序员以让你眼花的速度搞定一切,他们知道每个问题应该处理多长时间,也不会追捧寻觅所谓的世界最好解决方案,弄很多线程很多层来写一个简单的游戏。他们写的程序没有Bug,因为写的时候自己测试过了,在睡觉时也在写代码说的就是这样的人。这些程序员太宝贵了。
2、阐明问题
可以明确的是:即使有问题暂时处理不了,还有成百上千的方法去解决。有些人反应很迅速,很快就能提出多种解决方案。然而,一个伟大的程序员应该在做出行动以前清晰阐明问题--创建文档或用白板表达出来。他们写邮件给项目的管理者,这样表述:我想和你说说我是怎么理解这个问题的,我们能这样处理吗?然后他们就会动手给你多种方案。
对,这些人明白自己看问题和阐明立场的方式,而这理解方式大概不会是问题创建者所想要被理解的。请牢记这就是关键所在。一名伟大的程序员在尝试解决问题以前,一定要完全的理解它。你百分百搞明白了吗?没有?百分之九十九?--回去再多问些问题,确保百分之百理解清楚了。
3、怎样着手解决问题
那一搞明白了问题,就开始动手写代码?错!一个伟大的程序员应该按照规划,开始思考面临的多种选择,基于问题开始考虑最好的解决方案。我觉的这像一场国际象棋比赛。你知道每个棋可以怎么走,知道所有的游戏规则。但是你会马上走棋吗?不,你要审时度势,制订计划,紧盯对手,分析其通常的做法。和这一样,在你coding解决问题以前,你也要这么做。
看看问题,计算出需要怎样的结果,你的时间能怎么安排,预期的质量,你必须用的工具,好了,开工吧!
5年就这么过去了吗? 这是笔者和许多朋友共同的回答。可令人诡谲的是当笔者试图回想5年前流行的IT技术是什么时却一时答不出来,矛盾点是什么?如果时间过的很快的话,那么为什么我们无法想起当时的IT技术? 其实会有这样的情形一点也不奇怪,因为这5年来IT技术改变和进步的幅度是既深且广。
回头翻开笔者在数年前于《Borland传奇》后半部对于IT演进趋势的看法,笔者精确的提出了对象导向和Modeling技术将平民化和Web Service穿透平台的能力。不过笔者没有预料到软件工程和测试方法对于开发模式会有着这么迅速的影响力。
看看现今的IDE,几乎没有IDE不受软件工程和测试方法的影响,愈来愈多的IDE都提供了一种或是数种软件工程以及测试方法。最近再加上CMMI的影响,未来的开发工具(已经不再是单纯的IDE了)将继续融入CMMI的功能,而且一旦开发工具开始提供协助CMMI Level 3以上的功能时,代表未来的开发环境将可以把开发人员的开发效率,开发质量,开发方法都加以数量化,到时开发人员将必须进一步的提升自己的精致化开发能力,否则将很容易的在下一代开发环境中被现出原型。
软件工程和测试方法的进步也将让触发两种改变,那就是设计模型和设计架构即将像现在的程序代码一样能够被稽核和数量化,而测试计划也将提前在设计阶段即能够执行设计,模型和架构的测试。这个变化将会对设计师和架构师产生即巨大的冲击。
主流程序语言的语法和语意愈来愈像彼此一点都不奇怪,重要的是要了解程序语言本身的演变。目前宣告程序语言(Declaration Language)在。NET的主导下也逐渐的被Java所接受,而在程序语言本身融入XML原生的功能也由Java领军C#在后追赶。因此我们可以预料这两个趋势在未来数年之内会左右程序语言的发展。写到这里就不得不佩服Borland前首席科学家Chuck的睿智,Chuck在数件前即在Borland内部提出了Apollo计划,也就是目前OR-Mapping等技术的前身观念,而在2003年左右Chuck也在Borland内部着手了Z程序语言的计划,而Z就准备使用XML的数据型态做为Z的原生数据型态,并且执行流程和执行概念就以Web Service的架构为设计中心,而这正是下一代Java和C#想要实作出来的技术。更重要的是程序语言在这些新技术需求的刺激之下,已经逐渐成为一个技术融合的核心,未来当特定的IT技术成为IT的必要应用时,这个特定的IT技术就会慢慢融入程序语言的演化并且成为程序语言的核心功能。简单的说,程序语言本身将逐渐成为吞噬IT技术的多形机制。
OR-Mapping技术和对象查询语言也将会是接下来IT的重点技术,看看Hibernate的盛行,OCL的影响力日益加大,MS也会推出Object Space技术,连EJB 3.0都深受影响之下,这两个技术将成为左右数据存取技术和对象对映技术的主要力量。
那么我们应该如何面对下一个IT的5年呢? 其实答案也不难,那就是体认开发方法和开发流程是比开发技术来得重要。尽快找到一个适合你自己或是你的团队的软件工程方法,不管是XP,RUP,MDA,FDD或是任何的方法,使用正确的开发方法提升开发效率和开发质量是目前重要的工作。接着看看你着重的IT领域是什么,再找出这个IT领域背后的主导力量,巧妙的结合开发方法和技术趋势主导力量,应该可以让你立于不败之地。此外对于每一个新的技术,语言,IT应用等等思索它们形成的背后原因,想想这些背后的原因会对你的事业有什么影响,如此一来就不会穷于应付层出不穷的IT技术。当然,要看未来的5年您还是得先回首看看自己脚下的基本功打好了没有,否则一切都是空谈。
第二个提法,我觉得目前女性就业困难,关键还在女性自己。
目前大学里面有句话:干得好不如嫁得好!,我想大家都听说过。其实是人就有惰性,也有一些劣根性,都想找一些活少拿钱多的工作,舒舒服服地赚钱,这种思想,其实不管男人女人都有。我自己也有,呵呵。
关键是,社会是公平的,一分贡献,一分收获,哪有那么多不劳而获的事情。但现在的女生,我觉得普遍有点问题,都想走捷径,都想一次革命成功,目前大学校园中,傍大款的不少,很多女生一门心思嫁个好老公,认为这辈子就有靠了,不需要奋斗了。
因此,在求职市场上,很多女生不是找不到工作,是根本没有一心一意地去找,因为对女生而言,通常都有第二选择,可以靠家里,靠男朋友,等等。这种求职态度上的不坚决,其实无形中,已经给自己关闭了很多企业的大门。有个现象,同等条件的两名女生都面试,一名犹犹豫豫的,一名态度极其坚决,一定要拿到这份工作,通常都是后者获胜,因为企业认为这个人既然这么需要这份工作,那不管能力怎么样,进来后起码会拼命做事。
那我们再来比较男生和女生,就可以看出显著差异了,其实男生有时候也想靠,但是没得靠啊,反而,还有个女生在靠自己,自己还要撑起一片家庭,那么,你说男生求职拼命不?
但我还是得说,前面女生的这种思维是严重错误的,夫妻也是经济共同体,双方需要共同完成家庭建设,这样的家庭才稳定。一个女性,如果觉得职场艰难,就打退堂鼓,那,不管是不是程序员,其实我觉得她什么职位都找不到的。
这样还有潜在的恶果,现在有很多闪婚族,出了校门就结婚,我认为和女性的这种依赖思想有一定关系,但这样的婚姻,是不是稳定呢?
其实我不讲,大家都应该清楚,女性凭借个人的外貌实现魅力,男人更多的是凭个人的内涵和事业的成就实现魅力,这就决定了,一个女人,魅力最大的时候,是18~28这个年龄段,而男人恰好相反,一个男人最有魅力的时候,是35~45岁这个年龄段。这中间有落差。
一个女性,如果坚持以漂亮为本钱,早早地就嫁人,在家里相夫教子,那么,在她30多岁,年华老去的时候,情况就比较危险了。首先,男方逐渐进入事业巅峰,很多更为年轻漂亮的女性,会青睐这种男人,男人面临的诱惑在加大,其次,这个家庭,十几年其实都是男方一点点赚出来的,女方是享受者,不是建设者,在这个家庭里面渐渐就没有发言权,经济基础决定上层建筑,不要说对方爱你就会一辈子听你话,很多事会变的。
如果此时女性再不注意,试图通过控制经济等手段压制男人不会变心,或者采用跟踪,哭闹等极端方法,往往适得其反,最终导致男人离他而去。一旦出现这个问题,女性的问题就比较危险了,十几年没有上过班,自己的专业能力,恐怕仅仅剩下一张文凭了,知识都还给老师了,那她在社会上可以说没有任何竞争力可言。那么,她以后靠什么生存?
21世纪需要的IT人才具有5个鲜明的特点:
四商兼高(IQ、EQ、AQ、SQ)
21世纪的企业强调全面与均衡。一个人能否取得成功,不只看他的学习成绩或智商(IQ)的高低,还要看他在情商(EQ)、逆商(AQ)、灵商(SQ)这四个方面是否达到了均衡发展。
高智商(IQ,Intelligence Quotient):高智商不但代表着聪明才智,也代表着有创意,有很强的学习潜质,善于独立思考和解决问题。
高情商(EQ,Emotional Quotient):高情商是具有很好的认识自我、控制情绪、激励自己及处理人际关系,参与团队合作等相关的个人能力。在高级管理者中,情商的重要性是智商的8倍。
高逆商(AQ,Adversity Quotient):高逆商是指一个人具有很好的面对困境时减除自己的压力、渡过难关的能力,包括逆境态度、减压力、抗挫力、积极乐观向上的心态,摆脱逆境推动人生发展的能力。
高灵商(SQ,Spiritual Quotient):高灵商代表有正确的价值观,能否分辨是非,甄别真伪。那些没有正确价值观指引、无法分辨是非黑白的人,其他方面的能力越强,对他人的危害也就越大。
从事热爱的工作
在全球化的竞争之下,每一个人都要发挥出自己的特长。而发挥特长的最好方法就是根据自己的兴趣、爱好来选择工作--因为只有做自己热爱的工作,才能真心投入,才能在工作的每一天都充满激情和欢笑。这样的人才是最幸福和最快乐的人,他们最容易在事业上取得最大的成功。
融会贯通
仅仅勤奋好学,在今天已经远远不够了。因为最好的企业需要的人才都是那些既掌握了丰富的知识,又具备独立思考和解决问题的能力,善于自学和自修,并可以将学到的知识灵活运用于生活和工作实践中,懂得做事与做人的道理的人才。
创新与实践相结合
从根本上说,价值源于创新,但创新只有与实践相结合才能发挥最大的效力,为了创新而创新的倾向是最不可取的。反之,在实践过程里,我们也不能只局限于重复性的工作,而应当时时不忘创新,以创新推动实践,以创新引导实践。只有这样,我们才能不断研发出卓越的产品。
跨技术领域的复合型人才
21世纪是各学科、各产业相互融合、相互促进的世纪。现代社会和现代企业不但要求我们在某个特定专业拥有深厚的造诣,还要求我们了解甚至通晓相关专业和领域的知识,并善于将来自两个、三个甚至更多领域的技能结合起来,综合应用于具体的问题。
改革开放三十年,中国迅速从官本位社会向重商社会转型。商业社会的公理是商业驱动技术,反映到现实中,就是做技术的程序员被做商业的营销及管理人员驱动而成为附属,做商业的因代表客户利益而有着最高的话语权,其结果常常是技术与商业的二元对立,用被誉为中国的比尔?盖茨的金山软件公司董事长兼CEO求伯君的话,中国软件、互联网等IT从业人员的最大问题是就技术论技术、就商业论商业,技术与商业二律背反。
作为程序员,怎么办?
从商业驱动技术的公理出发,我们可以推论出关于程序员的两大定理,即程序员的时空定理。
程序员第一定理,不妨俗称之为站高定理,或空间定理,即:程序员应就商业之局论技术之域.古人云,不谋全局者不足以谋一域,这个局就是商业大局,这个域就是技术实现。反映到程序员身上需要做的心智模式的第一个战略转变是就商业(之局)论技术(之域),古今中外,概莫能外。
百度创始人兼CEO李彦宏在北大2008本科生毕业典礼上说,我在北大是信息管理系,学的是信息检索方面的理论,这让我比任何计算机系科班出身的工程师都更能够理解普通用户习惯于怎样的信息获取方式。这就是一个典型的站在商业的高度论技术实现的案例。
IBM的第二次战略转型,即1961年小沃森豪赌System 360项目,取得了历史性的成功。S/360对于IBM的意义以及对于IT行业的影响,相当于Windows对于微软的意义以及其对于PC时代所产生的影响。
从技术角度看,S/360取得专利权数量超过了300项,其中包括发明了内存芯片、发明了关系数据库、发明了人类第一个高级编程语言FORTRAN等。但是如果仅仅从这些技术的成功推断其成功源于这些技术,就大错特错了。
S/360的成功源于其创新的商业战略兼容,所有的技术实现都是围绕这一商业战略而展开。在S/360之前,每台电脑都有自己的指令集,所以每开发一台新的电脑就必须重新撰写程序。S/360成为了历史上第一款指令集可兼容电脑。当然,这同时这也意味着IBM将淘汰自己过去生产的所有型号的计算机,完成自我颠覆。
那么程序员如何站在商业战略的局审视技术的域,有没有一整套的系统方法论?
产品哲学的道,适用于做任何产品,讲述了什么样的产品是好产品,什么样的产品是伟大的产品;用户购买的本质是什么,企业如何应对购买本质;什么是产品的灵魂;做产品分为哪三个层级。
天马设计的天,将产品设计拆解为生产者集合的行业与消费者集合的市场通过创新机制孕育生成产品的三大流程。首先是如何通过行业流程及新经济的特性洞见产经大势,解决产品设计we should do的问题;其次是如何通过市场流程专注客户需求,解决产品设计we must do的问题;最后如何进行有目的、有组织、系统化的创新及中国式创新流程(13类方法)来具体规划产品线及产品功能,解决产品we can do的问题。
落地执行的地,将产品实施拆解为战略执行力的三大组成流程:战略目标、组织管理和开发运维。首先是经营责任化的目标流程,将产品与项目目标逐层切割分解作为经营责任落实到单一责任人,IT技术的趋势及中国式的产品运作模式是什么;其次是管理精细化的组织流程,如何配套对产品成败影响巨大的产品组三大组织模块六个构件;最后是运营程序化的开发流程,在确保工程三要素折中匹配的前提下,以本土实践为本,兼容并包四种工业级流程体系,形成三权分立的强矩阵最佳战阵。
以上《我的四年程序员之路[1]》一文,由编辑精心撰写而成,希望对您的职业规划有所帮助,更多精彩请访问“程序员个人简历模板”专题!
相关文章
最新更新