你的父母把你生下来,你的身体就是一台计算机,而上面运行的软件就是你的思想,这个软件版本高低功能的强弱,就看你的思想境界。思想软件需要你自己慢慢地去编写,可能父母教给了你最基本的语言,但是其他的高级语言和技能需要你长大以后要自己去学习,你能精通几门语言是你的本事。

第一步,随着你渐渐的长大,你开始有了需求,各种各样的需求,一开始你只是想要一块巧克力糖,一个新书包,一件新衣服,一辆崭新的自行车;后来你可能就想要一栋房子、一辆好车,你开始追求高质量的的物质生活、精神生活,你追求成功与快乐、还要求更好的发展,希望得到别人的尊敬,过一份有尊严的生活。需求很多很多,仔细分析你的需求,想想你最想要什么?怎样去实现它。

第二步,是很关键的一步,你要设计自己的人生程序。你首先要概要设计,你希望将来成为一个怎样的人,分几大步实现这个目标,少年、青年、成年、中年、老年。可能有求学程序、出国程序、恋爱程序、求职程序、事业程序、升职程序、结婚程序等等。概要设计后还要进行详细设计,你每个月每个星期做些什么,每个小模块里面有每个阶段的小的目标,小程序,这个星期读完一本书,下个月参加考试,然后写一篇论文等等,虽然说人生不可能完全规划出来,但是经过设计的人生远远比没有设计过的人有更有意义,好好的设计你的人生吧。

第三步,是编码和测试,你大多数时间都在不停的编码,同时还要不停的测试,编码的过程十分的辛苦,需要耐心和思考,你会觉得苦闷、烦躁不安、寂寞、痛苦、迷茫与无奈,但有些时候又十分开心、兴奋虚荣、骄傲和满足。编码的过程充分体现了人生琐碎与不如意和艰难,bug永远存在,人生也在不断的犯错误和不断地总结。就像一个程序不能编写得完美一样,人生也是不完美的,你不可能处处要求完美,很多地方需要同别人交流和互相借鉴。测试可以分为内部测试和外部测试,经过测试,你发现自己的错误,并想方设法改正它,然后成长起来。

第四步是集成和软件发版,你的设计的人生软件要拿到市场上去卖,能不能卖上好价钱,要看软件的功能和特色,性价比、看软件的包装,你有没有高人一等的杰出才能,你有没有于其它软件相比的竞争力,软件的价值,也就是你人生的价值。当然你可能是一个很高尚的人,编一些免费的软件,不做比尔盖茨,做linus torvols也挺好的,在自由的空气在互联网上空飘荡。看你自己的选择!不过这个世界好像更欢迎前者,linus住在拥挤的民用公寓里。而比尔盖茨住在自己像皇宫一样的豪宅里面当帝王,你首先要解决生存的问题,然后再去考虑其他得东东。

好好的谱写你的人生程序,人这一辈子真是要追求点什么才有意义!

扩展阅读

如何从优秀的程序员成为伟大的程序员[5]


职业规划是对职业生涯乃至人生计划的过程,职业生涯规划的好坏可能将影响整个生命历程。感谢您阅读《如何从优秀的程序员成为伟大的程序员[5]》内容,职场资讯网小编向您推荐一些职业规划知识,欢迎参考,希望能帮到你。

15、组织技巧

把所有事情整合在一起的最关键要素是组织。你可能是世界上最好的程序员,但如果你不善于组织你所做的事儿,你的工作将陷入瘫痪,最终丧失优势。伟大的程序员保持自己工作平台的整洁有序,保留所有的笔记并调理清晰。他们标出自己的会议日程表。他们有专门的收件箱给日程邮件、会议和新任务分类。他们保留文档并能在需要时迅速找到所需。

额外要提到的:激情

伟大的程序员如果没有热情,那么他的工作也并不伟大。好的程序员有了热情来对待他的工作、方案和团队,那么他比伟大的程序员还要伟大。

在回顾的时候,我用这些标准来评判我的开发团队。我给我的团队尽可能最好的环境,作为回报,我想要他们都成为最伟大的程序员。你可以用这些标准来评判你的团队,或者你本身就是一名程序员,请用这张列表来尽可能地改造自己来超越同侪。

