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

一、心怀理想

我认为优秀程序员首先具备的素质是心怀理想。我曾说过许多程序员都是冲着比尔.盖茨而来的,是被他的巨大成功所感召的。可以说不想当比尔盖茨的程序员不是好程序员。大家要记住,比尔盖茨的成功是两个方面的成功,一个是他个人的成功,另一个是IT行业的成功。作为个人成功,只要个人能在众人中脱颖而出,应该可以说行行都可以出状元的。而行业的成功则表现出行业的生命力和朝阳性。而从事这个行业的人则能够伴随着这个行业的发展而成功。在IT软件行业中,一个好的软件通过无数复制使用能产生巨大的经济效益和社会效益,而好的软件往往是程序员所编制的,与其有很大的关联性,这就意味着程序员在这个行业存在着成功的必然可能。现实中除了比尔盖茨,还有许许多多中外IT名人都是程序员出身的,他们的成功昭示着程序员成功的可能。

既然程序员有成功的可能,那优秀程序员一定是心怀成功的理想,这种理想激励他们不断进取走向成功。我这里说心怀,是说程序员不必天天把理想挂在嘴边,而是把理想放在心里,时刻牢记自己的目标是什么!目标是成功的一半,有了目标,优秀程序员可以不断地调整自己,以最优的方式去接近和实现自己的目标。

现实中还有两类程序员,一类是也想成为比尔盖茨,但是始终是想,最终只是一种幻想。另一类知道比尔盖茨,但是望而却步,从不敢有半点奢望,做到哪就算到哪,顺其自然。这两类程序员都不具备优秀程序员的基本素质。

二、充满激情(检讨书大全 JT56w.CoM)

优秀的程序员一定是一个充满激情的人,他们的理想和目标的远大注定了他们不能以常人的方式平淡地、机械地工作着。我们很难想象一个优秀程序员不去争做一个大的项目;我们很难想象一个优秀程序员在大家遇到困难时,无助待援时,不挺身而出;我们很难想象一个优秀程序员历经千辛万苦编制出来的程序被用户认可那一瞬间,眼泪不夺眶而出;我们很难想象一个优秀程序员在自己遇到困难的时候,不大声叫喊永不放弃。对于优秀程序员来说付出和收获都是充满激情的。而他们的激情不但感染着自己,而且感染着团队,感染着用户。

三、市场意识

市场意识是许多程序员最不具备的,有的程序员甚至反感市场意识,认为软件卖不卖钱是公司的事,自己只要把程序做好了就行了。借用一句只拉车不看路来形容这类程序员是最为贴切的。有些人从事编程的确是个人兴趣所致,他们喜欢在编程中找到自身的乐趣。但是,更多的人从事编程是为了谋生,是为了获取更多的收入。程序员树立市场意识,就是要做有市场价值的软件,做价值最大化的软件。虽然程序员在单位可能无法挑选开发的项目,但是程序员可以在有市场价值的软件开发上投入更大的精力,可以在业余时间开发有价值的软件。如果公司的软件市场没有前景,程序员应该未雨绸缪,做好最坏的打算,选择更有成长性的软件公司。否则,编程能力再强也是英雄无用武之地,达不到自己的预期。做市场价值最大的软件,让自己市场价值最大化应该是优秀程序员必备的素质之一。

四、永不放弃

程序员可能和其他行业从业人员不太一样,一般遇到困难,其他人员可能进行一番战斗后,无法克服就会放弃了。而程序员遇到困难就可能让程序无法进行下去,他们必须要把问题解决了程序才能完成。优秀的程序员不但敢于解决各种编程中的问题,而且还会善于解决各种问题。有的程序员遇到问题,随便找一种方法就给解决了,他可能不问解决后会带来什么新的问题,不问是否有更好的解决方案。而优秀的程序员往往追求最优的解决方案,往往在这过程中遇到千难万难,但是他们抱着永不放弃的信念,一日复一日,一月复一月,甚至一年复一年去实现自己的目标,最终他们能收获其他程序员无法收获的胜利成果,使得他们水平高高在上。

五、团队精神

