程序员个人简历模板。

职业规划是对职业生涯乃至人生计划的过程,职业生涯规划的好坏可能将影响整个生命历程。感谢您阅读《程序员技术升级指南》内容,职场资讯网小编向您推荐一些职业规划知识,欢迎参考,希望能帮到你。

本人做软件开发已将近一年,在这说多不多说少不少的一年时光里,从一个编程菜鸟慢慢升级为一个代码工人,实是感触颇多,今天便趁着喝了几杯老酒,来个一吐为快!

我们做软件开发,首先便要很明确我们的目标和实现目标我们所要采取的手段,以下便是本人对软件开发着所经历的几个阶段的一些总结,当然,其中会有不少偏颇的地方,还请高手指正,不断学习!

第一阶段:入门篇【编程菜鸟】,所谓师傅领进门,修行靠个人,无论我们学什么东西,我们所走的第一步便是入门!而现在,随着编程技术的不断发展,入门对于很多人来说已经不难,但是我还要说说我对编程入门的一些看法!在入门阶段,我们会学到变量,函数,抽象,多态等一些软件编程的基础概念,当然我们也会学到面向对象的编程思想,我个人的学习便是不断地思考,要的便是走火入魔,记得刚学C语言那会儿,冒泡排序想不通,便不停地想,突然想通了,却是在梦中想通的,说出来可能有点夸张,记得那个晚上,睡前还想着这排序怎么实现的,想着想着就睡着了,然后突然地就这么想通了,然后连忙爬起来,一看才知是半夜,别人都睡了,夜很静,就只有再睡,但是却是一身轻松!不断地思考,天天带着问题,不懂就问,这样才能最快地入门!

第二阶段:进阶篇【代码工人】,当我们对编程有了一定的了解,有一定基础,能实现一些简单地功能之后,我们便进入代码工人的阶段【本人正处于这一阶段】,在这一阶段,我们的目标便是实现一个简单的项目!正如学剑法一样,我们之前学到的都是一些零碎的剑招,如上传,图片水印,ADO数据操作等等都是我们能做的简单功能实现,而这一步,我们便是要把这些功能连接起来,组成一个完整的项目,练成一套完整的剑法!而在项目过程中,我们首先想到的便是功能实现,但这还不够,我们不止是要功能实现,我们还要代码的规范性,各个模块的统一衔接,还有功能模块的效率实现,界面实现,操作实现,软件亲和力实现等等问题,都是我们要思考和历练的,要能举一反三,不断地提升自己的技术水平!

第三阶段:入行篇【程序员】,当我们进入第三阶段,我们才能称得上是初级程序员,通过前两个阶段的历练,我们能实现一个简单地项目了,但这远远不够,在这一阶段,我们要进一步提升自己的技术开发水平,我们不止要着眼于一个编程语言或是一个编程框架,而是不断地扩展我们的视野,通过学习,比较,再学习,构建我们自己的编程理想,最终所达到的目标就是我能写的代码,所实现的功能是别人不能替代的,我的技术实现,编程理想是也有自己的烙印的!在这一阶段,我们着眼的重点就不只是某个功能的实现,而更多的是框架的思考,怎么编程使我们的项目更健壮,更有扩展性,更安全等等,我们的思考点是我们整个项目,慢慢从全局去把握项目!

第四阶段:高手篇【软件工程师】,经过第三阶段的历练和一定时间的积淀,几年之后,我们便进入第四阶段,也就成为真正的软件工程师!从这一阶段开始,我们便要从软件实现转向软件设计,也就是软件设计者,而且我们的把握力不只在一个项目,而是多个项目,我们要同时能设计多个软件,选用最适合的开发语言和开发框架,对项目开发过程中遇到的问题进行指导,而且能对一些难题进行创造性的攻关,那时,你就是项目的核心和灵魂,所有的项目开发工作都围绕你出发,得失成败系与你手!

