阿里巴巴离职DBA职业生涯总结:突然35岁~(转载)

原文地址:http://www.zhdba.com/mysqlops/2012/04/17/dba-alibaba.html

导读:
去年很多朋友私下或新浪微博上在总结自己的职业生涯与职业规划,也感觉到很纠结与彷徨,尤其技术人的职业生涯,随年龄增加,一些优势逐渐丧失。4月13日数据库技术大会的主办方举行的晚宴上,也让本人支持一个大家感兴趣又贴合实际的话,话题是:三十岁后的IT人?如何抉择人生路,遗憾的是预订酒店饭桌是几个房间打通的,而不是一个大厅方式(总共:8桌),大家无法围绕在一起,为此只是小范围讨论了下,今天看到曾经阿里巴巴数据库团队的海波兄弟总结分享,非常有意义,转载给大家共同欣赏!

十五年前,你或许还不懂爱情,看Jack和Rose执手相看泪眼,只是蒙胧的心痛。十五年后,你会和谁一起走进影院,更会和谁一起,走到生命终点。
十五年前,我还不太懂技术,凭兴趣玩着C语言。十五年后,当铁达尼的旋律再次响起,我会选择和哪门技术,一起走到我职业生涯的终点。

序言
—-?回望雨中的园区,更是回望来时的路。

此时天空飘着小雨,正如丝丝织雨细如愁。我刚刚离职,一路走出园区,回望了一眼雨中阿里巴巴的大楼,思绪随着微风,四处飘散。突然想起几年前我刚到杭州哪天,也是细雨微风。我走
进城西的创业大厦,终于见识了大师Biti的风采,也从此开始我的阿里巴巴之旅。
杭州的特点,是隐匿在山青水秀之间,有很多雅至的主题饭店,团队第一次出外聚餐,就是在山间绕来绕去,最后到了一处青山环绕、绿水长流之处。Biti在会议上就“什么是架构”进行了
精彩的评论,高度已经超越普通技术人员,至今我仍记忆犹新。但不久之后,Biti调至支付宝,真是遗憾。而这让我面临了空前巨大的压力,因为Biti一走,我变成了团队级别最高的DBA。初来乍到
,入职刚满一月,忽然成为阿里系一个子公司的“首席DBA”,惊喜之余,感觉压力之大、常常令我透不过气来。不过还好,时间总一晃而过,此时此刻,刚刚走出阿里,掏出手机,拍了一张照片,
算作我在阿里的留念,更是我人生一段最重要经历的留念。

回望雨中的园区,更是回望来时之路。…………

来时之路:硅谷,IT传奇的开始。

—-?人可以依靠梦想活一段时间,但不会一直下去。

“坐落在纵横交错的高速公路之间的,是巨型的商业园区和简陋的三卧两浴的平房住宅,其间最高的建筑是变电站的铁塔和架着电话线的水泥杆子。真正的工作是员工们在简陋的、用屏风隔
开的小办公室里,眼睛盯着电脑屏幕静静完成的。每个人都试图做一些前人没有做过的东西。”
这就是李彦宏在《硅谷商战》中谈到的硅谷的样子。
曾经有两个在一家公司供职的工程师,去找硅谷著名的投资家史蒂夫·朱维森,这位资深风险投资家对他们提出网上数据库系统并不感兴趣,他问:“你们还有其他主意吗?”
其中一个叫比尔·巴迪亚的工程师就说,他还想通过因特网来提供免费的电子邮件账户,从网上广告为获取收入。10天之后,朱维森连商业计划都没要便掏出30万美元帮助他们成立了Hotmail
公司。Hotmail后来以10亿美元的天价买给了微软公司。
这在当时看来有些离谱,但这样的故事到处流传,充斥着各类励志杂志,也充满着我的心。
世界上赚钱的公司多的是,但没有哪家公司的口号是改变世界。看看现在的IT、互联网公司,每个公司的口号中几乎都包含着改变世界的梦想。而且从微软、苹果这类老一代革命家,到
Google、Facebook这类硅谷新星,也的确有很多家公司或多或少的改变了世界,或至少是深深影响了世界。
IT,互联网,这是一个传奇的行业。当我的手抚过键盘,当眼光划过满屏自己写的代码,澎湃的激情,从来都没有息灭过。但无论多大的激情最终都会有息灭的时候。人可以依靠梦想活一段
时间,但不会一直下去。
1996年,我职专毕业。职专,是差等生的代名词。职专生的梦想,一般都是成为某武侠小说的男主角,有一个酷酷的名字,有一堆惊艳的红艳。我也不例外。但这一切,在96年的夏天到来时
,突然中止了。原因我应聘到了一个很小规模的计算机培训中心—“辰星计算培训中心”。还有,我看了辰星书柜中的电脑报合订本。
有一篇故事我仍然记得,《软件辉煌》,其中详细讲述了盖茨创办微软的经历,还有Word的开发历程,……。一群大男孩,用电脑改变世界。美国,硅谷,IT界,从来都不缺这样的故事。虽
然这样的故事从来没有在东方某个伟大的国家发生过。
合上电脑报,一个想法出现在我的脑海中,哪就是我要做中国的比尔。盖茨。年轻人总有梦想,不是吗?
一年后,1997年的夏天,四个辰星公司的“核心”员工,告别辰星,踏上创业之路。四人熟读微软、乃至硅谷的历史,这些历史让他们热心沸腾。
40年前,晶体管之父肖克利博士的故乡,美国西海岸的圣克拉拉,八名怀着梦想的年轻人离开肖克利半导体实验室,创办了可谓硅谷摇篮的仙童半导体公司。这就是著名的八叛逆。而我们,
则自许“四叛逆”。
我们在和辰星仅一墙之隔的地方,买了二十台电脑,投资达十万,创办了红星计算培训中心。哪一年,我们十八岁。

光辉岁月

—-?青春总是这样苦涩,但在长长生命之中,装在记忆这个坛子里,慢慢的发醇,最后却能化为无比的感纯。这或许就是生命的魔力。

………………
梦想总是遥不可及
是不是应该放弃
花开花落又是一季
春天啊你在哪里
青春如同奔流的江河
一去不回来不及道别
只剩下(平凡)的我没有了当年的热血
看那漫天飘零的花朵
在最美丽的时刻凋谢
………………

红星的创办,让我们的年青岁月,都达到了顶峰,此后再无超越。我们在同学中间成为传奇,成为创业的典泛。甚至有同学的同学,还幕名前来,向我们请教人生。
在红星除了讲课,我们还为一些传销公司开发核算、财务软件。我还用C和汇编,写各种有趣的程序。我用汇编写过一个DOS下内存驻留的程序,写完很有成就感,自信潢潢。但转念一想,要
学的东西如此之多,不知何年何月才能学完,霎那间又充满急燥。
哪段青春岁月真是难又形容。快乐与泪水,自信与自悲,坚持与旁徨,……,各种各样的感情交织着,匆匆的,过去了,不再来。
寒来暑去,花儿谢了又开、开了又谢,时间就如同夏日傍晚的凉风,轻轻的带走了岁月,只给人留下,多样的回忆,哪怕这回忆是如此的沈重。

小学三年级时,还是1987年,我在书店看到一本书,作者是诺查丹马斯。书中详细介绍了他的一系列预言,从狮心王理查的死期,到西特勒的出现。当然,最后是1999年人类大灾难,恐怖大
王从天而降。很不巧,当时哥哥刚刚带我看完电影《超人》。超人故乡星球毁灭的特效,虽然在现在看来虽然拙劣不堪,但当时强烈震憾了我幼小的心灵。如今再看诺查丹马斯的预言,我几乎已经
看到了地球在强烈的地震、大火中,变为一片废墟。出了书店,我万念具灰。我马上找到我的一众好朋友,将这个恶耗讲给他们:“我们只剩12年好活。”,未了,看着他们一个个脸如死灰,我却
突然心情大好起来,悠载悠载的回家写作业去也。有了这种经历,使我完全相信微博上的一句话:不要向任何人诉苦,因为20%的人不关心,剩下的80%听到后很高兴。这是题外话,我们继续。
12年后,1999年到了,我却再无所谓。或许大家一起死了,比我迷茫的活着更好。曾经辉煌的红星,只不过几年,便已面目全非,曾经的朋友,分道扬镖。在千禧年来临的前夜,我和几个同
样迷茫的年青人,喝着劣质的白酒,挥洒着青春,也挥洒着生命。
青春总是这样苦涩,但在长长生命之中,装在记忆这个坛子里,慢慢的发醇,最后却能化为无比的感纯。这或许就是生命的魔力。
我相信人生是一段段例行公事,一段忙完又一段,直到尽头。在红星的大门关上哪一刻,我告诉自已,一段生命结束了,要开始新的一段了。
2000年春暖花开之际,我踏上新的征程。通过以往学员的关系,到了我市一家百年老字号—五福糕点,做学徒。强烈的急燥心理,令我急切的寻找一条可以快速发家致富之路,我当时的选择
是:糕点师。但我并没有忘记我的梦,我的盖茨之梦,我的程序员之梦。2000年周星驰贺岁片《喜剧之王》上映,其中一句“我是一个演员”,深深打动了我。我想,或许有一天,别人吃着我做的
极品慕丝,我却告诉别人:”其实,我是一个程序员”。
罗红可又先做糕点,开好利来,赚了钱再当摄影师,我也可以。成长就是这样,我的目标,已经从创办Intel的肖克利八判逆,或盖茨等世界级大腕,变成了中国人罗红。其实,极便是罗红这
样的成就,也是高高在上的。所又,我成熟了,但还不够成熟。我想成为一个不普通的人,原因就是我是一个太普通的人。
几个月后,我放弃糕点,拎起菜刀,成了一个饭店的帮厨学徒。
几个月后,我放下菜刀,在路边摆摊买精品。
几个月后,我开了一家精品店。
几个月后,精品店倒闭,我赔光了所有钱。
这就是成长的代价。路不去走,就不知道原来走不通,更不知道哪条路可以走通。
其实,在这一年左右的时间中,也不是没有收获。在饭店做帮厨学徒时,我认识一个厨师。当其他厨师都是打台球、或站在街边对着过往的美女吹口哨时,他在练习刻花,或者学习。他说,
他的目标是要上天津一所厨师大学。我们一直保持着若有若无的联系,我要看看他的坚持是否会有结果。我想,他也这么想的,他也想看看,我的坚持,会不会有结果。因为,无论在干什么,我也
从没有中断学习。我不会吃口哨,台球打的也不好,他在苦练刻花时,我通常会拿起严蔚敏《数据结构》、同济大学版的《离散数学》等等。从96年到现在,从我看完比尔。盖茨故事哪一刻起,无
论的目标如何变化,我可以自豪的说,我的IT梦,从没有一天停止过。也从没有在哪个阶段,停止过学习。
还在五福糕点时,虽然这个决定有点晚了,但我还是决定放下DOS。开始看《Windows程序设计》这本号称Windows下的圣经。当我拿起菜刀时,同时,严蔚敏的数据结构,已经开始看第二遍了
,这本书后来成为我走北上、南下必带的书。而在精品店时,对于始终不明所又的编译原理,我也没有放弃,买了本号称龙书的,但我最终对编译原理还是不明所以。……。
4年后,那名厨师告诉我,他并没有去上厨师大学,他在北京的一家饭店,一个月已经拿到八、九千块。6年后,他仍在北京,但薪水已经到达一万五了。到我入职阿里巴巴高级数据库专家时
,他已经到了广州,薪水和我在阿里不向上下。之后,我们失去联系,不再有彼此的消息。因为我们在各自的身上,都已经找到结果。

残酷的青春

—-??在某一阶段,或许我们在寻找的和拒绝的都是自己。

中国最神密的部门是有关部门,最危险的工种是临时工。2001年的夏天,我来到郑州,到了我向往以久的事业单位,省计算中心,可惜从事最危险的职业:临时工。
从小,妈妈就教导我:“要好好学习,长大了进事业单位,有个铁饭碗。”
我问妈妈:“为什么只有事业单位才有铁饭碗,其他的就没有吗?”
“其他单位会破产啊,效益不好会倒闭,发不下工资。”妈妈没加思索的回答我。
我又不理解了,“哪会为什么事业单位就不会效益不好呢?”
“事业单位是国家吗,国家可以印钱啊。钱不够了就印。所以事业单位永远都不会缺钱。”妈妈回答我。
我想起阿甘正传中的一句话,Momma?always?had?a?way?of?explaining?things?so?I?could?understand?them.?妈妈总是有办法让我明白道理。
妈妈的目标,就是让我能进事业单位。现在,我终于进了,这多亏了一个亲戚。但我只是个临时工。我的工作是讲课,还有为其他各个大小企、事业单位开发各种程序。我在计算中心一共待
了7年,前2年,都是作为程序员,后来才转DBA。哪两年,我也为河南的不少企、事业单位开发了大大小小不少程序。现在想想,还有些后怕。常常午夜梦回,惊出一身冷汗。万一哪天我当年写的程
序有问题,会不会被跨省追捕回去。或许我下半辈子最好待在,和中国没有引渡协议的国家,才能真正安全。
事业单位大家都互喊老师,在阿里的时候,大家都互喊同学。所以后来到阿里后,感觉年青了几岁,哈哈。在事业单位,正式的愁每天无事可做,临时的愁每天有太多事要做。常常一个上午
跑两个单位解决问题,下午又要回去参加会议、讨论新软件的架构。在马不停蹄的忙碌中,我一直在考虑我将来的发展。谁都明白一个道理,如果想从一个行业中脱颖而出,只有两种常见的可能:
要么技术牛*,要么占得先手。技术牛*这个,不容易做到,所以,对我来说,取得成功的最简单方法只有一个,“取得先机”。
我们都明白一个很简单的道理,当火焰烧起来的时候,你才想到去加柴火,只能收获一堆灰烬。于是,我开始以我自己的判断,从众多的技术种类中,找到一个还在发展中的技术。
经过苦苦的寻觅,了解了众多专家学者的一直看法,我选定了承载我希望的东西—-VRML。VRML是HTML的3D版,当时一些专家预测,未来的网页,都将是这个样子的。
想想看,3D的网页,酷吧。打开网页,首先看到一扇门,用鼠标点一下,门打开了,随着鼠标的移动,你的虚拟形象走进房间,这是一个客厅,有三三两两的网友进进出出,大家互相在聊着
天,还有几个网友在角落中私聊,…………,怎么样,这样的网页够酷吧。
那是01年的仲夏,傍晚的凉风,让经历了一天酷暑的人,感到格外轻松。夕阳西下的天边,还飘着几朵云彩,恰到好处的点缀着色彩绚丽的天空。我骑着自行车,轻松的穿行在大街小巷。我
的心情格外的好,因为我刚买了一本书,是专门讲VRML的。而且,我找遍了整个书店,只找到一本关于VRML的书。这更加证实了我的猜想,VRML目前还比较小众,是一门方兴末艾的技术。只要抓住
时机,在VRML全面代替HTML前,将VRML学的比较精通。等到VRML大行其道时,我的名字将随着VRML一起,响彻全国。哈哈哈哈,……,想到末来的美好前景,我几乎忍不住要逛笑起来。但命运如同
横穿马路的汽车,在你得意忘形时,将你的梦想击的粉碎。
2004年,一晃三年过去了。HTML势头不减,Flash红遍国内,之于我的未来希望:VRML,不提也罢。这从一个测面证明,不要相信所谓专家、学者的预测。绝大多数的预测,都是错误的。就像
IBM创史人托马斯·沃森曾经作出了:“全球只需5台计算机”的预言一样。专家对未来的预测,往往是不靠谱的。企业家公开发表的预测,往往更不靠谱,他们的预测是为了对他们的产品和市场策
略作宣传。就如同早些年Larry?Ellison(拉里。埃里森)将预言未来PC将不再是主角,NC(网络计算机)都是主流。可惜早些年我不明白这些道理,浪费了几年时间。
如果能成功的抢占“先手”,无疑会以最小的代价、获得最大的成功。但是,如果你自以为是“先机”的东西没有发展起来,一切都将是竹蓝打水,一场空。
抢得“先手”固然可以使用自己更快的功成名就,但刻意的去抢,往往适得其反。成功抢得“先手”,这是上帝赐给你的礼物,可遇而不可求。这段经历让我明白,不要刻意追求快,欲速则
不达,还是一步一个脚印来得稳托。
其实仔细想一想,历史上固然有比尔。盖茨、乔布斯,有Google、FaceBook,等等人或者公司,以创新、抢先赢的市场和尊敬。但是,成功的人一定都是少数,还有更多的人,同样的才华横
溢、同样的聪明无比,但是,他们的创新、他的“先机”,都失败了。历史不会记得他们,因为,历史,是胜利者的丰碑。
硅谷的风险投资商厉害吧,他们肯定不会将钱随便投给不靠谱的人、不靠谱的项目。但是,即使经过硅谷风投认定靠谱的事,成功率仍只能达到20%左右,80%的失败者没有人会记得。
几年的坚持,几年的努力,只不过去学了一个毫无用处的东西。其实从03年开始,我就想过要放弃,我可能压错了宝、选错了方向。无数个夜晚在孤灯前学习,换来的只是毫无价值的技术!
我的内心,很不愿意承认这个实事。人有时候最难否定的,就是自己。一直坚持到04年,还是一个仲夏的傍晚。依然是凉风习习,天空依然是绚丽多姿。我沿着金水河随意的漫步,我想,是不是要
放弃了。一根接一根的抽着烟,买了几罐啤酒,一罐接一罐的喝着,夕阳将我的影子拖的老长老长。在某一阶段,或许我们在寻找的和拒绝的都是自己。你认为它错了,后来发现又对了,释然之后
你担然承认,自己执着了。错和对重要吗,关键是它过去了。
是的,过去了。
这之后不久,因为工作需要,我开始接触一个新的东西,Form和Report,是一种很少人听说的,一种叫Oracle数据库的开发语言。各种语言对我来说是驾轻就熟,除了安装配置,这两种语言
的开发,我很快就撑握了。我的历史,也因为这两个东西而转折。

