2) 程序设计语言是一个不断发展过程

没有一个语言是静止不变的,几乎所有语言都会随着技术进步而不断升级。同一种语言确实是存在高低之分,版本高的语言因为改进其版本的问题,增加了新的功能,扩大了语言的应用范围。所以,程序员要关注本语言的发展,不断跟踪语言发展的最新结果。

有的语言由于其最初所设计功能范畴满足不了现在流行技术构架就逐渐地被人淡忘和淘汰了。原来很流行的基于单机的、基于B/S构架的语言,如BASIC、VB、VFP、BP、DELPH等语言渐渐地消失了。

认识到语言是一个发展的过程,跟上语言发展步伐,才是程序员必须要牢记的。这就可以回答地球人都知道要选择C#、JAVA个中的理由了吧。

不同的语言发展的步伐是不太一致的,越是靠近计算机底层的语言发展的越慢,但是不等同于不发展,例如,C语言就增加了大文件打开的系统函数。

程序员确实要有危机意识,要主动关注语言发展的大的趋势,如果你学的语言正好是主流的、流行的语言,那你可以减轻这方面的压力。如果你学的是非主流的,而且其编程工作呈下降趋势,则要考虑学习新的语言,否则真有一天会被淘汰。

3) 要牢记学以致用的原则

程序员选择何种语言从某种意义上来说并不取决于自己的喜好,而是为了自身的生存,由外部来决定的,其总的原则是学以致用。例如,现在外部流行B/S构架,表明市场需要这个构架下的程序员。程序员要想就业,增加就业的可能性,必须要选择C#、JAVA、PHP.否则,学会了其他语言无法致用,就业难度增大。又例如,单位需要后台和数据库方面的程序员,那程序员就必须学习C语言和Proc C语言。又例如,软件公司用的JAVA,而你又想进入这家公司,那你就必须学习JAVA.

其实,编程语言是否有高低之分是个伪命题,不管有何无,都无关大碍。关键是程序员要掌握一门用于生存和学以致用的语言。

学习语言有一个很漫长的过程:自然语言-〉程序设计语言-〉多种程序设计语言-〉程序设计语言存在高低之分-〉程序设计语言不存在高低之分-〉选择学以致用的程序设计语言-〉跟踪程序设计语言发展的趋势-〉领会程序设计语言的本质-〉回归自然语言。

每个程序员都可以静下心来,客观上看看自己处在这个过程哪个阶段,只有这样才能用一个发展的眼光看到自己在学习语言方面的前方道路,迫使自己向更高的阶段迈进。

延伸阅读

强中自有强中手 调试高手和编程高手[2]


现在的开发语言具有功能丰富的调试命令。无论用什么设计语言调试,你只要注意掌握以下几个命令或操作,就能入门调试了:

1、 运行程序
2、 设置断点、取消断点
3、 运行到断点
4、 单步跟踪(setp into)
5、 单步执行(step over)
6、 显示变量、对象、源程序
7、 退出调试

你可以按此去寻找相应的命令和操作,并熟记于心中!此法必有大用。

通过调试,程序员可以学会如何运用断点、如何最快地找到可疑语句,如何很迅速地找到问题所在从而改进程序。而不断地调试,使得程序员不停进行调试操作,变成了操作高手。调试内容可以说千变万化,技巧也多多,关键看程序员的积累。例如,循环语句调试的技巧、同步异步调试的技巧、中断调试技巧、外设调试技巧、数据库调试技巧、边界调试技巧、例外调试技巧、屏蔽法调试技巧、替代法调试技巧、接口调试技巧等等。

调试象开车一样,不会开的时候,程序员有恐惧感,会开了以后,程序员特别想调,开多了,程序员越发老练,调试操作越来越快、对问题发生的原因和纠正方法也熟记于心中,技巧也油然而生,积累越来越多。

好的程序员不但调试自己的程序,而且会帮助其他程序员解决调不出来的程序的问题。程序员在帮助别人的时候,更能尽显调试才华,成为真正的调试高手。

调试总的目标是为了纠正程序的错误。但是,调试也可用于其他的用途。例如,我经常会先把函数的调用语句给写好,但是不写函数体,这样每次编译都会出现函数没有发现的提示。我不写函数体的目的,就是让每次编译的时候提示我还有多少函数没有编写。让我对这个函数加深印象,给我有时间思考这个函数如何编写。当其他语句编写完后,我再一个一个把没有编写的函数内容补上,这个时候编写就快的多了。有的时候,我还喜欢看到几十条上百条的出错提示,然后,我感觉于一个改错就能消灭几十个错误的快感之中,然后再改再调,直到无错。调试成了我娱乐编程的一部分。