第五阶段:一流高手篇【软件开发顾问】,这一阶段,是建立在丰富的开发经验,项目经验的基础上的,那时的你就不只是单单对着软件开发了,而要有更广的视野和更敏锐的洞察力,对软件工程师进行指导,那时的你不能单单思考一个项目,而要全局思考,你所做的软件,不再只是一个项目或是产品,而是一种思想,例如你做财务软件,那么在这个软件里就必须要有你对财务管理的独特的思考和创造性的软件实现,那时的你,通过多年的磨练,对各种各样的项目有着全局性的把握,不仅如此,你还有与软件相关的专业知识,如财会,管理等等,而且在这些领域有所建树,你所要完成的工作就是对整个软件注入新的生命与内涵,例如游戏软件,中国人做就要有中国人的文化底蕴体现在里面,而不能一味地拿来主义,那时,软件对你只是一种工具,实现你对完成各项工作所思考理念的一个实现工具,你所做的某一个软件,就可能成为这一软件领域的标杆,用古语说:那就是一种道!

第六阶段:天下无敌篇【布道者】,到了这一阶段,你已天下无敌,你的一句话甚至能影响这个软件行业的发展,那时的你,恕小弟愚钝,我已无法窥测你的发展!

酒喝完了,牛吹完了,各位同仁,你处于何种境界呢,赶快升级吧!

精选阅读

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


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

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

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

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

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

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

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

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

程序员如何避免新技术焦虑症


随着Java成长和腾达起来的一代人(其实不少也就是我的同龄人),又开始重蹈覆辙。面对以Ruby为代表的新兴动态语言的蓬勃发展,他们也有点坐不住了。靠革命起家的人最怕革命,当年的下里巴人翻身做主了,摇身一变成阔佬了,就开始对新的革命力量摆谱使脸色,甚至以FUD战术加以弹压了。与当年如出一辙,手段还是以攻为守,情绪还是慷慨激昂,笔法还是义正言辞,什么Ruby未经验证啦,什么Ruby性能低劣啦,什么Rails可扩展性不佳啦,什么Ruby不能解决大型的、复杂的、企业级的、高性能的问题啦。最要命的是,哪怕自己90%的时间不过是在字符串处理,这些阔佬们也还是一致宣称自己做着世界一流的、大型的、复杂的、企业级的、非Java不可、没Java不行、没Java就要上吊抹脖子跳楼挖坑的巨牛无比的大项目,听着让人心惊肉跳兼之无比崇敬。你说Java还能火几年?我说怎么也得5年!5年?那是上升期!少说十年,后面还有平台期。你还别不服,反正我退休之前Java说什么也别想凉下来,谁也别想威胁我的顶戴花翎。企业级啊,架构师啊,经验啊,高手啊,我混成这样我容易吗我?谁冒出来我就跟谁急,我就用口水淹死他!

他认为程序设计语言是各领风骚三五年,早先是C++的天下,后来是JAVA,现在该轮到以Ruby为代表的动态语言了。(其实我发明的Koodoo语言也是动态语言,),他说的固然没错,技术的潮流让我们这些程序员疲于奔命,苦不堪言。

其实也没有那么可怕,和硬件相比软件的寿命是很长的。谁还会用五年前的电脑呢?但10多年前我写的程序,现在还有客户在用,因为软件是柔软的,和硬件不一样,硬件很难升级,过时了就一扔了之,软件可以根据形势发展升级改造,因而相对稳定。

对新技术和新语言,固步自封当然不对,也不必要盲目跟风,这些年出现了多少昙花一现的技术?对新技术的态度是,保持关注,看清楚它里面的核心,技术的潮流向来不是空中楼阁,一定有内在的传承。

适度的学习,至少,每个月买一两本新书,可以减轻新技术带来的焦虑症。

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


或许上面写的比较偏激,但真的是很普遍,我想告诉你们,你们虽然只是负责一个模块,但无论如何,请要知道你的项目到底是什么,如何运转,哪些地方好,哪些地方不好,因为这是对你自己的一个提升,也是对公司的一个负责。说到负责,我不得不说责任感,很多人就是缺少了责任感,以为完成了任务就可以了,但你要知道,你的公司或许等的不是你的完成呢?

请您拿到项目需求的时候,分析一下您要做的东西,用你敏捷的思维想一下,该如何去做,还请您多想想下一步,如果扩展了,我要改哪些地方,最重要的是,请您想想,这个任务对公司是否有利,或许你会说你只是个程序员,我没有权利去改变任务,没有错,你是个程序员,首先请你完成你的任务,在完成任务的同时,想想任务的完成对公司的运营是否起到反作用,因为有时你会比你的老板更了解项目对公司的利弊。如果你真的觉得不太好,不要怕,提出你的观点,但一定要想好你观点的描述,尽可能的表达清楚,让你的老板知道你的意思,因为老板他不一定懂技术,所以一定要白话一点。如果你的观点是正确的,你们老板也听明白你的意思了,那样你们老板会更加的器重你,而不会不可理喻的让你完成他所要的东西了。毕竟这是对他好的建议,也是对公司发展好的建议,如果你的观点不好,那样老板也会给你一定的提点,何乐而不为呢?