灯塔:ITPUB

04、05年,我一直在做Oracle开发,主要使用的就是Form、Report,当然,还有OCI。在一些项目中使用OCI,纯粹是出于对C语言的偏爱。其实大多数我们的软件,可以全部使用Form和Report

我从开发转型为DBA,是一个很偶然的事件。04年底,在给海关做一个项目时,认识了一名搞网络的技术人员,他刚刚考过CCNP,正在向CCIE努力。当时,我从没想过要考什么认证,因此,也
不了解这些认证。听了CCIE,也没什么概念。他跟我讲,Oracle有一个很牛的认证,OCM。考过了后可以身价倍增。我回去在网上查了一下,说是当年亚州只有4名COM等等,总之就是很牛*。这个结
果令我大吃一惊,我没想到一个认证,能有如此难度与作用。从此,我开始了我的转型之路。
其实我们单位从02年就开始使用Oracle,几年下来,也基于Oracle开发了不少项目。很多地方有时也要求我们在项目交付的同时,提供容灾、高可用方案。但这些是我不肖做的。曾经的我对
SA和DBA是如此的不肖一顾,“只是搬搬机器、装装系统的民工”。我的梦想是创造,创造独一无二的程序,获得巨额风投,凭一已之力改变世界,我能,我可以。当梦想的浮华散去,我发现,8年
过去,我仍站在原地。我的盖茨
我是从备份、恢复切入到DBA这个行业的。04年底,我们为海关做了一个项目。项目完成后,我为他们搭建了DataGuard,同时,写了个脚本每周未备份DataGuard。当然,在项目软件中我也做
了个按钮,如果需要,他们可以随时点这个按钮触发对备库的备份操作。软件中还有个按钮是将备库直接激活的,激活之后,备库要重搭,并且,如果Redo文件有问题的话,激活会丢失些数据,不
过,这个项目的数据丢掉些他们可以接受。整个这些东西,我做为了高可用、容灾的方案,浓重的写进项目文档。当然,免不了介绍的天花乱缀。哪个时代,大家对Oracle都没有什么概念,你只要
能把库装上,都会有人说你牛。客户测试了备份、切换这些功能,再加上看了我天花乱缀的文档,对于灾备方案、高可用方案非常满意。我们领导后来得知这一情况后,专门问我是否有意转型做DBA
,我自然没有问题。我已经厌倦了开发,或者说,厌倦了老是为了别人的需求,开发程序。听说DBA还算轻闲,我计划转做DBA,再利用剩余时间开发自己的程序。但不可否认的是,Oracle是有它独
特的Mei力的。随着对Oracle学习的越来越深,我慢慢的发弃了我的开发梦。
这一切的转变,都是很自然的,自然到我每每想起,总觉得那是命中注定。
数万年间我和Oracle相遇了,没有早一秒,也没有晚一秒,哪也没有别的话说,唯有说一句,原来你也在这里。

海关的项目之后,我开始考虑,如何让用户的数据在切换时也可以保持不丢。最后考虑的结果很简单,就是将Redo每组中设两个成员,每个成员都在不同的存储上。但当时有记得有人说这样
做会对性能有影响,即使存放日志的两台存储一模一样。但也有人说没有影响。我在网上查了很多资料,大家的说法,莫衷一是。最后经过测试,结论很简单,有影响,但影响不大。对于这个结论
,我想大部分读者也不会满意。到底影响在什么地方呢?
每组中两个成员,每个成员在不同的存储中,存储性能是一致的。说这种情况下写Redo性能不会有影响的人,主要是认为LGWR会同时写两台存储中的两个Redo文件。如下图所示:

但是,我们考虑一点,LGWR进程只有一个,存储有两台,向A存储写和向B存储写,必然是两条语句,一个进程怎么可能同时执行两条语句呢。所以,上图不对,应该如下图所示才是:

LGWR发送命令写A存储中的RedoFile,不必等待写完成(因为是异步IO),LGWR再发送命令写B存储中的RedoFile。LGWR只有一个进程,不可能同时发命令写A存储和B存储中的两个Member,只
能逐个来。但因为I/O是异步的,向B存储中写Redo?Member,不必等向A存储中的写操作结束,而是如图中所示,有部分操作是平行的。
从总的时间消耗上看,图1中错误的理论,共耗时1.002?ms,?图2中正确的理论,共耗时1.003?ms。当然,时间是我随意加上去的,但对于现代的计算机系统,“发出一条命令”,“接收一个
通知”,消耗?0.001?ms?应该是过高的估计了。?写磁盘的1?ms,应该是差不多了,大部分数据库写日志的响应时间,应该都是几ms左右的。
通过上面两个图的分析,可以得出结论,让LGWR写两个存储,对性能有影响,但影响不会太大。多了图2中最后一阶段的操作:“B存储向LGWR发出写完成通知”。
有了这个结果,再后面的容灾架构,如果客户要求不丢数据,我都要求客户准备两套一模一样的存储,每个日志组的两个Member,分别放在不同的存储中。后来DBA逐渐增多,客户哪里,会有
自己的甲方DBA,对于灾备系统,当我提出要两台一模一样的存储时,一些客户会有疑问。我会详细解释LGWR的原理,其实,向客户解释的过程,也是传播自己思想的过程。向客户解释的原理越多,
客户对我的信任感也越强,后面的事情也越好办。
这些经历,也直接促成了我后面的学习习惯—-重视原理。虽然原理这东西很虚无,但为了更好的说服客户、取得客户的信任,有时我不得不向客户解释这些东西。
说点题外话,总有人问研究内部有什么用,我觉得最重要的作用就是,可以更好的忽悠客户。
哈哈,这是玩笑话,有用没用看自己爱好。有兴趣就去研究,没兴趣就去做别的。这个问题不必纠结。
如果真有兴趣去研究了,也一定会有回报。如果没去研究,也可以当好一名普通的DBA。
言归正传,能为客户解释这么多东西,有一个网站功不可未,就是ITPUB。我05年注册了帐号,此后,只要有疑难问题,第一时间先上PUB上搜索。PUB成为了工作、学习必不可少的网站。但是
,我很少在PUB上发表什么,因为我自己的功力尚不足,怕写出错误的东西,耽心影响大家。但看了哪么多好帖,从来没有回过帖,现在想来,也让我心中不安。于是从去年开始,我开始将这些年的
积累逐步总结出来。我相信一个道理,有一个农场主,得到了一种优良小麦种子,但他不懂得分享,只在自家的地里种这上了这种优质小麦。收获季节到来时,结果他的优质小麦表现并不如何的好
。他很不理解,就去请教一位专家。专家了解了情况好告诉他,只他自己种优质小麦,面积太小,旁边别人普通小麦的花粉,会被传播到他的优质小麦中,结果,影响了他的优质小麦的质量。第二
年,这位农场主将自己的优质小麦种子分享给旁边其他的农场主。由于有了足够大面积优质小麦的花粉,到了收获季节,大家都获得了大丰收。现在时间已经成熟,我会慢慢将一些心得分享出来,
希望和大家一起研究、一起进步、一起丰收。
在乙方工作哪段时间,对于工作,我只有一点感触。每天,我并不是为了单位而工作,我是为了自己而工作。只有自己的技能获得提升,才是关键。我会选择个别库做为观察对象,进行深入
、细致的分析,以此来煅炼技能。但人的精力是有限的,再加上单位给的福利待遇也不高,所以大部分库,只要客户不找我,我也不去找他们。
从07年开始,单位成立专门的数据库运维团队,决定让我作为团队的Leader。我的工作重点,从单纯的技术,慢慢变成了开会,参加各种会议。有些人对此乐此不疲,但我很不习惯。大家把
活推来推去,把功劳争来争去。不单要开会,还要培养新人。慢慢的,一些库分给其他人管理,使我可以专心去“开会”。很长时间里,我无心从事技术,脑子中之想着明天要参加已经开了好多天
的某项目架构大会、要最终确定下来的某事故改进会议、……。我心目中的管理会议是这样:

实际上的会议是这样:

哈哈,我承认图有点夸张。我实在不适合做扯皮这样的事。或许随着我年龄的进一步增长、技术实力的进一步加强。技术上已经没什么可学的了,活也干不动了。每天开开会,扯扯皮,还有
点意义。现在,这绝不是我想要的生活。古人都说,“学而优则仕”,我学还没有优呢,如何去入“仕”呢。
07年我技术进步缓慢,如果一直这样下去,我不知道,如果有一天单位辞掉我了,我该何去何从。没有了技术优势,一个单位的中下层管理人员,你到51JOB上搜索一下,有招聘“技术团队管
理者”这样岗位的吗。而且,计算中心是事业单位,从05年开始,我就一直谋求可以转成正式的“在编制”人员。为此,我、包括我们全家人,使用了很多方法。但是,我们的希望最后都落空了。
其实,我本来也没抱太大希望。
08年初,为了将来的发展,我决定辞职。这个决定或许已经有点晚了,但是,如果不马上行动,将来只会更晚。

在阿里巴巴遇见最好的DBA团队

我不喜欢飘泊的生活,也不喜欢新鲜的城市。只想在我家乡哪座著名古都中,像被固化在虎珀中一样去生活。但我的人生却注定要去飘泊,而且,是在三十而立之年,才刚刚开始。千万不要
刻意去选择自己的生活,因为你只能猜到开头,却猜不到结果。
我的第一站是北京,因为有朋友说可以为我介绍工作,但这份工作是Oracle讲师。我的技术还没有达到一定水平,还需要提高。这时候去做讲师,实在非我所愿。我的内心的理想目标,是去
阿里系的公司:阿里巴巴、淘宝、支付宝。这些公司“大师”级的人物层出不穷,我想也应该是很多DBA的目标。但自己投简历过去,成功可能很小,我一向不喜欢自已投简历过去。所以,在09年初
,考完OCM之后,我就一直想做点东西出来。正好一个朋友找过来,于是我们合作,很快就有了“Oracle日志挖掘研究版”这个程序。也很快的,阿里巴巴就给我打了电话。
到阿里面试是很爽的,来回的机票、酒店全部都已经订好,就好像到杭州来了个一日游。我是中午到的创业大厦,先被HR领到一个大厅里,做了一份笔试卷子,说是60分钟,但其实没有人在
旁边计时,晚一会儿也无所谓。笔试题难度不高,和网上流传的阿里巴巴笔试题差不多。做完笔试题,就是著名大师Biti的面试了。这是第一次见到Biti,个子不高,但人很精神,说话极有条理。
Biti面试时的难度也不高,大家聊的很好,就像朋友闲聊一样。所以,这趟杭州之行,让我觉得很完美,即来杭州旅了一次游,又和一些朋友聊了聊技术。
本来我计划当天晚上就回去,Biti面试完,被告知阿里巴巴B2B的技术部老大Andy想见见我,如果我时间上没有问题,HR会退掉当天的订好的机票再重新订,当晚住宿的酒店也已经安排好了。
当时很是受宠若惊,马上告诉HR没有问题。
第二天其实还是有点紧张的,不知道Andy会问我什么问题。见到Andy后才感觉,Andy人也很随合。Andy问了两个问题给我留下很深的印象,一是建立一个数据库层和应用层之间的统一中间层
,对下可以支持各种数据库是否有必要。还有一个,是如何拆分一个大数据库为多个数据库。
第一个问题,我的回答的很中庸,一个可以忽略下层数据库是什么的中间层,对性能会有影响,对开发效率、代码重用率会有提升,搞一个是有必要的,对于特别要求效率地方,仍可以使用
老的方式,一般情况下,使用中间层就可以了。我估计这是Andy当时正在考虑的问题,但后来阿里巴巴并没有大张旗鼓的搞这么个东西,我想Andy最终还是认为搞这个东西意义不大。
第二个问题,拆分数据库的方法,我曾经主导过一个大库的拆分,要求应用的每张表,都有主键。然后就像HASH分区一样,以每个表的主键为准,将数据做个HASH运算,分布到多个库中,我
直接把我做过这个项目详细说了一下。也是后来我才知道,原来阿里巴巴这边刚刚做过一个大表的拆分,拆分方法和我说的类似。
上午的面试很快就过去了,我专门让HR帮我订晚点的机票,这样,下午有时间去西湖游览一下。
这次杭州之行,给我的感觉是,杭州不错,面试很愉快,但打车很难。下午在西湖边打车,用了好久。后来才知道,在哪个时间点打车,能打到已经是运气了。
两个月后,我告别待了10个月的北京,来到杭州,入职阿里巴巴。