现代的程序员和以前的程序员已经完全不一样了,原来程序员是全能性程序员,现在程序员是专业的程序员。尽管还有很少的程序员集设计、开发、销售、维护为一身,但是专业化的潮流不可阻挡,这就表示一个软件或多个软件是靠多个人开发的,他们通过分工协作从事着整个制作工作。程序员写的程序不仅要给自己看,而且要给团队其他人看,当发现程序问题的时候,团队成员可以一起帮助分析解决。如果没有团队精神,任何一个程序员也不可能有真正的成功,即使成功也是渺小的、暂时的。因此要获得事业上的成功,必须要依靠团队的力量才能达到。优秀程序员的优秀之处是可能并不只是关心自己的优秀,而是更关心他周围的程序员和其他人员是否优秀。让更多的优秀的人在一个团队中工作形成一个优秀的团队,这样的程序员才是充满竞争力的,是战无不胜的。

扩展阅读

合格程序员应该具备的12种能力[1]


毕业四年来,感觉自己也是从一名不合格的程序员一步步走过来的。回头反思一下,合格的程序员有很多标准和要求,下面是我总结的一个合格程序员应该具备的12种能力。中国软件行业的崛起,靠的是合格的程序员。任何华丽的管理制度都不能保证软件项目的成功交付,合格的程序员就是有力的保证,是项目成功的基础。写下这些,是为了给刚刚进入程序员这个职业的新同学们一点参考。我一直以为,当程序员是很辛苦的,如果不是真正的喜欢,很难坚持下去。如果真的不喜欢这个职业,也该尊重这个职业,尊重自己,赶紧改行。

1. 编程语言能力

不用多说,作为合格的程序员,精通一门语言是必须的。这种精通,不是说看了一本《24小时精通XXX》,抄了几个程序就能说精通的,要靠长时间的积累和浸淫。

2.编码能力

我曾经看多很多程序员写的代码,在同一个jsp或者java源文件里,出现了三种以上的对方法的命名方式,有下划线间隔的,有全大写的,有拼音首字母的。就像一个菜市场,杂乱无比,估计10天后,他自己都无法看的懂。遵守编码规范,是一个程序员最基本的要求,可悲的是,很多程序员根本没有意识到这个问题的严重性。随意堆砌网上搜来的代码,根本不管可读性和可维护性,只要能实现功能就行了,心想做完这个项目,就拍拍屁股走人了,缺少最基本的职责素养。我经常把代码必须成程序员的孩子,你就是是孩子他爹,孩子他妈,是有感情的。对你自己的孩子,你能不仔细呵护吗?你是称职的父母吗?

另外一个就是注释,要注意不是为了注释而注释。对类,以说明职责为主;对方法,以说明意图为主;对方法体,以说明实现思路为主。对于大段大段的代码,要分段,使用空行隔开,并使用行内注释进行说明。

思维的条理性,写代码之前,先简单计划一下,用自然语言把流程写下来,用于整理实现思路。不要看了需求或设计之后,马上就敲代码了,敲完代码马上就debug。花点时间思考,敲代码只是最后一个很简单的工作,不要把自己变成一个代码打字员,编写边想,写了删,删了写。安安静静把实现过程想清楚,在脑子里先实现一遍。再去敲代码,水到渠成。

3.面向对象思维能力

如今,多数编程语言都是面向对象的编程语言。而这些面向对象的编程语言的共同的精髓就是面向对象的思想。掌握这些比面向对象语言本身更重要,比如对继承,多态,重载的理解。对面向对象基本原则的理解,比如开闭原则,接口隔离原则,单一职责原则等。在此基础上,应该掌握常用的设计模式,比如工厂模式,策略模式,观察者模式,模板方法模式,命令模式等等。我面试过很多程序员,没有一个能说得上几句的。

合格程序员应该具备的12种能力[2]


4.利用工具能力

工欲善其事,必先利其器。有了趁手的家伙,工作效率可以提升数倍。你编程序,有没有选择一个很好的IDE,以前听说编程高手都用记事本写程序,我觉得那是一种自虐。就像以前看到的一篇文章,说一帮户外旅行爱好者,出去旅游,背了重重的旅行包,里面装着什么压缩饼干等快速食品。他们宁可就着矿泉水啃压缩饼干,也不肯去1里路都不到的快餐店,农家菜馆吃饭。工具是为目的服务的,好用,提高效率就行,形式无所谓。

