程序员的职业规划。

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

这不是很奇怪么?所有行业的初学者都可以被称作菜鸟,但是只有电脑高手(特别是程序牛人)被称作大侠.这到底是巧合呢,还是另有原因?

说起这其中的原因,我想可以有两种可能:1) 程序员的脸皮很厚,并且有英雄情结;2) 程序员确实具有某些侠客的特征。

侠客的定义

那么侠客有哪些特征呢?就让我们基于经典的金庸和古龙的小说,对侠客作一个定义:

1) 侠客具有高超的武艺。

2) 因为(1)的关系,侠客有了把看不顺眼的人杀掉的能力。如果武功登峰造极,就可以主宰所有的生命,这是一项很大的权力。

3) 对(2)进行一点抽象,可以说侠客拥有对众生广泛而巨大的影响力。小到锄强扶弱,大到保家卫国。

如果只看(3)的话,可以说皇帝和宰相拥有对众生更大的影响力,那他们岂不是大侠中的大侠了?所以,还必须要加上(4).

4) 侠客是超凡脱俗,自在逍遥的化身。

快速成长模式

如果留意一下身边的电影、电视、小说和动漫作品,可以发现快速成长模式被如此不厌其烦地广泛使用,而且观众每每百看不厌。快速成长模式简单来说就是:一个默默无闻的穷小子,多半还伴有不幸的家庭甚至身体上的疾病,在天赋命运的帮助下,通过自身艰苦的修行,历经磨难,快速成长为武功高绝、心智成熟的大侠,得到荣誉、尊敬、金钱(由于金钱和(4)直接冲突,所以处理起来颇为棘手,后面还会进行详细的讨论)和女人,干出一番大事之后,最终达到超凡脱俗、自在逍遥的境界(如果是武侠小说,这时就可以被称作大侠了),小说也告结束。

金庸的小说大都套用了这一模式,其中我最为喜欢的是《神雕侠侣》。动漫作品中,我觉得《头文字D》最为紧凑、完美地体现了这一模式的精髓。

快速成长的反模式,可以称之为快速衰退模式。最具代表性的是《一升的眼泪》,同样以层层递进的冲击力,让人肝肠寸断,唏嘘不已。

如果把快速成长的主角换成女生,则会变为:一个女孩,相貌平平又没钱,但是年轻有个性,因为缘分和自身尚未被发现的潜质,得到一个又一个优秀男生的青睐,最终赢得属于自己的完美爱情,从此过上幸福的生活。这一模式被韩剧运用得出神入化,几百集地看下去也不嫌累。

快速成长的神话与梦想

现实中的快速成长故事的主角,以前经常以将军、成功的商人、科学家的形象出现。不过,这些故事要么太过复杂或离奇,要么成功得太慢。而且,无论最后成为政治领袖还是富甲一方的财阀,都与(4)格格不入,从而无法与快速成长模式的心智模型完美吻合。

IT业的兴起,不仅带来了新的商业模式,也让人们找到了快速成长故事的新载体。那些不到30岁就功成名就的硅谷明星,让无数年轻人看到成为现代豪侠的新希望。

比尔·盖茨(微软)、史蒂夫·乔布斯(苹果)、拉里·佩奇等(Google)、马克·扎克伯格、求伯君(金山)、马化腾(腾讯)……他们都是白手起家,依靠天赋和勤奋创造奇迹般成功的典范。特别的地方是,技术背景给他们赋予了神秘、纯粹、自由的感觉,更加接近于侠客的心智模型。

有多少年轻人在他们的感召下加入程序员大军;又有多少程序员在每天枯燥劳累的工作中梦想着可以取得他们那样的成就(哪怕只有千分之一也好)?只是现实往往是,在没日没夜敲了几年键盘后,发现自己不但做不成张无忌,就连做好宋兵甲都不那么容易。

zc530.cOm编辑推荐

何谓程序员?何谓中国的程序员?