中国的大型互联网企业,有很多相似之处。比如说一样有入职培训,一样每年有年会,一样的有Outting,一样的嘴上说一套、底下做一套。比如公司一直在讲诚信,但在出了一些事情之后,
从公司发给我们员工的邮件来看,没有看到诚信二字。但这很正常,在我们国家,到我这个年龄,如果还相信公司说的什么或老板说的什么,哪脑袋就真有点问题了。
阿里的入职培训和其他公司一样,讲一讲企业文化,再把人拉到户外做做拓展运动,结束,没有持续性。和我一起参加入职培训的有几十人,半年内有差不多三分一离开公司,一年内大概只
剩三分之一留在公司。我和另外两个入职培训时认识的朋友合租一套三室两厅,一年后,他们都走了,只剩我自己独住一大套房子。大家来阿里的目的很简单,渡金。我的室友之一,半年后顺利跳
到了teradata。另一个是做客服的,一年后跳到另一个规模略小的互联网公司,做了客服经理。当然,我到阿里,最大的目的并不是渡金,而是学习。我的目标是成为Oracle大师,阿里孕育了哪么
多Oracle大师,到了阿里,我就和目标接近了。
但可能是我在面试时忽悠的有点过了头,阿里给了我一个很高的级别:高级数据库专家。这既让我兴奋,又让我感到无比大的压力。在我入职时的09年,整个集团的技术人员,达到这个级别
、和这个级别之上的,不过几十人而已。在B2B,高级专家之上的,只有十几个人。我们DBA团队中,只有一个人比我级别高,就是Biti。这让我的压力,稍微小了点,有什么大事,我前面至少还有
Biti在扛着。但是,一个月后,Biti就调到支付宝。我成了阿里巴巴B2B级别最高的DBA。一下子变成了“首席DBA”,我内心深入无比激动,但是,这也让我无比害怕。
来到阿里,我对自己的定位是学习、经历,我的目标,是成为技术大师,我从不会改变这个目标。但公司对我的期望,显然不是这样的。但这没有关系,这并不会防碍我学习。
在阿里的日子过的很快,好像回到了上学时代。每天三点一线,上班、到食堂、下班。DBA团队是我见过的最好的团队,几位领导对每个人都很负责,诚心实意的为每个人着想,努力为每个人
提供发展机会。大家之间没有争抢,没有钩心斗角,只有努力的做好事情。很高兴在这里渡过了快乐的近三年时光。在此,对领导、对团队中每个兄弟表示感谢。阿里的数据库维护水平,自然是没
得说的,用一句通俗的话来形容,我就像掉到了水中的海绵,如痴似渴的吸收着养份。
我到公司时,MySQL刚刚在公司有第一例非常成功的案例。之后的几年间,公司的MySQL团队从无到有,迅速壮大,MySQL的应用也是遍地开花。再之后NoSQL如同凄美的昙花,匆匆一现,却也
给公司内Oracle的应用带来不小的震动。对于开发,Oracle有如过街之鼠,几乎人人喊打。之后,一切又都归于平静和理性。NoSQL出局,MySQL重点发展,去Oracle已成必然。从11年开始,我也面
临艰难转型,根据公司情况,我决定转型到GreePlum数据仓库。但转型是困难的,几本大部头的书,一看就困。Oracle是越学越精神,一看GreePlum就瞌睡。数次不眠之夜的深思,我决定放弃转型
。我知道这对我来说意味着什么,放弃转型,也意味着要放弃这份工作。?虽然我很喜欢团队的氛围,我对团队恋恋不舍,但我仍将坚持我的方向。11年夏天,我开始筹备我的下一份工作,并计划在
12年春节的时候离开。

阿里巴巴二三事

在阿里,我见识到了Biti留下来的管理制度与管理水平。我们的数据库,很少出莫名其妙的问题。按照托尔斯泰的说法,好的数据库个个相似,差的数据库各有各的不同。好的数据库,无外
乎性能尚可,有完善的备份恢复和高可用机制、并定期测试,很少奇奇怪怪的问题,绝大多数报错、性能曲线的波动都可以找到原因,等等。差的数据库总有千奇百怪的问题、林林总总的报错、莫
明其妙的当机。
其实,达到阿里数据库的管理水平,DBA只做了一间事,就是更加关心自己负责的库。
每次性能曲线的波动,都要找到原因,甚至定位到SQL。对于新上线的SQL语句,进行严格的审查。对于大操作,格外小心。Statspack、AWR报告,要观注、观注、再观注。基本上也就这些了
吧。我把这种管理模式,叫做精细化管理。
说到这里,我想起了一件事,姥姥家住在一条古老的小巷里,在小巷南口,相隔不远有两家买锅葵(一种面饼)的,但一家门庭冷落,另一家则客流不断。很多人宁愿多花点时间排队,也要
买另外一家店的锅葵。有一次,我跟一位住在这块的老表谈起这事,为啥一家店生意清冷,另一家店生意兴隆。我老表很郑重的告诉我,“这就是用的功夫不一样。”我霎时间明白了。
当然,我见到过很多乙方公司的DBA,每个人要管几十个库,在这种情况下,根本无暇顾及什么性能指标、AWR报告,只要数据库不当、只要客户不主动来找就行了。不出事情,哪有什么功夫
去看AWR报告什么的。至于乙方的这种管理方式,我先称之为粗犷化管理。
这种粗犷化管理试,也是国情所定,我们无法改变环境,但我们可以改变的,是我们自己。我有一个朋友,初中同学。初中时学习不好,技校毕业。毕业后在工程公司做技工,其实干的活和
民工没有差别。在体验到现实的残酷后,他没有被生活磨平楞角,反而越战越勇,真正的奋斗起来。他的目标是考取注册监理师认证,很自然的,这个目标成了很多人茶余饭后的笑料。不是说这个
目标多不现实,而是,就算你考上了注册监理师,又能怎样呢?你怎么才能找到第一份监理师的工作呢?就算有证书,谁肯要一个民工做监理师呢?
面对嘲笑,我们唯一能做的事,就是努力坚持自己的方向,不要去做无谓的争辨。在干完一天烦重的工作后,他回去还要挑灯夜读。几年的坚持,他终于考上了注册监理师。就在为第一份监
理师工作发愁时,机会不期然而至,工程公司的一个朋友将他推荐到另一个公司。虽然干的活和民工没区别,但他是技校毕业,算是技工,底层实践经验丰富,又有了注册监理师证书,他成功的跳
到另一个工程公司,成为监理师。轻松完成了从民工到工程师这个华丽的脱变。而且,一切又都是如此的自然而然。两年后,他又跳到北京一家更大规模的公司。公司将他派到新Jiang,在工地上,
他巧遇以前的同事,他们还在顶着风沙,在工地上辛苦的工作。目前,他正在自学英语,他的计划是希望跳到外企。我相信他一定可以成功。
自助者天必助之,古人的经验之谈,难道都是骗人的吗。
相信有些乙方的DBA也在痛苦中迷茫,如何在粗犷化管理中,实现自己职业生涯的突围。我建议呢,可以选一两个库,以提升自己水平为目标,进行精细化管理。关注这一两个库的细节,你会
发现,水平可以更快的增加。
在阿里,我的第一次事故,让我记忆深刻。那是一次加节点操作,前期操作已经成功,最后一步在执行rootaddnode.sh脚本时,中途出错,导致OCR信息被损坏,所有节点全HANG。进行OCR恢
复后,才恢复正常。原因非常奇怪,rootaddnode.sh要调用srvctl向OCR中写入新节点信息,而srvctl因为缺少个包,执行失败异常退出了,OCR信息也被写坏了。
在进行这次加节点操作前,我在虚拟机中反反复复测试,做了大量的准备工作,但没想到,最终还是出了大事故。
从这件事后,我再做其他操作都更加仔细,特别是RAC。RAC下操作总会调用这个哪个一堆的脚本,我会先把脚本看一下,大概了解这些脚本都干点啥。就像加节点,我会先调用Srvctl?config
命令,显示一下配置信息。如果可以显示成功,再进行加节点操作。
“不要在周五做重要的事情,这会让你整个周未都没有好心情”,这是这次加节点操作给我留下的另一个忠告。
在阿里最深刻的,还是职场之道给我的震撼。在此,引用一位PUBER的发帖:
A同学,遇到问题,召集会议写报告搞风险评估,凤凤火火,完事后到处汇报心得,各部门都知道了数据部的功劳。
B同学,遇到问题,默默一个人搞定。

这B同学确实厉害,很多问题都独立搞定,A同学连?oracle的pga是啥都不知道,但他就是跟公司的高手们关系好,会求助,会推动。
当你有一天听到领导们背后议论A和B的时候,你会发现,他们一致都比较欣赏A。为什么他们会欣赏A呢?不是B是高手么?因为领导们已经长期不做技术了,观察人更喜欢观察人的沟通协调能力,像
B默默搞定问题,谁也不知道是咋回事,还以为这问题很简单呢。结果呢?B郁闷离职。。。职场故事无新鲜事,类似故事每天都在发生。
以前一直以为是故事,直到见到一个活生生的、传奇般的“A同学”。除了这位Puber提到的,我觉得“A同学”一般还要有一个特长,就是会起名字。一个普普通通的架构,起个好名字,简值
是有化腐朽为神奇的作用啊。
看一些中央领导的简历,升迁之迅速,往往让我惊叹。很多人不惑之年,都做到了高级领导,拥有数套房子和无数个情人,成功进级高帅富他爹。我一直很奇怪,人家都是怎么玩的。自从见
过“A同学”后,我了然了。“A同学们”的成功是很迅速的,他们身轻如燕,稍有青风拂过,便能乘风而起,一飞冲天。
“A同学们”也要有一定的能力,这是基础。但是,和他们的综合实力相比,他们的能力可以忽略不记。
他们可以把GDP搞的很高,但不会把国家搞的很强。
如果一个集体、一个部门甚至一个国家,越来越弱,那一定是“A同学们”太多了。
“A同学”后来跳到另一巨头民企担任很高的职位,依旧是风声水起、威风八面,于是我就知道,哪家民企的发展是到头了。如果以释伽“成、住、坏”三阶段发展论来讲,个人认为哪家民企
的“成”阶段已经过去,进入“住”阶段,如果没有“B同学”大量加入,数年之后,或许就是“坏”阶段了。
个人认为,单以职场发展来论,“A同学”值的效仿。现在的职场,好像春秋战国,即使你所待的“国家”,已经进入“坏”的阶段了,没关系,换一个国家就是。就像春秋战国时一位“士”
人的言论,是当大王、诸候好呢,还是做大臣好呢。当然还是大臣好。一个国亡了,王的结局只有死,但大臣呢,换个地方再做大臣就行了。“A同学们”,永远会受到市场追捧的。他们就像漆黑中
的萤火虫,那样的鲜明,那样的出众,那样的拉轰。
但我向来没有“A同学”的能耐,只能向“B同学”学习了。
将来做企么无所谓,有一点很关键,就是要认清自己的方向,这很重要。做管理?做技术?都行,这世界上有靠管理成功的,也有靠技术发家致富的。
你的目标可以是成为管理者、领导,但不能是“成为好逸无劳又挣钱”的人。不要幻想着每天什么活都不干,上班喝喝茶、扯扯蛋,每月工资高的让我们这些矮穷丑听到都吓的尿裤子。这样
的境界,是要有上一代打下基础才行。如果你进了ITPUB这个论坛,又看到我这篇文章,这足以证明你上一代没什么基础,就不要再做梦了,赶快起来跟我一起用DTrace+GDB研究Oracle原理才是正事

要想成为管理人员,或是领导,无外乎三种途径:
1、在公司混久了,跟着上级、甚至公司创业者一起打天下,有资历。走这条路,要看运气,跟对了人就行。
2、潜心研究技术细节,深入钻究技术,成为大牛,转而成为领导。这就是学而优则仕了。
3、有关系,家人在有关部门任职。

如果你发现自己没有跟对人,也没有关系,要想成为领导,哪就走第二条路吧。我知道很多优秀的领导,都是这样走过来的。比如我们团队的头,还有Biti,都是如此。其实,就连我所提到
的“A同学”,现在的某互联网巨头企业中高级管理人员,也是如此走过来的。
大多数离职的人对以前待过的公司都是颇有微词的。也是啊,如果不是因为待着不爽,谁愿意走呢。但我对阿里,感觉还是非常好的。因为阿里,我来到了杭州,在钱江之畔,生活了近3年时
光。在阿里,我终于实现了我的目标—-让技术更上一层楼。三年时光匆匆而过,正如一部电影所说,年华就是如此,当你不再拥有,你唯一可以做的,就是令自己不要忘记。

尾???声

站在远处,最后看了一眼雨中阿里巴巴园区漂亮的大楼,我生命的这一阶段已经过去。这是我生命中目前为止收获最多的一个阶段,感谢阿里、感谢我们的团队。

 

HR绝不会提醒24条面试“潜规则(转载)

面试中也有各种这样的规则,大部分我们只要经历多一些面试都能领会,下面24条面试潜规则,资深HR绝不会提醒求职者,也许年轻的HR都不清楚这些潜规则,你知道吗?

1、带多几份简历前往面试,没有比当被要求提供多一份简历而你却没有更能显示你缺乏准备的事了。带多几份简历,面试你的人可能不止一个,预先料到这一点并准备好会显得你做事正规、细致。

2、留心你自己的身体语言,尽量显得精警、有活力、对主考人全神贯注。用眼神交流,在不言之中,你会展现出对对方的兴趣。

3、初步印象和最后印象。最初和最后的五分钟是面试中最关键的,在这段时间里决定了你留给人的第一印象和临别印象以及主考人是否欣赏你。最初的五分钟内应当主动沟通,离开的时候,要确定你已经被记住了。

4、完整地填妥公司的表格——即使你已经有简历。即使你带了简历来,很多公司都会要求你填一张表。你愿意并且有始有终地填完这张表,会传达出你做事正规、做事善始善终的信息。

5、紧记每次面试的目的都是获聘。你必须突出地表现出自己的性格和专业能力以获得聘请。面试尾声时,要确保你知道下一步怎么办,和雇主什么时候会做决断。

6、清楚雇主的需要,表现出自己对公司的价值,展现你适应环境的能力。

7、要让人产生好感,富于热情。人们都喜欢聘请容易相处且为公司自豪的人。要正规稳重,也要表现你的精力和兴趣。

8、要确保你有适当的技能,知道你的优势。你怎么用自己的学历、经验、受过的培训和薪酬和别人比较。谈些你知道怎么做得十分出色的事情,那是你找下一份工作的关键。

9、展示你勤奋工作追求团体目标的能力,大多数主考人都希望找一位有创造力、性格良好,能够融入到团体之中的人。你要必须通过强调自己给对方带来的好处来说服对方你两者皆优。

10、将你所有的优势推销出去,营销自己十分重要,包括你的技术资格,一般能力和性格优点,雇主只在乎两点:你的资历凭证、你的个人性格。你能在以往业绩的基础上工作并适应公司文化吗?谈一下你性格中的积极方面并结合例子告诉对方你在具体工作中会怎么做。

11、给出有针对性的回答和具体的结果。无论你何时说出你的业绩,举出具体例子来说明更有说服力。告诉对方当时的实际情况,你所用的方法,以及实施之后的结果。一定要有针对性。