通过调试你也会发现:编程水平直接影响到调试。如果程序很具有模块性,调试起来就很快,几个或十几个单步执行就会到达程序的任何地方,如果程序本身逻辑性不强,变量命名不准确、一个函数内语句有数十条数百条,那你几百个单步执行都到达不了你想要达到的地方,程序调试起来就会很麻烦,而且不容易定位出错的地方。所以调试高手往往会改进自己的编程,使得编程水平日益提高,成为编程高手。

强中自有强中手 调试高手和编程高手[1]


第三部分,未来职业生涯规划、家庭环境分析、例如经济状况,家人期望等。感谢您阅读《强中自有强中手 调试高手和编程高手[1]》内容,职场资讯网小编向您推荐一些职业规划知识,欢迎参考,希望能帮到你。

业界总是有高手之说,高手成了程序员心中之偶像,成了程序员成长之目标。但是,现实中人们往往对自己所了解的程序员,很难认同为高手;人们反而对那些自己不了解的,甚至是道听途说的人会认作为高手了。高手,同武林高手一样,神秘之至。

许多程序员都有这样的经历:无论自己编写什么很短很短的程序,一般是很难一次就能通过编译的;通过编译的其功能还不一定是正确的。我在很早就注意这样现象了,开始的时候,我还不信这个邪,还试着编写程序看看自己能否一次能否编译成功,为这个事还和别人打过赌呢!这当然是年轻时做过的事了。后来我渐渐明白了,编程出错是编程的一个重要的部分!出错是正常的,不出错才是不正常的。出错怎么办?当然是改错啦!不知道错在什么地方怎么办?当然是调试啦!调试于是和编程相依相伴了。程序员不但要会编写程序,还要会调试程序。

程序出错一般有:未定义、语法、运行出错三个方面。

1、 未定义

未定义往往是程序员的忽略定义或定义后名称与定义不一致造成的。

1) 要避免忽略定义这个问题,程序员首先要养成严谨工作的习惯:先定义,后使用。

2) 解决定义名字与使用名字不一致问题,程序员在对函数名、变量名、文件名、数据库名、表名、字段名定义的时候,不要信手拈来,象不花钱似的任意取名。一定要定下心来慢慢地斟酌,这个名字自己不但要能懂能记得,别人一看也要能懂能记得。程序员可以假设自己定义一个变量就要花出去100元钱,如果别人看不懂就要另外支付200元。有了这种名字的有偿使用,这样程序员就不可能乱取名了。长此以往,在使用这些名字的时候程序员就会有行云流水感觉,而且很少出错。

2、 语法问题

1) 新手编程走一步一个跟头,走两步两个跟头,主要是对语言的语法不熟悉,丢三拉四,关键字拚错等。这种情况不可怕,多看看语法说明,多改改程序就会对语法越来越熟悉了。

2) 老程序员语法问题出现较少。但是,很多情况下程序员在使用新语言编程序的时候,会采用老语言的语法,反之亦然,导致出错。例如,某人先使用C语言,后使用VFP.当用VFP编程的时候,往往习惯性地在语句后面加上;,这导致VFP语法出错。当熟悉VFP后,再编写C语言的时候,往往在语句后面忘记加上;,导致C语言语法出错。类似常见问题如:IF语句后面表达式是否要加()等,for 语句,while 语句,case语句在不同的语言的语法都有可能不同。另外,不同数据库中的SELECT 、INSERT、语法都有一些不同处,这些不同之处,往往让程序员不知所措,老是要停下来思考一下,现在用的是什么语言用的是什么语法。

3、 运行问题

定义、语法这些都是显式出错,相对好解决。但是运行中出现错误就五花八门了,我试着归纳一下:

1) 运行中程序突然中断了并退出了。

往往是内存出错!可查变量、指针是否越界,指针是否为空等、例外没有处理。

2) 环境问题

例如,数据库密码错导致数据库打开不了、要打开的文件不存在、参数定义错,参数表为空,参数表没有缺省值等。

3) 程序的输出的不是自己的预期结果

往往是程序逻辑和算法存在问题。

4) 程序不停地运行没有停止的迹象

