出路三:向IT营销转型

分析:IT与其它行业不同,由于技术性较强,营销人员一般也须有较强的技术背景,且最好有着丰富经验。互联网公司、电子商务公司、软件公司目前都需要有技术背景的营销人员;另外,电子商务的再度火爆,使得传统企业开始重视电子商务营销,也需要有技术背景的营销人员。这类工作薪水不低,加上提成应该可以拿到高于程序员的薪水,同时也比较稳定。

优势:深厚的技术背景仍然是小张的核心竞争力,在10年的从业经历中,小张广泛涉猎了各种编程软件和工具,对IT行业也有相对深入的了解,这些都为他转向营销提供了平台。

挑战:小张过去的工作主要是跟机器打交道,而营销工作恰恰需要跟人打交道,这对小张来说是最大的挑战,要求他彻底改变工作方式,加强沟通能力与人际交往能力;此外,营销工作会面临销售指标的压力,这些问题都是小张转型前必须深入考虑的。

出路四:向项目管理努力

分析:如果说前面两条出路转型的成分多,那么项目管理可以说是小张更为便捷的发展之路。目前,软件项目经理是人才市场上炙手可热的人才,有丰富经验、外语好的软件项目经理是抢手的香饽饽,供不应求,薪水自然也是水涨船高。在上海市劳动部门新发布的软件行业薪资调查中,项目主管的薪水是同层次主管中最高的,年薪高位数达到211011元,平均年薪达109414元。最重要的是,一个优秀的项目经理可以在这个岗位上长久工作下去,并且有向高层进一步提升的可能。(高分作文网 WWw.ZUowen101.Com)

优势:对小张这样有经验、有技术、有人脉、有能力、参与过多个软件开发、有一定经验的人,项目管理无疑是小张发展的一个很好的方向。

挑战:小张以往参与过不少项目的开发,但一直是项目团队里的一分子,没担任过项目带头人。而很多公司在招聘项目经理时,都需要有带领团队进行项目开发的经验,这是小张的一个劣势。建议他参加一些项目管理方面的培训课程,自学相关的知识,增长自己在流程管理、沟通协调等方面的能力,以便积累资本,逐步向项目管理岗位迈进。

zc530.Com小编推荐

程序员的职业发展


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

在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界的领军人物,因为我看到了一群为公司孜孜不倦,辛苦能力的同事,我很爱这种氛围,我相信我们的努力一定会给自己带来收获,就算没有收获,我也没有任何怨言,因为我沉醉了,因为我快乐,因为我是个快乐的程序员。

35岁前程序员要规划好的4件事[2]


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

经营你的人脉

我觉得程序员除了普遍不善理财外,另外人际沟通也多有问题,很多人在离开公司的剎那,整个人感觉也都被掏空了,而且会有一种担忧,以前别人跟我说话那是因为我是某某公司的员工,现在不是了,可能就没有什么人会再鸟我了,这就是典型的人脉经营危机。

人脉的经营不是看你有没有朋友,而是有没有能帮助你同时又有实力的朋友。有些人朋友很多,但真正遇到困难,只能精神上支持一下,除此外,帮不上任何忙,这代表人脉还是太单薄,不要总问别人能给你什么?也要问问你能给别人什么?懂得去欣赏别人,而不要像患了红眼病一样,漠视别人背后的辛劳的付出,只知道妒忌表面的风头, 这样,只会将自己的路越走越窄。

经营自己的人脉是有秘诀的,首先你要了解自己存在的价值,如果没有存在的价值,那么经营的人脉是空的,这跟有存在价值却不知道怎样经营人脉,基本上差不多,经营人脉并不等于趋炎附势,而是指在得势的时候,就要想到落难的时刻,待人宽厚真诚,人无千日好,花无百日红,多欣赏别人,择友深交,别把时间浪费在小屁孩身上。

培养广泛兴趣

一个程序员如果除了IT以外,一点其它的兴趣也没有,那真的是很危险的事情,像我现在年龄已经超过35岁了,很快就要40, 但我现在还是每天写代码,做项目已经不是为了维生,而是纯粹兴趣了,我想我会一直写下去,同时开始加强自己经营管理或财务方面的知识。你说郭安定以后玩不了电脑怎么办?他就去写书,万一双手废了怎么办? 那就去配音,万一声音也哑了怎么办?那就重回金融市场,让徒子徒孙帮忙着下单,眼球看左就买,看右就卖,就这么一直玩下去