下班后,请你抽空想想公司的发展吧,因为你是公司中的一员,公司发展前景好也代表着你的发展前景好,如果你的想法给公司带来了好的前景,那也是对你能力的一种肯定。

最后说说面试,我也经历过很多面试,同样也面试过很多人,刚开始也会为工作着急,到处找面经,但最好的面经是无法从其他地方找来的,因为面试是一个展示自己的机会,而不是一再的ctrl+v 。刚开始我也会紧张,但马上,我调整了自己,每次面试就当自己一种磨练,一种交流、沟通、展示的机会,随后的几次面试都比较成功,再随后的几年,我回到了老公司进行面试,显然他们对我的能力已经是一个肯定了,最后我还是没有选择他们,因为我回去面试只是为了看看公司的发展进行的如何了,因为这一切也有着自己的一份努力。最好玩的是一次邮件面试,对方给了很多题目,大多是网上都有的,我也没有baidu,用自己的想法回答了所有的问题,并提出了很多意见,没想到对方回错了邮件,把他给人事的邮件发给了我,貌似是说面试还可以,就是工资高了点之类的话,我也懒得继续往下看,回信给对方,发错邮件了。过后不久收到对方的面试通知,更确切的说是offer,不过在他电话中我直接给回绝了,因为我已经在一家自己喜欢的地方就职了。

我爱我的公司,我爱我的程序,我也爱我的老婆和家人,因为他们给了我快乐,也给了我支持,让我能更全身心的去投入到代码之美中,我更相信公司能异军突起,成为IT界的领军人物,因为我看到了一群为公司孜孜不倦,辛苦能力的同事,我很爱这种氛围,我相信我们的努力一定会给自己带来收获,就算没有收获,我也没有任何怨言,因为我沉醉了,因为我快乐,因为我是个快乐的程序员。

程序员犯的非技术错误(Top 5)[2]


然后,好的沟通者是那些当他们正在解释一些事情的时候,他们的解释是下面这个样子的:

专注。不跑题,没有废话。

清晰。 很容易听懂。

简明。 加一点就觉得多,少一点都觉得不够。

要有一个好的沟通技巧,我们的建议如下:

如果你觉得你沟通方面不够好的话,请事先准备你要表达的东西,努力做到专注,清晰和简明。

在交谈中,先听,后想,最后再说。

永远从对方的角度思考问题。

4.- 忘了用户

如果我们不关心我们的用户那么别人会

你的存在,你工作的意思只有一个原因--你的用户。我们在很多时间都会忘了这个事情。经常,我们在工作当中,技术会取代用户而占据了主要的位置,我们可以花费数月的时间来创建一个程序框架,但一个程序框架不会给用户代来任何的价值,我们不是说程序框架不重要,而是说,对于用户的需求来说,这是其次重要的东西。如果离开了用户的需求,我们所有的技术,算法或是精妙的设计将会变得什么也不是。

5.- 不懂工作的轻重缓急

程序员总是喜欢去研究一些新的或自己感兴趣的东西,但对于软件工程来说,我们更需要知道所有事情的轻重缓急,要学会如何了解事情的优先级,这样才会让我们的工作事半功倍,而我们的工作也会更有效。比如,当用户的站点出现问题的时候,有些时候,我们的程序员过试地关注于问题的重现和原因,而忘记了用户的站点正在流血,无法进行生产。所以,一般来说,最重要的事情首先是恢复用户站点,然后才是去重现和调查问题。在我们的日常工作中,我们要处理很多事情,只有了解到了所有事情的轻重缓急,处理最重要最紧急的事情,我们才能够更好的安排自己的工作,才能够更好的完成我们的事情。不要以为这是一件很简单的事情,这需要我们不断地和别人沟通来了解事情的轻重缓急,事实证明,如果我们不懂工作中的轻重缓急,本来只有一件紧急的事情,如果处理不当,最后可能会演变成多件紧急事情,其它本来不紧急的事,后来也会变得很紧急,最终程序员们顾此失彼,苦不堪言。希望大家切记。