查一下循环的条件表达式是否永真、导致死循环。

5) 程序无法退出

程序乱了,导致内存错,覆盖了退出指令!

6) 程序运行了很长时间才出现了错误

累计误差、数据原因造成的错误等。

出错是必然的,如何找出错误,有些人编写C语言的人只会用在可能出错的语言前后,通过显示语句print来判别出错的原因。他们不懂debug、sdb、dbx等调试工具,来调试程序,他们会编不会调。我们很难想象不会调试的程序员是如何编程的,调试对于程序员如此重要,以致于可导致出不会调试的程序员就不是程序员的结论。

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

寻找自己的程序员之路[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]


职业规划是对职业生涯乃至人生计划的过程,职业生涯规划的好坏可能将影响整个生命历程。感谢您阅读《计算机编程新人入行指导[2]》内容,职场资讯网小编向您推荐一些职业规划知识,欢迎参考,希望能帮到你。

注意事项三,提问之前,自己先试图看看能不能找到答案,我建议的寻找顺序是文档、google,最后才是张嘴问,问之前最好已经积累了一些材料,比如关于这个问题自己做了什么研究,搜索了什么关键字等等,这样问的有诚意,回答才能有诚意。

另外,对于一个新人,需要多跟老同事沟通,了解项目的关键点是什么,比如开发一个通讯程序,用了什么协议,哪个网站比较有用,哪个文档需要精读,都是非常有意义的问题,这些问题可以少走一些弯路。早上到了公司,第一件事是接收业务邮件,然后记下一些需要回复或者要做的工作。邮件阅读以后,可以跟项目组长做个简单的沟通,了解一下哪个任务或者功能需要快一点完成,交流一下自己的想法,时间花费不多但是可以把一天的任务明确下来。如果比较努力而且有一定的开发能力,两三个月以后应该开始接触到项目比较核心的东西了,这个时候需要做的工作就是读代码。一个项目最重要的东西就是代码,至于文档、注释、测试,其实都是保证代码质量以及代码可维护型的一种辅助手段,作为一个开发人员,不熟悉代码就是致命的错误。

读代码我这里有一些简单的体会。

读代码要注意的第一条是从界面开始,深入到功能。打个比方说,一个桌面软件,其中有个格式转换功能,可以从菜单选择格式转换进行操作(注意,所谓格式转换就是一个例子,没有实际意义),那么就可以搜索菜单里的格式转换,找到相对应的界面函数,这就是一个相对独立的功能入口点了。然后从这个入口点顺藤摸瓜,就可以搞清楚格式转换这个功能需要的一系列界面函数以及逻辑实现函数。读代码的时候注意要随时做笔记,可以用word或者是powerpoint这样的软件做记录,搭配一个抓屏软件抓取界面变化、程序运行栈或者是一些关键数据就更好了。

一个相对独立的功能基本上是由几个数据类或者数据结构,加上几个比较重要的逻辑函数实现的,抓住了这些关键就抓住了这个功能的核心。比如说一个通讯软件,重要的就是通讯数据格式和通讯协议实现。经过我的体验,这个小窍门还是很有用的。一般经常出现问题的也就是这些相对来说复杂一些的函数。阅读代码的同时还要经常问自己一些问题,比如这个地方为何这样实现,有没有其他的方案,哪个方案更好一些等等。这些问题可以让自己更好的理解当时开发人员的一些想法思路,另外也是将来代码进行重构的一个铺垫。

注意事项四,作为一个开发人员,多思考是非常必要的一个特质。

一个新人,经过这些阶段,基本上可以成为项目组的中坚力量了,希望每个入行的新人都能成功晋级成为老手。

IT人如何修炼编程的内功[2]


ok了,这我们是不是可以理解到,计算机编程,其实首先是人的工作,当我们遇到一个服务需求,我们人来做一次,嗯,获得一个比较满意的结果,然后我们觉得这个动作可以重复,下次遇到类似的问题,照做就好了。于是,我们就安排计算机来做这件事了。是不是这样?

这是不是说明,程序,其实是在讲一件事应该怎么做,这个做的过程,以及这个过程的含义,其实是人定义出来的,然后通过编程,教给计算机来做而已。

我以前经常有种感觉,计算机编程,是两层意思,一层,是程序本身的含义,就是怎么做事,另一层,是隐含在程序下面的逻辑含义,就是做事的意义,程序只是字面上的意思,而逻辑,是程序段落组合起来,共同表述的一层意思。现在想想,其实就是这个道理。