另外一个常用的工具就是日记本,好听点可以称为知识管理工具,我用的是myBase,感觉非常好用,在之前,我的所有的片段内容都是记录的单独的文本文件里的,非常不好找,管理也很混乱。

经常上互联网,看到好多好的资料想保存下来,作为日后查看之用。一开始,我用的是firefox自带的书签,但是自己分类太累,多了之后不便于查找,很麻烦。后来用了插件,非常方便,现在成为了我必备的一个工具。

还有一个最重要的工具就是搜索引擎了,我装了google for firefox插件,感觉不错,还有英文翻译功能。按照我同事的说法,内事用baidu,外事用google。很多技术资料都是英文的,用google搜索效率高一些。搜索引擎用好了,就等于打开了一扇通向知识宝库的门,使用搜索引擎,关键字选择很重要。

经常去浏览大牛的blog,逐个网站访问很麻烦,去看了又可能没有更新,可以借助于RSS订阅工具,我是用iGoogle桌面工具,每天早上花半个小时扫一下,大牛的最新文章尽收眼底了。

5. 英语能力

新的技术资料都是英文的,英语国家的IT技术走在我们前面至少10年(这是我自己估计的数字,可能正在缩小)。就连印度,一个连基础设施建设都不太完善的国家,因为其英语基础较好,其在软件外包领域的发展也非常迅猛,远远超过了我们。学英语,首先是有信心,其次就是花时间。多阅读英文资料,贵在坚持。

6.学习能力

在IT业混饭吃不容易,整个环境进化的太快,你不学习,就等于落后了。学习要有针对性,别今天学ruby,明天学python,后天php的。首先要认清自己的目标,自己短期目标是什么,1年后,3年后,5年后的目标是什么。结合这些目标,确定自己的学习计划,人的精力毕竟是有限的。当然,多掌握几门编程语言也是好的,可以扩充自己的知识面,重要的是为自己的目标服务。

要想系统的学习一门技术或工具,看书是最好的方法。看完后,然后上网找相关资料,进行深入学习。学习要抓紧一切可以利用的时间,比如电脑启动要花1分多钟,旁边放一本书,可以看上几页了。公交车上,地铁上也可以看。

当然,不能只学习技术,要经常练习自己的软技能,比如沟通能力,表达能力。你可以把自己学到的东西,解释给自己的同事听,既加深了理解,又增进了同事之间的交流。学习的最高境界就是你能够把学到的东西解释给别人听,这才说明你理解了。在学习心理学上,称之为构成主义。

我学一样东西,总是先上网了解有没有相关书籍,如果想学,就买一本或者去图书馆找相关的书来读。我买的书,家里快放不下了(到目前位置,我买了1万多块的书)。我多半是把目录看完,了解这本书讲解的主要内容,然后需要的时候,我就可以立即补充它进入到我的知识结构。每个人可能都有自己的学习方法,意识到学习的重要,并能够根据需要补充自己的知识,这种能力更重要。

合格程序员应该具备的12种能力[3]


7.创造能力

普遍认为,东方人模仿能力很强,但创造能力差。我见过很多这样的程序员,经常说,这个只能这么解决了,我想不出有什么别的方法。可能他根本都没想过别的方法,或者懒得去想。对任何一个问题,找出两种以上的解决办法都是非常容易的,简单的google一下,可能就是数十种。悲哀的是,有些程序员经常止步于自己构建的狭小领地之内。对待客户也是这种态度,不是积极的帮助客户解决问题,而是推脱这只是唯一解决方案。

打破这一思维定势的首先的一个办法就是在面临一个问题时,首先想到的是没有不可能,或是一切皆有可能,前面那个是阿迪的广告语,后面是李宁的。只有这样去想,才能寻找解决问题的别的出路,即使最后我们试了很多种办法,还是只有着一种解决方案,但我们在这种寻找解决方案的过程中,常常会产生很多好的想法,这样才会使我们真正深刻思考一个问题。