所以人生不是只有一条路,你得为自己想好方方面面,而广泛的兴趣可以帮助你跳脱现况,看到更多。

以上四点不仅是35岁的人要注意的,很多甚至二十几岁的人也要开始关注,说真的,很多程序员看上去每个体型都不错,但体格都马马虎虎,很多人熬个两天夜就不行了, 不知该说什么 一起加油吧。

女程序员职业生涯发展


onebluesky(蓝天):我是一名女程序员,选择这份工作是因为对编程很感兴趣!没有接触计算机的时候,就向往自己有一天可以以她为工作!学了计算机专业就对编程有了极大的兴趣,幸运的是毕业后找到了一份编程的工作。到现在三年了,不算长,在这期间技术有长进,但不如自己所期望的那么大!感觉从一个水平进步到另一个水平是要附出很多辛劳的,是有一定的难度的,要超越现在的自己,不是件容易的事!

现在发愁的是自己以后还能不能继续干这一行,结婚不到半年,也许某天开始会离开一年,当再回来工作的时候,不知道是否能有单位愿意聘我!如果转行也不知道能够干什么!因为兴趣在编程,所以其他的东西也没有什么接触!想想将来真的有点愁畅呀!

各位有什么意见呢?

职业生涯管理顾问专家:

婚姻状况对女性职业发展道路有决定性的影响。婚姻状况对女性职业发展影响较男性大得多。女性就业面临的工作角色与家庭角色的冲突是一个十分复杂的现象。同样的职业生涯阶段里,女性和男性不同,比如女性大部分会因为生产而暂时离开职场,很多人可能离开时间较久。

onebluesky(蓝天)的情况也主要是这方面的,她提到结婚不到半年,也许某天开始会离开一年,当再回来工作的时候,不知道是否能有单位愿意聘我!这里面有三个方面需要注意:一是用人单位应根据《妇女权益保护法》,保证妇女应得的各项权利,女性朋友也应该拿起《妇女权益保护法》作为保护自己获取正当权益的武器;二是既然是对程序员专业感兴趣,那就继续发展这方面的兴趣即可,在暂时离开职场的时候将之视为沉淀期和重新规划期,这个时候可以给自己一个重新思考人生的机会,正如一句谚语所说的:在冬季学会游泳,在夏季学会溜冰;三是一定在暂时离开职场之前就通过努力的工作和思考,为自己的未来生涯发展有所准备和有一个清晰的规划,凡事预则立,不预则废。

附资料:女性职业发展模式

1、一阶段模式,即倒L型模式。其特点是女性参加工作之后,持续工作到退休,结婚生育后女性承担工作和家庭双重责任。如中国女性现在的就业模式。

2、二阶段模式,即倒U型模式。其特点是女性结婚前劳动力参与率高,结婚特别是开始生育后参与率迅速下降,反映出传统家庭分工:男性挣钱养家糊口,女性婚后作家庭主妇。如新加坡、墨西哥等国的女性就业模式。

3、三阶段模式,即M型模式。其特点是女性婚前或生育前普遍就业,婚后或生育后暂时性地中断工作,待孩子长大后又重新回到劳动力市场。如美国、日本、法国、德国等发达国家的女性就业模式。

4、多阶段就业模式,即波浪型模式。女性就业是阶段性就业,女性根据自身的状况选择进入劳动力市场的时间,可以多次的进出。这种模式是近十年中出现的,如社会福利高的北欧国家就开始流行这种女性就业模式。

5、隐性就业模式。女性就业主要在家庭经济中,结婚后女性只是换个家庭工作。家庭中就业一般不被官方纳入就业统计范畴。如较落后的发展中国家的女性就业模式。

女性职业发展道路的特点

1.二个高峰和一个低谷。二个高峰,一个是在女性就业后的6-8年左右时间,即女性就业后但未生育前;另一个是在36岁以后的十余年间,此时孩子基本长大或可托人代管,自身精力仍充沛、阅历丰富,女性事业辉煌通常在此时期。一个低谷在这两个高峰之间,通常是生育和抚养孩子的8年时间。

2.就业面窄,发展速度缓慢。

3.婚姻状况对女性职业发展道路有决定性的影响。婚姻状况对女性职业发展影响较男性大得多。

女性就业面临的工作角色与家庭角色的冲突是一个十分复杂的社会问题,国际经验表明,缓解这一冲突需要全社会的共同努力,特别是政府应发挥主导性作用。如,大力发展家政服务业,推进家务劳动社会化,倡导男女平等地共同承担家务责任以减轻女性的家务负担,制定有利于女性就业的社会政策,鼓励实行弹性就业制度,改革社会福利制度等。

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