嗯,既然我们知道,编程,就是把做一件事情的步骤,分拆开来,教计算机去做,但,分拆到什么粒度呢?这个很重要。如果分拆的粒度太细,白白浪费程序员的时间和精力,这些都是成本。而分拆得太粗,计算机还是弄不明白,做事不对,就是bug了。

这说明,编程有个很重要的概念,就是粒度,也就是我们对问题描述的精细程度。

最开始的计算机是最笨的,学过计算机组成原理的同学大概知道,只要有个累加器,其实已经可以算一台计算机了,只会做加法计算。因为从数学上,我们可以知道,任何计算,最终都可以演化成加法计算,事实上,现在的CPU,在最底层核心的部分,也还是这个加法逻辑。

这样做当然没什么不好,不过,有个小小的问题,就是粒度太细了。如果每件事情,都要程序员去拆解成很细的加法计算,这个工作就几乎不是人干的事情了。难道就无解了吗?

呵呵,前面我们说过,计算机的特点是什么?无限重复,大家就发现,一个事情,比如7*24,这是乘法计算,但是,我们最终要拆解为加法计算去实现,但是,不是说我们每次都要这么拆解,乘法计算也是一个工作,有规律的,因此,当我们拆解一次之后,我们当然可以把这次拆解过程本身,编订为程序,下次遇到类似问题,让计算机把这个程序再跑一遍就ok了。呵呵,大家以为Intel的CPU里面的乘法计算指令是怎么实现的?大家又以为AMD的CPU内部的微代码体系是怎么实现的?

就是这么一个思维,解决了所有的问题,遇到需求,首先拆分,然后不断检索我们以前是不是以前拆分过了,遇到能套用的程序段落,就直接用,不用每次都拆分那么细,减少工作量,当然,遇到新问题,还是需要自己拆解的,不过,拆解后,最好把拆解本身,也写成程序,下次重用。

大家玩各种语言,一般都提供基本库,这个基本库,其实就是前人已经拆解过的结果,软件公司觉得有代表性,可以满足大多数应用场合,就编订到基本库里面,以后程序员直接用,不用自己重复了,大家说是不是这样?

现在,大家知道怎么看待C的stdio.h,stdlib.h这些基本库了吧?C++的iostream是什么含义,知道了不?MFC知道了不?Java的运行时库是什么意思,也知道了吧?

不过呢,这个世界的需求总是很多的,并且,计算机的能力也是不断在进步,以前不适合计算机做的事情,现在也慢慢变得适合了。因此,大家总能遇到一些新问题,需要自己重新拆解,基本库中没有提供,这就是程序员这个职业存在的真实含义。帮助用户不断拆解新需求,解决新问题。当然,库本身也在进步,不断把已经被证明拆解成功的问题,修补到库中,避免以后的程序员做重复工作。就这么简单。

职场智慧之程序员的职业规划[2]


做自己喜欢与最擅长的工作

既然必须做出选择,如何选择就是关键。总不能写几个纸条,靠抓阄来决定自己以后的命运。从众多成功者的经历来看,成功的一个关键因素就是做自己感兴趣的和最擅长的事情。如果没有兴趣,就没有百分之百的激情与动力,如果不擅长,就不可能把一件事情做到最好。

刘翔是短跑冠军,王励勤是乒乓球冠军,乔丹是飞人,巴菲特是股神他们之所以成为英雄,正在于他们都是在做自己最擅长的事情,都是在拿自己的长处和别人的短处较量。他们本来是普通的常人,但因为在某一点上超过了所有的人,因而获得了成功。

职业规划的目的,不是要你变成另外一个人,而是要你变成最好的自己。搞清楚自己的优势在什么地方。做自己喜欢和最擅长的工作。不要羡慕别人的长处,不要绞尽脑汁地琢磨怎样才能像别人那样擅长某方面,不要幻想成为别人--做最好的自己!

成为行业专家

通常说到程序员的发展前景,一般是指如项目经理、软件架构师之类的,这种规划主要是在IT行业内就业发展的规划,更像一个职位的规划。所以,无论是就职资源还是职业前景都包含一定的局限性。随着IT行业的竞争加剧和其他传统行业的信息化进程,如今的程序员职业规划发展目标应该超越本职业概念的行业专家,这里所指的行业,并不是指编程的语言,而是比如电信、互联网、银行、电子商务之类的行业,成为一个领域在行业中应用的专家。而在现实招聘的需求中也大量地体现了这方面的要求,具有某一行业多年从业经验的开发人员一直是众多企业苦苦追寻的香饽饽。

