做开发十年,我总结出了这些开发经验

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36658051/article/details/82456598

在一线做了十年的开发,经历了网易、百度、腾讯研究院、MIG 等几个地方,陆续做过 3D 游戏、2D 页游、浏览器、移动端翻译 app 等。

积累了一些感悟。必然有依然幼稚的地方,就当抛砖引玉,聊为笑谈。

一、对于团队而言,流程太重要了

行军打仗,你需要一个向导;如果没有向导,你需要一个地图;如果没有地图,至少要学习李广,找一匹识途的老马;如果你连老马也没有,那最好可以三个臭皮匠好好讨论,力图胜过一个诸葛亮;如果三个臭皮匠连好好讨论也做不到,那就是典型的乌合之众了,最好写代码前,点上三炷香,斟上一杯浊酒,先拜拜菩萨,再拜拜谷歌。

我个人属于性格温和的(程序员大多性格不错),但确实见过少数强势的人,说很多强势的话。在技术上一言而决,一听到任何反对就上升到私人恩怨。这样的风格,到底是刚愎自用,还是胸有成竹,就需要仔细判断了。

为什么说流程重要呢?实际上,如果团队上有孙悟空存在,去西天取经,大概也不需要什么流程,只要方向就可以了。 但作为普通的战士,应该先虑败。找人算命时,应该先听听不好的地方,好的地方就不用听了,总归是好的,不好的地方一定要听,这样才能规避。

这就是我的态度:先悲观一点,划清底线,考虑在这个底线上你该怎么做?

这是我做开发的一个习惯,但这个习惯肯定不适用于买房。

怎么划清底线呢?就是假想团队中没有孙悟空了,光靠你唐玄奘、猪八戒和沙和尚,应该怎么去取经。

这个月走什么地方,遇到山怎么走,遇到河怎么过,遇到路上有妖怪劫道,谁去抵挡。遇到路上有少女要搭救,怎么办?这就是流程,是原则。

我经历过一个流程很混乱的阶段。都是很多年前的事情了,可以拿出来说说,不涉及单个人。

2011年在百度浏览器团队时遇到几件让人影响深刻的事情。 有一次开会,产品拿出 Google 某个产品的 DEMO,里面有一段很酷炫 3D 效果,要求开发加上,只给2天时间,大家目瞪口呆。后续的开发为了赶节奏,导致非常多的 bug ,又为了修改 bug ,leader 将所有的 bug 按照人员平均分配,导致不同模块间的同学相互修改......实在难以想象。好比让做花卷的厨子,去修改西湖醋鱼的味道。

最初的现象是:bug下降的慢,延伸 bug 反而增加,每个人都累的半死,代码风格极其杂乱,为了赶工导致的临时方案层出不穷;

到了中期:人员离职越来也多,代码难以维护,新加的需求与之前的临时方案冲突。

到了后期:想做一些修复,想调整架构,又要保证正常运行,其难度好比在一架飞行的飞机上拆换零件。

然后我也急忙离职了......实在看不到成功的可能性。

后来到了腾讯的团队,感觉流程就规范多了。需求和 bug 有 Tapd 跟踪,产品发布按照节奏,需求提出前会和开发反复讨论可行性,有专门的质量跟踪,有专门的用户反馈,每天知道要做什么,也知道明天要做什么。有产品需求,也有开发需求!这个非常重要。很多团队,都是只有产品需求,开发好像牛一样,耕完地就不管了?

流程其实没那么复杂,就是各司其责+节奏。我们都是“哆瑞咪发梭拉西多”中的一员,各自有各自的责任,然后组合在一起,按照一个节奏跑起来。把该做的事情与该跑的节奏定好。

二、不要炫技,老老实实写代码

网上有一个段子,说有人要用JS实现一个简单的功能,然后朋友给他推荐了几十个库。

真的有必要吗?具体情况具体分析。

居家过日子,你只需要一套普通的工具就可以了;如果你是修车的,你需要一套修车的工具;如果你是光头强,你需要一台伐木机。 吃饭用筷子,用刀叉,都可以,但不要用杀猪刀,不要用丈八长矛!,当然也不能用牙签。

用什么工具,用什么库,问问过来人,多在KM上搜索一下。举个例子:android 上加密,用SQLChpher就可以了,微信也在用,你当然可以学习;数据库ORM 思想,用 KM 上推荐的 GreenDAO 就可以了;PC 上 3D 引擎,用OGRE就可以了;小型游戏 DEMO,用 Irrlicht 足够;写 WebGL,用 ThreeJS 足够。

首先想想:一些大库 hold 的住吗,后续发展如何?这些库对安装包的体积影响有多大?有没有调研过同样的产品在用什么?

想清楚了再决定用什么,最好是跟随成功项目的脚步。

三、架构上实用+适用

很喜欢曾国藩的一句话:结硬寨、打呆仗。

一字长蛇阵、八门金锁阵,哪个好?iOS 都是单个进程,微信 Android 版本3.5以前是单进程,3.5以后有独立的网络进程; PC 浏览器的进程架构更加复杂,UI 进程、内核进程、Render 进程,而且还有根据页面多少的进程调节模型。

这些设计都很好,各有各的道理,都适用于当前的产品。所以我的观点是:首先分析当前产品的规模、性质,然后再设计架构。

在当前阶段达到:开发效率+架构的平衡;并向后展望3个月,或者半年左右,看看架构能不能适应。