4、对代码的信任

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

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

5、对方案的信任

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

6、满足客户需求

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

7、不断升级

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

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

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

程序员的时空定理[2]


营销法略的法,将产品营销拆解为面向机构客户采用一目标(CUTE)、二手段(建网10-30-60法则、达情1-3-6法则)、三宗案(赖式、袁式、牟式)的国情式流程,面向大众客户采用美式营销的普遍真理(6大要素、经典8P、当今新法)与中国市场的具体实际(本土特征、本土各P)及IT特殊的鸿沟现象相结合的差异定位专业式流程,以及不收客户的钱还能赚钱的出奇守正的第三方流程。

关于为将者的产品人修炼,智(坐知立行)、信(合作共赢)、仁(客户至上)、勇(勇于创新)、严(品质保障)五大素养,在成就企业产品的同时,也成就自我人生的成功。

程序员第二定理,不妨俗称为看远定理,或时间定理,即程序员应就职涯之世论技术之时.古人云,不谋万世者不足以谋一时,这个世就是职业生涯的全景,这个时就是当前的技术实现。反映到程序员需要做的心智模式的第二个战略转变是就职涯(世)论技术(时).

程序员可以选择职业路径,始终做工程技术,其职涯大致的到达路径是研发、技术方面的首席技术官CTO或工程、项目管理方面的工程管理副总VP Engineering;也可以选择职业路径二,从技术端向商业端走,其职涯大致的到达路径是首席产品官CPO、首席营销官CMO或销售副总VP of Sales.一般情况下,这几个职务中能到达CEO的只有从CPO、CMO或VP of Sales上去,从CTO和VP Engineering一般上不到CEO,即CEO更偏向商业,这大抵也是商业驱动技术的写照,美国的CEO九成以上是从有过销售经验的营销或产品人员中产生。

长江后浪推前浪,创新的技术、产品和企业不断涌现,IT行业最大的敌人是周期性的创新衰减,或曰创造性毁灭,即你可以通过创新毁灭别人,新企业也同样通过创新来毁灭你,如微软之于IBM、Google之于雅虎,以及现在打得火热的微软和Google.

企业如斯,人亦如是。IT业人的最大的敌人是因年龄增长引发的激情与创新的衰减,随着年龄的增大,谈婚论嫁、成家生子,你会发觉刚毕业时整晚都可以呆在电脑前的激情逐渐消失了,曾经被自己嘲弄的没有志向的朝九晚六之人,现在又多了一位,而在你心有旁骛之时,长江后浪滚滚而来,就要把你拍死在沙滩之上。

企业应对周期性衰减有三类方法,第一类是依靠技术性垄断延长生命,如微软;第二类是阶段性自我颠覆,如IBM的老沃森、小沃森、郭士纳等领导的三次战略转型;第三类是通过兼并完成自我重塑,如思科。

IT业人亦然,第一种,用人单位就只有你能搞定这个产品或技术,地球离开你就不转,你就是微软,号令天下,莫敢不从,倚天不出,谁与争锋;第二种,跟着新技术潮流,不断学习,与时俱进,完成阶段性的自我颠覆,如原来在DOS下编程,后来Windows,再后来。Net、SOA、云计算等;第三种,从技术领域通过兼收并蓄其他领域的知识和技能,完成自我重塑,如成为PM、成为产品经理、成为营销业务人员。

不谋全局者不足以谋一域,不谋万世者不足以谋一时,这就是程序员的时空定理。

一个平庸程序员的自白[2]


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

我的生存之道

尽管我的编程技能不尽如人意,我仍然是一个非常成功的开发人员。这里有一些我多年来学到的诀窍,以及如何我作为一个平庸程序员,发挥出最佳平均编码技能水平的生存之道:

▲ 明确要求--我会预先得到完整、精确的系统要求清单。如果你直接开始编码就意味着你没有针对系统设计的要求来进行。

▲ 分析和设计--我获得了分析和设计权。一名普通程序员获得了分析和设计权,就拥有了一个超越一名伟大的程序员的优势。

▲ 项目计划--坦白来说,我早期职业生涯中没有用过正式的项目计划,一直到我加入了CSC,不得不使用更多的正式文档编制技术,从而开始使用项目计划。由此我充分认识到使用经过慎重考虑后的项目计划也是平庸程序员的一个优势。