程序员犯的非技术错误(Top 5)[1]


对于程序开发者来说,有两种技术需要我们掌握,一个是技术上的能力,另一个是非技术上的能力。不幸的是,许多程序员过多地关注了技术上的能力,而忽略了非技术上的能力的培养,因此,我们的程序员们经常会有一些很不好的习惯,这里我们例举了程序员们最常犯的5个非技术的错误,与大家共勉。

1.- 缺乏团队纪律

Discipline is the bridge between goals and accomplishment. Jim Rohn.

纪律是一个最有价值的技能,不仅仅只是在软件开发领域,同样在其它领域也是一样的。但对于现实来说,我们很难找到即有才华又有纪律的人。这正如足球队一样,非洲的球员们才华相当的出众,可惜他们总是独自为阵,团队纪律性不足,所以可以有好的成绩,但却无法赢得最后的胜利;而德国队的队员个人技能平平,但其有很强大的团队纪律性,所以,总是能打入最后的决赛并获得冠军。有人说过,个人英雄并不可怕,而有强大纪律性的团队才让人可怕。这正是日本这个民族的可怕之处。况且,软件开发从来都不是一个人可以完成的事情,所以团队工作中的纪律性会是非常重要的。

Steve Pavlina 强调了自律中5个因素:承担, 毅力, 努力, 勤奋, 和坚持。 这里,我们强烈推荐你读一读Steve的 关于自律的文章。

下面是我们觉得程序应该有的比较良好的习惯。

每天都有自己的to do list

在一个时间内只做一个事

把事情做对了

事情没有完全完成时不要轻易结束

慢点总比道歉好,道歉总比不做好

2.- 过度自负

我们的经验告诉我们,过度的自负的人一般是意识不到自己的自负,下面是一些过度自负的特征,希望你可以从中检测一下自己是否过度自负了。

觉得自己是最牛的程序员

总是打断谈话

你要求Code Reivew不是要检查代码,而是向大家炫耀你的代码

3.- 沟通不畅

如果我要说十分钟,我需要一周做准备;如果说15分钟,我需要3天做准备;半个小时,我需要两天;如果说一个小时,我现在就准备好了。 Woodrow Wilson

人类的沟通是我们最主要的活动。成为一个好的沟通者是一件很难的事情,我们不断地和别人交换关于设计,编码,文章的意见,并且我们每天都在试图说服别人我们自己的设计和想法会更好,更有道理

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


4、对代码的信任

作为项目管理者,你怎么相信他们的代码。有些程序员,你可以对他们说:我星期五就要结果.--星期五到了,你收到了这样的Email:代码我都已经检查过了,现在就等着测试了。你很放心,只会有很少的瑕疵在质量确保的团队被查到。当然,还有些轻率的例子,一些程序员在邮件里是这样说的:我还没弄完,星期一上午我会最先完成它.你不太确信这东西,发现很多Bug,很长时间基本上不能用。又得花上几个星期清理代码中的Bug.

关键:你对一个开发人员越有信心,他离成为一个伟大的程序员的距离就越近。想象你是你的管理者,如果他并不担心你的代码,会给你多少信心和勇气!

5、对方案的信任

和对代码的信任是一回事--如果你手上有伟大的程序员,你就会对解决方案有信心。这些程序员同时也是伟大的建筑师。他们剖析整个问题,指出问题需要怎样去解决。这就不只是用伟大的代码编程的问题了,很大程度取决于你怎样构筑解决方案。这是关键,而且会让你在软件世界里出类拔萃。

6、满足客户需求

一天下来,你写出了最棒的代码、用了最好的框架和最好的解决方案,但这真的能迎合用户的需求吗?恐怕根本不是那么回事儿。你搞砸了。尽管现在多次失手,一个伟大的程序员还是会正中靶心,找出客户需要的,给用户逐步展示他们所需要的无bug的最终版本。需求正中靶心的同时,用户满意了。

7、不断升级

伟大的程序员会积极主动地把自己的技术升级。他们对知识的态度就像饿猫见着了牛奶,他们从不用上级催促给自己设定目标、不用经理要求他们完成任务,因为他们自己就已经安排OK了。

他们发现自己想要参加的大会就会给公司写Email本人非常想参加今年的Tech-Ed大会。我将用心研习,并对作出贡献。我预计这可节省金钱/其他原因.如果可行,不知公司是否帮我支付此行?如果我收到这样的邮件,我不仅会帮他支付参会费用,他的路费我也会全程买单。