12、不要害怕承认错误,雇主希望知道你犯过什么错误以及你有哪些不足。不要害怕承认过去的错误,但要坚持主动地强调你的长处,以及你如何将自己的不足变成优势。

13、和过去业绩成就相关的故事,过去的成绩是对你未来成绩最好的简述。如果你在一个公司取得成功,也意味着你可以在其他公司成功。要准备好将你独有之处和特点推销出去。

14、面试前要弄清楚你潜在雇主的一切,尽量为其需要度身定做你的答案,关于公司的、客户的,以及你将来可能担任的工作,用对方的用词风格说话。

15、面试前先自己预演一下,尝试你会被问及的各种问题和答案,即使你不能猜出所有你可能被问的问题,但思考它们的过程会让你减轻紧张而且在面试时心里有底。

16、知道怎么回答棘手的问题,大部分的主要问题事前都可以预料到。但是,总会有些让你尴尬的问题以观察你在压力下的表现。应付这类问题的最好情况就是有备而战,冷静地整理好思路并尽量从容回答。

17、将你的长处转换成有关工作业绩和效益以及雇主需要的用语。如果你对自己和工作有关的长处深信不疑的话,重点强调你能够给对方带来的好处,在任何可能的情况下,举出关于对方需要的例子。

18、说明你的专长和兴趣。对雇主最有利的事情之一就是你热爱自己的业务,面试之前要知道你最喜欢的工作是什么,它会给雇主带来什么利益。

19、清楚自己的交际用语,对大部分的雇主而言,交际的语言技巧十分有价值,是受过良好教养和有竞争力的标志。清楚你自己是如何交际的,并且配合其他人一起联系你从最好方向努力去展现自己。

20、不要准时到达——要提早到!不管你的主考人对多么谅解你在路碰到的意外况,要克服负面的第一印象几乎是不可能的。尽一切能力准时,包括预先给可能发生的意外留下时间。

21、把你碰到的每一个人对看成是面试中的重要人物,一定要对每一个你接触的人都彬彬有礼,不管他们是谁以及他们的职务是什么,每个人对你的看法对面试来说都可能是重要的。

22、用完整的句子和实质性的内容回答问题。紧记你的主考人都想判断出你能为公司带来什么实质性的东西,不要只用“是的”“不是”来回答问题。给出完整的答案让人知道你和公司的要求有什么联系,让他们知道你是什么人。

23、用减轻紧张的技巧来减少你的不安,公众人物有很多舒缓压力的方法会帮助你进行面试。在面试临近时练习一下如何放松自己,譬如放慢语速,深呼吸以使自己冷静下来。你越放松越会觉得舒适自然,也会流露出更多的自信。

24、一定要准备好问问题,准备好几个和工作、雇主、以及整个机构有关的问题,这些问题应该能够获取有效信息,表达你对工作的兴趣以及智慧和热情。

 

展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告(转载)

走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们。

01.?自己的户口档案、养老保险、医疗保险、住房公积金一定要保管好。

由于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间跳来跳去,甚至是城市都换过3个。还好户口没丢掉,其他都已经是乱了,好几个城市里,都有交过三金,甚至是一个程序的2个区里交的都有,那些东西,10年后,会变得很重要。你买房子若有公积金,可以取出来,贷款利率也会比较低一些,有孩子了,还需要上学,生病了还需要医疗保险。

特别是买房子时,你要商业贷款与公积金贷款的利率差别还是很大,有可能会有10万的差距。你平时都注意这些,会给你带来的损失会最小,例如每个月缴纳300元的公积金,公司也缴纳300元,你一个月能存下来600元,一年就是7200元,10年就是72000元。我以前都忽视了这些,到我需要买房子时,公积金里可能只有几千元,10年很快就过去了,结果我没能存下来多少公积金,医疗保险,养老金等更别提了,都已经稀里糊涂了,这些损失10年累加起来,是很庞大的数字,大家要注意,跳槽换工作时也要保护好自身的利益,现在房价很贵,你可能是跟我一样,大山里出来打拼的娃子,家里也没有丰厚的积蓄,只有靠自己拼搏,买房子是人生的一件大事,等你到了10年,才想到这个事情,已经晚了,特别是孩子要上学,上幼儿园等,需要户口啥的都要齐全。

02.?不要轻易换笔记本电脑,不要跟潮流,不要买过多的电子产品,不要过于频繁的更换手机。

这方面我的经验教训也是惨痛的。我大概前后购买过5-6个笔记本,以前的都是1万多元一台,最近买的是一台是1万多给女朋友的,自己买了一台是7500元左右,手机大概换过接近10个了,这些钱加起来也足够有10万以上了,你可能一不小心就购买了这些电子产品,但是时间长了,你一回过头来想想,你为什么赚得也不少,但是为什么还是那么穷,是因为你购买这些电子产品花费了过多的金钱了,平时笔记本啥的贵重物品要保护好,我一个同事不小心丢了2台笔记本电脑,接近2万的损失啊,你净赚2万,不是那么容易的,这个窟窿不是开玩笑的,我曾经也被人偷了一个崭新的笔记本,损失1.5万左右,更糟糕的是最新的代码也丢被偷了。

03.?这年代外语、学历、职称、驾驶证还是蛮重要的。

想找高薪,外资企业是正确的选择,在同样的打工里,外资企业的收入普遍是高的,我就想不明白,我们的赚钱能力怎么就比不过人家了,社会不断发展,将来可能去外国就像串门一样了,也说不定的,外语好将来的就业机会也会更多更广一些。

学历并不代表啥,但是学历也是敲门砖,例如有300个应聘者,那至少重点本科以下的,统统不看了,因为实在是来不及看了,你再厉害也被挡在机会的门外了,同样有时候你想改行什么的,职称也很重要,最起码评个中级职称,说不定还有机会能进入大学或者政府部门还是有可能性。

若有充裕的时间,应该把驾驶证考了,因为你越到后面越忙与工作家庭,没机会学车了也说不定的,平时也别光顾拼命工作,工作10年后你才发现,原来身边的人都至少硕士学历了,你被社会自动淘汰了,我现在就有这个感觉,虽然我带过很多硕士,他们的就业机会比我还好,经常能进入名牌企业,我也一直进不去。

04.?不要谈过多的女朋友,谈女朋友要看准,下手要稳准狠。

我谈过2个女朋友,平均每个女朋友身上的开支前后大概会有10万左右,还好我不用谈第3个女朋友了,若投资失误,那也是很残忍的,谈女朋友也会消耗很多时间精力、还会消耗很多金钱,实话的讲的确是这样的,人家女孩子也值钱啊,凭什么就那么轻易的跟你啊,我跟第一个朋友分手时,我的生活至少是倒退了3-4年,一切从零开始,一切从头开始,我劝大家谈女朋友是人生最大的一笔买卖,投资失误会有惨痛的后果,不仅仅是金钱上的损失,更会有精神、心灵上的沉重打击,大家要学会珍惜女朋友,要学会哄好女朋友,让老婆开心每一天,虽然鱼儿上钩了,不用再下鱼饵了,偶尔也别忘记放点米,这个鱼要是脱钩了,那不是开玩笑的。

05.?工作不要更换得太过于频繁,选好了行业方向最好别更换太频繁。

换工作,换行业方向,就像熊掰苞米一样的道理,有时候是丢了芝麻捡西瓜,有时候是丢了西瓜捡芝麻,这个道理我就不多讲了,大家都应该能明白的。

06.?要对身边的人好,要得到老板的信任、同事的认可及支持、珍惜良好的工作环境。

有个朋友的QQ名字很有意思,“只爱陌生人”,陌生人是很有意思,但是最关键时刻,还是需要靠非陌生人,你每天跟同事一起生活,要维系好身边的人。你的成功与失败,往往是你身边的30-40个人决定的。你就是世界首富,他身边也是那么不超过100个人的在左右着他的生活,当你工作10年了,没一个老板信任你,没几个要好的同事朋友,那你惨了,你在这个世界上已经是很孤单了,你的收入,其实大多是来自这些身边的朋友给你介绍的生意,不大会网上掉几个馅饼的。

现在你身边的人有可能在不久的将来,给你提供很多好机会。

07.?钱很重要,但是生活质量比钱还重要,工作是很重要,但是家人比工作还重要。

钱不是万能的,但是没钱是万万不能的。钱赚了,身体夸了,全送给医院了,钱赚了,身心疲惫了,人活着为了啥?不就为了开开心心生活嘛?工作重要,但是失去了家人的爱,失去了女朋友,失去了老婆孩子,那这个工作有啥用了?工作很容易就换了,家人是换不了的,老婆不是想换就换的,孩子不是想换就换的,连自己的家庭都不负责的人,怎么可能对公司负责呢?我一直是这个观念,来面试时觉得工作更重要的,我们一般不录取的,那太假了,或者太不懂事了。

08.?工作累了,也别太贪玩,有时候还是需要多想想如何才能赚钱。

时间一晃就过去了,工作累了是可以适当放松,但是别太贪玩,10年很容易就过去了,10年后你要买房子,要娶老婆,要买车子,要生娃娃,身体也会变得脆弱一些,需要良好的生活习惯,也经不起通宵了,通宵一次,你要低迷好几天才能缓过劲儿来,跟20刚出头完全不一样了,用钱的地方多了去了,父母也会变得更老一些,可能也需要你的照顾,整个家子都指望你赚钱,别到了这个时候,你才意识到赚钱是那么的重要,更何况现在城市的房价,动不动就是100万,加上按揭的利息,你很可能需要支付150万。还可能需要装修,买车子。可能你身上的压力是200万。别觉得谈钱就俗,你要学会赚钱,要有个需要赚钱的良好意识,当然你出身富裕家庭,就不用考虑这些因素了。

09.?每天一点点进步,每月一点点积累,要敬业要爱业,我们给别人提供的也是服务。

总有一天,你也会有累的时候,你也会有老的时候,这时候,你要靠啥呢?就要靠你平时的积累,你10年的积累,可以打倒很多竞争对手,他们再厉害,再怎么样,也很难抵得过你10年的积累,特别是后面5-10年的积累,成果会很明显,前面的1-5年,算是做软件的入门吧,除非你有高人指点,那可能2-3年就可以修成正果,软件在将来还是会值钱的,以为生活会越来越智能化,越来越数字化,软件的需求还是很有前途,最起码未来的10-20年里不用太担心失业问题了。

10.?对程序员来讲,开发思想、架构、代码就是财富,别老丢弃你的劳动成果,要学会保护你的劳动成果。

我大概7-8年前的代码都在手上,经常改进来改进去,维护来维护去,在一定的程度上,让我生活轻松了不少,因为我不用什么都从头来过,我只要痛苦一次,以后就要反复重复利用,软件的价值在于重复利用,而不是每个东西,都从头开发,那永远也是辛苦的程序员,这个生活质量就别提了,不管自己的代码丑还是拿不出手,要学会精心维护,每天改进一点点,每个月一个小进步,每年一个大进步,多年的积累是宝贵的,这个早晚也会给你带来丰厚的收益。

11.?当程序员要防止原地踏步,不是工作年限长了,经验就丰富了,能力就强了,年纪越大工作越难找。

我有一个朋友跟我开玩笑,工作5年的人,可能能力差距会很大,为什么呢?因为第一年他们干的事情都是一样的,都写程序了,2个人可能由于价值观不一样,5年后差距会很大,甚至是大到无法追赶的程度,为啥?因为还有机会的因素在里面,有的人干了5年,还是在原地踏步,天天只会写那些添加、删除、修改的代码。那你得注意了,需要不断的提高自己,才是硬道理。例如你会SQLServer,那要试着学习Oracle,?你是做C/S的,那得需要提高到B/S的,你是做单机软件的,那得需要提高到网络软件,你只关注自己的工作的,需要学会管理,关心他人的工作。你是当程序员的,要试着提高当项目经理、部门经理,公司的总监等等,人有野心有目标才会不断进步,最俗的为了多赚钱,提高工作职位工作岗位,工作单位,也是可以理解的。

年纪越大工作越难找,例如3-4千的工作是随便找找,玩一样,但是你30过后,最起码要找月薪上1万的工作,这样的工作是机会也少,一般小公司也给不起,还得找个好公司才可以,好公司又不是天天招聘人,天天缺好的工作岗位,说不好听点儿,小公司的老板才赚多少啊?他来钱也很不容易的,小池塘就不好容得下大鲨鱼了。

12.当创业的收入比打工还少时,那就别创业,要找比自己能力强的人创业,你不会吃亏。

创业的收入,比打工还少,那就是瞎扯蛋,恶搞。创业的真正意思并不是要你去吃苦没钱赚,那是忽悠无知的人的。当你创业时的收入,比打工还多,那你可以考虑创业,没有工资什么的,股份啥的,都是瞎扯蛋。

不要跟自己能力还弱的人一起创业,那损失最大的,很可能就是你,要创业,也要找比自己强的人一起创业,最起码赚不到钱,还能学到不少。不会有过多的损失。别热血一沸腾就创业了,创业了,也别烧自己的钱,家人的钱,那是很不抗烧的,没几下几十万就烧干了。

其实打工,也是创业的开始,每个月都能拿到钱,还可以学到知识,什么公司的股份都是空话,没几个小公司能成功,开起来了也走不了3年就分家了,都忽悠小孩子玩的,除非真的有科技含量或者是客户资源的,否则股份是一文钱不值的,就算创业每个月也按时拿工资才是硬道理。

13.?未来的生活节奏会更快,生活压力会更大,竞争会更激烈,社会服务体系会更完善。

在未来,我们享受良好的服务的同时,也会为别人提供更良好的服务,需要在技能上还是服务质量上的要求会更高更严格。平时要注意提高自己,不要被时代淘汰掉,我从小的朋友,一波又一波被社会无情的淘汰了,很小的时候,我出生在大草原与大山的交界处,我小时候的玩伴,还在大山里,我跟着家人杀出来了,我小学、中学、大学、工作上的、这10年,我一直很坚强的拼搏下来,很不容易的在杭州立住脚了,说实话,参加工作后的十年,也是不断拼搏,不断提高的十年。

 

计算机硕士生找实习屡屡受挫后挣扎中的一些反思(转载)

·??不要把自己默认为求职者,要做自己的老板。自己定项目,自己实现。

·??选定的技术都要有作品,否则不必写在简历里。不再以完成作业为目的限制对自己的要求。

·??不能通过热度选择技术,要详细的了解他们的区别,特点,用户群。

·??若能翻然醒悟,发奋图强,则能绝处逢生。

·??永远保持“定”,比如盲目的投简历就是心随境转的表现。不要被形势绑架。要对自己负责。

·??如能确定一个宏大的目标而不轻视自己的能力,为之不懈努力,两年的时间能够造就足以创业的产品。

·??不应为了训练一种语言而创作,而是为了满足人们的需要才选择语言。

·??对于本科以后的我,完成课业、配合点名已经不该再是首要任务,应该制定自己的发展路线。

·??在立场不稳的岁月里,自负的感觉令人怀念。“或许你们是对的,但我还是要这么走”。

·??应当相信,不懈的努力并不一定要求废寝忘食,我们真正需要利用的是那部分灰色时间。想每分每秒都活的如法,活的清醒,确实很不容易,这需要的是强有力的、能够完全控制身体的大脑。

·??发现生活中的不变之处,启发作品思路,即便相关应用已经存在,只要它还不完美我就可以以之锻炼自己。