备注:Generics是程序设计语言的一种技术,指将程序中数据类型进行参数化,它本质上是对程序的数据类型进行一次抽象,扩展语言的表达能力,同时支持更大粒度的代码复用。对于一些数据类型参数化的类和方法来说,它们往往具有更好的可读性、可复用性和可靠性。在设计集合类和它们的抽象操作时,往往需要将它们定义为与具体数据类型无关,在这种情况下,使用Generics就是非常适合的。

如何从优秀的程序员成为伟大的程序员[1]


怎样评定一名软件开发人员?这是一个颇为奇怪的问题。现在已经有了很多的理论和形式来做这件事,人力资源部门也试着帮你管理和反省自己的行为。然而,怎样才是一个伟大的软件开发人员,在今天,你该怎样发展你的职业生涯?以下是我评定团队中软件开发人员的军规.按照这些技巧和规则,你可以改善你的现状,由一个优秀的程序员,成为一名伟大的程序员。

1、时间花在写精彩的代码上

这里说的不是数量,而是质量。对此,一种歪曲是:要数量,也要质量。你也许会很多次的遇到以下的两种情境:

情境A:你有一个发疯似的能写代码的程序员,事情似乎在进展中然后,Bug开始不断出现,你们也不知道为什么,好像永远补不完。补完十个,又出来五个,现在你手里的,就是一大堆代码

情境B:你现在有一个看起来很聪明的程序员,你面试他的时候,他似乎无所不知,能把理论说的头头是道。然而,你留给他三个任务,三个星期以后,他还在做一些三天就该干完的事。这下该你困惑了,他这么聪明,他知道generics(详见备注),多线程的一切事情,甚至还能给祖母级的人讲解什么是指针,让老太太兴奋的想去编程。可是--怎么什么都没完成?

于是,在梦境中--你写出了堪称伟大的代码,--伟大的代码是伟大的程序员写出来的,他睿智,明白代码的真正品质所在。写代码就像托尼?霍克在玩滑板一样自然优美,看上去就令人愉快。这些程序员以让你眼花的速度搞定一切,他们知道每个问题应该处理多长时间,也不会追捧寻觅所谓的世界最好解决方案,弄很多线程很多层来写一个简单的游戏。他们写的程序没有Bug,因为写的时候自己测试过了,在睡觉时也在写代码说的就是这样的人。这些程序员太宝贵了。

2、阐明问题

可以明确的是:即使有问题暂时处理不了,还有成百上千的方法去解决。有些人反应很迅速,很快就能提出多种解决方案。然而,一个伟大的程序员应该在做出行动以前清晰阐明问题--创建文档或用白板表达出来。他们写邮件给项目的管理者,这样表述:我想和你说说我是怎么理解这个问题的,我们能这样处理吗?然后他们就会动手给你多种方案。

对,这些人明白自己看问题和阐明立场的方式,而这理解方式大概不会是问题创建者所想要被理解的。请牢记这就是关键所在。一名伟大的程序员在尝试解决问题以前,一定要完全的理解它。你百分百搞明白了吗?没有?百分之九十九?--回去再多问些问题,确保百分之百理解清楚了。

3、怎样着手解决问题

那一搞明白了问题,就开始动手写代码?错!一个伟大的程序员应该按照规划,开始思考面临的多种选择,基于问题开始考虑最好的解决方案。我觉的这像一场国际象棋比赛。你知道每个棋可以怎么走,知道所有的游戏规则。但是你会马上走棋吗?不,你要审时度势,制订计划,紧盯对手,分析其通常的做法。和这一样,在你coding解决问题以前,你也要这么做。

看看问题,计算出需要怎样的结果,你的时间能怎么安排,预期的质量,你必须用的工具,好了,开工吧!

程序员个人职业生涯成长公式


微软有些部门以成长公式的形式从为什么(Why)、做什么(What)、怎样做(How)和在哪里(Where)角度为员工计划自己的成长提出了方向。比如某部门提出以下公式:

当然了,微软和其他公司企业文化、制度、对员工要求、为员工提供的职业生涯发展条件各有不同,所以微软的公式并非对每个人都适用。不过该模式有5个要点是值得我们注意的:

(1)我们每个人都应该思考和认识到为什么要努力成长?比如因为我们都希望自己不断充实提高,能胜任微软的本职工作,也希望能高质量完成任务,成为优秀员工,为用户和社会做贡献等。

(2)至于要做什么才能算是在成长呢?首先就要考虑本职工作,也就是分给自己要完成的所有任务。在微软这样的特别强调和积极实行创新和发明新技术、新过程的公司,每个员工当然也要跟上新要求、新形势,因此也要积极学习和积极参与新技术和新过程的创新和制定。此外也应该承担额外责任,帮助其他团队成员和团队建设;还应该计划将来的职业发展目标,并把个人目标计划和团队、公司总体目标结合起来。
(3)做什么明确了,还要注意怎样做。微软要求员工参照公司的胜任能力要求和团队对各员工的特定要求。

(4)至于员工职业生涯成长的目标和计划要在哪里留记录和追踪,微软是用职业发展指南针网站,也是微软员工年度考核网站的一部分。

(5)自己的直接上司应该对帮助员工职业生涯成长负很大责任。虽然员工自己要对个人的成长计划目标明确和积极努力,但还需要自己的直接上司(manager)的指导、支持和帮助。

如何从优秀的程序员成为伟大的程序员[3]


8、团队奉献

你可以是团队中最棒的那个人,可是如果你不是最好的程序员、不是建筑师、不是团队里最有活力的人,那么对我来说,如果你不能分享或对你的团队有帮助,你的价值就会大打折扣。一个好的程序员会使自己周围的人同样强大起来。试想一下,好程序员会不断完善自己的知识和能力,如果他们不和周围的人分享他们的知识,他们从哪儿能获得更多呢?

他们不断学习新东西,发掘新技术,但是不会让其他人知道他们这么做了。一个好的程序员会准时完成方案,但是那是在催促和团队得不到休息的前提下。然而一个伟大的程序员则会与团队中所有的项目保持联系,在需要的时候还可以出手帮忙。他们会如是说:我注意到A团队的项目进行到xx进度了,如果不介意的话,我想我可以帮忙?

9、做好会议记录

做好会议记录绝对至关重要!开会期间,大家花大量时间来说明了新观点、新主张、集体讨论还有提出了新设计方案,可是会议结束后却没有人可以拿得出会议记录,简直没什么比这更糟糕的事情了。即使你有会议大纲,我还是期望见到参会的每一个人员都可以带着纸和笔(当然对于程序员来说笔记本则堪称完美).一个伟大的程序员会注意到这点。他们会记下所有的会议记录,并且在会议结束的的时候说:就刚才的会议,我着重记录了几点:XX 我是否记录全了呢?

接下来,伟大的程序员就会把他做好的会议记录分发给项目管理者,列出会议时间、会议主题和参会者。接下来,是会议项目的标题和重要条目。在这之后,就是这些议题的详细记录。一个好的程序员没有做会议记录,并在会议上对提出的每项事宜都点头称是,那只能寄希望于他的记忆力足够好了。随后,他会给你发邮件让你看看他的改动,你得回头提醒他忘记的不多,百分之九十的都没错。--这不是浪费时间嘛!根本不是这么回事!所以,做好你的会议记录。

10、孺子可教和接受批评

如果你读到这儿了,就表明你有希望接受这些建议,并在以后的开发行动中尝试执行。对,程序员的另一项重要能力就是向他人学习并且能够接受批评。通过把自己变为一个虚心受教的人,像海绵一样快速吸收大量知识,毕竟在编程的路上你还有很多前辈。当然,也许他们在写代码的岁月里慢慢生了锈,甚至伤痕累累,但是他们毕竟曾披荆斩棘跨过无数的坎儿。对于做出正确决定,他们又着瞬间的本能,让你不得不服。处于他们这个位置,很乐于见到你的成长和成功。

所以,只要你是个伟大的程序员,就会理所当然的拥有理想的工作环境。如果你不断改善技能、虚心好学、在别人给出的意见和批评中总结错误并得以改善,我向你保证你将会成为一个伟大的程序员而不只是想象自己变得伟大而已。如果你总把自己想象成为精英而不进步,那你只是自欺欺人。如果你不成长,你甚至不能停留到原地,等待你的只有灭亡!