但我认为,坚持认为存在另一种解决方案的信念是第一位的,方法和工具都是其次。

8.文档能力

也许有人会质疑,程序员跟写文档有什么关系。大家开源软件也用过不少,看看Spring,hibernate,Struts等最流行的开源软件的文档就知道,他么的tutorial,他们的getstarted,他们的reference文档写的多么的易懂。其实写代码也相当于写文档,只不过用的是编程语言。同样,写文档,用自然语言,也相当于写程序,简单明了,清晰易懂,这样的程序谁看谁舒服。同样,对于想进阶到设计师或者需求分析员角色的程序员,文档能力更是非常重要。

word是一个最实用的工具,很多程序员,多级编号都不会用,索引目录也不知道如何生成,更别灵活应用样式了。很多排版都是所谓的dirty work.垃圾样式一大堆。其实,静下心来,稍微学习一下,就能写出一篇格式漂亮的文档。

9.抽象能力

抽象能力是认识事物从现象到本质的能力。如果你只是停留在见山是山,见水是水的层次,客户说什么,你就做什么,设计怎么做,你就怎么实现,从来不过问为什么,也不去想他是满足了用户哪些方面的需求呢。这样可能只解决了表面的问题,可能会引起返工。认识到本质,才能让你的程序具备更大的灵活性和可扩展性。在做企业应用软件开发中,抽象能力体现为对问题域的理解能力,对领域模型的抽象。合理的抽象也是代码重构的前提,每一次重构,都是向更好的抽象迈进了一步。

10.代码评审能力

代码评审和单元测试是保证代码质量的两种常用手段之一。代码评审能力,说明了你的审美标准,知道什么是好的,什么是不好的,什么是优雅的代码,什么是糟糕的代码,你才能让自己做的更好。

11.单元测试能力

没有单元测试的代码,只能说是半成品。因为没有什么能证明你的代码是可以运行的。测试驱动开发是一个非常好的敏捷过程的最佳实践。单元测试还可以作为回归测试,在修改代码时,起到警戒线标志的作用。是否具有单元测试的意识是区分程序员是否合格的重要标准。写不写单元测试是区分平庸程序员和优秀程序员的重要标杆。

12.DRY

DRY是一种原则,就是Don't Repeat Yourself。这条原则可以用到很多地方,比如你经常要编译,打包,部署应用程序,供集成测试用。每次你都在重复你自己,写一个自动化脚本(比如用ant,批处理命令)来将这些工作自动化,以提高效率。

还有一个就是我们经常在不同的地方切换IP,如果每次手工做,也非常浪费时间,写一个bat命令可以解决,找一个小工具也可以解决。

编码时,对代码的copy复用也是在重复你自己,虽然拷贝过程很爽,但是维护一致性就要付出巨大的工作量,特别是将来维护的人不是你的时候,使用代码生成工具可以解决这个问题。类似的例子太多了,如果你发现你经常做一些重复的工作,就要警惕了,是否违背了这个原则,想一些办法将他们自动化。

优秀的职场人必备的素质有哪些?


第三部分,未来职业生涯规划、家庭环境分析、例如经济状况,家人期望等。感谢您阅读《优秀的职场人必备的素质有哪些?》内容,职场资讯网小编向您推荐一些职业规划知识,欢迎参考,希望能帮到你。

在职场中成为优秀的人一般都是单位中的佼佼者,升职加薪那是必然的。但对于职场新人来说,怎么做才能成为优秀的职场人呢?小编结合身边优秀同事的例子总结了四点,学会你就离升职加薪不啦!

优秀的职场人必备的素质有哪些?

一、修炼出自己的一项绝活

同事小林就是这样一个人,入职两年多就已被内定为经理接班人。为什么同时入职他升职这么快?主要是小林在工作方面有自己的核心竞争力,这项能力是不可替代的,也是公司创造利益不可缺少的。被称为核心竞争力的绝活主要包含:

1、对部门的所有工作都了如指掌,重要的是能严格按照流程执行,且高效地完成;

2、对于岗位需要的既能够熟练掌握,又能做出超出领导预期的结果;

3、基层业务比较扎实,被提拔的时候其他同事没有任何不同意见。