▲ 经常翻阅手册、指南--我总是备有手册、指南以供不时之需。我也研究了其它的参考材料。

▲ 拷贝-粘贴程序员--我不介意承认自己是一名拷贝-粘贴程序员。多年来,我写了许多可以在新项目中重复使用的代码。因为我至少花时间写了一次代码,所以我对这些代码如何工作略知一二。在工作中我从不拷贝其他人写的代码,并且我从不使用我在其他公司写的代码。黄金规则和版权法都适用于知识产权:您不得复制和使用别人的代码,除非明确允许,或者你可以得到特别的许可。

▲ 毅力--我永不放弃,我一直相信自己能完成任何编程任务。

▲ 工具--当我需要一台更快的电脑但这又不在预算之列时,我发现了一个经理愿意用他们的一部分预算资金为我购买。你可以通过乞求、借用,或交易来获取所需工具,从而完成自己的任务,要经常向你的经理提出自己的要求;只这些要求是合理的,一个优秀的经理会尽最大努力找到一种方式来获得软件,硬件,手册,或者你所需要的帮助。

▲ 手气好(Serendipity)--也被称为代码一写就好策略。有几次我像一个初级程序员那样写了代码,而这些代码运行得很好。我把它比作是国际象棋,你在下棋的过程中突然发现,自己走两步就有将死的机会。这不是编程应有的方法,但由于我在检讨自己的职业中的罪过,我不得不纳入此项。

底线

我要做一个最终坦白:我不喜欢被看作是次等的团队成员。我见识卓越,而幼稚的程序员却真的相信:不能写出先进代码的人对团队和公司来说毫无价值。这些精英认为平庸的程序员能力有限,不足以生产高品质的代码,几乎总是犯错,令人不快。有个观念令我感觉既可笑又惊讶:如果你不能 ________(填空),就不是优秀的程序员。

你不必成为一个出色的程序员或伟大的开发者,特别是正在开发商用系统的时候。没错,我是一个平庸的程序员,其主要原因是我从来不需要成为一个伟大的程序员。

我不是纵容平庸。不论做什么,都要尽力做好--包括编程。最好的代码可能难以确定,但越高效的代码可能也越难维护。可以说,任何可以完成工作的代码就是好的代码。代码是像索玛立方体(Soma cube),有240种途径可以解决索玛难题,同样,也有许多代码编写方法可以用来完成任务。底线就是尽可能做好工作--这是任何一个平庸的程序员都可以做到的。

寻找自己的程序员之路[2]


在技术的选择上,是敏捷敏捷再敏捷!数据库尽量db4o,前台尽量sl/flex(面向最终客户的就不能选择sl).工具软件尽量用C#开发。尽量只做自己擅长的,不做别人擅长的。

我有一个特点,就是会一大票语言,能用来干活的就有C,C++,C#,Java,Python,matlab,actionscript,javascript,tcl.去上班的话,这是缺点--泛而不精。自己干的话,这反而成了优点了。因为我接的项目,很多属于偏门项目,这些项目往往都有开源的实现,但这种实现,要么只有C版本,要么只有Matlab的,要么只有Java的,会这些语言可以最大范围的参考,降低技术风险。缺点在不同环境下可以成为优点。

第五关:团队

通过前面的不断切入,形成了一系列案例,也积累了良好的信用,业务量是翻番的在长,最后自己的时间成了瓶颈。前两天小试了一把,谈了5个项目(2个flex,2个图像处理,那2个flex项目的核心也是图像处理),4个有合作意向,自己干不完,没办法,只能选择1个。

这就到了第五关了--一个人干不过来,得团队了。

但我前面说过,本地是人才沙漠。我的观点是宁缺勿滥,仔细挑选,从头培养。俺的挑选标准是:有激情、品德要好、数学基础要好、有自学能力。目前在带徒弟,看成长情况怎么样。

不着急,用不着太多的人,培养团队的同时开始摸索渠道。那个也得时间。

第六关:渠道

我最终想做的是产品。而在偏远地区做产品,想做成功,渠道和推广非常重要,不然的话,就算做出来了,也只能拿小头。在国内,还要考虑盗版因素。我现在只是有大致的产品方向,做也是玩票性质的,目的是摸索渠道和商业模式,想摸摸国内的和国外的两种市场。国外的只有试探性的探索。国内的,嘿嘿,前面的开发已经形成了一系列的推广工具了。