如何从优秀的程序员成为伟大的程序员[4]


职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。

11、公司需要的时候总能出现

这如同等价交易。如果你为一家伟大的公司工作,他们会给你足够的弹性。公司不会限制你如何工作,不限制你开始或结束的时间,也不会限制你什么时候停下来歇歇。公司会鼓励你在休息时间做做操,甚至会在你和团队成员出去吃饭的时候为你们买单在繁复大量而紧张的工作后,公司会放你几天小假。诸如此类。

然而,毫无疑问,与前面的这些美事儿随之而来的是责任。如果赶上时间紧还得出活儿,伟大的程序员则建议你即使在周末也要加班。即使干得再晚也得把活儿干完。你看,伟大的程序员是要为自己的创作负责的。这虽不是必需的,但这是伟大程序员的标志之一。有些人只想朝九晚五的上班,他们可能不错,但是成不了伟大的程序员。伟大的程序员是团队中干到最后的那个,把作品视为完美的艺术,与团队成员亲如一家。

12、衣着职业化

你永远也不知道一个客户会什么时候突然拜访。你也永远不会预知什么时候突然要参加一个会议,不是每一件事都在计划中的。你得随时准备好展现自己。一个好的程序员周一到周五穿着普普通通,甚至有可能穿牛仔装和运动鞋来上班。在某些周五,他们穿着T恤,短裤和运动鞋出现。当一个客户突然在周五出现,要谈一个大项目,你没法把衣衫不整的他一块儿叫上。

一个伟大的程序员周一到周五都穿着职业化,衣服也能带来成绩。如果你不在意穿着,你也会因为穿的太奇怪而得不到晋升。毫无疑问,套装和领带还是很能提升你自己的。我向你保证,一套得体大方的西服套装会让你在今年就觉的物超所值。

13、沟通能力

这是另外的判定条件。这世上有太多优秀程序员,却没几个伟大的程序员。为什么呢?因为大多数程序员不善交流。交流的层次很多:从发电子邮件、参加小型SCRUM开发小组会议到大一些的主管会议,水平逐渐提升。这样你就能在数百人参加的会议上自如地展示你的软件。在会议上你不需要有好演技,但是至少要清晰明了地表达你的观点。你的沟通能力越强,你的职业道路就会走得越远!

概要:想要成为管理人员,你的沟通能力得分至少要打到9到10分。甚至你在会议上只讲了几分钟,或只一个小汇报,你都需要非常好的表达能力。别只是在你的每天的工作日志寥寥写上修补1371个bug,你要做的是尽可能描述清楚如何在这么艰难的情况下解决了问题。阐明你的方法,说明你如何保证这个bug不再出现。你就不再为你的日志发愁了。这会是你向经理展示自己的精彩演出。

14、目标设定的技巧

好的程序员日复一日的做你安排给他们做的事情,贯穿始终。他们并不往远看,不对明年、5年甚至10年后作打算。一些好程序员虽然知道自己想要什么,却没有具体计划去实现。伟大的程序员则给自己订立年度、未来5年的目标,而且大概预期到自己10年后的发展。

伟大的程序员有了目标不会只是想象,他们会具体实施。他们会根据具体情况,在预期的时间做具体的事情。他们会详细地制订明年的计划,包括要上的课程、要完成的项目甚至包括他们需要建立的人际关系。

程序员你真的只是程序员吗[1]


你是不是感觉标题有点矛盾啊,是啊,程序员当然就只是程序员而已嘛,还会有其他什么吗?

No,No,No,如果你以前是如此认为的,那看完这篇文章后,请从此打消这个念头,因为你要改变成一个不一样的程序员(怎么还是程序员?)

虽然我工作经验也就6年左右,但经历了很多,也自己创业过,也是从一个初级程序员走起,因为看的比较多了,某些东西也普遍存在着很多程序员身上,希望自己的经验能帮助你们。