二、能够跟同事友好合作

职场的学问即沟通的学问,是非常考验一个人为人处事的能力的。具体有以下几个方面:

1、任劳任怨,用最笨的方法进行快速发展成长。

新员工进入公司业务不够熟练,领导一般不安排太多工作.. 所以闲暇时间比较多,这个时候帮老同事做一些零碎的事情,有机会帮助别人快速梳理公司的工作流程,别人既觉得尊重,又学习自己的技能,何乐而不为呢..

2、业务熟悉后多做有技术含量的工作。

业务熟练后,自己的时间管理也是我们宝贵的,毕竟公司希望你每分钟都在为中国企业文化创造社会价值。若这时再做一些问题没有经济价值的事,领导对你的印象就会打折扣。

3、做任何事情都要尽全力。

无论是自己的企业或团队的事情,只要有关各方必须尽一切努力做好。无论是对自己负责的工作,或帮助其他同事的工作是第一的标准来要求自己。

4、善待新员工。

新员工刚入职,对第一个社会接触不同的人印象是影响最深的。

三、培养自己的大局观和长远视野

职业生涯几十年,不仅是基于目前的工作,同时也使自己的职业生涯规划,当然,这个计划是现实的,你不能超过自己的能力范围,或者速度很容易拉。

1、荣辱只是为了一时的,不要停留在企业过去,挺起胸膛继续发展前行就好。

2.职场中有大有小的事情,不要在一些小事上投入太多的精力,从公司和部门的角度考虑大事,同时从长远的角度考虑事情的影响。

四、跟领导搞好关系

领导往往握着员工的职场命运,具体做法就是根据员工的表现来打分。怎么才能在领导面前得到好的评价呢?首先要了解领导关心什么?

1.领导希望安排的工作能够被下属快速的完成,所以我们在接到任务后要及时的思考并制定解决办法。

2.领导安排的工作一定要先了解清楚再去做,这样就不会偏差太多。结果跟领导的要求一致,领导当然满意啦。

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


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

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

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

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

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

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

2、阐明问题

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

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

3、怎样着手解决问题

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

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

程序员应建立商业意识[1]


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

让程序员感到最为骄傲的事情是什么?那肯定是自己做出的技术在别人的面前进行炫耀。就像当初卡马克做出新的三维游戏技术时,整个世界都为之疯狂,这是一个技术人员能够达到的最终幻想。不过,对大部分程序员来说,这样的高度是无法企及的,但这并不妨碍他们来show一下自己学会的技巧。

我认识一位在Dos时代的技术人员,他在别人只会用拼音输入法的时候学会了五笔输入法;在别人只会用UCDOS的时候,他可以解密WPS文件,在别人会用CCED的时候,他可以拿着打印的长长的用C语言写的Menu的实现代码炫耀。然而,到了今天,仍然对自己掌握了某一个技术感到沾沾自喜。其实,这样的技术人员应该也不在少数,甚至有些人只不过五十步笑百步罢了。这并不能怪他们,因为在最初软件开发进入中国的时候,各方面的技术资料少的可怜,尤其是当 Dos向Windows编程过渡的时候,微软有很多API并没有公布,在那个时候,可能一个产品的核心依靠的就是比别人多了解一个API或者一个钩子的机制。蒋涛曾经讲过金山词霸的开发,其实只不过是因为他们直到如何利用一个钩子机制从程序中截获信息并进行翻译的处理,但就是这个技术,事实上造就了如此大的一个产业,也造就了几位的百万富翁。而对王志东来说,也是靠剖析了Windows系统中的DLL文件实现了对 Windows平台的汉化,并由此诞生了一个畅销的中文之星软件。而瑞星的崛起也是因为刘旭将流行的Word宏病毒的查杀机制做了出来,便一下子打开了市场。那个时候,这些人被称为高手,因为他们掌握着某些关键性的技术。甚至可以说,不一定是技术,有可能只是技巧。