·??算法确实是王道,可研究某一具体领域的算法,如搜索,如数据挖掘。

·??利用github开始真正的个人创作。

·??思考要根据用途而不是根据技术。不能本末倒置。软件领域主要是web方向和移动方向。移动互联网是二者交集,需要着实下些功夫。

·??以后的立场也确定了,那就是以提高自己为主要任务,坚持自己的立场不向现实妥协,宁缺毋滥,即使艰难也要坚定地走自己的路。这是对生命的尊重。

·??不必急匆匆地追流行技术,在学校里,基础要打扎实。

·??随时把思路记下来,更重要的是要真正想着实现它。不惜一切代价。别说是因为舍不得租服务器才不去写网站。

 

IT男的上海10年及N次面试(转载)

为什么写这个东西?

可能年过30,从生理角度人就开始慢慢衰老,当看到一个个年轻人正在经历我当年经历过的那些事情,痛苦于同样的痛苦,迷茫于类似的迷茫,就想说些事情,算是给自己过去的一个总结,同时也希望自己能借此抛去以前的包袱。继续往前走的时候能轻装上阵。

从哪里开始呢?先总结下论坛里常见的问题。

我这么累,希望在哪里?

技术人员有哪些发展方向,每个方向的前景和钱景如何?

怎么才能进外企?

怎样才能得到晋升?需要什么样的能力?

如何写简历?

如何面试?

跳槽的注意事项以及如何寻找把握机会

etc

我远非成功人士,也非技术大牛,只是因为和猎头交流的过程中,痛感中国职场年轻人对职业规划的缺乏甚至麻木,甚至演变成一种普遍的抱怨,而这种心态除了恶心自己、弄坏别人的心情外,对改变自身处境毫无帮助。

 

于是,这,就当作一个走过很多弯路的人的教训和经验分享吧。

 

———————–华丽的分割线——————————–

 

时间:2001年3月

地点:上海

人物:我,男,22岁,不高不帅

求职意向:IT?软件开发

人物背景:内地非重点院校,机械专业

天气:比较燥热

心情:激动

求职:成功

职业规划:失败

话说当年,因为看了一部“将爱情进行到底”,就莫名喜欢上了上海。因为看了部台湾人写的宝蓝C++和微软VC++争霸记,就不知天高地厚的想投入IT业。

于是放弃了学校的招聘会,一番寻寻觅觅,网上的技术论坛四处留求职帖子(当时51Job啥的还刚起步),终于看到有人留言要人,QQ沟通后,约定时间去上海面试。当时的小算盘是,如果这个公司不行,就继续在上海参加招聘会。

于是,一个燥热的下午,我来到了上海,将行李放在老乡宿舍后,就给那个人打了个电话。对方很热情的福建口音,听说我到了,跟我说:“你在复旦门口等我,我马上驱车过来”。

当时心情那个激动啊,心目中这个公司的形象顿时高大起来。NND,我这样个小兵,人家经理都要开车过来接我,如果成了的话,以后一定要好好干。

在复旦门后晒了半个小时的太阳,坐等右等,奔驰,宝马跑过去不少,帕萨特进进出出,可面对我火辣辣的目光,就没一辆车停下来。

终于,我接到了电话:“你在哪儿啊?”。我四处回头,复旦门口没有停车嘛。“我穿白色衬衣”,那人接着说道。我又一看,另一头是有个穿白衬衣的老兄,不过旁边停的不是四个轮的汽车,是个破旧的自行车。

暗号对上了,就坐上了他的自行车,骑向一个偏僻的方向。

后来才知道,这个老兄普通话不太好,把“骑车”说成了“驱车”。

自行车左拐右拐,来到了一个很偏僻的,有点像快递仓库的地方。周围都是2层楼的平房,似乎都是些小工厂小作坊。具体的路名我已经忘记了,应该是复旦后面一个偏僻的小马路。

当时心里有些打鼓,不过既然来了,也就试一次吧。当时胆子比较大,也没听到过劫钱劫色的事情,现在估计就要犹豫了。

上了二楼,两个房间,都是毛坯房唰了下粉的那种。外间3个人在写程序,进来的时候只是看了我一眼。里间类似小办公室,也是2个人,条件稍微好点,至少有个饮水机。

于是面试正式开始,看上去一个负责技术的人递给我一份卷子,开始做题。

题目的具体内容都忘记了,模糊的印象是VC编程内容,难度应该不大。

做完后,在外面无聊的坐了几分钟,几个人在里面讨论。心里忐忑,第一次有将命运交给别人决定的感觉。

过了没多久,门开了,让我进去,里面3个人,暂时编号A,B,C吧。

A:就是接我的自行车男,后来知道他就是所谓的经理。

B:高个,看上去比较严肃。后来知道是负责一般管理的。

C:不高,比较瘦。也是后来知道是技术核心。

当我正式进去后,B和C慢慢的有了些暗地里的冲突,最终导致了C的离职。

现在看来,不同的性格,决定了不同的人生走向。这些人,包括外面的两个程序员,我后来还一直保持着联系。现在回想起来,总是感慨万分。

回到面试的问题。很简单,主要是问我做过哪些项目,会哪些开发工具。

可能他们要求也不高的原因,大概聊了下后,当场决定要了我,每月工资1.8K,试用期1.2K,没有奖金,没有4金。我也很爽快的答应了,因为当时连续的求职受挫也非常大的打击了我的自信心。

现在可以介绍下这个公司的基本情况,A其实是复旦的一个在读博士,嘴巴非常厉害,最擅长的是吃饭的时候讲各种黄色笑话,自己还面不改色。

当时国内某个行业刚刚起步,没啥软件能用。A就拉了一个香港贸易公司的老板(不知道他们是咋认识的),投了点钱,招了几个人,租了个小办公室,做开发。B,C,还有另外两个程序员,就是全部的人马。

因为A的嘴巴太厉害,把当时涉世不深的我讲得心潮澎湃,似乎上市的日期指日可待。于是晕晕乎乎的我就把自己宝贵的第一次就这么便宜的卖了。

 

虽然现在看来,当时这次的面试问题不值一提,自己的表现也毫无出彩的地方。和其他去华为的同学比,这个薪水待遇也是惨不忍睹,不过好歹这是我第一份工作,还是勉强总结下“成功经验”吧。

1.?定位准确,好公司俺进不去,就先求个能生存的工作吧,其它就顾不上了。

2.?在1能达到的前提下,尽量找成长性强的公司。这个公司绝对符合,虽然当时只是个沾满口水的泡泡,而且泡泡1年多的时间就破了。

3.?我的基本表达能力还可以,回答问题的时候,能够1,2,3,4的一条条讲清楚。当时面试了其它几个公司,对我这点的评价都还可以。

失败的地方,

1.?穷,真的穷。后来上班的时候,全部月光,第一年过年回家还是找同学借了500块,不然路费都没有。

2.?不稳定。小公司的通病。和上面的第二点很难平衡。这个只能看运气了。

3.?因为不稳定,太小,所以机会真的很有限。夹在B和C的明争暗斗中,真的很受伤啊。

面试结束,我走出那栋小楼。太阳还是那么耀眼,路上几辆卡车跑过,卷起一股混杂着霉味的尘土。尽管如此,我还是深深的吸了一口气,上海,我胡汉三来了。

在正式开始介绍我的小公司打工生涯之前,还是简单介绍下我当时参加的几个面试吧。

1.?台湾鼎新,似乎是在上海参加招聘会投的简历。做ERP的,不过我是一窍不通。面试地点是在衡山路那里,一个很雅静的小楼,上百个人一起做题。题目分2部分,第一部分是各种逻辑推理,思维训练,第二部分是ERP的基础知识。前者我自我感觉做的很好,后者做的狗屁不通。所以也没报啥希望。只是后来在回学校的火车上,接到他们的电话,说让我过段时间再去面试。可惜当时来趟上海代价太大了,我就直接放弃了。

2.?一个电子类的公司,去了后才知道要招销售。地点在复兴中路那里,也是个小洋楼。可惜基本工资只有800,不保吃住,俺咋活啊。

3.?一个做呼叫中心的小公司,跟老板相谈甚欢,也说要我,工资1.5K。就是这个老板说我逻辑清楚的。他让我回到学校后考虑一下,如果要去的话,给他个电话。可惜俺回学校就忙着最后半年的happy了,直到有一天接到个陌生人的电话,说是某某某,问我考虑的怎样了,我才想起这个事情。这也是我学到的做人的第一课,要守信用,讲礼貌。这里向这个老板说声迟到的对不起,相信你的公司也已经发展壮大了,祝福你。

还有一些就不说了。

看到这里,大家是不是觉得挺好笑,我开始口口声声讲的职业规划呢?

这里不得不说下不好意思了,初次求职这嘎达事情,就像女人的第一次,总是那么误打误撞,当然更少不了必要的花言巧语,以及无限憧憬,往往是还没搞清楚自己爱的是谁,就已经给出去了。等发现真爱的时候,才真正发现第一次的宝贵,可惜往往已经是无法改变了,只留下满心的痛楚。

不过也不要太灰心,只要没有娃儿,一般还是可以争取下的。工作也是如此,第一份工作往往是误打误撞,就像我一样,混个温饱而已。没关系,慢慢来吧。

工作搞定,开始happy。

3月到6月底,几个月最放纵最快乐的时光就这样开始了。

大家应该都有过那样的经历,三天两头喝酒,对MM吹口哨,整天踢球,学校里谁都不怕,底气都特别足,老子都大四了,谁怕谁啊。

甚至有一次,我回寝室的时候发现一个人都没有,问别人才知道那些兄弟都因为踢球打架被抓到派出所了,赶快飞奔过去救人。

呵呵,这些兄弟现在都混得不错。当年打架最凶的那个,后来去做军火生意了,亚非拉都是他的世界,最近电视里利比亚动乱,还能时不时的看到他们的产品。学历最高的已经博士后了,虽然当年成绩真的很一般。至于那个长得最娃娃脸的,后来参军了,前两年就已经官拜营职,记得前几年台湾公投闹得最凶的时候,去找他玩,他正一脸凶相的对一帮新兵蛋子训话,“同志们,打过去,XYX是我的,谁都不许跟我抢!”?(XYX是当年台湾很红的一个女明星,也是我们寝室YY的对象),这也算假公济私吧。

但这也是个伤感的季节。有和MM分手的,弄得租的房子一地TT的。更多的人,是把自己一辈子的泪都洒在了站台上。以至于最后几天的时候,都开始逃避送人,因为实在无法忍受火车开动那刹那胸口被猛击,眼泪无法控制的感觉。

直到6月30号的那天,我一个人收拾好行李,没有通知一个同班同学,就叫上一个比我高一届的哥们(这兄弟也是一个猛将,前两年去驰骋埃及,开拓电讯市场去了,有空也讲讲他的故事),两个人坐上公交,平静的看着这个我生活了4年却并不那么熟悉的城市,心里默默的说着再见:别了,我的激情燃烧的岁月,别了,这个记载我很多第一次的美丽校园,充满生活情趣的城市。

在上海其实我并不孤单,因为当时全班1/3的同学都签了上海的单位。不过他们都是找的国企,一般差不多8,9月才去报到,而且行李可以从学校直接打包邮到单位。而我因为找的是私企,一毕业就直接过去了,所以30号那天,没有一个同行的人。

但当我到上海的时候,一个人已经在站台上等我了,他就是葛君,一个比我高一届,其它院系的同学。他当时签约了上海的一个设计院,也正处于迷茫的时期,白天在单位打游戏,晚上在宿舍上网泡MM。当然,人家后来就做的很成功了,很好的单位,也有自己的公司。我们一直到现在,都还保持着非常好的合作关系,以后应该有机会再讲到他。

 

讲到第一份工作,自然要给应届毕业生一点建议。

其实这不是我的初衷,写这篇文章的主要目的,是给那些工作了3,5年,正进入迷茫期或已经进入迷茫期的人看的。

至于应届毕业生,我想,你们需要的是一点信心,一点鼓励。

不是所有的人都是名牌大学毕业的,俺也一样。文凭很重要,但也仅仅是找第一份工作的时候重要。

我周围有太多一般学校,甚至专科毕业的,现在混得非常好的例子。当然,他们身上都有些良好的品质,我以后会慢慢提到。

所以,给你们的建议是,注意思考,不断的思考,要不断盯着更高的目标。踏错第一步并不可怕,年轻,有资本浪费一点时间。怕的是一直走错路,而自己还不知不觉,一直等到30岁了快无路可走了才思考这些问题,那就很难再纠正了。

引用?24?楼?focus?的回复:

马克一个。

故事有点太长。

能否只捡重要的事件说?

不是针对你,只是恰好碰到了,而且来得这么早,所以感叹一下。

你这个请求,其实是个典型的IT式含糊请求。

哪些事情是你所谓的“重要的事件”??比如LS的兄弟,就觉得泡MM的事情比较重要。你这种提问方式,会让人觉得无法回答。

别小看提问。提问是一种最基本的沟通技巧。

提出的问题以及提出的方式,是可以看出一个人的思维方式、逻辑思维能力等很多东西的。从你的提问,我没看到这方面的能力。这也是很多IT人的能力欠缺点,写程序很有逻辑,但与人沟通时,却无法抓住重点,表达及提问毫无逻辑。

大家接下来还是可以尽情提问的,我只是以这个例子为引子,告诉大家如何从一个比较高的层次看待问题。至于沟通技能的问题,以后会慢慢讲到。

第一次跳槽发生在2002年3月。

 

先废话感叹一句,三月,真是个跳槽的黄金季节,至少对我而言是的。这个时间点,奖金该拿的也拿到手了。再加上被那春暖花开的气息一熏,有想法的人都开始蠢蠢欲动了。

于是,2002年3月,我跳了,2006年三月,我又跳了,2009年3月,俺再次跳了。甚至2002年和2009年到新公司报道的时间都是同一天,真是巧啊。

 

回到2002年2月。

上海的朋友应该都知道什么是石库门。

现在的新天地,还有什么什么里,都已经变成了高档消费情趣生活的代名词,可是2002年的那个春节,我却实实在在的没有感受到那种浪漫,虽然我住的石库门从外面看上去也是充满了海派风情。

 

那个春节,对我是格外艰难的1年。第一份工作转正后只有1.8K,每个月房租450,加上电话费,通信费,交通费,伙食费,每个月都入不敷出。当我交了下一季度的房租后,甚至春节回老家的钱都不够,只好厚着脸皮找当时在站台上欢迎我来上海的葛君借了800。。

 

往事不堪回首啊。

 

当时住的地方最近的地铁就是二号线南京东路站,每次出站,当和一个个兴高采烈的游客擦肩而过,花花绿绿的霓虹灯透过眼镜镜片闪烁时,我总有种不真实的感觉,我在哪里,这里是不是属于我。。

不过我没有太多时间考虑,咕咕叫的肚子总会很快把我拉回现实。

 

现实的上海是南京路旁边低矮的老房子,总是因为被遮挡而若隐若现的路灯。这种转变往往就发生在你从南京路往旁边小巷拐个弯的瞬间。

现在回想起来,我反而觉得这幕蛮温馨的,冬天的夜晚,走在几十年没什么变化的小巷子里,周围小店昏黄的灯光,偶尔飘出电视里不知名电视剧的对白,以及锅铲碰撞的声音。在寒冷中愈发觉得“小窝”的温馨。

 