第七关:产品

做了这么多年项目,累死了。最终的目的还是产品和平台。我的征途是星辰大海(搞技术的,也得有技术的浪漫)目标是5-10年后,互联网3D化之后的虚拟现实(切入点?俺已有一个初步考虑的切入点).短期(5年内)是开发一些工具类型的产品和推广平台。

我是学材料的,在纳米材料界有一个名言--Build The World Atom By Atom.那么,在可见的未来,虚拟世界就是--Build The World Bit By Bit. 协议、图像、机器视觉、3D、语音,正是构成虚拟世界的因素,前面的种种,都是为这个做铺垫。未来的制造业将是分子制造,于是Atom和Bit将会碰撞--Build The World Atom By Atom, Bit By Bit!

但还是那句话,只做小,不做大,做点做线不做面。

什么程序员30岁之后转行之类的鬼话。俺到今年,才开始感觉进入了程序开发的大门,写程序时开始有一种美感,有那种几十人骑着战马冲击奥山大桥的壮烈。做一辈子的技术又何妨。

上述路径相当保守,指导思想不是胜利,而是避免失败。无恃其不来,恃吾有以待之,无恃其不攻,恃吾有所不可攻也。

关于女生的程序员之路[2]


第二个提法,我觉得目前女性就业困难,关键还在女性自己。

目前大学里面有句话:干得好不如嫁得好!,我想大家都听说过。其实是人就有惰性,也有一些劣根性,都想找一些活少拿钱多的工作,舒舒服服地赚钱,这种思想,其实不管男人女人都有。我自己也有,呵呵。

关键是,社会是公平的,一分贡献,一分收获,哪有那么多不劳而获的事情。但现在的女生,我觉得普遍有点问题,都想走捷径,都想一次革命成功,目前大学校园中,傍大款的不少,很多女生一门心思嫁个好老公,认为这辈子就有靠了,不需要奋斗了。

因此,在求职市场上,很多女生不是找不到工作,是根本没有一心一意地去找,因为对女生而言,通常都有第二选择,可以靠家里,靠男朋友,等等。这种求职态度上的不坚决,其实无形中,已经给自己关闭了很多企业的大门。有个现象,同等条件的两名女生都面试,一名犹犹豫豫的,一名态度极其坚决,一定要拿到这份工作,通常都是后者获胜,因为企业认为这个人既然这么需要这份工作,那不管能力怎么样,进来后起码会拼命做事。

那我们再来比较男生和女生,就可以看出显著差异了,其实男生有时候也想靠,但是没得靠啊,反而,还有个女生在靠自己,自己还要撑起一片家庭,那么,你说男生求职拼命不?

但我还是得说,前面女生的这种思维是严重错误的,夫妻也是经济共同体,双方需要共同完成家庭建设,这样的家庭才稳定。一个女性,如果觉得职场艰难,就打退堂鼓,那,不管是不是程序员,其实我觉得她什么职位都找不到的。

这样还有潜在的恶果,现在有很多闪婚族,出了校门就结婚,我认为和女性的这种依赖思想有一定关系,但这样的婚姻,是不是稳定呢?

其实我不讲,大家都应该清楚,女性凭借个人的外貌实现魅力,男人更多的是凭个人的内涵和事业的成就实现魅力,这就决定了,一个女人,魅力最大的时候,是18~28这个年龄段,而男人恰好相反,一个男人最有魅力的时候,是35~45岁这个年龄段。这中间有落差。

一个女性,如果坚持以漂亮为本钱,早早地就嫁人,在家里相夫教子,那么,在她30多岁,年华老去的时候,情况就比较危险了。首先,男方逐渐进入事业巅峰,很多更为年轻漂亮的女性,会青睐这种男人,男人面临的诱惑在加大,其次,这个家庭,十几年其实都是男方一点点赚出来的,女方是享受者,不是建设者,在这个家庭里面渐渐就没有发言权,经济基础决定上层建筑,不要说对方爱你就会一辈子听你话,很多事会变的。

如果此时女性再不注意,试图通过控制经济等手段压制男人不会变心,或者采用跟踪,哭闹等极端方法,往往适得其反,最终导致男人离他而去。一旦出现这个问题,女性的问题就比较危险了,十几年没有上过班,自己的专业能力,恐怕仅仅剩下一张文凭了,知识都还给老师了,那她在社会上可以说没有任何竞争力可言。那么,她以后靠什么生存?