然而,现在随着互联网的兴起,技巧的价值变得越来越小,遇到一个难题,用搜索引擎搜索一下,一般都可以找到答案。实在不行,到论坛中发一个请求,也经常会有高手告诉你答案。一个人掌握某种技术技巧变得越来越不重要了。说到这里,我们可以讲一个小插曲,这便是微软最早评选MVP(社区最有价值专家)的时候,根据专家分来进行判断,也就是谁回答的问题最多,谁就是专家。当通过检索把名单给微软之后,在第一次见面会上,令大家跌破眼镜的是,第一名是一个女生,而且她不太编程。当询问她经验的时候,她说每次看到问题,她就会先用搜索引擎搜索一下,如果中文找不到,那她就用选择一些关键词搜索英文的网站,这样一般都会有人回答,这样答案就出来了,而且很多都是英文的答案,这也让很多网友感觉这的确是一个高人,因为这些问题都是用英语回答的。了解了这一切,令人恍然大悟,除了看到一些程序员的懒惰之外,也可以感受到技巧已经不在称为衡量一个程序员水平高低的门槛了。这个时候,考察一个程序员的价值除了其技术的深度和广度之外,是否能够看到技术之上的商业价值,是否能够拥有商业的意识便变得更为重要。这时,如果作为一个程序员,仍然整天为了获得了某个技巧而炫耀的话,相信无法取得更大的成绩。

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


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

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

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

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

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

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

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

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

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


4、对代码的信任

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

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

5、对方案的信任

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

6、满足客户需求

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

7、不断升级

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

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

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

对外汉语教师应该具备的基本能力有哪些


如何成为一名合格的对外汉语教师,又应该具备什么样的素质呢?下面以我个人的经历和理解来为大家浅析一下,也希望我的分享能够帮助更多的人顺利的走人这个职业。

一、古、现代汉语概论知识。

这一部分的掌握可以做到帮你在教学的过程中,突出解决外国人学习汉语的重点和难点,力求做到简明实用,使留学生对现代汉语有较全面的掌握。会涉及到:语音、词汇、汉字、语法、修辞、标点符号等内容。

例如:外国学生常常说我昨天不来上课,不知道留的什么作业。说汉语的人都知道,这句话中的不应该换成没。有的老师就解释说过去的事情就用不,以后的事情就用没。可是我昨天不在家和我昨天没在家都可以说,同样是昨天,为什么不和没又通用了呢?有的人解释不了,就说这是汉语的习惯,如果都是汉语的习惯,汉语不就毫无规律了吗?那学生还怎么学习?其实在汉语语法学上这个问题是有解释的。

二、跨文化交际学和中国文化。

不得不说,在你面对的学生当中要经历来自于各个国家的外国朋友,而如何做到在教学和接触的过程当中做到,文化、行为、理念、信仰的尊重和理解是非常重要的,不仅能帮助您顺利的和你的学生建立感情,同时也可以帮助你避免不必要的麻烦,同时在授课的过程中融入跟多的素材和话题,加深你们之间感情的同时提升授课效率和课程体验,那么下次你的学生也就更愿意介绍身边的朋友给你,你的教学面会越来越广。

三、优秀的媒介语

一切的一切都离不开语言作为媒介和交流的工具,优秀的媒介语可以让你的学生迅速的理解你所传达的信息,提升教学质量和学员的感受。如果你会英语、日语、韩语的话,那么你已经可以教授大多数的外国人了,而我更建议其他语种的人如果也很喜欢这个职业那么你可以选择前者当中的一种语言进行辅修,这样会避免你的授课面积的局限问题。

四、具备良好的沟通能力

汉语教师要有亲和力,要有与人沟通的能力和技巧,否则很难想象你的汉语课堂会生动有趣。北京语言大学校长崔希亮教授举过一个例子,一个汉语老师在课堂上解释跳,就板着面孔照着词典的解释念:双脚离地,身体用力向上,学生怎么也听不懂。崔教授开玩笑地说,这哪儿是跳啊,这是上吊。这位汉语老师就没想到做个动作,示范一下,学生立刻就会明白。另外,必要的外语能力是需要的,至少应该能用当地语言进行基本沟通,或者借助英语进行基本沟通。海外留学生熟悉当地语言和文化,这是从事汉语教学的有利条件。