我做腾讯翻译君时,曾反复犹豫要不要模仿微信加入独立的网络进程。后来逆向了有排在第一二位的竞品,最终采用了现在的主功能单进程模型。

产品规模、人员规模、功能阶段,具体问题具体分析。

四、既要有攻城之力,也要有熬战之气——BUG

产品开发完成后,必然有 bug 。其实开发人员在工作过程中,是有一定的直觉或者心理预判的,即:某个功能模块的质量如何。 这里面的质量包括:可维护性、扩展性、算法\渲染效率,还有就是bug与崩溃率。

功能开发完成后,就要开始守城了。

bug,一部分产生是由于架构带来的,例如比较复杂的架构,会导致复杂的实现细节;

但还有很大部分bug,其实是基于如下三个原因产生的:

1 .对于某个api的不了解,或者对于某个平台,或者 SDK 版本的不了解。 举例而言:android里面非主线程,是不能直接处理UI相关的事情的;JAVA 的内存释放也不是绝对的,相互指向是无法释放的;函数个数是有DEX问题制约的---------------------这些bug的产生,也是开发人员摸索学习的过程,经历过一次就不会再犯了。这是学习广度与熟练度的问题;

2 .还有一些bug,是由于粗心大意导致的。例如空指针的问题,野指针的问题。在 C 的开发中,野指针的问题,GDI 句柄的释放问题,这些都是严谨的代码需要避免的; 而又一些工具,或者方法是可以规避这些问题的,例如 android中 的利用@ Nullable 和@ NonNull 加强空指针检测等方法;

3 .还有一些bug,是由于“使用情况各异导致的”。例如:偶现在某个模块crash。这里的本质还是因为逻辑的异常边界没有处理好。例如 android 上的 OOM 问题,还有 PC 上 UI 焦点导致的对象释放问题。这些异常情况,一部分靠测试发现,一部分靠用户反馈,还有一部分就靠自己的异常处理。例如Android中的try catch机制,其实就是遇到异常了,你能纠正错误的机会。

五、自审

每过一段时间,都要站在高空俯视自己,问问:到底是在承担过去,还是在改变未来。

如果之前程序代码质量不好,后面修改问题的时间就会比较多。到了开发的中期,得多问问自己,你在不停的改正以前的错误,还是在做新的东西。 如果修改错误的时间多一点,那就要注意自己的代码质量了!

六、注释

我很喜欢写注释。有大牛说:代码就是最好的注释。 可惜我还没有达到那个程度。所以,我会把注释写的非常清楚。其一:为了自己以后维护的方便; 其二:为了其他人接手的方便。

7512705-f68daf8f9eb26cf5.png
7512705-8641979855b723fa.png

这是我在翻译君项目中写注释的方式。1:对于很复杂的逻辑,务必用12345的顺序依次写清楚;2 :对于函数中的某个参数,需要解释为什么要设置这个参数,尤其是公用工具类里面的函数---说清楚参数的背景含义,可以让其他调用者理解的更加清晰。

我一般不用英文写。虽然这样看起来格调很低,但胜在大家都能轻松的看懂。写代码不能太傲娇,写注释也不要太傲娇,目的是让你的搭档或者接手者,更轻松的理解,让她/他少加班。

七、代码结构

代码结构要清晰。有按照功能划分的,有按照 UI 结构划分的。还有公用工具类,有数据管理,有主逻辑控制。不管用哪种思想,有序的代码结构,可以让每个人感觉很干净。好比日本的收纳整理技巧让很多小资推崇,无非就是干净、整洁、便于管理。

而且,还有一个重要的好处:代码结构表现出来的其实是——程序的一个模块\逻辑思想——让大家工作在不同的区域。

八、代码风格

代码风格统一!好比一家人,有叫 Tom 的,有叫安东尼的,还有叫流川枫、石破天、圣杰夫拉斯基,无所适从。理论上,看一个函数,就能从名称上区分哪些是成员变量,哪些是局部变量,哪些是全局静态值。

除了命名统一外,还有一行代码最大的宽度,函数的连续调用长度等,头文件的包含风格,也最好有一个约定。类的出现时间,创建人名,最好也加上,看起来没用,但到了追踪问题时,就能看出时间线的好处。

九、安全与逆向

这是针对Android说的,还有PC插件也需要考虑。Android 上首先要防止被别人逆向,我成功逆向并重新打包过有第一位和第二位的竞品。这似乎有点不可思议,但确实做到了。加固+混淆+代码判断,最好都有。

安全上,可以看金刚扫描的漏洞,逐一修改就行。公司很多工具很好用的!

十、开发效率

开发效率可以用这些方式提升:

1 .构建公用工具类,方便大家使用

2 .使用开源的一些包,例如 ORM 思想的数据库等

3 .可以很快的找到问题。开发中,找 bug 的时间,往往是很多的。我用的方法有3个: 使用 try catch; 拦截所有 crash 到我指定的地方;超多的 Log,Log 有统一的控制开关。

4 .借力:数据上报用灯塔,崩溃上报用 bugly,公司 KM 上很多经验,拿过来用。

十一、安装包体积

1 .TINY 压缩图片

2 .删除无效的资源文件

十二、UI渲染效率

UI 是用户的第一感觉;UI 快并稳定,第一感觉就不会差太多;管理好内存,基本管理好了一半 crash;管理好 UI,等于管理了人机交互感受。