坚持到底

除了选择,最终要想获得成功,唯一的办法就是专注.技术是层出不穷的,而人的精力却是有限的,怎样把有限的精力用到刀口上去,那就得认准了某个领域和某个行业坚持不懈地做下去,不但要成为这个领域的技术专家,还要成为这些行业的业务专家,你能熟知这个领域的点点滴滴,并能在这个领域的行业应用上发展创新,这样的人才,我想才是目前最需要的人才。我的一个同学,毕业的时候被公认为是编程水平最高的,但3年来他换了6次工作,他总是对这个感兴趣,对那个感兴趣,做过很多,每换一个工作几乎都是做的全新的东西,总在抱怨工作不如意,其实他换来换去,却始终是在起点上转。而另一个非常坚持的朋友,10年只跳了三次槽,第一个是程序员,第二个是部门经理,第三个是技术总监,不为什么,就因为他是专家,10年来他只做一个行业。用10年来做一件事情,不成功都难。

世界上没有完美的公司,重要的是,你要有自己的目标。知道你自己要的是什么。有些人习惯不满意就跳槽,跳槽可能会增加你的收入,但这种个人收入的增长,与一家企业由小到大而给员工带来的成长是无法相提并论的。职业规划就是要搞清楚自己的优势在什么地方,自己最适合做什么。当有了自己坚定的目标和定位,打工就不再是为别人卖命,而是为了自己的目标在奋斗!用这样的标准来衡量自己的成长和进步,那样的人生也会变得轻松而快乐。

别用“高分低能”这句话拉别人下水


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

我就职于一家咨询公司,专门给各类企业做调整组织架构,战略落地等工作。汗颜自己不是冲锋陷阵的顾问们中的一员,但是作为后台一员也更能全面客观的观察同事们的工作状态。最近公司合并,我也是新岗位新职责加身,需要更加动脑筋的工作,调动整个team的能力,这也是我锻炼自己的好机会!以前有机会慢条斯理的干着活儿,有条不紊。但是事情一多,就要想怎么放权怎么监控,适时的当甩手掌柜,让自己做自己Level该做的事儿,也是给到team成员锻炼的机会。

一放手我才发现不是你想放就能放,也是让我开了眼界,不遇上事儿是不知道啊,有的行政助理入职也快2年龄,依然是半成品状态,做不好自己的工作!可惜她领导未必意识的到,不然合并期间很多人都“被”离开了,总部也要我们精简后台人员,这半吊子行政助理(IL小姐)依然“混”在公司。开除她吧,少了半个人,不开除吧,她也是够能添乱的。

事情是这样的,首先是我的疏忽,一忙忘了跟进公司票款的付款流程了,惹上了麻烦。付款流程是这样的:

1.行政助理和携程客户经理一起对账,下月初对上月初的差旅票款

2.确认金额和发票,如无误那么,

3.请主管在Payment request上签字,并等待携程把发票寄给行政助理,行政助理收到发票连同机票(蓝色)和票款明细(携程提供)一起寄给总公司前台,

4.总公司行政助理(IL小姐)负责把关各地行政费用(包括机票)

5.整理好交给总公司财务付款给携程

其实是比较完整的流程了,结果都到7月了,携程嚷着一直没收全5月的费用,再不给就要停我们的帐号,这是大事儿,总公司要求彻查。IL小姐收到了四地的费用申请,其实从她这里是完全可以看出问题的,但是她群发邮件给三地主管,抄送行政总监,一副一夫当关万夫莫开的样子,把我们搅个天翻地覆,三地主管没空陪她玩,都派出了各地的行政助理和她过招,感觉折腾了好久,终于发现是北京的5月机票只确认金额,忘了后续提交付款材料,我承认我失职,当时是实习生帮忙前期整理的,我想当然的认为批过钱款就自动到付款流程了;这期间还有更烦的,一天好几封邮件抄送我们项目上一个小顾问,要客户把差旅费付款给携程的截屏拿出来,不知大脑是怎么运作的!?这不是给人给己找麻烦么,你想啊顾问在外地出差,忙得脚打后脑杓,哪有空及时回复这种事儿,但携程也很着急的,付款截屏只有总公司财务有,IL小姐也是总公司的,直接拿来不就好了?!