以上是我对作为一名对外汉语教师应该具备的素质和条件,也希望我的理解和分享能够让真正想从事这个行业的人看清自身,提高自我,以正确的姿态和方向进入这个行业。

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


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

15、组织技巧

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

额外要提到的:激情

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

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

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

90后应具备的职场综合素质


社会竞争激烈,如果我们想适应社会,我们现在就应该提前制定好计划,锻炼自己,增加就业筹码。以下是整理分享的关于你在工作中需要具备的综合素质,一起来看。

90后应具备的职场综合素质

第一,是要学会交际能力

在当今社会,沟通是第一位的。要有良好的人际关系才能有更充实的工作业绩,想象一下,一个不知道如何社交的人。他会有更多的机会等他吗?如果我们去新的环境,不懂规章制度,不知道如何与人相处,换来的只是别人对你的手指,别人对你的背后,你不能融入别人的圈子,别人会排斥你,你会孤独,工作和生活不能继续下去。如果你学习现代交际,到一个新的环境,你很快就会和他们融合,和他们谈论每个人感兴趣的事情,做每个人感兴趣的工作,这样他们也会因为你的加入而更加努力,过着更加丰富多彩的生活。

第二,适应环境的能力

在新的工作中,如果你不能及时适应环境,给老板和同事留下良好的印象,那么未来的职业发展就会放慢一点。适应新环境,能够保持自己的工作激情,发挥自己的能力,像别人一样展现自己的人格魅力和工作能力,是每一个80后必备的素质。

第三,技术能力

如果我们想在这个行业熟练,技术技能是很重要的。如果我们不了解技术,进入技术行业比较强的领域,那么你就会受到一定程度的限制,一般的话语权不是太高,因为你不了解这一行的工作。就像你说的,为什么你不能完成这么简单的工作这么久?但这很难,普通专家需要很长时间才能做到。你要求你的员工在很短的时间内完成这件事。虽然他们似乎没有什么话对你说,他们认为你是个外行,或者他们通常在三两天内做,但这需要一个星期,你认为这很快。随着时间的推移,你在你的员工面前没有权威。所以要做一个专业的工作,你必须是业务中的技术权威,否则你就没有发言权。

第四,自省能力 

关于能力,自我反省,著名的古教育家孔子曾经说过,“我的天,省”,表现出反省的巨大作用。自我反思有助于我们更迅速地发现自己的不足,自己与别人的差距,发挥我们的相互协同作用。在我们的工作,每天自省将帮助我们改进工作,与他人一起将帮助我们分析自己,发现自己的长处和短处,发挥自身优势,继续改正缺点及时,让自己走向一个更好的方向发展。 

第五,自控能力

我们生活在矛盾当中,每时每刻都有可能发生一些突发状况,如果一有事情发生,动不动就闹情绪,甚至发生争吵,一则显得你太没教养,二则,带着情绪办事是不会有好的结果的。

第六,意志力

如果我们想完成一件事,没有坚强的意志力,我们什么也做不了。即使你有很大的技能,如果你缺乏意志力和毅力,你也不会有很大的改变,因为馅饼不会让你容易得到,需要你付出比普通人更多的汗水,付出比普通人更多的努力才能得到。同时,如果你缺乏意志力、毅力和决心,你就会害怕看到什么是错的。知道困难是你越害怕它,它就越喜欢你,所以你有更多的困难。如果你意志坚定,那么困难就会害怕你,离你越远,你生活中的困难就越少,所以说,意志力和困难是敌人,如果你有坚强的意志力,那么你的困难就会软弱,否则,你的困难就会强大,就会使你难以移动,使你无法在泥中解脱。如果我们要有所作为,就必须抛弃困难因素,加强我们的意志力,让它发挥应有的作用。

作为现代人,我们应该学会充分利用上述综合能力,这将给你的职业生涯带来很多好处。

优秀ASP.NET程序员修炼之路


初级的程序员或经验不足的程序员往往只意识到自己的程序是写给计算机的,而不会在意程序其实也是写给人的,或在意得不够、不全面。

写给机器的程序,往往追求的是运行正确、执行效率能满足要求。但程序员的任务仅仅就是把业务逻辑转成机器能编译的计算机语言吗?