伟大的程序员们永远会关注例如。net用户组或Java用户组的所有用户群体。他们参加本地的技术会议,并从中汲取知识。你会看所有最新博客和最新的杂志吗?现在列出你最喜欢的前5个开发博客。你能做到吗?你应该像参加基督教青年会那样轻松做到。做到这些,可以很好的帮助你延伸你的思路!你将会不断获得更好的点子!你会得到更好的回报!

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


15、组织技巧

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

额外要提到的:激情

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

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

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

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


8、团队奉献

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

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

9、做好会议记录

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

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

10、孺子可教和接受批评

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

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

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


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

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

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

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

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

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

2、阐明问题

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

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

3、怎样着手解决问题

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

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

程序员的“四高”


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世纪是各学科、各产业相互融合、相互促进的世纪。现代社会和现代企业不但要求我们在某个特定专业拥有深厚的造诣,还要求我们了解甚至通晓相关专业和领域的知识,并善于将来自两个、三个甚至更多领域的技能结合起来,综合应用于具体的问题。

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


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

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

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

12、衣着职业化

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

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

13、沟通能力

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

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

14、目标设定的技巧

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

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

程序员职场 别作愤青


我是清都山水郎,天教懒慢带疏狂。曾批给露支风敕,累奏留云借月章。 诗万首,酒千觞,几曾着眼看侯王?玉楼金阙慵归去,且插梅花醉洛阳。IT公司中都是年轻人,有不少还是毕业不久的热血青年,初入社会,大有四海之志,八荒之心,可社会却是很现实的,毕竟多数人还是在封闭,保守,甚至有思想的环境中工作,除了做好自己的本职工作,他们必须花费大量时间来调整自己对现状的种种不满,很多人很快就会从有志青年,变成了愤世嫉俗的愤青。大有众人皆醉我独醒的味道,且看下面的这个程序员小B的故事。

小B是一家互联网公司的程序员,毕业后进入这家公司的时候,小B很努力,并且凭借自己的聪明才智,技术也进步了很多,可小B是一个非常激进的人,他在大学的时候就特别热衷于对新技术的学习,而公司的几位老架构师,虽然经验丰富,但用的都是一些比较保守和成熟的老技术,小B曾给几位老架构师提过建议,希望能将一些先进的新技术引入到项目中来,遭到了他们的拒绝,理由很简单:新技术不成熟,以前没实施经验,不可靠。小B只好作罢。后来,随着工作时间的增长,小B发现公司存在着很多问题,比如拉帮结派,家族式经营。并且伴随他能力的提高,他对薪资的期望值也有了提升,而公司呢,对此却一直缄口不言,他经常在私下与同事和朋友谈论公司的种种弊端,加上对几位老架构师保守做法的不赞同,他逐渐丧失了工作热情,主管分配的任务,不完成,主管交待的事情,不理会,公司高层很快就发现了小B的这种工作表现,并且从员工口中也得知小B经常对公司抱有种种不满的情绪,和小B谈了几次话后,见他仍没有起色,就扫地出门了。

下面谈论下我对小B做法的看法:

首先肯定,小B是一个很有工作能力的人,而且在职期间他也能很好的完成工作任务,并在工作之余自己学习新技术,这些都说明了小B是一个很有能力的人,但为何公司最终还要将他开除呢,道理很简单,小B因为情绪的不满,严重影响了工作,这样的人,留住公司中,只能给公司造成更坏的影响,他有问题不直接和公司沟通,却在私下大谈特谈公司的弊端,不光影响自己的工作情绪,更重要的是严重影响其它员工的工作热情,没有任何一家成功的公司会包容这样的人!而小B呢,可以说他在职场上的经验太少,当公司的发展和个人的发展有冲突的时候,他应该当机立断的做选择:要么闭上嘴巴,闷头做事,用屁股决定脑袋,要么赶紧走人,而绝对不该像他那样,即舍不得离开公司,还满腹牢骚怨气。任何一个人在职业生涯中都会遇到和小B同样的情况,此时好的做法就是当机立断的作出选择:1.留下,闷头做事 2.走人。千万别做愤青!

以上《程序员技术升级指南》一文,由编辑精心撰写而成,希望对您的职业规划有所帮助,更多精彩请访问“程序员个人简历模板”专题!