最后我和携程经理打电话沟通我们并非恶意欠款,提前问询了内部付款流程,梳理了付款材料。给到一个deadline,携程经理表示理解愿意等我们。一周内我司准备好付款,并未被携程停帐号。

我以为这件事儿已经消停了,IL小姐又在期间跳出来问为什么5月客户给携程的钱超出了5月的欠款?!!"大脑是很好的东西,我希望你也有一个!"是我看到信后很想对她说的话。现在已经7月了啊小姐,6月份的钱也要付过去了,一并付款不行么?!你以为客户是你家财务啊,还分批次给你打款啊,这客户够优良的了,说该结差旅费了,人家麻利儿就付给携程了!

之前和她一起合作过Revenue forecast的表格,非说我没有预估总公司的billing hour,也是拉着领导研究了一上午,结果就是表格忘记“展开”。一上午啊,行政总监就陪她干这个?!这可怕的第四类员工!

以下节选橙子school微博内容;

公司的员工可以分四类,“聪明又勤奋”,“聪明又懒惰”,“不聪明又懒惰”,“不聪明又勤奋”。

其中,第四类是最可怕的。

因为他们的存在,你不得不跟着加班,因为老板会把他们拿出来做榜样:“看看某某某,每天加班到半夜,你有什么理由早走?”

因为他们的存在,你不得不在私人时间保持手机随时在线,因为老板会把他们作为你的榜样:“为什么我能随时找到某某某,但就找不到你呢?”

因为他们的存在,你必须陷入到循环往复的会议中去,听他们看似严谨完整、却又毫无观点和新意的冗长陈述。

但是有人会说:毕竟不是每个人都有天分,没天分就活该去死吗?没天分我勤能补拙有错?你说我能力不行,ok,我认,但我勤勤恳恳认真工作,对得起老板给的薪水、对得起同事、对得起父母、对得起列祖列宗。我这样的做法,在态度方面没有一点问题。

不过我想说的是,这样的人在态度方面真的没有问题吗?

他们确定他们工作如此拼命是因为有责任感,不是为了自己在犯错后能有借口?

他们确定他们工作如此拼命是因为有责任感,不是为了护住自己在职场的一亩三分地?

他们确定他们拼命是因为责任感,不是为了把决策风险分摊给更多人?

所以说…

承认吧,许多人拼命工作并不是因为爱,而是因为不自信。

对取得好结果不自信,所以在过程中努力;对自己关于大方向的判断不自信,所以专扣细节。所有的努力不是为了把事情干好,只是为了失败了有台阶下,毕竟“没有功劳也有苦劳”嘛。

我们这儿还有位勤勉好学的HR,前中粮的HRD。此女给大家的最大印象就是:哎,我说,她怎么能当上HRD的?中粮没人了么。从她上海的老板,到合作过几个月的实习生,还有IT经理,无一个不背后冲她竖起中指的。HR姐呢,理想就是转成我们的顾问,嗯嗯,好姑娘,但一路“艰险”啊,她并不知道全球合伙人级别的花姐到小顾问们没一个欢迎她加入的,她性格不讨喜,爱得罪人,要不是抱了新总监的大腿终于转成顾问,她是翻不了身的。别人得罪人吧影响较小,顶多是不相往来嘛。她得罪人的方式简直有如近身搏击,先靠近你,然后一句话就把人得罪的“印象深刻,神清气爽”。我们来看看HRD姐的一招制胜(一句话)法宝:

1.打给IT Manager:喂,那××的帐号怎么还没好,不是早就申请了么,你们IT能不能效率高点儿?

2.打给IT 助理:这个你能弄么,你弄得了么,你不行就让LC来吧,还是直接找LC比较靠谱(我脑补IT助理的疑问:那你为毛不一开始就打给LC,还要打给我,就为了质疑一下我的专业性?)

3.和自己的HR领导,质问语气:为什么每次和你谈话都很不开心呢(我去,是和你谈话才不开心好吧,不信来个公投)

4.和实习生谈话:唉,你们这些非名校毕业的就是笨,以前我让一个北大毕业的来弄这些,弄特好(来,非名牌毕业的筒子们想砍她吗?我告诉你去哪里可以砍到)

5.对实习生说(当着一电梯的人):你是整过容么,你下巴没削过?(情商让狗吃了,可怜的实习生,放心,你以后不会遇上更奇葩的HR了)