当刚踏入程序员这条路的时候,有幸为一家公司开发一个大型的电子商务网站,因为这篇领域当时还算刚刚起步,自己的编程能力还不太好,所以做起来就比较吃力,每天重复着做完PM给的工作,但是做了大概几个星期,我发觉某些地方真的不合理,但自己又仅仅是一个程序员而已,怎么办呢?我还是按照PM的任务一步一步来做,私下里我用了大量的时间去尝试着我的做法,在接下来的几个星期,我试着跟我的PM进行沟通,他也发觉不错,所以一并写了方案提交给上级领导,很好的是,我们的领导发觉建议还不错,所以改变了原先的策略,对我们的网站原先的设计进行了彻底的推翻,一套新的理念就此诞生了。

这只是一个小例子,并不是炫耀自己的能力,我只是想说,程序员,你其实不仅仅是worker,更应该是Ideaer。当你选择程序员这条路时,如果你仅仅为了工作而选择的,我想你的人生真的很灰暗,为什么这么说呢?我面试过很多人,大多都是从培训中心出来的,虽然我也是从那里走出来的,不过我当时是为了学习编程而去培训,但现在更多的人会为了工作而去培训。其实如果你是真正的选择程序员这条路,我想你的思维能力一定不错,因为一般程序员大多是理科出生,理科靠的就是你的思维能力,在某些时候或许你的思维还不够敏捷,但我知道,每个人在接受了一段时间的工作后,就会产生各类的想法,或许某个想法你会改变你公司的命运,可为什么提出观点的人就寥寥无几呢?

我想可能是因为性格吧,因为很多程序员都是内向型,因为我们需要花一定的时间,去沉醉在代码中,因为这是一个奇妙的世界,无法自拔,所以很多时候就忽略了沟通,因为我们打交道最多的是abcd。如果你正是如此,希望你快点走出来吧,分清楚何时沉醉,何时交流才是最好的。我的偶像-唐骏,我看过他的访谈,他在大学时还是一个不会沟通的人,只是偏执于技术,而且和大多人一样,都会觉得自己什么都会,什么都行,是个天才,但在他大三的时候,他意识到了错误,花了几年的时间去学习交流、沟通,在宁愿委屈自己进入微软做程序员,再到无数次发意见给Bill,一步一步成就了这位打工皇帝。

所以,我们每个程序员要做的是,技术和沟通并行提高。在唐骏的话中,我会学到很多东西,他能从容应对每一次挑战,当时有幸成为唐骏的下属,见证过他的能力,虽然他当时只是个技术总监,但他的想法、创意给盛大带来了无比的利益,我不得不佩服他的胆大,不得不佩服他的能力。从他身上还学到了专一,其实很多程序员会在编程的道路上三心二意,这是很正常的,不过我相信一段时间以后你会学会专一的,因为程序真的很美,带来的不仅仅是工作和薪资。

我这里又不得不批判一些年轻程序员了,他们仅仅看中的是工资、福利等,没错,这是考虑工作的一点,但你要知道,有些时候,你第一点的工资,或许你会学到更多的东西呢?我经历过很多,经历过1年工资翻几番,又经历过折一倍,又经历过小公司,又经历过大公司,各种各样看的实在是很多,但我不会说我自己半途而废,因为每次我会把事情做的觉得自己可以了,我才会选择更好的发展前景。我面试过一些人,工作也就2,3年,做过的东西也很多偏向于OA、ERM等项目,就觉得自己很了不起了,工资也是漫天要价,可真正面谈的时候,我才得知,你仅仅是其中的一个小模块,但当我问其项目的整个运维的时候,就会楞个半天,最后来一句,这个模块不是我负责的,敷衍了事。那好,我问你自己负责的模块,如何具体写的,用了何种方式等,基本都会回答,三层架构,什么什么,My god 三层架构是你一个模块就能体现的吗?那好,既然你说三层,何为三层,三层的优点,缺点在哪里?诶~~~~~前几天首页那篇批判大学生的文章,我觉得写的太好了,你们这是在沉醉吗?如果你不喜欢,你为什么非要选择程序员这条路呢?

把自己当作朋友,把成长当作兴趣


职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;

刘同曾说谁的青春不迷茫,其实迷茫不可怕,可怕的是无处寻根的迷茫最后演变成内心的压抑与焦虑。无论对于谁来说,成长都是一件非常有意义的事,而它也是我们驱除焦虑最有力的武器。