UI 上的开发是:渲染效率与渲染效果的平衡。

展开阅读全文

十年总结(24):现在的我

09-21

对我过去感兴趣的朋友们,请看[url=http://blog.csdn.net/jinxfei/archive/2009/06/08/4250358.aspx]十年总结系列文章[/url]rnrn---rnrn忠实的记录现在比回忆过去要痛苦的多,rn不过既然都写了这么多,那就保证这一系列的完整性,这是倒数第二篇。rnrn最近在CSDN上看到的一篇贴子:[url=http://topic.csdn.net/u/20090910/17/8f347db8-b490-4beb-a676-8c0cacffdc03.html]成功需要走十步的话,三五步之间最难走……[/url],rn这是少有的几篇让我看了以后有所触动,有所启发的文章。rnrn现在的我,就是处在这不上不下的三五步之间,第四步,呵呵,不小心会走成死棋。rn当然,要说眼下的生活,也说的过去,rn房子买的早,老婆有了,孩子很可爱,收入不高,但也不至于为生计发愁。rn但是,和很多埋头走过十年的同行们的体会一样:rn[url=http://topic.csdn.net/u/20090914/20/F168CB89-60CC-40FE-BDF7-C50FB6652BAF.html]没有安全感,觉得偏离自己的理想太远,未来的方向不明确[/url]。rn前几年感觉还不太明显,但这两年看到越来越多的同龄人走上了快车道,而我却一直在原地打转,如何超越自己?rn所以这种情形很让人心慌慌,导致很大的心理压力(谁能说自己不要强,谁没有理想,又有多少人没有虚荣心?)。rnrn[color=#0000FF]如何变得更成功?[/color]这是一个相当难的课题,甚至是一个悖论。rn当你在问这个问题的时候,至少说明你自己不满足现状,你认为自己不够“成功”,rn然后,描绘一副成功的蓝图比较容易,但怎么到达目的地,那就是走过去之后才有权说道的了。rnrnrn由于思考如何走下去这方面的事情多了,所以最近写的文章也都是相关的主题,然后有人回帖说:rn[color=#0000FF]名和利能算做成功吗?[/color]rn当然算了,我觉得对绝大多数人来说,名利双收就是巨大的成功!rnZangXT回的好:[color=#FF0000]天下熙熙,皆为名来;天下攘攘,皆为利往![/color]rn我不是拜金主义者,但我十分清楚的知道,美好的生活需要[b]适当[/b]的经济基础。rn只有那些已经实现了终生财务自由的人,才有权利说我要为全人类的幸福而努力,rn去做自己想做的事情,或者不做任何事情去享受生活,rn而对于我们普通人来说,只能是做好该做的事情,并努力把自己想做的事情变成一项事业,rn更好一点的,通过这项事业获取财务自由。rnrnrn2008年,我参与了一个奥运重保项目,并在奥运前夕,将项目上线后,我离开了这家公司。rn这次换工作,是比较奇怪的,本来我近期并没有主动辞职的计划,rn07年底到08年的时候,有猎头和朋友找过我几次,虽然几个机会待遇都挺好,但跟我所做的方向不一样就没有走。rn我当时的队伍虽然不大,十几个人,但我完全可以掌控我要做的事情,所以我相信努力做下去会有一定的成果,rn后来呢,是我的领导把我推荐给了现在这家公司(当然,他们原来曾经是同事),然后也没有面试就让我过去做产品经理。rnrn这次换工作,谈不上好坏,rn有好的一面,那就是团队大了很多,将近60人,公司也很支持这个方向,董事长看好这个方向,舍得投钱。rn也有不好的一面,那就是,这个团队刚刚经过巨大的人事变动,队伍的战斗力很成问题。rnrn一开始,我是抱着受熏陶的态度来的,毕竟公司更大,过了CMM 5,我想改善一下自己不规范的草根行为,rn后来,发现情况不太对,我努力成为一个观察者,认真的记录团队中所存在的问题,rn最近半年,我逐步在向一个推动者转变,制订规范、改善开发效率、为提高质量意识而筹划培训等等,rn在未来的一年里,我希望能够成为一个真正的领导者,无论从职务上还是从精神上,这也算是近期的一个目标吧。rnrn我也知道,有时候努力未必能够得到你想要的结果,但我最不愿意的就是被环境同化,rn一年之后,要么是我让团队的面貌焕然一新,要么就是我离开的时候。rn如果要计算自己身上的优点,这积极的心态应该位列第一了。rnrnrn总体来讲,我觉得,软件行业的形势,并没有很多人描绘的那样令人悲观,rn其实每个行业都是类似的,上层的人总是少数,rn当我们羡慕其它行业的时候,也要掂量一下,转行是不是就一定能够爬到那一层,rn如果对这个行业不满意,应该尽早离开或者干脆别进来。rnrnrn总结性的陈词,还是放在下一篇,也就是最后一篇吧,与第一篇相呼应。 论坛

十年总结(13):开发不息,重构不止

07-05

对我过去感兴趣的朋友们,请看[url=http://blog.csdn.net/jinxfei/archive/2009/06/08/4250358.aspx]十年总结系列文章[/url]rnrn---rnrn在经过RUP和XP两种思想的冲撞之后,我发现想要借助一个什么理论来获得工作绩效的提升,基本上是不可能的,rnRUP也好,XP也罢,都不是看看书,照猫画虎就可以解决软件开发过程中的问题的。rnrn还是应了那句话:软件行业没有银弹。rn从宏观方面来看,项目在开发方面面临的问题是类似的:延期交付,质量不易控制,需求反复等等,rn但每个项目又有其独特的人员构成、技术架构以及用户环境。rn因此,只能说:软件开发的管理,没有放之四海皆准的规范,我们可以定目标,但实现目标的手段应该多样化。rnrn实施XP一段时间,除了我和军军,还有军军介绍过来的一个同学一起做过结对编程,做过测试驱动开发以外,rn但推动团队中的其他人参与XP的最佳实践难度非常大。rn这些难度主要来自于人,人的配合度,以及人的能力。rnrn在配合度方面,XP需要所有参与者都对这种思想有高度的认同感,然而不是每个人都对软件开发充满激情,rn也并非每个人都追求完美,很多人只是将工作当成养家糊口的手段,按部就班的做事儿,甚至有些被动的承担任务,rn这就已经与XP对质量不懈追求的基本目标背道而驰。rnrn从能力角度来看,XP中没有严格的岗位划分,设计与开发是紧密融合的,rn每个人都要会做需求分析,会设计,会编码,会测试,rn你不能只了解自己负责的一小部分功能,而是必须随时做好接下新的任务准备。rn就拿TDD(测试驱动开发)来说,没有很强的软件开发经验,是很难先行写出测试代码的,rn写出了测试代码再去写功能代码,就意味着你已经对模块的输入、输出、处理逻辑、边界、异常等了然于胸了。rnrn所以XP团队需要一个导师,不停的统一大家的思想,我就是这个导师,但后来XP的最重要支持者军军离开了公司,rn一个人传承一种思想很孤单,也很无力,搞得我也没有太大的兴趣再深入推动XP了。rnrn但不管怎么样,做这些事情的过程,让我学到不少技术以外的东西。rn随着时间的推移,我逐渐把XP和敏捷建模的具体实践抛弃了,保留了我认为最核心的两条:rn1、积极参与和有效沟通rn2、对代码质量的不懈追求rn这是我日后工作中的基本信念,也是对我的团队成员不断强调的原则,这就是我的团队文化。rnrnrn正是对质量的不断探索,让我接触到“[color=#0000FF]重构[/color]”理念,其实我觉得重构是实践敏捷的必然结果和必由之路,rnrn为了增强软件的可扩展能力,传统的软件研发思路是尽量加强设计,越详细越好,最好把编码这块的人都当成傻子,rn设计出来了,负责写代码的人严格按照设计规格来编码就OK。rn设计中要预先设想未来可能出现的各种情况,这一方面容易造成浪费,另一方面可能会导致过度设计。rnrn而敏捷思想则希望代码本身是容易改变的,每一次设计过程都不做过多的预测,看似有些“鼠目寸光”,rn实际上却从另外一个层面对代码的可扩展能力提出了要求:rn1、代码可读性。要让别人很容易搞懂代码的意图,以方便修改。rn2、低耦合。以便修改的时候尽量缩减影响范围。rnrn以上两点讲起来,可以有非常多的内容,不过这一篇已经有些跑题了,不多说了。rn以上内容是基于上一篇延续出来的感慨,就此打住了。rn总之我在软件开发管理方面现在属于无门无派,非正亦非邪,真的是很“草根”。rnrn---rnrn[color=#0000FF]重构,就是在不改变代码原有功能的基础上,提高代码质量。[/color]rnrn2004年的下半年,徜徉在大师们的思想中,真的感觉很惬意,rn《敏捷建模》和《重构-改善既有代码的设计》这两本书,都是翻了几页就毫不犹豫买下来的,再加上《Thinking In Java》,rn这三本书是到04年为止,我在技术方面看的最认真,也最有收获的几本。rn我一直觉得,书不贵在多而在于精。rnrn《敏捷建模》让我知道做软件开发还可以有一种更加灵活的方式,给了我一个可以去追寻的境界,rn而《重构》给了我工具和指示,让我可以向大师的境界攀登。rnrn《重构》这本书分成两部分,前面讲原则,后面讲手段,rn作者将需要改造的代码成为Bed smell,真的是很形象,不好的代码,有点像“一块臭肉毁了一锅汤”的意思。rn这本书蛮厚的,其实真正能够记下的都是原则性的东西,从后来的工作中体会到,最常见的Bed smell有:rn[b]1、重复代码。[/b]rn我觉得这是优质代码的头号公敌,通常是大量复制、粘贴的结果。rn这厮带来的最大问题:相同的逻辑分散在多处,导致修改困难,容易遗漏 rnrn[b]2、过大的类或者方法[/b]rn一个方法如果很长(通常超过两屏),则要理解其逻辑将非常困难,rn重构时通常要将处理步骤梳理出来,每步一个子方法,主函数变成一个很清晰函数调用序列。rn如有必要,可以对子方法进一步重构,直到每个方法只解决一个问题。rnrn[b]3、不合理的类封装[/b]rn一个设计最初一般是合理的,但随着后续的修改,会不断的向已有类上增加方法,导致本来健康的类变得臃肿,rn因此,每隔一段时间,应该重新规划方法的分布,比如在类之间迁移,或者抽象出新的类来。rnrn[b]4、魔鬼数字[/b]rnint i=0;rnint j=1;rn如果不加额外的注释,谁能明白0和1的意义?rn魔鬼数字的说法早已有之,是影响代码可读性的一大毒瘤,处理方法为:用常量替换之rnrn出了魔鬼数字,还有一种魔鬼逻辑,比如:rnif ((status==RUNNING || status==STARING) && (freeSlot.size()>RESERVED))rn //Do Something!rnrn以上的if条件虽然没有出现魔鬼数字,但这个逻辑有些复杂,也是需要读代码的人费些心思去算计的,rn通常条件判断式如果包含两项以上的表达式,这样的条件建议重构成一个方法:rnif (canAcceptMore())rn //Do Something!rnrnrnprivate boolean canAcceptMore()rn return (status==RUNNING || status==STARING) && (freeSlot.size()>RESERVED);rnrnrn[b]5、不合理的命名[/b]rn不合理的变量名也会大大影响代码的阅读,变量名、方法名、类名、包名都要认真考虑,一般遵循如下原则rn 意义准确,且不随便将一个变量转作它用rn 风格统一(Java官方的约定就挺好的)rn 用词统一(同样代表缓冲,不要一会儿Buf,一会儿Cache,要么都缩写,要么都全拼)rn rnrn[b]6、冗长的参数列[/b]rn函数拥有超长的参数列,通常也是增量修改的结果,这时候要考虑rn 要么,将参数抽象成一个独立的对象进行传递rn 要么,考虑一下这个方法是否有更合适的归宿rn 要么,可以看一下这个方法是不是完成了太多的逻辑而需要进行拆分rnrnrnrn以上只是一些皮毛和最常见的情况,重构是一门艺术,需要在实践中慢慢体会,但最重要的,是要有这个心。rnrn---rnrn[color=#0000FF]总结:rnrn工作这么多年,学了很多东西,一直最怕的是把简单的问题复杂化,技术领域这样的例子数不胜数。rn我觉得学习需要一种境界,张无忌学太极是最经典的例子,一开始还能记得招数,回忆几遍,就忘得差不多了,rn学习进入这种境界,才能在如今技术、名词、思想满天飞的时代,不被乱花迷人眼。rnrn比如Spring,刚出来的时候扛着轻量级框架的大旗,可大家看看现在的SSH,哪里还有“轻量”的影子?rn上手就有很大的难度,更别说精通了,到底是简单了,还是复杂了?rnrn敏捷建模也是,其核心思想就是敏捷,而基于此构建的种种思想和框架,岂不是给自由的灵魂套上了枷锁?rnrn设计模式也是,最初只有24种经典模式,我们尚且不能运用自如,rn现在恨不得模式满天飞,大脑不是计算机,不擅长背诵,rn当信息量超出我们的记忆能力的时候,这些信息是否有价值,甚至说是否有害?rnrn重构其实也一样,你只需要记住这本书名《重构-改善既有代码的设计》和它改善代码的原则即可,rn至于其中的上百种重构手段,没有天才的记忆力,就不必背诵了吧?[/color]rnrnrn最后,说一句,养成良好的编程习惯很重要,不要因为你是在做试验而不注意代码的质量。 论坛

十年总结(八.2):插曲,毕业十年聚会,我的思考

06-09

该系列其它文章请看[url=http://blog.csdn.net/jinxfei/archive/2009/06/08/4250358.aspx]这里[/url]。rn我爱思考,请看[url=http://blog.csdn.net/jinxfei/category/540380.aspx]这里[/url]。rnrn---rnrn参加这次聚会,我的心情很复杂,有兴奋,也有忐忑。rn在开篇总结中,我就说过对自己最近两年的颓废不太满意,对自己职业道路的被动选择也不满意,rn人都有自尊心,谁都愿意过得比别人好,也许这次聚会的安排也在潜意识里让我警醒、反思,rn于是才有了这一系列的文章。rnrn---rnrn[color=#0000FF]每个人用三分钟总结自己十年的经历,这是聚会中最精彩的一环[/color]。rnrn[b]何某某[/b]:rn他以“我其实是一名程序员”作为开场白。rn他应该是我们班技术最好的,在毕业前就很厉害了,绝对的技术狂人rn毕业后创业,最多时候开过四家公司,后来别人说“公司要越开越大,而不是越开越多”,rn他就关闭了两家。rnrn曾经在2003-2004年与迅雷竞争,和迅雷获得了同一家风投的投资,rn不过迅雷拿到的是他们的20倍,所以迅雷赢了。rn昨天看到一篇文章,迅雷的创始人来自百度,也许就是这人脉因素影响了成败?rnrn他现在的公司每月的运营成本还在20多万,不过也说明他至少有钱可烧,rn无论自己挣多挣少,这充满挑战的拼搏之路,就值得人尊敬和羡慕。rnrnrn[b]张某某[/b]:rn他将自己的十年归结为一个“混”字。rnrn从他调侃的叙述中,让我看到了他“混”的精彩,rn毕业进入电信运营商,后来离开进入小公司,rn感觉没前途,而且觉得不能荒废英语,于是跳入小外企,rn后来再经跳槽进入HP。rnrn他在“混”的同时,并没有忘记规划自己的每一步。rnrnrn[b]曹某某[/b]:rn09年毕业后考取本校研究生,2000年,尚未毕业就去华为打工,rn毕业后直接进入华为,如今是一个超过百人的部门的经理,而且发展势头良好。rnrn他调侃说:“在做技术的人里,我管理最好;在做管理的人里,我技术最牛”,rn综合而平衡,就是企业最需要的复合型人才。rnrn他说感觉自己的研究生白上了(我觉得有些夸张),rn如果本科毕业能够进入一个合适的单位,绝对比读研好。rnrnrn[b]刘某[/b]:rn已经走上仕途的人,而且他绝对适合走这条路。rn他是本次聚会唯一有专车接送的,他目前在行政级别上最高(副处,某地区联通公司副总),rnrn在学校的时候,他跟我都属于经常补考的,但他绝对具有亲和力、野心,属于精神领袖类型的,rn也许他在学校的行事有些愤青的感觉,但他绝对知道自己的路该怎么走。rnrn在总结中,他提到“形势不对,拨马就走”,rn不随波逐流,是他数次审时度势,规划自己前途的具体行动。rnrn---(如果我说得不对,也请我的各位同学们多多谅解)rnrn[color=#0000FF]关于考不考研的问题[/color]。rnrn计算机科学与技术,实际上科学占三,技术占七,实践远远重于书本知识。rn所以,我的建议:rn1、本科毕业能找到合适单位的,最好不要考研rn2、一定要拼命找工作失败后,再决定考研rn3、因为害怕进入社会而考研,读研只会害了你rn4、考研期间,不要再傻傻的学习,或者傻傻的玩儿,尽你所能,去找个单位做点事儿,纯研究生真的太轻松了rn5、本科已经找到工作的,过几年,读一个在职研究生,还是很有必要的rn6、除非致力于留校教书、或者有特殊要求,否则不建议再考博士rnrn---rnrn[color=#0000FF]关于学习成绩和个人发展[/color]rnrn从我们班的情况来看,学习成绩和个人成就之间没有绝对的联系。rn当然,学习成绩好,有助于在毕业的时候进一个好单位,但接下来三年改变自己命运的机会多的是。rnrn能考上大学的(尤其是这种录取分数很高的大学)人,智商都不差,rn大家拼的实际上是情商。rn我觉得:[color=#FF0000]智商决定你能不能做成一件事儿,但情商决定你有没有机会做一件事儿[/color]。rnrn---rnrn[color=#0000FF]对尚未毕业学生的建议[/color]rnrn大学本科,基本上是最后一次交到真心朋友的机会,rn十年之后,他们会使你的人生更加丰富多彩。 论坛

十年总结(终):新的十年,新的起点

09-26

对我过去感兴趣的朋友们,请看[url=http://blog.csdn.net/jinxfei/archive/2009/06/08/4250358.aspx]十年总结系列文章[/url]rnrn---rnrn经过五个月左右的时间,终于把自己的十年总结写完了,rn如果这是一个项目的话,那么它的预算和工期都大大超出了。rn曾经只想通过四篇文章,简单回顾一下过去,没想到最终写了27篇。rn十年并不是一个短暂的时光,但发生的真正有价值的事情却并不多,rn我尽量保证每一篇都有一定的思考和意义在其中。rnrn坚持写下来,也是需要毅力和耐心的,还好,有很多朋友的支持,rn让我觉得自己的努力不是没事儿找事儿的无病呻吟。rn感谢各位的阅读、收藏和回复。rn[b]尤其是感谢 老紫竹、KOKOROX、yinyuan1987几位版主在论坛中的大力推荐,[/b]rn在已经发表的26篇中,有超过20篇获得了推荐,所以这一系列获得的关注,跟他们的工作密不可分!rnrnrn回忆和总结是有价值的,曾经懵懂走过的路,如今看起来有如此多的缺憾,rn我那么盲目的执着,又曾做出多少被动的选择,以及起起落落的自信心。rn然而时光不再,后悔和自责都没有任何价值,留下这些文字,给后来的人当个参考吧,让看到的人能够少犯一些错误。rn很多新人说向我学习,但我觉得新人更多的是要以我为鉴吧,争取从第一步就规划好自己的职业生涯。rnrn不过还好,总体来讲,我也是不断进步的,我热爱思考,我很少悲观,我从不消极怠工,我热爱自己的工作,rn人生最佳的工作时段也就三十年,第一个十年已经过去,下一个十年更加关键,rn我要做出更加积极的人生规划,做出更多主动的选择,去大胆的实践和追求自己的梦想。rnrnrn大家可能注意到,我写的文章里,技术所占的比重很少,多数都是工作中的思考和心得。这一方面跟我现在的工作内容有关,另一方面,也的确是我这么多年的一个切身感受,那就是:[b]没有学不会的技术,但有学不完的技术[/b]。我并不是在宣扬技术无用论,相反,我对技术也有强烈的痴迷,但,记得我在一篇总结中说过的:情商更能左右一个人的发展。我们的程序员,是不是应该更早的抽出时间来关注一下非技术因素?比如,如何在团队中争取到应有的位置?如何取得别人的信任?如何让你的工作得到更广泛的认可?rnrnrn[b]作为这个系列的终结,我把自己认为最最重要的几句话留在这里,与您共勉:[/b]rn第一,人生最重要的课题是选择。rn第二,不要给自己太多负面的心理暗示,心理暗示的可怕之处,就在于它是在不知不觉间产生作用。rn第三,在职业生涯的某个阶段,职位比薪水更重要,因为职位决定了你可作的事情、可用的资源和面对的问题性质。在合适的时间,谋求一个合适的职位,可能是职业生涯从量变到质变的最有效的助力。rn第四,只有你自认为强大的时候,别人才可能认为你强大。rn第五,永远不要在没有做一件事情之前说“我不能”。rnrnrn---rnrn总结完毕,接下来干什么呢?rn当然是继续努力工作,并寻找一个自己可以为之努力的方向,最近在构思“[url=http://blog.csdn.net/jinxfei/category/588536.aspx]技术族谱[/url]”这个创意。rn如果您还想继续关注我,可以访问我的[url=http://blog.csdn.net/jinxfei]博客[/url]。rnrn[color=#FF0000]最后,如果您觉得我这几万字的总结和思考,给您带来一点点参考价值,rn我希望您能够将[url=http://blog.csdn.net/jinxfei/archive/2009/06/08/4250358.aspx]这个系列的目录[/url]收藏,不为别的,因为您的收藏有助于更多的人看到这些文字。[/color]rn这一个个收藏和回复,权当是给我这半年心血的一点稿费吧。rnrn祝愿你我明日更比今日强! 论坛

我的十年

04-20

第一年是懵懂的,青涩的,有很多新的期盼的,在离开父母之后,也终于有了自己的初恋 rnrn第二年是失落的,没有方向的,没有目标的,不知道要往哪儿走,也不知到会到哪里。 rnrn第三年是振作的,失败之后有了新的奋斗目标,突然想发奋图强的,突然觉得人生不能这样虚度下去了。 rnrn第四年是丰收的,开始努力之后,回报就慢慢出现了,那时候觉得精神奋发,觉得自己无可阻挡,只是被一句话埋藏了一个阴影,就那样强行改变了自己很多对人的成熟看法。 rnrn第五年是平稳的,有收获也有失落,但是整个一年是走低的,毫无疑问,经历了人生最糟糕的一次感情经历,直接影响了后来的生活与计划。 rnrn第六年是颓废的,精神崩溃的,倒霉的本命年,除了毕业设计之外没有一件事是顺利的,考试差点不过,突然丢了所有的证件和成绩单,险些没有拿到毕业证,几乎让前三年的努力和坚持付之一炬,但还是不顾现实条件的固执的坚持着,为了理想和几乎所有人脑翻脸。 rnrn第七年是逃窜的,考研的结果是让我自己觉得匪夷所思的,感情一再再不顺利的,第一次品尝了什么叫现实是残酷的,情绪高昂之下突然变的低调的,觉得自己没有任何准备的被突然丢在社会里了,没有什么是正确的,在你所有的大话之后,没有人可以帮你,不过还好,有人能够打开我的门,但是似乎不知道自己的去处,直到第一次辞职,辞职是正确的,只是准备是绝对不充分的,但是现实如此,又能如何?新公司是快倒闭的,合并了之后开人是更加迅雷不及掩耳的。 rnrn第八年是有奇遇的,做开发刚满一年,有公司居然要提拔我做高层的,突然间很多女孩子主动接近我的,让我颓废和逃窜之年的感情损失一扫而光的,可是不要忘了我这人是喜欢钻牛角尖的,虽然人聪敏瓜瓜,但是做起实事基本是无厘头的,分不清楚对错的,最后鸡飞蛋打,赔了夫人又折兵的。 rnrn第九年是精疲力竭的,前面的生活让我无法忘记又必须忘记的,结束了的生活必须有新的起点的,面试是好几家的,大公司是有不少的,通信网游都在向你招手的,只是让你等一周的也挺多的,成功的也有的,可惜进去的时候精神是不正常的,最后依依不舍还是要离开的,因为衰竭到了什么事情也干不了的。回到家里决定重新复习基础的,期望回去再找回失落的尊严的,只是精神是衰竭的,想好好干现实也不允许的。回来后面试的机会是更多的,一年没工作还有这么多机会,多到自己无法想象的,说明IT业的春天不是吹牛的,老爸硬要陪我来面试的,拖了我后腿还不承认的,父子面试法头一次听说的。 rnrn第十年是恢复的,没啥可回忆的,知道了该丢掉的就应该赶快丢掉的,所以清理一下MSN通讯录和QQ好友清单也是很有必要的,因为人生已经快而立了,总结过去的失败不如多花时间分析如何争取现实的成功。 rnrn rnrn工作第四年了, rn第一年在选择,选择自己究竟喜欢什么,究竟想干什么,究竟需要什么 rn第二年在成长,在克服痛苦,在坚持,在努力,唯一告诉自己的就是不要放弃,因为所剩的就是这样一种信念而已,我坚持过来了,坚持过来了,这就是个成就吧,我常对自己说。rn第三年,在等待,等待一个新的开始,在人生的最低谷中慢慢爬起,重新一点一点的找回自信。 rn第四年了,???? rn四年了,相亲有过很多次,但没有正式(或者非正式的)谈过恋爱。。。 嗯,基本就是这样。rnrn快三十了,想告诉每一个还在之前的路上走着的人,每个人都是不一样的,不用刻意追求什么的,你是别人改变不了的,还没走出校园的时候想体验现实的残酷是为了耍酷,走出校园以后现实往你身上撞你多都多不过来,当然福兮祸所依,痛苦之后也会有快乐的。rn 论坛

--我的十年--

12-22

[b]1998[/b]rn高三,第一年高考,成绩不理想,不理想到连个本市的师专分都不够。那时不爱学习,对以后的人生没有任何打算,鄙视一切学习好的同学。rnrn[b]1999[/b]rn高四,第二年高考,成绩对我来说已经不错了,算是够了本科段(本省的),可是当年报的第一志愿,分数段比往年高,以2分之差没有考上。rnrn于是上了一个在本省也比较烂的专科。因为那个学校有好多认识的同学和朋友,所以也没有太失望。rn刚刚独立,好多事自己处理。想找个女朋友,未果,很伤心。rnrn[b]2000[/b]rn课程被挂一课。又找一女朋友,谈了几个月,未果,很伤心。rnrn[b]2001[/b]rn4月份,当时可以考专升本,以为自己英语挺好,没有好好看,把大量时间用在数学上,结果数学考了80多,英语58,差2分不够分数线,这次还是很很伤心,哭了好几回,后来想通了,也许这就是命,是我必须要经历的。rnrn[b]2002[/b]rn终于长大了,成熟了,不再为女人的事发愁了。还是跟哥们儿们好,喝酒,玩。rn最后一回考试,差点挂3科,我们学校挂3科要交1500块钱的,所以很害怕,最后一门《施工》在我的努力和老师的帮助下终于没有挂,非常感谢那位老师,不过现在想不起来他的名字了。rn没有为找工作发愁,却为毕业答辩着急了2回,因为两次都没过,还好最好老师都给放过去了。rn又考了一次专升本,考上了,这次是几乎报名考试的都要了。rn在专科的最后一次考英语4级通过了,哈哈,很高兴地说。rn下半年,开始上本科了,好好学习了,准备拿一次奖学金。rnrn[b]2003[/b]rn生平第一次拿奖学金,500¥,请客吃饭。又跟原来的同学借了几百块买了一数码相机,方正DC Power 2数码相机,当时也让我欣喜了若干天。rn后来也让我明白了“国产数码产品不能要”这一道理。rn轰轰烈烈地“非典”运动,被封在学校里2个多月,不记得什么了,唯一就是一般的课不用上,非上不可的时间也减半。rnrn[b]2004[/b]rn济南、北京地转了好久,最后都过了5月份了,才在北京的一家公司找到工作,很满意,因为他可以“落户”。因为在专科时毕业答辩被抓过,所以落下了病根,很害怕。努力地复习,准备答辩,当天更是4点多起来去教室学习。终于顺利通过,前提是每组留一个,我们组做结构设计的,有一个小子出去搞了2月施工,结果把他抓了。rn工作了,每天没事干,看报纸,玩游戏,NND,1000¥/月,饿不死,也好不到哪去。rnrn[b]2005[/b]rn浑浑噩噩地在公司待着,如行尸走肉一般,几乎没有做任何事。不过为了这个“北京户口”,一直没有换工作,也因为自己信心不够,没有找工作。rn4月份认识了现在的老婆,5.1公司加班,我把死去多年的舅舅拉出来当借口,请了几天假,罪过罪过。这几天跟老婆去平谷玩,当时没有考虑这么多,后来他去广州1个月,通过1个月的短信,我们正式确定了男女朋友关系。rn10月1日,在全国庆祝国庆的时候,我们入住到了工地,总算干了点事情了,每天在工地上转来转去的,偶尔写点什么“技术流程”什么的,也是在书上抄的。3个月之后,在12月底时,老板通知我们放假,每月900块生活费,不知他要干什么,反正我是做好了离开的准备了。rnrn[b]2006[/b]rn年初跟老婆住到了一起,在阴历新年的时候去了岳父家,二老也同意了我们的婚事。2月份时,在交了1W违约金后从原来的公司出来,进了一家号称国企的公司,NND,谁知道是个快要死的公司,待了4个月,因为处理不好和领导的关系,“愤然”辞职,我也为这一次冲动付出了不小的代价——4.5个月没有工作。在8月底,参加了“达内”的软件工程师培训,一直到11月初结课,期间没有收入,惨!然后就是像毕业生一样,发简历、面试,然后就是因为经验不够,知识不足等各种原因被通知“回去等消息”。rnrn[b]2007[/b]rn2007年1月10日,在距奥运会还有575天的时候,本人终于找到了一份工作。经过了从2006年5月1日到如今这么长的时间,8个月啦,花了不少的钱,费了不少时间,也学到了不少的知识、不少的阅历,感谢所有关心和帮助过我的人们。rn过年回来,2月底被解除合同,也就是被开除吧。到3月底,不太顺利地找到新公司。经过5、6、7、8痛苦地4个月,到9月份工作才有点起色。rn转行可真不是件容易的事。rn9月1日,和老婆去山海关看海,游泳。rnrn[b]2008[/b]rn1月19日,完成人生一件大事——结婚。婚礼办得挺好,老婆很满意,来宾也评价不错。rn10月1日,带老婆去泰山旅游。rn干了一年软件,感觉刚入门,小公司,没有项目,没人带,进步很慢。面试了几家公司,效果不好,没有换成。rnrnrn[b]弹指一挥间,10年过去了,时间冲淡了一切,所有的都已经成为回忆,沉淀为人生经历的一部分,所有的所有,都是自己的历史。rn总结过去,为美好的将来做准备。[/b]rnrn谢谢帮顶! rn欢迎大家都把自己的十年经历写出来分享! 论坛

没有更多推荐了,返回首页