春节前后1个月,我总共吃了2个月的蛋炒饭。当时的GF,现在的LP,每天打电话给我,问我吃的什么,从周1到周5,有3天的时间我的答案都是标准的蛋炒饭,我告诉她蛋炒饭是我的最爱,特别是在寒冷的冬天夜晚,蛋炒饭特别香。于是在我春节后回上海的第一天,GL说给我惊喜,当她端出一碗热腾腾的蛋炒饭时,我的眼睛一下子就湿了,只有我知道,这份眼泪,不仅仅是因为感动。

这种对归属感的思考困扰了我很久。

 

当时一个高年级的师兄告诉我,同样是2002年的冬天,他春节后回到上海。天很黑,从火车站出来,坐上轻轨三号线后,随着轻轨在一栋栋高楼间穿梭,看着一个个房间温暖的灯光,在那种冬天特有的淡淡抑郁中,他也在问自己,上海到底是不是属于他。当时他是销售,年轻的销售,四处跑单,辛苦只有自己知道。

 

唉,上海啊上海。

 

上周和这个师兄吃饭,当年的小销售,现在已经是一个国内大型企业的华东区销售老大,我故意问起了这个问题,他没有回答,只是看了看坐在旁边的美丽的上海太太,回头对我笑了笑。一切尽在不言中。

 

话说2002年春节我贫困潦倒,一方面是因为当时的收入确实不高,小公司没有任何福利,上班打卡,请假扣钱,春节当然也不用指望任何额外的奖金。另一方面是因为爱情甜蜜的代价,虽然GF没有任何物质要求,但是偶尔吃吃饭,送点花,以我当时的收入,都已经受不了了。

最重要的原因是,我最开始入职时吹给我的泡泡已经破了,香港老板和复旦博士的频频秘密谈话,办公地点的一再变化,让当时毫无政治敏感性的我也搞到了一丝寒意。

于是,我开始在网上找工作了。

先在51job上申请了个账号,然后下班了就去网吧四处搜索,也没有准备任何简历,就是简单的用记事本写了几条工作经验和用过的开发工具。

当时对求职已经有了个大概的方向,所以没有盲目的发简历,可能最多发了5份吧。

而且可能冥冥之中自有安排,有一个日本公司,不知道为什么,没有任何理由,我发简历的时候就觉得这个公司会叫我去面试。后来果真如此,而且我果然成功被录取。

在这个公司里,我认识了一批直到现在还对我的生活发挥影响的朋友。而第一份工作的几个同事,因为各种原因,联系已经慢慢的淡了。

 

 

影响Java EE性能的十大问题(转载)

本文作者是一名有10多年经验的高级系统架构师,他的主要专业领域是Java?EE、中间件和JVM技术。他在性能优化和提升方面也有很深刻的见解,下面他将和大家分享一下常见的10个影响Java?EE性能问题。

1.缺乏正确的容量规划

容量规划是一个全面的和发展的过程标准,预测当前和未来的IT环境容量需求。制定合理的容量规划不仅会确保和跟踪当前IT生产能力和稳定性,同时也会确保新项目以最小的风险部署到现有的生产环境中。硬件、中间件、JVM、调整等在项目部署之前就应该准备好。

2.JavaEE中间件环境规范不足

“没有规矩,不成方圆”。第二个比较普遍的原因是Java?EE中间件或者基础架构不规范。在项目初始,新平台上面没有制定合理的规范,导致系统稳定性差。这会增加客户成本,所以花时间去制定合理的Java?EE中间件环境规范是必须的。这项工作应与初始容量规划迭代相结合。

3.Java虚拟机垃圾回收过度

各位对“java.lang.OutOfMemoryError”这个错误信息是不是很熟悉呢?由于JVM的内存空间过度消耗(Java堆、本机堆等)而抛出的异常。

垃圾收集问题并不一定会表现为一个OOM条件,过度的垃圾收集可以理解成是JVM?GC线程在短时间里进行轻微或超量收集集合数据而导致的JVM暂停时间很长和性能下降。可能有以下几个原因:

1.与JVM的负载量和应用程序内存占用量相比,Java堆可能选择的太小。

2.JVM?GC策略使用不合理。

3.应用程序静态或动态内存占用量太大,不适合在32位JVM上使用。

4.JVM?OldGen随着时间推移,泄漏越来越严重,而GC在几个小时或者几天后才发现。

5.JVM?PermGen空间(只有HotSpot?VM)或本机堆随着时间推移会泄露是一个非常普遍的问题;OOM的错误往往是观察一段时间后,应用程序进行动态调动。

6.YoungGen和OldGen的比例空间与你的应用程序不匹配。

7.Java堆在32位的VM上太大,导致本机堆溢出,具体可以表现为OOM试着去链接一个新的Java?EE应用程序、创建一个新的Java线程或者需要计算本地内存分配任务。

建议:

1.观察和深入理解JVM垃圾回收。启动GC,根据健康合理的评估来提供所有的数据。

2.记住,GC方面的相关问题不会在开发中或者功能测试时发现,它需要在多用户高负载的测试环境下发现。

4.与外部系统集成过多或过少

导致Java?EE性能差的第四个原因是高分布式系统,典型案例是电信IT环境。在这个环境中,一个中间件领域(例如,服务总线)很少会做所有的工作,而仅仅是把一些业务“委托”给其他部分,例如产品质量,客户资料和订单管理,到其他Java?EE中间件平台或遗留系统中,如支持各种不同的负载类型和通信协议的大型机。

这样的外部系统调用意味着客户端的Java?EE应用程序触发创建或重用套接字链接从外部系统中读写数据。根据业务流程的实施和实现可以配置成同步调用或异步调用。需要注意的是,响应时间会根据外部系统的稳定状况进行改变,所以通过适当的使用超时来保护Java?EE应用程序和中间件也是非常重要的。

下面这3种情况是经常出现问题和性能降低的地方:

1.同步和相继调用太多的外部系统。

2.在Java?EE客户端应用程序和外部系统之间链接超时,使数据丢失或者值太高导致客户端线程被卡住,从而导致多米拉效应。

3.超时,但程序仍正常执行,可是中间件不处理这种奇怪的路径。

最后,建议多进行负面测试,这意味着需要“人为”创造产生这些问题的条件,用来测试应用程序和中间件之间是如何处理外部系统错误。

5.缺乏适当的数据库SQL调优和容量规划

大家可能会对这一个感到惊奇:数据库问题。大多数Java?EE企业系统是依赖关系型数据库处理复杂的业务流程。一个基础扎实稳固的数据库环境可以确保IT环境有规模的增长,来支持日益不断扩大的业务。

在实际中,与数据库相关的性能问题是很常见的。由于多数数据库事务处理都是由JDBC数据源执行的(包括关系持久化API,例如Hibernate)。而性能问题最初都会表现为线程阻塞。

以下是我在10年的工作中,经常出现的关于数据库方面的问题(以Oracle数据库为例):

1.孤立的,长时间运行的SQL。主要表现为线程阻塞、SQL没有进行优化、缺少索引、非最佳的执行计划、返回大量数据集等等。

2.表或行级数据锁定。当提交一个双阶段事务模型时(例如,臭名昭著的Oracle可疑事务)。Java?EE容器可能会留下一些未处理的事务等待最后的提交或回滚,留下的数据锁能触发性能问题,直到最后的锁被移除。例如中间件断电或者服务器崩溃都可能引起这些情况发生。

3.缺乏合理规范的数据库管理工具。例如Oracle里面的REDO?logs,数据库数据文件等。磁盘空间不足,日志文件不旋转等都会触发较大的性能问题和断电情况。

建议:

1.合理的容量规划,包括负载和性能测试都是必不可少的,优化数据环境和及时发现问题。

2.如果是使用Oracle数据库,确保DBA团队定期审查AWR报告,尤其是在上下关联的事件和根源分析过程中。

3.使用JVM线程存储和AWR报告查明SQL运行缓慢的原因或者使用监控工具来做。

4.加强“操作”方面的数据库环境(磁盘空间、数据文件、重做日志、表空间等)以适当的监视和报警。如果不这么做,会让客户端IT环境出现较多的断电情况和花许多时间进行故障调修。

.特定应用程序性能问题

下面关注的是比较严重的Java?EE应用程序问题。关于特定应用程序性能问题,总结了以下几个点:

1.线程安全的代码问题

2.通信API缺少超时设置

3.I/O、JDBC或者关系型API资源管理问题

4.缺乏适当的数据缓存

5.数据缓存过度

6.过多的日志记录

7.JavaEE中间件调优问题

一般Java?EE中间件都已经够用了,只是缺少必要的优化。大多数Java?EE容器都能有多种方案供你的应用程序和业务进程选择。

如果没有进行适当的调整和实践,那么Java?EE容器可能会处于一种消极的状态。

下图是视图和检查列表示例:

8.主动监控不足

缺乏监控,并不会带来实际性能问题,但它会影响你对Java?EE平台性能和健康状况的了解。最终,这个环境可以达到一个破发点,这可能会暴露出一些缺陷和问题(JVM的内存泄漏,等等)。

以我的经验来看,如果一开始不进行监控,而是运行几个月或者几年后再进行,平台稳定性将大打折扣。

也就是说,改善现有的环境永远都不会晚。下面是一些建议:

1.复查现有Java?EE环境监测能力和找到需改进的地方。

2.监测方案应该尽可能的覆盖整个环境。

3.监控方案应该符合容量规划进程。

9.公共基础设施硬件饱和

这个问题经常在有太多的Java?EE中间件环境随着JVM进程被部署到现有硬件上面时看到。太多的JVM进程对有限的物理CPU核心来说是一个真正的程序性能杀手。另外,随着客户端业务的增长,硬件方面也需要再次考虑。

10.网络延迟

最后一个影响性能问题的是网络,网络问题时不时的都会发生,如路由器、交换机和DNS服务器失败。更常见的是在一个高度分散的IT环境中定期或间歇性延迟。下面图片中的例子是一个位于同一区域的Weblogic集群通信与Oracle数据库服务器之间的延迟。

间歇或定期的延迟会触发一些重要的性能问题,以不同的方式影响Java?EE应用程序。

1.因为大量的fetch迭代(网络传入和传出),涉及大数据集的数据查询问题的应用会非常受网络延迟的影响

2.应用程序在处理外部系统大数据负载(例如XML数据)时也会很受网络延迟的影响,会在发送和接收响应时产生巨大的响应间隔。

3.Java?EE容器复制过程(集群)也会受到影响,并且会让故障转移功能(如多播或单播数据包损失)处于风险中。

JDBC行数据“预取”、XML数据压缩和数据缓存可以减少网络延迟。在设计一个新的网络拓扑时,应该仔细检查这种网络延迟问题。

希望本文能够帮助您理解一些常见的性能问题和压力点,每个IT环境都是独一无二的,所以文中提到的问题不一定会是您遇到的,您可以把您遇到的问题拿出来和大家一起分享一下!

英文来自:Top?10?Causes?of?Java?EE?Enterprise?Performance?Problems

 

每天工作4小时的程序员

每个人都熟悉这种作息规律:早上9点去上班,坐在电脑前面,编一天的程序,下午5点下班回家。如今,非常感谢蒂莫西·费里斯(Timothy?Ferriss)的《每周工作4小时》,我开始重新思考应该如何工作,如何让自己变成更有效率的程序员。

最近,我把我的从周一到周五的作息规律做了一次较大的调整。很长时间以来,我一直像所有其他程序员那样工作、休息。但就在2011年的下半年,我开?始了一项试验,想看看究竟什么样的作息时间能让我更有效率。这项实验目前仍在进行中,我并不是像军人那样严格遵守实验规定——例如,我也想会早20分钟、?或晚20分钟起床——但当前制定的作息规律是这样的:

早上430??7?点:冥想,写作,目标复查,和家人吃早餐

早上4:30起床其实并不是你想象的那么难。每个人的个人情况都多少有些不同,但人的身体基本上需要每天7到9小时的睡眠时间。保证你睡眠充足的一个方法是不用闹钟自然醒。你只需要早点睡觉,你就可以在早上4:30醒来。

起床之后,我会马上喝上16盎司的水——不是咖啡!我很长时间都不喝咖啡了,而且也不太想喝。事实上,不喝咖啡我感觉会更好。然后我会冲个澡;这样会让我感觉一个清爽的一天的开始。

每天早上我都会冥想30分钟。冥想的最佳时间是在日出之前或日出的过程中,也就是西方世界的早6点之前。我不打算解释为什么冥想会对你有好处;网上对此已经有了大量的研究。如果你想找一个关于冥想的书,我推荐《Meditation?for?Dummies》。尽管书名很怪,但它是我读过的最好的一本书。

冥想之后,我会花30-45分钟的时间写博客。我一般会写500到800字。我发现,冥想之后立即动笔,通常会一气呵成,写的很顺利。另外,大脑经?过了一夜的休整,状态非常好,在注意力转移到其它事务之前,把大脑里堆积的东西都倒出来清理一下是很有好处的。关于写作的一个技巧:把这段时间用作对大脑?的初步清理。不要去做研究、编辑等。这些事情放在以后再做。

然后是ToDo?List(待办清单)时间。我会查看邮件,微博,LinkedIn,等等,以及安排下一步要做是任务。说到任务,我遵循GTD做事方法,我用Omnifocus软?件来管理我的生活。我在iPad,iPhone和MacBook?Air(我是苹果的粉丝)都装了它。不错,作为一个待办事宜管理软件,Omnifocus是有点贵了,但因为我的整个生活都和它有关,这个价格也值了。我?通览一下待办清单,想想每个事情上的预期目标——所有的事情,从今天要做的小事情,到长期的目标。清单中的每个条目都设定有一个目标,如果没有目标,我会?删除它。

接着是早餐时间。关于应该什么时候吃早餐、应该吃什么的问题上,已经有大量你可以借鉴的养生指导。我尝试过各种不同的东西。我发现那些富含纤维素,?低碳,高蛋白质的东西最适合我。你试过燕麦片加花生酱吗?好极了!我还喜欢吃一些水果、喝一点茶。还有,我尽量和家人一起吃早餐。有时事情能按照这种愿望?执行,但有时不行。我的目标是今年一年都要按照这个执行下去。

7点到11点:4个小时的编程时间

这是我用来编程的时间。一天4小时也许你会觉得少的可怜,可是我却发现,在这4小时我做的事情能比大多数人一周干的事情都要多。研究显示,具有固定?工作时间表的人比那些随机工作的人更有效率。对于我来说,这个固定时间是早7点到11点,每天。这段时间我要做的事情就是编程,不做其它的。有几个基本的?原则:

首先,关掉所有的通信设施——电话,邮件,聊天工具等。没有让你分心的事。你可以给少数几个人保留一个联系到你的方法,以防有紧急事情发生。那些真?有紧急事情需要找你的人自有办法联系到你,我还没有碰到过这样的事。我甚至还教育我的妻子,她通常习惯对所有的请求都立即给予回应,我告诉她要尊重我这4?个小时的时间。在这段时间里你应该只干一件事。千万不要同时干5、6件事情。