程序员,曾经是很多人尤其是计算机初学者为之崇尚的一个职业,仿佛就是理想、激情和事业的象征,从此就开始了IT白领人生。计算机技术发展之初,几乎就是一个个人英雄主义时代。一个天才的程序员,几乎就可以主宰一个计算机时代,创造出无数奇迹和梦想。

今天,计算机技术的发展日新月异,技术朝着愈加复杂和简单的两个看似矛盾其实一致的方向发展。计算机技术越加普及,无数非计算机专业的人群,出于爱好或者生存的需要,也加入了这个程序开发大军,并且都称之为程序员。

软件技术的发展,已经进入了一个大分工、大整合的时代,由此导致了软件开发工作的分层和分类越加细致复杂,同为程序员,彼此之间工作的技术含量可以说有天壤之别。系统软件、应用软件,是一个大的分水岭,几乎大多数程序员,都在应用软件这个层次进行开发,国内的程序员更是几乎全部如此。

既然是应用软件,就必然要和实际应用结合,而实际应用,是非常复杂多变的,尤其是具有中国特色的国内应用。于是乎,大多数程序员都在为开发应用层面的软件忙得不亦乐乎,财务软件、ERP、CRM、OA等等,几乎成了国内软件开发的主流方向,更不用说电信、石化、铁路、电力等具体行业应用软件的开发了,这些早已被称为项目了。国外的应用软件,除了以上业务应用之外,尚且还有像CAD、3D等专业领用的软件,具有一定的核心技术。

很多工作了多年的程序员们,在回首往事的时候突然发现,自己依然是一个辛苦的打工者,一个IT行业的苦力。反思一下,我们这些自认为程序员的工作者,其实是在核心技术的外围做一些表面工作,和那些非软件开发人员相比,我们觉得自己有技术,其实我们到底掌握了多少核心技术呢?现在的很多程序员,连数据结构、编译原理、操作系统等这些基本的知识都掌握得模棱两可,天天跟着老外的屁股后面追捧所谓的新技术、新框架。其实,又有多少是我们自己的呢?作为JAVA程序员,经常听到很多人自称精通Spring、Struts、Hibernate等主流框架,并有大型项目的开发经验,其实我们只不过比那些初学者多干了几年,使用这些框架更加熟练而已。国内软件行业的面试经常有此类现象,一个面试者可能这次面试不合格,但是他回去看一下书之后,再来面试,很可能就通过了。为什么?因为我们的面试太初级,太表象化。

我们经常接触IBM、微软等公司的面试,他们一般情况下是不会考核面试者具体掌握了什么框架、什么语言的,一般都是考核的面试者最基本的逻辑思维能力和分析判断能力。这也说明了,同为程序员,其间的差别是如此之大。

作为一名程序员,尤其是国内的程序员,应该对自己有一个清醒的认识,不要被表面的感觉所迷惑。到了这个时代,不是说程序员已经失去了光彩,而是我们所从事的层次,技术门槛已经大大降低,很多人处于同质化竞争。

怎么办?很多人说软件行业是个辛苦活,国内的很多软件公司更把程序员当牲口使用。其实,根本上还是怪我们自己没有很好的反思和调整。一方面,如果对技术真的有浓厚兴趣和激情,那就不妨向软件的底层核心技术迈进,另一方面,如果觉得自己真的缺乏这方面的潜力,那就努力适应国内环境,实现技术与应用的完美结合,争取向公司的中高层发展,如果不给与机会,那就自己创业,选择好技术和市场的切入点。

此外,一名优秀的程序员,一定不能是一个唯技术论者,如果持这样的观点,即使专心做个技术专家,也会存在发展障碍。微软的例子,sun公司的例子,都生动地说明了技术与市场的辩证关系。

当然,每个人的成败观是不一样的。如果始终把技术追求放在首位,追求技术完美的境界,并以此为乐,也未尝不是一道美丽的风景。

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


15、组织技巧

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

额外要提到的:激情

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

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

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

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


4、对代码的信任

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

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

5、对方案的信任

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

6、满足客户需求

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

7、不断升级

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

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

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