6.对项目经理说:你腿挺直的,就是不细(后半句咱不说行么?)

……

HR姐也算是名校毕业的MBA,有精力多提高自己的情商,职场之路会好走些,但可惜职场哪有人会告诉你这些,虽然人家路不顺,但是人家有能力啊,一有项目,人手不够,妥妥的转成顾问了,老大在不喜欢她,有辙么,她能给公司挣钱啊,谁和钱过不去?!

还有位小顾问,淡定如水,不论多大工作量,泰山压顶,面不改色,做到有条理,有主次,北大的哦!但是刚一上项目就被项目负责人诟病“太慢”,一生气竟要求大领导裁了他,我觉得这个项目负责人肯定是感受到了小朋友不好管理,所以想早除后患。大领导也是觉得可惜,再留用一段吧。结果小朋友依然不温不火的样子,但已然成长为项目的中流砥柱。这就是和IL小姐完全相反的人了,我相信IL小姐绝不是“好学校”毕业的,所以相应的逻辑思维,看待事情的角度确实有些差距,同样年龄的两个人,一个毕业做行政助理,一个做小顾问,一路走来,小行政助理变成老行政助理,小顾问变成高级顾问。差别在哪里?人的思维方式和看问题解决问题的角度肯定算是个中原因。也许有人说,我虽名校毕业但是就想干个行政,图没压力,这种姑娘我也见过,有点大事儿小事儿都安排的妥妥的,自己还能工作之余发展副业。IL小姐那样的就疲于给自己和他人找麻烦,而不是自我剖析不足,找准核心竞争力,不然被裁了,还是继续找基础工作而不是成为担当。

一直以来“高分低能”都叫得欢,最近颇有感触,说这话的大多分也不高能也不高,透出了各种不服气。高分低能确实大有人在,但高分高能的人家鸟你么?!想想Scalers,潇洒姐,秋叶等创业大牛,人家哪个高分低能了,还不是每天忙着工作,把自己的事业做得风生水起。在想说别人“高分低能”先看自己有什么“能”,再想想高分低能的比率。好,接下来,提醒自己只是芸芸众生,做出自己的成绩比拉别人下水来的有价值!

如何成为卓有成效的程序员[2]


The Productive Programmer则会教导你:

多用宏吧,启动它,你就可以迅速完成大量重复的工作;

多用脚本吧,你可以提高运行的效率,避免变数和误差;

多用自动化测试吧,你可以迅速定位问题,保证质量;

多用管道吧,这样多个程序就可以无缝结合成一条生产线;

没错,学习宏、脚本、自动化测试、管道(Shell),不是容易的事情。但别忘了,身为技术人员,了解技术,学习技术,运用技术,正是你的职业,你的优势,也是你的责任,你的生产力(所谓productive)所在。随便举个例子吧,在本书中文版的第196页有这么一段话:

在我刚才提到的例子中,开发人员用了1小时58分建立正确的语法,然后用了不足两分钟运行。在一些未曾培训过的人眼里,他的大多数时间都没有效率(这就是为什么他们反对使用正则表达式的原因),但最后,他节省的是几天的时间!

我还要补充的是,解决好这样的问题,现在能节省几天的时间,将来,更可以节省无穷无尽的时间!就我的开发经历来说,平时多注重这样的细节,做些 没效率的事情,积累起来,就可以节省大量的时间和精力至少至少,你不会抱怨,自己终日被一大堆简单重复劳动所困扰。

类似的例子,在书中随处可见,譬如作者讲到,几乎每个*nix用户,都会有自己的shell alias,真是于我心有戚戚焉:我自己积累了一大堆alias,喜欢用grep color把要找的内容标成高亮,也喜欢在统计脚本里用不同的颜色标注不同的状态在Shell下干活,更加简单、利索,一目了然,这种流畅和效率,也可算专属于程序员的宝贵财富。

当然,也有读者会觉得很烦:作者几乎讲一个很小的例子,几乎都要强调一遍:简单重复劳动是低效的(程序员不应该这么干)。不过,我丝毫没有觉得罗嗦,反而因此喜欢上这本一个下午就能看完的轻量级小书:阅读它,你并不需要太多的期望,权当一次愉快的思维体操吧你会发现,专属于自己的高效率,就来自书中提到的点点滴滴。

相关文章

最新更新

推荐访问