第二,中间不要留下休息时间来查看邮件或上网,或干其它类似的事情。原因是:在一个小时里,我可以开发出x个功能。如果我要是连续工作4小时,我发现我的产量不是4倍,而是8倍或16倍。当你全神贯注的干某项事情时,相信你也经历过这样的体验。这就是我们所说的大脑的Flow(流)状态。在以后的博客里我打算多写一些关于Flow的文章。

那为什么不把这样的制度应用到整个8小时的工作时间里呢?这是因为人的有效率的状态是有限度的。人的大脑跟肌肉一样。你可以在跑步机上持续运动8小?时吗?就像我们的肌肉,大脑需要时不时的休息。这种限度依据个人的不同而各异。通过尝试和根据犯下的错误,我发现我的极限时间是4小时。

还有一点需要提的是,我并没有在11点设了闹钟提示。当我感觉大脑有些疲倦,工作效率开始下降时,我就停止工作。有些天我只工作3小时,有时我会工作5小时;4小时是平均值。

我在家工作是为了避开打搅。如果你需要在办公室里工作,看看管理部门是否允许你把最有效率的这段时间放在家里工作。你上班途中的折腾会把早上做瑜伽?和冥想获得的好处给抵消了。在经过了早高峰的喧闹,还有办公室里的嘈杂,你的神经会变的紧张,冥思带来的效果完全消失。在家工作必定会更有效率的多。

11点到下午1点:健身,午饭,购物

我每天都要健身。John?J.?Ratey的书《Spark:?The?RevolutionaryNew?Science?of?Exercise?and?the?Brain?》?对每天锻炼的好处做了很好的论证,如果你想知道锻炼对大脑功能改进的科学机理,你可以读一下这本书。每天不做相同的运动,甚至不去相同的健身房。我每周在?一个瑜伽馆里做3次瑜伽,在一个spinning馆里上两天的spinning课,在健身房里做两天的举重,在健身房里我有个教练。教练帮助了我很多,有?人这样督促你会使你具有更大的动力。

我喜欢在健身房运动,因为哪里有额外的服务。你可以一下用掉5条毛巾而不担心老婆的抱怨。可以花30分钟冲澡而不用担心门外有人叫喊”你还没完吗?“…在家里你经常会遇到这样的事。

我还养成了一个习惯就是每天购物,通常是在WholeFoods,?一个离我家只有步行距离的超市。为什么每天购物?在很多国家,特别是亚洲,人们每天都去购物,而不是一次买足2个星期的东西储存在家里的冰箱或冷柜里。这?种方式,你只买了你需要的东西,避免了浪费。很多时候你会发现冰箱里有些不知是何物的东西,怀疑放在那里有半年之久了。我午饭在外面吃,Whole?Foods超市里有不错的沙拉自助。因为我喜欢日本食品,有时我会来一点日本寿司或盒饭。

下午1点到6点:学习和交流时间

我尽量会把一些讨论、约会时间凑到一起,这样不必每天都去公司。通常,这些事情包括会议,面试,做报告,指导开发,代码审查等等。这段时间我不做任何的开发,除非有紧急的bug或特殊情况需要处理。

我还用很大比例的一部分时间去学习。我花了很多时间去阅读别人的东西,从书本到博格,大多与编程相关的东西。我每天都要学到新的知识。保持这样的学习劲头的最好的方法是对学到的东西做一些笔记,把相关的知识做写标记。像EverNote这样的软件很适合做这种事情。

同时我会看看市场上有没有其它的产品,最有效率的软件开发者是不用写一行代码就能把问题解决。我不想把别人已经做好的东西再做一遍。所以,在CodePlex,?GitHub?和?Component?Source这些网站上花时间是有好处的。

我从妻子的医院实习的经历中得到了一点启示。新入职的大夫每天早上看病,到了下午,他们会聚到一起讨论遇到的各种病症,讨论他们是如何应诊的。对于?我,我会事后反省一下自己做过的事,我会重新思考一下早上编程遇到的问题,在什么地方遇到了什么bug,或反省做报告时的表现,或如何主持的会议,等等。?我努力从过失中学到教训,避免它们再次出现。

下午6点到晚上8点:家庭时间

我妻子是个医生,工作很忙,但我们尽量一起度过这段时间。我们会一起做饭。然后我会和孩子一起做家庭作业。(一个二年级的学生竟会有这样多的作业,这是另外一个话题,我以后再谈。)

8点到830:反省和给大脑派活

我晚上不做冥思,而是换成坐下来反省一天的生活。如果你花上15分钟做在一个安静的地方反省你的一天,你会吃惊的发现这一天你学到了这样多的东西,获得了这样大的提高。

接下来,我给大脑安排工作。众所周知,当我们睡眠时大脑是在不停工作的。所以,你最好给它安排点工作。对于我,下面这些事情很有效:我把第二天早上要写的东西做了个大纲。就像写便条一样。我发现把它写到纸上比写在电脑里更有效。

或者,我会看一些编程/算法问题。同样,会纸上描述下来或写出框架。让人惊奇的是,很多时候早上起来你会发现已经有了解决方案!像这样的事情我是在?一个整洁的、没有格线的、信封大小的笔记本上写画的。在空白的白纸上写画会让我更有灵感。我在晚8:30到9点间上床睡觉。越早越好。

这就是我一天的作息时间。当然,当我外出旅行时会有些变化;在途中我会花大量的时间来工作。我还没有告诉你们在周末我都干些什么,我会在以后的文章里讲到这些。

我很想听到其他人关于他们的作息时间的故事,以及他们是如何提高工作效率的。

 

降级论

几乎一年没有写博客了,说没时间那是借口,唯一的原因是,年纪越大越发觉自己肤浅。有些想法还没提笔,就发现很幼稚,就不敢发出来贻笑大方了。这次先给大家说个小故事:

从前有三个屌丝,聚在一起做网络,提供免费的网络服务,砸锅卖铁,通宵达旦,除了卖肾啥都做了。3年后终于做到了五百万用户,对于年轻人来说,能把五百万人玩弄于鼓掌之间,已经是很牛逼轰轰的事了,不过用户越多,成本越高,每年服务器、带宽租金、房租水电、广告运营等成本,已经达到了十七八万,屌丝们不得不面对一个终极问题:如何盈利?

屌丝们定了三盘沙县水饺,围着一箱子的冰啤酒开始计算:按照最近一月的登陆情况来看,四百万个账号已经不活跃了,真正有商业价值的只有一百万人,如?果开通xx功能,收点高级会员费,让其中1%的人升级为高级会员,每年付30块钱年费,那么每年收入就是100万x1%x30元=30万元!不错嘛,?扣除十七八万的运营成本,还剩毛利润12万,每个屌丝年底能分到4万大洋,如果按照打工者的算法,这三个人每人月薪3333元,木有奖金,木有津贴、木有任何福利,上班还得带自家的电脑。

尽管如此,屌丝们还是激动得咬了一口水饺:感谢苍天!我们终于要盈利啦!!!那一夜,人们看到三个发疯的屌丝在屋顶翩翩起舞。

韩寒说,中国人民是最有忍耐力的族群,一点好处就感激涕零。他一定不知道,IT创业界里的屌丝,才是这群傻逼中的战斗机。他们可以平静地忍受每年都持续亏钱,而且还能信心十足的对所有人说公司的状态非常好,如果有一天居然收支平衡了,他们会激动的趁夜难眠,比北朝鲜倒掉还开心。

本文开头的三个屌丝,其实是非常幸运的,至少能做到月薪3333元。大部分的屌丝在第一年做到几万用户的时候就会挂掉,原因众多,最主要要的是意志太弱,受不了最初的寂寞;意志稍微坚强点的会在第二年第三年慢慢挂掉,原因主要是资金断裂、团队分裂;能成功熬到第四年还没饿死、还没被口水淹死、还没被肠胃病颈椎病腰肌劳损折磨死的,甚至员工不减反增的,基本上属于神仙级别了。

我为什么要说三个屌丝的故事呢。首先是因为这是身边每天都在发生的故事,其次是因为感到可惜,IT界在我眼里一直是一个无比高级的职业,聚集着全球最聪明、最富有的人类精英。以IT创业界的青年们的智商,他们可以做成任何一件事情,包括改造银行制造汽车发射航天飞机?。结果这帮人却整天在蓬头垢面得为3k的月薪而挣扎,太悲催了。

为什么用悲催这个词??如果一个人生下来就在山沟沟里,一辈子都没机会去见什么好东西,这不叫悲催,这只叫苦难;而如果一个人生出来有一个奇怪的特异功能:皮肤出来的汗水会凝结成昂贵的水晶,本来只靠出汗就能赚钱,结果这傻逼居然觉得出汗这个行为太低级,做手术把自己的汗腺全给切了,而且丝毫没有意识到他做了什么傻事,这才叫真的悲催。

我们IT界中的很多人,生下来就是有这个出汗成水晶的特异功能的,正是因为这种与众不同,这群人能混入牛逼的大学,整天打网游还能写出像样的毕业论文,拿到学位,进外企,考CPA,做咨询、做证券分析,研究高分子材料,做电子商务,做云计算。。。一级一级的上升,直到有一天,发现身边的人里,已经没有一个不是CPA,不是咨询师,不是高级研究员了,身边的人全是业界精英,个个都超级强悍。在这个所谓的高级圈子里,自己并没有任何过人之处,只不过是just?another?analyst而已。在高级圈子里拼的头破血流,最后也只能混到给台湾人整理数据而已。莫然回首,发现当年的血气方刚、年少时的无限梦想,进化成了一身肥胖的赘肉。这个时候,有个旁观者说:“升级到头了,该降级了”

当一个社会疯狂鼓吹快节奏的时候,一定需要有人来宣扬慢生活;当全社会跟打了鸡血似的吹捧升级的时候,一定需要有人来说说降级论。

IT青年们喜欢打游戏,喜欢升级。他们的人生也和游戏一样,沉醉于不停的升级中,不仅喜欢升级自己手上的技术,把MySql改成MongoDB,把Apache升级为Nginx,在Mac上装Ubuntu,Ubuntu里再装个虚拟机去跑Mac?OS。。。IT青年们也喜欢升级自己的人生,从程序员升级到项目经理,再升级到技术总监或产品总监,再升级到合伙人。。。

在不断追求升级的过程中,所面临的一个很大事实是:当一个人从A刚升级到A+级的时候,其实这个人的能力层级依然只是A的层级,还未胜任A+的层级,他必须要到A+的后期,才可以胜任A+。就好像一个高中生,高考完之后,虽然理论上已经属于大学生了,但是他的实际能力依然只是高三毕业的水平,除非他全部pass了大一的期末考试。同样的道理,这个世界上有很多人的身份和称谓,都是在描述“未来的自己”,而不是现在的自己。当你从销售员升级为销售经理的时候,你自我感觉很好:“我现在是销售经理了”,但是这个时候,你并未通过公司对你作为销售经理这一年的工作成果的考核,你只是一个“未来可能是合格的销售经理”的前身。如果年终考核你失败了,那么这一年最准确的描述是:一个销售员,占了整整一年销售经理的位子,最后失败了。而且这一年一定会过的很累,因为通过考核的其他销售经理,才是真正胜任这个层级的人,跟一帮真正属于这个圈子的人厮杀,就好像拳击馆里当陪练的小角色,去和泰森比了一年的武,怎么可能不累呢?

当我07年进入互联网行业的时候,就是那个拳击馆里陪练的小角色,我被迫去跟全国各地的泰森比拼,结果累的半死。后来我开始反思最初的目标,为什么要在自己身上挂一个“拳击高手”的招牌,被那么多泰森追着打?我把这块招牌卸了,找个完全没练武的人去比拼,不是更容易赢么?于是果断照做,去找了一个没人懂拳击的小乡村,做了纯英文的Tucia.com(需翻墙),只做国外的业务。在那个地方,作为一个知名武馆的拳击小陪练,我成了村子里拳击技术最高超的人,受人仰慕,还开武馆教人拳击,活的非常滋润,而且在教人拳击的过程中,自己的拳术也比以前提高了很多,发展出一套属于自己的拳法,我虽然进不了泰森们的大圈子,但他们也进不了我的小圈子。

关于圈子,有一个很赤裸裸的现实:不会是你进入圈子,只能是圈子进入你。很多人会四处找关系,“帮我介绍给xxx吧,我想进入你们的圈子”,这样的人是永远进不去这个圈子的,因为圈子的天性是,永远追求更高一个层级的人。而我们的大部分人,其实都在以低一级的属性,占着更高一级的位子,徘徊在更高一级的圈子边缘,与更高一级的人竞争,幻想着自己可以升级到那个圈子里去。也许永远进不去,悲催的努力一辈子;也许运气好,某一天真的进入这个圈子了,但那个时候又会有下一个目标,希望进入更高级的圈子,这是一场没有终点的战斗。永远的追求升级,永远的累。

有没有想过降级呢?

如果一个来自微软的高级工程师,辞职去一个养猪场做开放平台经理,那么他的到来不仅会让养猪圈感到无比荣幸,更是意味着,利用他在IT界训练出来的高效工作方式和逻辑思维能力,他可以掀起一场养猪行业的革命,使得20年后才会出现的人性、高效、开放、协作、健康的养殖方式提前到达。在这场革命中,他会活的非常有价值。这种价值,在原先的圈子里,是完全体验不到的,因为他此前的所有工作,只是在满身疮痍的windows系统上不停的打补丁,无论打多少都逃不开产品衰落、被人鄙视的命运。

很多人的命运,都像是上面那个微软工程师。只需要降级,就能创造更大的价值,也能获得更大的满足。那为什么不呢?为什么要死死抱着那个所谓的“高级职业”不放呢?

去年我曾犯贱去趟了移动互联网的浑水,做了个手机app,刚开始的时候感觉很高级,但很快,铺天盖地的竞争对手就出现了,我又发现自己陷入了07年一样的场景:作为一个小小陪练,我他妈的又被一帮泰森们给围住了。当泰森中的战斗机—微信,变得无比牛逼之后,我就知道,战胜这群泰森是绝对不可能的事情了。于是我再次投靠了“降级论”,把自己从牛逼哄哄的移动互联网行业,降级到了一个被人不齿的低级项目:Tucia?Baby

这个项目虽然是传统行业,但是我们基本上是按照互联网产品的思路去做的,除了拍摄需要来店里以外,其他一切,包括营销、预约、客服、后期、选片、取片、客户关系等,所有环节都放在网络上,尤其是微博(@tuciababy官网)。当然,最重要的是,作为一个脑残的果粉,我按照iPhone的做工去要求每一张作品,必须达到我们能力可以做到的最好水准,不计成本的最好水准,才允许送给客户。正式接客不到两个月时间,虽然还远未达到成功,但目前已做到每天都有客户订单,财务上已实现盈利,未来相信一定会比大部分app开发者更光明。(ps:我们没有请公务员吃饭喝酒泡桑拿,也没有塞钱给任何政府机关。当你的产品真的用心做到很好的时候,其实你不需要讨好任何人的。)

这个项目让我沉思了很久:07年我曾把一个纯纯的web2.0网站做到了alexa中国区前1000名(如有质疑,请查询2010年附近的tucia.com排名),结果一路亏损,到最后只剩下一个员工;11年我把那个纯纯的app做到苹果官方推荐免费榜第一位(如有质疑,请看点此看截图),那段时间每天四五千iPhone安装量,结果一路烧钱,到最后濒临关闭;而如今,我只需把自己从纯纯的互联网降级下来,做一些看起来有些“低级”的项目,居然就能立即实现收支平衡。