其实,程序首先(注意,是首先)是写给人的。第一,程序是写给看代码的人的。第二,程序是写给用程序的人的。了解这一点,才能理解写程序为什么要有代码规范,为什么要有各种文档,为什么写子程序时要命好名,为什么要分层,为什么要学设计模式,为什么要写测试用例,为什么要推敲按钮的摆放,为什么要按XHTML标准写Web界面,为什么要用AJAX 理解了这一点,才能更好的做好上面种种事情。

谁都在说细节决定成败,谁都知道要注意细节。为什么大家都在讲细节,有的人能通过细节打败对手,有的人连细节在哪一方都不知道,这就是水平的高低所在。我们要有心理准备:细节不是喊一声就会出现在你面前的。感知到细节,这是一个需要不断学习和实践,甚至有人指导的过程。这个过程有长有短,要看个人的学习能力,领悟能力。但最起码,我们首先要有一个方向。找程序的细节,方向就是为人写程序,在你做设计,写代码,摆弄界面的时候,心里时刻记住这一点,几个项目下来,你自然能看到很多细节了。

内外兼修

武侠电影里的高手,往往都是通过奇门心法,内力陡增而成为高手的。但我们做程序的,要成为高手,内外兼修才能事半功倍。内,指的是需求把握,设计思想,设计模式等。外,指的是写代码时的规范,做界面时的严谨等。

看武侠看多了的我们,偏内轻外的特点是很明显的。看看书店里写设计模式主题的书籍和指导代码规范的书籍的数量和销量对比就是一个很好的证明。但是就算设计模式一套一套,但写的类却给人看半天也看不出思路的话,一两年之后,你仍将陷入一个个泥潭中。

再举个例子,有的人自称ASP.NET程序员,而且他写出来的后台代码也层次清晰,条理清楚,但是做出来的界面,结构与表现混杂,一大堆IDE自动生成的垃圾代码充斥其中,该用单选框的用文本框,按钮放在谁都想不到的地方,不该用户操作的要用户操作,一步可操作完的搞成几步也不能完成操作很显然,他不可能做出成功的产品。也许他也知道界面要合理,但是就是因为他不修外功,认为我是搞。NET这种先进技术的,去补习什么HTML、JavaScript、CSS不是自贬身价吗?其实,认真研究过HTML、JavaScript这些技术的人都会体味到,运用这些技术比流行的。NET、Java更有挑战性,而且你获得直接操作用户界面元素的能力后,以前那种做界面效果、接口功能时有心无力的情形将一去不返,这是很痛决的!

如何学习ASP.NET

要成为一个优秀的ASP.NET程序员,不仅要掌握。NET框架,理解ASP.NET的原理,而且要对DHTML架轻就熟,甚至对各种浏览器之间的差异也要有所了解,所以做ASP.NET程序员是一件很有挑战的工作。那么如何学习ASP.NET,并最终成为优秀的ASP.NET程序员呢?

我认为可以分为两个步骤来走:首先,熟悉ASP.NET各种标准控件的用法,了解ASP.NET工作原理。接着,朝内和外两个方向扩展自己的知识和技能。

在Visual Studio .NET这样优秀的IDE帮助下,我们使用各种ASP.NET控件,掌握ASP.NET基本的工作原理应该是比较容易的。如能辅以几个简单的项目练习一下比较复杂的DataGrid、DataList等数据绑定控件的话,基本掌握ASP.NET是应该没有多大问题的。

之后,我们就可以朝两个进阶方向前进了。修内的话,深刻理解面向对象的编程思想是必修的,然后是各种的B/S框架的模式(比如MVC)的理解,最后是设计模式等等软件工程的概念和技术。修外则更重实践。首先,做项目时注意把一些可以实现在客户端的逻辑用DHTML在客户端实现出来,以此掌握结合服务端、客户端技术的方法,加深对HTML的DOM对象的理解,熟练常用的JavaScript技巧,进而练习对Web界面的结构、数据、表现三者进行分离的规划、设计与实现。

如此看来,学习ASP.NET也并不是一件很难的事情,注意为人写程序,内外兼修,自然就能做出合格的应用程序。

2025-03-26