如何从优秀的程序员成为伟大的程序员[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年后的发展。

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

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


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

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

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

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

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

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

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

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

程序员的职业发展


程序员这个职业到底是不是吃青春饭,这个问题可能一直是每个初入职场的程序员心头挥之不去的阴影。最近看到一篇关于程序员生涯规划的奇文,也许能解答这个问题。

在IT行业由超常趋向平常的阶段,社会关注热点转移,程序员的社会平均薪资水平由高向低回落,引起了许多人对程序员前程的思考。按专家或行业资深人士的说法,程序员有两条进阶路线。一条是技术路线,由程序员,经系统分析师、系统设计师、项目经理、产品经理,直到架构设计师为归宿。另一条是领导路线,由程序员,经开发小组负责人、工程负责人,奋斗到项目经理。

勿庸置疑,每种说法都有存在的个例支持。实际上,能走常规进阶路线的毕竟是少数人,大多数程序员在吃过青春饭后,面临着前途选择问题。这与运动员、航空乘务员、舞蹈演员等的职业境遇是类似的。相比之下,程序员是种新生职业,而且是多数人认为更高尚的脑力劳动,如果能看到更好的转型方向,还可以心理平衡。现在面临困境的程序员们,在未看到明朗前途时,迷茫,焦灼,敏感,难容对自己不利的言语(哪怕是真实的)。

站在企业主的立场,希望能保持IT业的狂热,既能保障程序员的高待遇,又能获得企业的高收益。问题是市场不接受,IT产品和服务的价格越来越低,企业出低价又招得到人,程序员的薪资水平下降是自然的事。对于程序员的辛苦和劳动与收入的不公平感觉只能表示理解。

从程序员的角度,可以发现更好的方向,IT业不断有新东西出现。用J系列语言比用C系列语言更时尚,用面向对象(或构件)的方法比面向过程的方法更先进,还有Delphi、。net、eLearning等开发工具,更有ERP(企业资源计划)、CRM(客户关系管理)、SCM(供应链管理)、CPC(协同产品商务)、BIS(商业智能系统)、EAI(企业应用集成)、EIP(企业信息门户)等层出不穷的新概念。如果你能不断与时俱进,追着新东西走还行,但毕竟是年龄不饶人,三、四十岁的肯定不如一、二十岁的记性好、反应快,长江后浪推前浪本是自然规律。

从经济发展规律来看,每个新生的行业都要经历高潮、低谷、平常的时期。IT业从社会热潮地位到现在的社会平常地位是很正常的事。只不过我们习惯于接受地位不断上涨,对回落难以接受。这只说明我们的教育有缺陷,心智不健全。

对于程序员个体,只能适应社会状态。如果你是天才、精英,不会有职业的烦恼。如果你是平常的程序员,或自认有才但运气不好,就应该思考前程的问题。

一般来讲,社会对程序员的定位是满足技术需求,程序员自身所受的教育和积累的经验也使自主前程意识局限于技术路线。实际上,我们所看到的在技术方面有建树的前辈多是综合型的人才,单纯局限于技术思维的多有行为局限,也难看出自身的幸福感。其实,人有多方面的属性,除非你是极少数的天才,在某一方面特别突出 (相应地在其它方面就很脆弱),大多数人是多种属性综合发展,而且各属性间相互促进。所以,在考虑程序员的前程时,有必要分析程序员的主要属性及其可能产生的影响。

技术属性

从表面上看,程序员是会使用计算机语言编写程序的群体。实质上,程序员是联结精神世界与物质世界的最有效的中介,将人语转变为物语创造财富。以前我们所说的技术,是分科的技术,或物理,或化学,或生物,程序员的技术是全面涵盖的技术。从人的意识到物的结果的全面流程看,程序员所用的从应用层到物理层的分层次体系(如ISO/OSI网络模型)是一种严密有效的逻辑结构,这正是经济建设需要而传统文化沉淀缺乏的要素。

高尚属性

文化素质高,与IT精英接近,感受的文明信息量大,经济基础较好(与一般劳动阶层相比),决定了程序员的生活方式、趣味、格调更高尚,表征一种社会文明的指向。如果程序员介入到其它行业,为了保持生活的水准,也是保持勤奋的工作习惯,表现得非常努力,传播积极向上的精神。这如同在先进国家或大城市生活过一段时间的人,再回到相对较落后的地方,会作为文明种子,产生积极的作用。

人生属性

当你把程序当作异物看待时,编程是一种负担,是劳累的事儿,需要在工作之外得到补偿。如果程序员能把自己作为一个具有个性的人的主体存在,程序就只是人的属性的延伸。这时,程序就不会作为人的负担,就象人不会把自己的肢体作为负担一样。这样的人会不断努力,不断学习新知识,把程序作为人生奋进的载体,创造性地使用程序,会把编程中的普遍东西升华成一种精神,主动地影响其它领域。

面对工作人们通常有三种态度,一种是把自己放在利益的案板上任人宰割,把工作当作获取利益的工具;另一种是跟着兴趣走,视工作为玩乐;第三种是把工作当作展现人生的载体,将工作视为实现人生使命的阶梯。

我们提倡程序员热爱本职工作,在本行内不断进阶。但也应正视现实,看到人的当前选择并非都是适合自身的条件的,以程序员的基本素质,在技术路线以外也可以有更大的作为。程序员应勇敢尝试更多的选择,在选择中认识自我,找到适合自身发展的方向。

人有外职业和内职业,外职业是你现在从事的职业,是可以改变的。内职业是适合你自身条件的职业,在一定程度上难以改变,它可以升华成一种精神,产生更大的影响。

程序员是一种当前社会稀缺的人力资源,程序员应该是播种机,将理性思想,工程手段普及到更多的方面,为经济建设提供更大的力量。

在工业社会,工人阶级因其无产性,成为对资产阶级最革命的力量。在信息社会,程序员因其学习性和与时俱进性,会成为对懒惰阶层的强大革命力量。所以,从社会负于程序员的职责来讲,程序员肩负重任,前途无量。

如果你一时没有读懂,建议再仔细看看,也许它能改变你对程序员职业生涯的看法。就我对这篇文章的理解而言,这篇文章主要阐述了程序员是信息时代先进生产力的代表,程序员的职业决定了程序员站在信息变革的最前沿,比社会的其他阶层能更早的感知到信息社会的每一个变革的发生,程序员职业要求的学习能力、综合素质、与时俱进性是把握这种变革的能力保障,当然这并不是说任何程序员都能够把握这种变革,开创自己的事业,对于大多数人而言,必须培养自己的综合能力,而不是仅仅局限于技术路线,才能真正把握住机会。每个人都有自己的解读,你的想法是什么?

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


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

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

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

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

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

程序员的职业规划


经济的黯然失色丝毫没有影响高科技企业的人才争夺。在硅谷,从谷歌这样的大型企业,到最小规模的初创型公司,各家都在争相挖掘最优秀的IT人才。

为了防止有经验的老员工跳槽,美国加州的大公司纷纷提高了薪酬和奖金,例如《金融时报》称,毕业不久的初级工程师的薪酬去年上涨了30%至50%.

而微软早在2011年年中便计划为员工加薪,并提高薪酬中现金部分的比例。在发给员工的一封电子邮件中,微软CEO史蒂夫。鲍尔默表示将为发展最快的市场上的部分员工加薪,其中包括研发部门的中高级员工,以及某些地区的所有中级员工。为了更好地奖励出色的员工,微软将使受奖员工比例由之前的50%提高到80%.鲍尔默在电子邮件中称,这将是我们有史以来幅度最大的一次加薪。

不仅是硅谷,去年一整年,这股相互挖角的风气还刮到了世界各地的就业市场,中国也不例外。近日发布的《2011中国企业招聘现状调研报告》显示,高科技行业2012年招聘需求将呈现大幅反弹,较2011年将增加近2.3倍,增加幅度位于各个行业榜首该报告是人力资源公司CHINAHRKEY针对167家企业招聘调查的结果。前程无忧(51job)的统计也指出,2011年,计算机/通信/电子行业的招聘职位数排行第一。

而韬睿惠悦发布的薪酬调研报告中,高科技行业在2011年的实际加薪率仅次于银行业,而在2012年的预期加薪率则与银行业持平,皆为10.7%的幅度。2012年全球经济形势并不明朗,中国市场也会延续高通胀预期。如何在此种情况下吸引、保留人才,将会是中国企业的一大挑战。韬睿惠悦全球数据服务咨询中国区总经理许文宗表示,为了让核心岗位具备竞争力,在高科技行业,研发、销售这些关键岗位的年度总现金收入就比该行业平均水平分别高出18%和10%.

事实上,高科技行业的人才争夺战从未停止。在这个领域,近期最引人注目的莫过于去哪儿和携程的人才争夺了。经历了10年的发展,在线旅游网站的战火已经从用户、流量和资源竞争燃烧到了人才领域。去年底,去哪儿CEO庄辰超甚至在微博中称:携程12周年庆当天我在携程总部办公楼各个办公室挖人,收获颇丰啊。

对此,携程人力资源部总经理施琦不愿置评。但他坦言,随着进入中国在线旅游业的公司越来越多,这个行业的人才竞争变得空前激烈起来。实际上,携程每年都会参与薪资调查,并根据调查报告对员工和经理人的薪酬进行相应的调整,所以携程每年重要骨干的流失率都是个位数。

相比之下,去哪儿的招聘和留人策略则更为激进。2011年,去哪儿的员工数从200多人一下子扩张到1000多人,其中,从校园招聘的毕业生达200人左右,核心员工的离职率约为5%.随着部门的扩张和架构的调整,每个部门的主管都需要发动各种资源和渠道进行招聘。

为了吸引人才,目前公司经理级以上的员工都持有股权。2010年7月前,去哪儿实施了全员持股政策。去哪儿网副总经理钱臻表示。毕竟,在线旅游业的从业人员本身并不多,富有经验的人才就更加稀缺了。今后一段时间,旅游电子商务公司的人才质量很可能成为企业间竞争的关键。

除了OTA领域,各大门户网站也纷纷祭出薪酬的手段保留人才。2011年春节后,搜狐几乎全员提薪10%左右;腾讯在去年4月人均涨薪9.3%;新浪去年5月的提薪幅度大约为14%;网易门户在6月的调薪覆盖了60%的员工,综合调薪幅度平均为25%.

这是因为,眼下的门户正处于第二轮扩张阶段,很多旗下的频道希望分拆上市,于是缺人成了普遍现象。另一厢,IT企业的从业者大多数为年轻人,他们普遍加班多、压力大,流动性也大,而涨薪是最直接的留人方式。

腾讯的HR负责人此前对媒体表示,互联网行业的人才非常稀缺和宝贵,真正好的人才不多,且都去创业了。为此,新进入到这个领域的人才,企业都会用超常规的办法去保留。

不过,施琦并不完全认同始终向市场看齐的薪酬管理方式。去年,不少人都见识过了某些公司高调地用2至3倍的薪酬挖人,但过了没多久,又很高调地裁员。

2011年年中开始,电商业就陆续传出有企业倒闭的信息,例如金光集团投资的百货B2C网站大货栈,以及我友网、飞虎乐购等网站也在进行业务和人员的大调整。而B2C网购平台品聚网也发布官方公告称,由于公司资金链断裂,将开始准备进行清算,并暂停公司相关业务。而团购网站的裁员信息也是接连不断,有员工甚至表示2011年年终奖将一无所获。

施琦认为,当前浮躁和混乱的市场环境下,公司除了提供更具竞争力的薪酬外,为员工提供更多的发展机会,让他们找到真正的归属感很重要。

寻找自己的程序员之路


每个人的幸福都是不一样的。我喜欢田园式的生活,在人多的地方总是不舒服。

对我来说,最幸福莫过于在工作中做着自己喜欢的事情。闲暇时,在能够眺望江边的地方,端着一杯红酒,一个人细细的喝。

为了这种生活方式,离开了北京,来到家乡所在的这个三线城市,寻找自己的道路。经过一年的探索,颇有心得。

大体上,我对自己走过的路和即将走的路划分为七个阶段:自信=意志=布局=切入点=团队=渠道=产品

第一关:自信

先说说我这个城市。这是一个什么样的城市呢?依山傍水,适合生活。几乎没有IT,也没几个真正的程序员。一周上班六天,平均工资1000元上下。程序员的工资在1000-3000左右。要在这个城市探出自己的道路,首要的一点就是自信。没有自信,活不下去。这个城市的年轻人大多非常迷茫,对自己的前途缺乏信心,有冲劲的都往大城市里跑了。回来之初,我也迷茫了很久,迷茫的时候,就在WOW里泡着,观察那个世界。在WOW里,作为一个萨满,傻乎乎的扛着个盾晃晃荡荡的升级。当时赚钱,也就是打打元素之火每天赚个几十G.后来,不断的观察不断的总结,成长为日入近万G的大奸商。哦,俺要走的也正是这一条路子。生活总是要继续的,在WOW上也学不到更多的东西了,就离开了WOW,开始了一个人的征途。

支持这条路子的核心力量就是自信。在小城市里不缺乏聪明的人,这些聪明的人大部分却并不优秀,因为他们缺乏自信,缺乏自己走路的勇气,从而甘于平庸。没有自信,走不出这第一步。

第二关:意志

在小城市做IT,相当锻炼人意志。这里就像一片沙漠。市场,没有。程序员,没有。找人说话也找不到。曾经组织过次聚会,包括我在内到了2个人。想要向下走,没有相当强的意志是走不下去的。彷徨,彷徨,最终还是坚持走了下来。

第三关:布局

所谓布局就是决定做什么事和不做什么事。经过相当久的考虑,我决定远离Web开发,远离本地市场,甚至远离数据库。做Web开发和数据库开发的太多了,你呆在偏僻小地,做这些完全没有优势,做本地市场呢,又没客户资源,关系又比不上已经在本地深耕数年的小IT公司。于是宁可荒芜这些技能,也不趟这个混水。最后决定,人做我不做,人不做我做,在偏僻的地方,做外面的市场,做深入的开发,做点做线不做面。为什么呢?

(1)本地的工资摆在那里,做本地的就算做起来了,利润也不丰厚,还累死累活,要赚外面的钱,在本地花

(2)要赚外面的钱,如果做Web开发和数据库开发,根本无法和当地公司竞争

(3)所以只能做别人不做的,或者别人做不了的,做技术要求高的。而我恰恰有相当多的研发性项目开发和管理经验,正适合做这些。

(4)所要做的东西,必须通过网络可以展示,可以远程技术支持。

第四关:切入点

切入点是个很关键的东西,综合上面第三关所讨论的内容,结合自己的技术能力和技术经验,然后结合需求情况,最终我从协议分析这一块切入进去了。哦,不是外挂那种分析。从QQ协议,到MSN协议,到YMSG协议,当然,还有Http这个最简单的,从有参考资料的分析,到无参考资料的完全黑箱分析,到现在在某方面的协议分析已经达到世界领先水平了。从协议分析,切入到验证码识别,从验证码识别,切入到车牌识别,从车牌识别,切入到模式识别、图像处理和机器视觉,而模式识别结合前面的协议方面的工作又可切入进NLP,客服机器人,有这些为基础,我又想切入淘宝店铺工具(哦,还没时间做,并且目前也没找到一个好的切入点).因为对图像处理的了解,我现在又成功切入进Flex开发了。以上各点貌似很散,也是也挺集中,就是:协议分析与设计、机器智能和图像处理,这三者是相辅相承的。

以上《程序员的光荣与梦想-论侠客梦的延续与幻灭》一文,由编辑精心撰写而成,希望对您的职业规划有所帮助,更多精彩请访问“程序员的职业规划”专题!