除此以外,我还发现一个现象,中国消费者在与奸商们的长期斗争中,已经培养出了一种非常苦B的品质:只要不被坑,他就谢天谢地。如果商家严格做到了承诺的每一件事情,客户就会感动的泪如泉涌。如果商家不仅做到了所有承诺的事情,还很贴心的提供了一些额外的服务(比如我们给每位客户赠送非常好吃的樱桃和进口巧克力作为甜点),那么客户就会激动的哭天喊地、奔走相告,推荐给他认识的每一个人。

其实这片肮脏的国土,就是上天赐予IT青年们的最好机会。

在一个不会练武的村子里,只要你会打两拳,你就是拳术最厉害的人;在一个没有服务意识、忽视产品质量的土地上,只要你用心做服务,用最高的标准去要求自己,你就会成为这块土地上最出色的商家;在一个没有现代管理意识,不懂网络、不懂微博、不懂用户体验、不懂口碑传播的粗犷社会里,你只需要把之前花在IT产品上的心思的10%拿过来用,就可以秒杀一切天朝对手。

所以,

IT青年们,当你在为网站的转化率苦苦思索的时候,当你在为app的活跃度辗转反侧的时候,当你在为融资计划苦苦哀求各界大佬引荐的时候,也许犯了一个错误,也许你们的脑子最值得闪光的地方,不是去悲催的IT界当炮灰,而应该是去按摩界、餐饮界、烧烤界、早餐界、理发界、送花界、纺织界、成人用品界、现代化养殖界、有机蔬果界、个人护理界、汽车修理界。。。。与IT界相比,这些行业的确无比低级,他们的老板连qq都会发音成“抠抠”,他们的员工一辈子都没用过Email;跟他们解释什么是SEO,什么是用户体验,什么是数据挖掘,他们会在听你说完之前就开枪自杀掉。正是因为如此,这些行业才是如此的不堪一击。正是因为如此,当智商高达147的IT青年还在为3k薪水拼命、而智商不到50的烧烤店老板正坐在porsche里玩着前面那位青年开发的app的时候,我就忍不住仰望星空。

这些原始而纯粹的行业,正在等待IT精英们的降级,如同蒲公英一般的伞兵,在黑夜里从天而降,长驱直入,用最智慧的产品、最优质的服务拯救这些早就该死的行业,屌丝的生命将会绽放出银色的羽翼,无比丰满,无比性感。

最后注意,请珍惜生命,远离我的微博:@meditic

 

Oracle DBA大牛的自述

大家好,我是落落http://blog.csdn.net/robinson1988/QQ692162374,其实我选择Oracle是一件很神奇的事情,但是现在回想起来又觉得是命中注定。我2006年就读于西南大学软件工程专业,我之所以选择软件工程是因受了电影黑客帝国的影响,依稀还记得某个工程师对着一个黑屏幕,敲击一串代码,然后控制了某个机器,当时觉得好酷。

大一,学校开设VB.NET,全英文授课,还好哥英文很好,当时高中全年级前5名,对于全英文上课自然是无压力,大一上半期结束的时候,我还是会用VB.NET简单的编写一些小程序,比如说复杂功能的计算器之类的。大一下,学校开设了C专业课,因为有了VB.NET的底子,学习C也是相当轻松的,而且当时并没有涉及到一些复杂算法,这样大一我就稀里糊涂的过去了,大一下的暑假,我还勾引了一个安徽妹子,用现在网络流行语,可以说天然呆,自然萌,卡哇伊,她是外国语学院的,哥是计算机学院,简称妓院。至于怎么勾引妹子就不说了,有兴趣私聊我啊。

到了大二,学校开设了C++这门课,他奶奶的,C++是面向对象的,VB.NET,C是面向过程的编程语言,因为一时思想没转换那么快,加上女朋友的关系,没怎么把心思放在学习上,所以C++这门课学得非常差,学了2个月的C++,我就只会写一个类,并且就只会?Hello?World其他的什么继承,封装,多态,乱七八糟的完全是搞不懂,然后我发现,其实我不喜欢写代码。大二上期要结束的时候,系主任上了一门课,课程名字我忘了,系主任在讲课中偶然的提到了?ORACLE这个关键字,我当时就在想,ORACLE不是先知的意思吗?因为黑客帝国里面有个ORACLE(先知),所以我对ORACLE这个单词很有印象,然后系主任就说?ORACLE是数据库,当时我们还没开设数据库这门课程,所以对它还不是很了解,下课之后我就百度了一下ORACLE,结果他妈的,冒出一个广告,考OCM,考过之后年薪30W+,并且也知道了一个职位—DBA,网上都说DBA是越老越吃香,越老工资越高,程序员是吃青春饭,而且程序员最苦逼的是要写代码。当年才07年,30W确实是非常吸引人,于是就全方面的搜索ORACLE,关注ORACLE,加QQ群,上ORACLE论坛,大二上快要结束的时候,我去请教了系主任,问关于ORACLE的事情,系主任回答我,你去考ORACLE认证,考OCP。?请注意,现在别去考什么OCM了,都烂大街了。你想浪费钱随便你。考个OCP还可以的。

大二上期结束的时候,女朋友在学校留校两周,学习选修课,我也自然是留了下来,这期间我每天到图书馆阅读ORACLE书籍,很郁闷,我看了1周ORACLE书,妈的上面讲什么啊,感觉是天书,比C++感觉都难。后来选了一本ORACLE10g宝典,这本书在以windows为基础讲解ORACLE,于是跟着书做实验,安装ORACLE,用SQLPLUS查询?SCOTT.EMP。?这期间因为没有其他课程干扰,还有书中内容比较简单,就很快上手了,回到家之后,依然阅读这本书,整个寒假,我把这本书看完了,当然了,当时只理解了其中20–30%内容。

到了大二下,女朋友与我分手了,让我很郁闷的是她居然被人挖墙脚了,艹,现在想起来老子就郁闷,哥还是处男呢,真是郁闷当时为啥没把她骗到学校的桂园宾馆。失恋让哥意志消沉了一个星期,大二下我们又开设了JAVA,C#,数据结构与算法,以及一大堆的专业课。JAVA,C#这两本课非常坑爹,我根本就不喜欢,学校开了就得上,数据结构与算法更坑爹,太他妈难了。这个时候,我发现班上有个寝室,有个人自学JAVAEE,并且都自己写了个小系统了,有个人一直研究C与算法,自己编了个小病毒,另外一个在学C++,他妈的,这个寝室的人怎么这么厉害,都能写小病毒了,还能写小系统了,事实上也证明,他们确实厉害,大四他们有2个人去阿里巴巴了,有个人去金山了,可能是他们寝室气氛好吧,一个人学往往能带动一堆人学。我们寝室就不一样了,一个人天天下毛片,另外一个人天天玩游戏,还有个人更奇葩,喜欢看小说,神马极品家丁啊,很纯很暧昧啊,艹,而且每天晚上自己偷偷在那里淫笑,我没什么不良嗜好,虽然我也喜欢看毛片,但是就是不知道哪里下载,从来不玩游戏,我觉得玩游戏头痛,我只喜欢看电影。大学的时候,我可以这样说,所有的经典电影我全看过,无论鬼片,禁片,庸俗片,科幻片,动作片啥都看过,基本上唯一爱好就是看电影,学校的BT资源太丰富了,想看什么电影求各种,立马有人发。

因为失恋的关系,加上我跟不上JAVA/C#,加上我确实不喜欢编程,加上那个OCM广告,以及我在大二的寒假我有了点ORACLE基础,我毅然决定选择ORACLE这条道路。这个期间,老师上课讲JAVA,我就学ORACLE,老师讲C#我也学ORACLE,当然了,数据结构与算法还是必须听的,其他无价值的课程我全都没学,只学ORACLE了。这样一直持续到大三下。在08年9月份,考了一个OCA,没看题库,直接过的OCA。本来想考OCP的,但是当时觉得自己是学生,就没考了,当然了也觉得OCP题目太简单了,有个证书顶毛用。大二到大三的一年内,我几乎阅读了市面上能买到的所有ORACLE书籍,图书馆能看到的所有ORACLE书籍,知识面广度已经够了,只是欠缺深度,但是对于一个大学生来说,我需要的是广度,而不是深度。

大三下,上海HP重庆分公司来学校做校园招聘,当时班里成绩排名高的,全没面上,恰好我寝室的面试上了2个,另外还有一部分女生。面试用了5分钟做了个简短的英文对话,然后谈了一下ORACLE的体系结构,看了一下我的OCA证书,从他那微笑的眼神中,我就知道,我通过了面试。恰好班里的有些同学,拿奖学金的,成绩非常突出的反而没面试上,后来才知道,企业要的是有独立思维的人,有能力有魄力的人,成绩好的人恰好他们不愿意招,因为这种人没创造性思维,属于按部就班的,当然了,企业也需要进去之后能真正干活的人,
因为我已经有相当好的ORACLE基础,而企业也缺乏这方面的人才,所以正好就去了。

大四的时候,进入HP实习了1年,最开始在微软产品与ORACLE产品部门,因为是实习生,无法进入真正的项目,我只能作为一个旁观者,在这期间我阅读了大量的ORACLE官方文档,之前学习看的是市面上的书籍,在这之后因为HP是外企的原因,他们提倡看英文文档,全英文环境办公,所以我也开始看ORACLE官方文档,这个期间,我对ORACLE非常多的知识又得以进一步深入,我的技术成长期就是在这段时间内。要想成为ORACLE大牛,你必须阅读ORACLE官方文档!!!而且要彻底的理解。

大四即将毕业的时候,在HP内部我转到了BI/DW部门,这个部门专门做数据挖掘与数据仓库,BI用了Oracle的OBIEE/SAPBO报表,还有一些其他报表技术,这些SQL都是自动生成的,而且很多都是几百行,经常一个报表跑几十分钟甚至几个小时不出结果。在数据仓库方面,有大量的ETL跑得非常慢,经常几个小时甚至1天都跑不完。中国HP内部当时没人解决这些问题,很多人都是工作8年以上,有些还是OCM,都无法解决这些问题。这些问题最终交给了老外,老外也无法彻底解决,而且老外解决一个SQL起码耗时1周。我曾经试图请教当时HP内部的一个DBA,问他如何优化这个SQL,他直接给我说太难了,做不了,不久之后,他跳槽去IBM了。我当时真的很鄙视他。

年轻人总是有着一颗争强好斗的心,因为当时有大量SQL跑得慢,并且全都是数据仓库的超大型SQL,都几百行的,而且很多是工具自动生成的,所以我有了环境学习SQL优化,之前我也是什么ORACLE技术都学,RMAN,BBED,DUMP,DSI….各种INTERNAL文档,但是学了之后发现没多大作用,遇到真正的CASE还是无法处理,所以我毅然决定,我专门研究SQL优化,研究ORACLE性能优化,其他技术我暂时放弃。于是我每天从上班到晚上1点钟,就只研究SQL优化,因为HP可以在家办公,我晚上研究晚了,第二天可以在家上班,这样我起床之后,没洗漱又开始研究SQL优化。我的SQL优化技术,终于从最开始完全找不到如何下手,到我能3天优化一个SQL,到之后1天优化一个,然后几个小时优化一个,到最终几乎能达到看一眼就能知道SQL性能瓶颈出现在哪里。我的SQL优化技术在HP慢慢就出名了,老外也慢慢知道中国有这么一个DBA,比他们本国的DBA优化SQL速度快N倍,这样我在HP毕业半年就破例涨了一次工资,翻了一番,年底又涨了2K,并且获得了60股的股票(当时40美元一股)。毕业第二年(也就是在HP第三年),我又想涨工资,老板给我说,我涨了2次了,而且对于刚毕业的小伙子来说,这个价格在重庆很不错了,他说很多工作几年的都没我工资高,那意思就很明显了,不给我涨呗。搞IT的人要明白一个事情,工资是跳槽跳出来滴。正好北京用友某个技术负责人寻找性能优化工程师,他和我接触了半年,一直邀请我去北京发展,在这之后,我决定离开我的家乡重庆,去北京用友,当时薪水也不高,年薪20W左右,对于一个才毕业1年多的人来说,20W已经相当高了,并且那边有安排住宿,有餐补,有交通补贴,通宵补贴,基本上一个月不怎么花钱。工作非常轻松,每天就优化SQL,然后研究一下中间件,以及JAVA虚拟机内存泄露,以及研究一些业务。SQL优化不用说了,基本上瞄一眼搞定,中间件优化,JAVA虚拟机因为之前没怎么接触过,所以时间放在了这边,同时也学习了业务。但是因为北京空气原因,环境太恶劣了,加上自己一个人在北京,觉得很孤独,就在重庆找了一个DBA工作,待遇比北京低点,但是也没低太多,就回重庆发展了。重庆这边的工作基本上也是做优化相关,在这家公司我进一步的接触到了SYBASE?IQ,GREENPLUM,进一步的学习了EXADATA(2010年就开始接触了,HP最开始用第一代EXADATA),以及国产的GBASE,甚至HADOOP,还接触了各种存储,这个期间对我知识面又是更进一步的提升。在那个公司呆了大概1年之后我来到了现在的公司,主要负责数据库设计,数据库设计优化,SQL优化,系统架构优化,等等。我之所以离开之前的公司,是因为要写一些很无聊的技术架构文档,妈的哥最讨厌写文档。
从2010年以来,本人一直专注于SQL优化,SQL改写,ORACLE系统优化,表设计优化,累计优化过超过10000个以上SQL,是的,你没看错,是一万个以上SQL。帮人优化SQL收过3000元一个,也收过50元一个,当然了更多的是免费的。同时也优化过接近60套系统,当然了系统的优化是一个整体项目,并不是我一个人完成的,但是我扮演了绝对不可替代的作用。曾经改造过某个系统的表设计,使得磁盘IO经常100%降低为60-70%,CPU从60降低到30–40%,该系统数据量每天产生接近5TB。

大家如果有什么SQL需要优化的,有系统需要优化的,请直接发QQ邮件692162374@qq.com完全免费,如果超级复杂,比如几百行的,我可以远程帮助,同样的免费。如果有SQL需要改写的,我会亲自指导你手把手改写。

写到这里,我想告诉大家,学习技术一定要有恒心,要抱着必胜的心态去征服它,当然了,掌握好的学习方法同样重要,我之前是阅读了大量ORACLE书籍(绝大部分是英文),以及官方文档,有了知识广度,再根据工作需要,特立独行研究某一个领域,把某一项做精通之后,再研究其他技术,比如再去研究特殊恢复,或者研究NOSQL,或者研究架构等等。如果你一直什么都学,什么都看,最终的结果是,你什么都懂,但是不精通,那么你就是一个打杂的,你觉得自己和牛吧,与别人比差太远了,你觉得自己菜吧,但是ORACLE的玩意儿啥都玩过,就是不精通。我相信很多人都有这样的感觉,So,找个方向深入研究吧!!!
对于ORACLE初学者,建议先增加ORACLE知识广度,再根据自己喜好,选个方向深入研究。祝各位生活愉快,工作愉快,事业有成。

原文地址:http://blog.csdn.net/robinson1988/article/details/12747113