你是否也有一种时间紧迫感?

我喜欢充实但不瞎忙的生活。如果一天下来,感觉内心很空虚,我就会觉得这一天白过了,内心的空虚感经年累月就会变成一种焦虑感。不满现状,又不知道方向在哪,或是想改变却发现有心无力。总之,只是任情绪发酵,能力和心境却得不到改善、提高。如何跳出这个怪圈?我的方法是赋予生活更多具有意义感的时间,以此来打掉那些无所适从的紧迫感。

我的生活从下午六点开始

如果说工作只是为了经营生活材料,那真正属于我的生活是从下午六点开始。吃过晚饭,整个公司都安静下来了,我可以做一些自己喜欢的事,享受那些独处的时光,正是这些时光带给我生命上的滋养。打打乒乓球、听听音乐、看看电影、写写文章、定期关注自己喜欢的一些综艺和视频节目。

其实真的能将工作和生活完全分割开来吗?参加工作时间较长的人都会有这样一种感觉,下班后不再谈及工作,甚至话都变得很少,这其实是一种心理逃逸,将心理状态由工作时的紧绷、理性转换到自我世界里的随性、本真。不得不说,我们需要这种心理逃逸,逃回到自己真实的内心世界,以保持本性和社会角色间的平衡。

为了和生活成为好朋友

——培养自己的美感

有人说,世界上有两种东西最接近上帝,一种是诗歌,另一种是音乐。当然上帝赐予人类的精神福祉远不止这两项,美的范围很广,音乐、电影、舞蹈、或者是一纸楷书、一道数学题、一沓纸鹤。对于那些美的事物,我们需要去发现、去亲近,不为附庸风雅,也不图凭其飞黄腾达,只是让生活变得丰富、细腻起来。如果有一天对之前的“美”不再感兴趣了,那就放手还自己自由,然后再去找别的“美”,总之与美为伴却不强留。

——提高自己的哲学修养

我曾把人的智商分为三个层级:物理智商、情感智商、哲学智商。三者之间是一种并列递进的关系,分别作用于我们智力反应弧的前端、中断和末端。

不同的思维站位深刻影响我们的路径选择和生命宽度,生活中有很多非常聪明的人在思维高度上却不够,在处理问题的角度上容易出现问题,让自己频频陷入情绪的漩涡。

在我看来,最高级的人文哲学是美学,演绎那些简单、纯粹之美,以发现美的视角去看待世界、看待人,因为只有美学可以驾驭人性。

——和自己做朋友

中国人之所以缺少快乐,我觉得很大一个原因是我们人格养成和外在环境间的冲突。这种冲突表现在生命意义感的模糊,财富能力和物质欲望间的巨大差距,自我心理救赎的失败。生命形态的多样性或者说生命意义感的重要性,我们很多人对此麻木不知,或者说衍生出这种意义感的可能性在我们很小的时候就被抹杀掉了,比如对一件可能会荒废学业的事情的喜爱,好奇心的满足、放大,对于大千世界的审视与妄想。

似乎我们更习惯把自己看作敌人,其实这正是我们心理救赎失败的原因。白岩松曾说:“人跟自己的理想、事业、同伴、生命都是一场谈判,从来不会有单方面的获胜。只有双方妥协才是一种获胜。我们怎么才能够让生命完全按照自己设想的方向行进呢?这就不是谈判,是对自己生命发动的战争。如果纠结于此,要么我们把自己逼死,要么宣布彻底失败,而生活从来没有什么是绝对的。

如果还没有梦想,那就把成长当作自己的梦想吧!

对学习来说,如果只是纯粹的功利心在鼓动,学习未免就成了一件让人觉得痛苦的事。成长本身就是一件极有意义的事,虽然不能和成功划等号,但它不会让我们失望后悔。最快乐的学习方式就是把成长本身培养成一种兴趣、习惯。

经营自己的程序生涯


这个问题很多人都想问,也都想知道标准答案。我这里没有答案,我跟其他人一样,也有困惑和迷惘。有时问自己:到底算不算个程序员?自己的程序员生涯到底如何继续走?这类问题有时真的很伤神,但不得不想。

把公司类型分为三种:

1、国内中小公司或创业型公司
2、腾讯,百度,盛大,阿里等已有一定规模的网络新贵
3、外企大公司

目前,也就是这三类比较典型。

那么程序员的选择呢?

应该说,能够做程序的,智商一般不会太差,这不是自夸吧?能够做好程序员的,要求就要高一些,这不仅仅是IQ,或者说单方面的技术能力或与团队成员相处的问题。而规划好自己的程序生涯,就是很不简单的一件事情了。

首先,区分一下概念:程序生涯不等于职业生涯。程序生涯的结束也远不是职业生涯的完结,很可能只是一个新的或更高的起点。这里我们只限定程序生涯。

一般人从学生时代起,开始接触程序,工作后,开始正式从事这种职业,外人称我们为程序员。当然,也有人是半路出家的,我身边有好多朋友都是,包括我也是半业余半专业的。一般会从Coder或Designer或DBA做起,慢慢掌握一到多方面的技能。慢慢地,工作两三年后,经验不缺了,水平提高 了,理解增加了,于是有更高的追求境界,这是再正常不过的选择了,天经地义。于是,换更好的工作,得更高的收入。再过几年,可能成家、买房、小孩教育一系 列问题也随之而来。这时候,麻烦可能来了。

高额的生活成本压力下,你不能再随心所欲地换工作,你必须要稳妥处理各种关系,让你的家人过得安稳、温馨。因为,你不再是孤身一人漂走江湖。在这个现实的社会中,什么才是你的正确选择呢?这时候,书本的知识、别人的经验都不管用了,因为,这是整个社会面临的新课题。

于是,很多人迫于生活压力,不得不选择第2类。当然也有人选择第3类。前提是要么你年轻,要么你具备丰富的项目管理经验、或者可替代的业务能力。

这之后,还是有绝大多数人一直在第1类公司进出。这里有个原因:从第2类、第3类公司出来到第一类公司淘金者,刚开始都会有一段蜜月期,公司委器重你的才华和经验,于是,你全力贡献,它全力消化。两三年后,三种结局:

一种是公司由于各种原因一直上不了台阶,你失望,老板绝望,你走人。
另一种你适应了这里的环境,公司也从你那里吸收了足够的养分,你被架空,被迫走人。
最理想的一种,你和老板一起突围,你的付出得到了应有的回报。这是万一中的万一。

在文中说了,我在看了一些职位的描述信息之后,发现经过两年半的创业生活以后,我已经难以适应大型外企的工作方式了。在那里,每个人都是一个螺丝钉,每个人都要在严谨的工作流程中做好螺丝钉的职责。而我,更希望在一个有挑战,并且在一定程度上发挥创造力的地方工作--没错,创造力,这是一个很现实的矛盾,你不适应了。于是,不得不再一次开始,开始新一轮的挣命,尽管每一轮过后,我们认为自己已经足够成熟。

如果人生可以回头,我想很多人都会有正确的规划,然而正如乔致庸所经历的尘缘苦短,叹人间路长,不能够容我细思量。这一路起来,充满着希望,又饱含着失望。在这无际的奋斗中,不知不觉我们鬓已霜。

绝大多数的人程序生涯不会超过十年,即使外部条件允许,你自己的身体有时也会不给你面子。在这有限的时光里,我们,究竟能做些什么呢?

邀月的建议:既然不能掌控大势,那么先修炼自身。经验也好,教训也罢,每一次的经历后,要有比较深入的反思,人最大的财富恰恰来源于此!不奢求能吃一堑长十智、百智,至少不要只吃堑不长智,如果人生吃过三、五次还不长进,可能上帝都会跟你急!

一个可行的法子是:一天一天过。是的,每天都问自己,每月问自己:我做了什么?我没做什么?我花多少时间在经营自己?

不要沉溺于菜场流连忘返,不要在扎堆的网游里不能自拔,问问自己:我有多少岁月可以虚度?也不要沉迷于代码中,多花点时间理清思绪,除了代码,我还欠缺什么?我的强势又是什么?想想自己的事业,一个可以让你为之奋斗一生的事业,如果有了,那就做吧,倾力而为吧!为什么不呢?

古人日三省其身。我辈愚钝,惟有勤勉,以待天机!