从程序员到软件工程师[2]


当时看算法本身的文档,然后又回头看线性代数,终于理解了算法,并用程序表达了出来。由于是嵌入式用的,又花了大量时间进行算法优化。

后来跳槽时终于尝到甜头:

1。薪水高,基本上一应聘就是Senior的职位

2。稳定,这个一般大街上招一个程序员是做不来的

3。机会多,这个怎么说呢,反正只要是大公司招人,象微软、Google等,除了问一些语言本身的问题外,基本上就是算法和数据结构的问题。

通常面试那些时间你写源代码是来不及的,基本上就是写伪代码。或说明你的算法基础和思路。答的好一两句话就解决了。

想走这条路的朋友,我首先建议好好读读《数据结构与算法:C++版》,里面所有常用算法和经典算法及数据结构必须烂熟。其次,建议将大学课本找回来,几本高数好好复习复习。《线性代数》《概率和数理统计》《微积分》《常微分》等等。

我们不是大牛,基本上创造不出新算法,但是我们能够将别人的算法实现或者能把一个具体问题分解成已知的算法,那么你就是一个很不错的算法工程师了。

说实在话,语言只是工具,是很容易掌握的。99年2000年泡沫时期,不是很多人突击那么三个月就可以上路做programmer么。就象刀法是很容易学会的。要应用精熟,也不过是长时间的积累而已。

对语言的理解实际上就是对刀法的领悟,有人是顿悟。但是多用总是会渐悟的。

最重要的是基础,就是数学能力,那可是内功。可以这样说,你要想真正和其他程序员拉来差距就在这里。

我朋友的孩子想走计算机编程这条路,考大学我就推荐考数学系!

再有就是多做那些大公司的面试题,一是锻炼自己的大脑,二是熟悉这些算法的应用。

好了,现在能想到的就这几点,这里给几个面试的例子,看看能不能用最简单的描述解答

1.如何生成一组正态分布的随机数?

2.有一个二维迷宫,如何找到出口路径?

3.有数据库存储一股票每五分钟的实时报价,如何生成每小时,每天,每周的股票价格变动曲线?

====我的建议答案

1。生成二维随机数,只取落在正态分布包络线内的数

2。二维连通图深度优先遍历

3。傅利叶变换

程序员对经验的一点思考[2]


那么,个体应该怎样对待经验呢?

我个人觉得,可以从经验的形成和使用这两个角度来思考一下如何对待经验的问题。

1、经验的形成

在经验形成的过程中,不能仅仅满足于经验的获得,还要对产出经验的前因后果进行深入系统地思考,确保经验能够有机,系统地融入到自己已有的知识体系中。很多时候,我们解决问题的经验方法,思考过程,是以一种非显意识的,灵光一现的方式得出的,我们的大脑会以一种近似于直觉的形式从记忆深处跳跃性地抓取一些线索,得出问题的解决方案。这种背景下形成的经验,如果不对其加以整理,回顾,不将经验背后的东西从潜意识翻到显意识的话,不去将经验涉及到的知识点和相关事物进行整理联系的话,这种经验很容易就会淡化,甚至随着时间的推移发生扭曲。即便是没有发生扭曲和淡忘,但是因为对得出经验的前因后果不甚了解,往往在个体真正需要借鉴经验的时候很难建立出来一个有效的参考系统。在经验形成的过程中,要透过经验,去观察经验背后的本质规律,通过具体的经验接触乃至掌握了主导经验的本质规律,才能够让自己在以后遇到问题的时候有效运用经验。

2、经验的使用

在获得经验的同时,要警惕经验成为自我意识的一部分,以减弱因为人潜在的维护自我完整性的心理倾向所导致的对经验的过度使用。

保持一颗鲜活的大脑,对不符合经验的东西,对经验不能解释的东西要保持一种敏锐的觉知能力和思考的自由度。而作到这一点的关键是要确保内心的纯净,安静。在我看来,只有一颗不带欲望,不带喜好,不带情绪,不带偏见,不带过多自我意识的心,才能够在运用经验和创造经验之间获得完美的平衡。把文章发给了一位朋友,他的回复我觉得很精要,附在下面作为对自己的思考的补充吧:

关键的是要能够透过具体的经验,看到背后的规律,所谓透过现象看本质。有的人,事情只做一次,就能成为专家;有的人会不停地在类似的事情上失误,这就是对本质看法的能力不同所致。 能够看到本质的人,一定不会滥用经验。

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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