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

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

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

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

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

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

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

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

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

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

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

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

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

zc530.com推荐

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


我想说的,其实很简单,编程序,就是拆解问题,但讲究个拆解的技巧和方法,以前人做过的,别做,尽量用,没有的,做过一次,尽量保留下来,供下次使用,就这么简单。

那,这和本文的题目修炼编程的内功有啥关系呢?

当然有关系了,什么叫编程的内功?我的理解,就是对这个世界的抽象化理解能力以及描述能力。一个工作,能迅速从中提炼出下次可以重复的套路,并且能以一定的规则,就是计算机语言规范,描述出来,拥有这两个能力,就能保证遇到任何问题,都有办法写出程序来。

所以,大家学校中学了很多数学,语言,算法,数据结构,甚至编译原理,操作系统,其实这些统统是工具,不是写程序的目的。

写程序,就是遇到需求,能迅速抽象,理解其共性,并能以清晰的语言描述出来。上述学科,不是帮助提升你的抽象能力,就是帮助提升你的描述能力,大家看是不是这个道理?

所以,我在带徒弟的时候,有时候喜欢说一句话,其实作为程序员,学习一点语文有好处,因为最能培养描述能力的,其实还是语文。英语不算啊,英语虽然也是一门语言,但中国的教育,一般是能看懂,很少从一个英文文学家的角度培养学生用英文的描述能力。只有我们的语文课,这不但是教语言,而且通过无数次造句和作文,在教大家描述问题的组织能力,这个能力在写程序的时候,很有用。

这个时候,话题就出来了。中国的语文,先是甲骨文,然后古文,然后白话文,大家发现没有,总体是越来越简单,这是发展的趋势。为什么呢?因为大家觉得,语文就是让人懂的,太深奥的东东,不太适合普及,就没有生命力,反而越简单的东东,普及越快。

因此,请大家注意,写程序时拆解,是把问题简单化,不是说把一个问题描述得晦涩难懂,才叫本事。真正的程序高手,都是简化问题的大师。

当然,从这个话题,我们是不是可以得出一个结论,其实写程序的方法本身,编程的内功本身,其实是没有什么语言特性的,C、C++、Java、PHP、Python是不是都用的同一种方法在做事情?

因此,我这里提出,修炼编程的内功,是学习抽象能力和描述能力,与语言无关,换而言之,从任何一门语言入门,都可以修炼到内功的极致,关键看你用不用心。

因此,学习期间,我的建议,不要好高骛远,不要去评价语言的好坏,平台的好坏,没有多大意义的,你并不能确定这辈子最终能在哪个平台下用哪种语言开发。捡着手边有的书,老师教的课程,埋进去学扎实,出来后,换语言比吃盘菜也难不倒哪去。

修炼程序员职场内功心法[2]


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

而您有没有想过问题真正的原因?

对于动不动就因为与人相处的问题而换工作的朋友,我认为很不值得(当然纯就工作性质而言,其他如感情、隐私等不在话下).因为A公司的甲君,也不过就是换成B公司的乙君罢了,没有认清楚自己心中的魔,到哪里,它,都会跟着你。

人家会排挤你,打压你,那是因为你对他造成威胁(或觉得你会对他造成威胁).这是很现实的,因为位置就只有这么几个,一个萝卜一个坑,想要到这个坑,势必要把占住坑的萝卜拔掉,而谁又想被拔掉呢?这就是竞争。但是我不喜欢竞争这两个字,我想提的是竞合.竞争是一种零和游戏,非生即死,弱肉强食。竞合是除了竞争的必要性之外(或说竞赛,不保持高度竞争力,还是会被淘汰),还需要合作;藉由合作的力量,让大家同步的提升。(你觉得你的主管阻碍你的升迁?想办法让你的主管 Promote 上去,你去接替他留下来的位置,这也是一种方法。当然,现实层面还是有很多需考虑的)

能够做一份自己心中理想的工作,说真的,是运气。能够在一份理想的工作待下来,除了运气,更重要的是努力与实力。方向掌握住,目标清楚,就按照您的步伐前进,职场上的形形色色,恩恩怨怨,都不过是人生中的点缀。主管跟您一样也是个人(当然很多人会不同意或者有很多主管不是XD),不用对他有太多的期许,因为他也是完成指令的人,只不过跟你接收指令的来源不同而已。主管的好与坏,都有我们可以学习的地方;好的见贤思齐,坏的当做借镜,时时警惕,期许自己将来会做的跟他不一样。

放下抱怨,虚心学习,将那些时间,拿来充实自己,准备好了,机会自然来临。不多说了,说多了难免老生常谈,最终是希望大家都能走出属于自己的一条大路。

修炼程序员职场内功心法[1]


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

程序设计在任何时间点都是一个起点,而没有终点的一条路。

写程序,是用计算机来解决某些特定的问题,而程序设计的理论与方法,则是为了解决写程序的人的问题。就像管理一样,我们必须要订定管理的准则与规范,让业务的运作得以流畅,达成预期的目标。管理的理论则是帮助我们制定规范,并避免掉可能发生的问题,与带来实质的效益。(当然多少有些理想化)理论建构的再完整,但执行的还是人,实施的对象,也是人.人的特质,就是我们不得不考虑与正视的因素了。

当然,这是管理的议题。而管理所需花费的最小成本,就是自我管理,也是最有效的管理,我们管理好自己的工作态度,管理好时间的分配,管理好自己负责的范围,在既定原则与方向指引下,朝一致性的目标前进。

除了专业知识与专业技能是我们职场上必须具备的之外,常常被忽略的两件事情,就是专业的服务与信任度.

信任度往往是最后您能不能把事情做好的关键要素。客户或老板对你不信任,那么他对于你做出的成果也不会抱以高度的期望,就不会给你充分的支持,以及帮你排除可能遇到的障碍与问题。而专业的服务则是帮助您取得信任的好方法。服务的对象,从客户、老板到公司的同事、Team 里面的同仁端看您的工作性质而定,最主要的是心态.

您有没有把事情做好的决心?您有没有让客户百分之百满意的企图心?除了把事情做完之外,您还可以再多提供些什么?什么是您还没有想到的?如果你是客户,你会有什么样的期待?在什么情况底下,您才会觉得满意?(想一下您自身使用过的产品的经验)

举个之前看过的一个买螃蟹的例子。老板交付的同样一件事情,两个同事,一个把老板交代的事情做完把螃蟹买回来了,一个做到了市场调查、分析,提供给老板建议,让老板做决策,这相较之下就很明显了。(管理的案例,并不是要你真的照着做,而是在于你能不能从中得到的启发)

在职场上,做到 100 分,只是基本要件(就像考试考 100 分,那只是代表你学习的基本功夫,没有 100 分表示你学习的不透澈,还有努力的空间),更要思考的是如何超越 100 分。衡量自身的能力,不足的地方,想办法补足。(当然这也是我自己必须努力的目标)

在工作上,我们也常常会对一些事情发牢骚,或对同事的某些行为或态度不满。但是,在发牢骚或批判之余之余,是否曾认真想过,为什么人家可以只出一张嘴落得轻松?为什么人家总是得到老板的称赞而你总是老板口中的笨蛋?为什么升等加薪的人永远不是我?

编程语言有高低之分吗[2]


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

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

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

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

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

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

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

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

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

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

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

计算机编程新人入行指导[2]


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

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

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

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

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

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

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

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

“追梦人”必须修炼的降魔术


我一直有这样一个信念:求助于生涯咨询的人,一定是智慧而勇敢的。因为有智慧才能有对自我的思考,有勇气才会主动尝试和求助。保持着敬畏和欣赏,我和来询者们一起发现自己,寻找梦想。

然而,我发现,很多人并不缺梦想,而是在追求梦想的路上体验着各种无力和纠结,从而怀疑、打转、退缩。伴随着这些似乎有点虐心的经历,有人逐渐成长,有人半路夭折。有没想过,经历本身就是梦想的一部分,我们需要战胜追梦路上的种种心魔?

阻碍梦想实现的诸多心魔中,有三类是最常见的,借着大量咨询中炼就的火眼金睛,我们一起来看看追梦人如何降魔。

第一类心魔,完美模式,这是让人不敢行动的心魔。很多人把完美作为自己的庇护所,甚至拉过来给自己的纠结做垫背。在我看来,“完美”这个词就是一个障眼法,让产生了梦想的人快速地在不完美的现实中预见到了自己的失败,从而放弃行动。完美一点都不美,完美是一种幻觉:一切都是设定好的路径,这样的路径可以适合每个人的体力要求,每前进一步都会有积极的反馈,经历是在喜大普奔的过程中完成的。现实呢?基本不可能是这样,于是判断就来了:我的体力不够好,需要继续准备;我选的路径不够好,需要继续探索。看似积极的背后,其实是一种胆怯,不敢上路的胆怯把人禁锢在原地,而且带上“完美”的桂冠,像陀螺似地打转。于是,完美模式变成了一种诅咒,一种对失败的预见。

有个来询者一直想做培训师,但是总也不开始基本的职业调查,他的理由似乎理直气壮:我听说培训师都是从高管出来的,我听说培训师都是很有职场经验的,我听说培训师都需要在某个领域做到精深的,我听说……总之,听说的,与自己相去甚远。于是,就准备啊,参加各种学习、各种考试,时隔多日,发现他自己的状态不仅没有改观,反倒越来越怀疑自己的想法了。

有人会说,或许真的是不适合啊。我们都知道小马过河的故事,或许是真的不适合,但是,至少要开始问问周围的人,要试着把腿伸进河里探探深浅。

完美模式是可以克服的,秘诀就是打破幻觉,接纳自己的成长性。梦想一定是目前达不到,需要努力才可逐渐实现,但是完美的幻觉又假设出每次都会成功的反馈。于是,我们就接纳不了任何可能的“意料之外”。却没有想到,我们的现实和梦想之间的距离,正是依靠我们在一次次反馈中不断调整,然后积累资源,提升能力实现的。那一个个看似“失败”的反馈中,包含了我们追求梦想所需要的全部代码,却被一个“完美模式”全部忽略了,此心魔不除,无法开始行动。

调整方法很简单了:制定执行计划,然后行动,从行动结果中分析每次的反馈和成长点,继续下一轮行动。在这个过程中,没有失败,只有反馈。随着反馈的积累和调整,资源也在增长和变化,你就会获得更多的可能性。

第二类心魔是受挫模式,这是让自己否定自己的模式。很多人并不缺乏行动,有了梦想之后,立刻制定计划,但是在行动中却总是发现没有哪个计划是可以很好执行的。于是顺理成章地,心魔就出现了:否定自己行动力不强,验证自己是得了拖延症,得出一个“人命天定,求之不得”的结论。追求梦想的过程就成为了一种痛苦的经历了。你有没有想过,这样的挫败感是在一开始就给自己设定好的?

梦想很好,也带出了诸多的欲望,包括一蹴而就的贪欲。在雄心勃勃地上路之初,浑身都是力气,于是计划承担超出自己力量两倍的负重,结果做不来,反过来给了自己差评。这样的模式经常发生在一些追求平衡的人身上。比如一个企业管理者来找我做咨询的时候,我让他把所有希望兼顾、平衡的事情都列出来,他竟然把一页 A4纸都写满了,我再让他从其中选择重要的5项,然后给每项重要程度打分,这还不算很纠结。可是,当我让他回顾过去一个月在这五项的投入时,他一下就恍然大悟了:那些原以为很重要的事情根本没什么投入。

我们是不是也在沿袭着这样的模式:定计划时的重视程度是5-6分,执行时的投入是2-3分,评估结果时的重要程度是7-8分。于是就整天给自己挖坑,这样的模式,不受挫才怪。受挫还不罢休,再给自己扣上拖延、行动力差的帽子,我们对自己得有多狠啊?远远地,贪欲的心魔在看笑话。

看到即瓦解,一本书看了两个月还没有看完,先不要着急在内心责骂自己,先问问自己,看这本书对自己到底有多重要?每个人都有自己的能力限制,要事优先就是接纳这样的限制。当投入度和重要度匹配的时候,结果才会如人所愿。

第三类模式是比较模式,这是一种让人永不幸福的模式。摘果子的时候争先恐后地和别人比,拿到了果子依然和别人比大小,你有没有想过,人的高度有不同,喜欢的水果也有不同。我们对于比较模式一点都不陌生,以至于熟悉和麻木到根本没有发现我们在和别人比较,我们大部分的不愉快也是源于此。特别是在经过努力之后,梦想正在逐渐地实现,我们本可以满心欢喜地追随内心,逐渐升级梦想。但是,偏偏把眼光放在别人那里了,一下子就让梦想坠落了。这是扼杀梦想的最后一个心魔。

这样的事情总在发生,俯首即是。我们在培养生涯规划师的时候也发现,很多人因为助人和自我成长的愿景进入这个行业,开始的时候还很谦卑,努力探索,持续进步。慢慢地,有了些成绩的时候,反倒不快乐了,细聊起来,竟然是因为某些课的粉丝不如别人多,做的咨询满意度没有别人高。社会的发展秩序,人为地设定很多规则,其中重要的就是比较和排序,这样的比较,有显性的,比如晋级、职称,也有隐形的,比如赞誉、评价。把这些规则当做一种参考反馈的设置确是一件益事,但是如果被规则控制了,自我的追寻就失去了意义。

这样的事情在真的追梦者那里很难发生,因为追求梦想本身就已经足够让人兴奋的了,他们顾不得左顾右盼。除了经常反思之外,还可以在追求梦想的过程中,特别是拿到一些阶段成果的时候问问自己:我的收获是什么?我要去往哪里?这样的问题其实是假设每个人都不一样,要在独特中保持自我,就要看自己,而不是盯别人。

对于追梦人来说,这些心魔的出现,也是为了修炼我们的,所谓的梦想成绩单,只不过是标记我们在攀登过程中的痕迹。纠结、彷徨的时候,学学降魔术

每个人都有自己需要修炼的功课,你的是哪一门?

修炼一名程序员的职业水准[2]


总结一下,其实你在这时需要的是对自己掌握新开发环境的能力的自信,而不是一遍遍地重复来证明自己。第二个大挑战就是你明白了只掌握VC是不够的,你发现自己有点浅薄,有很多东东你会用但你不太懂,很多方面支持VC编程的知识你都没掌握,比如操作系统的源码、网络协议知识、Windows 的注册表、进程和线程的基础知识、硬件驱动方面的知识、ActiveX、Windows 庞大的 API,又是一个等等等等,这些基础知识的学习和掌握可是要花费大量时间的,你再一次深切地感到时间太不够用了,因为这时的你大概有许多俗务缠身了,所以有点沮丧,还不用提IT业每天不知有多少新东西在发布,KAO,永远都跟不上,越拉越远了。哎!别气馁,振作一点,你还是忘记了自己是个职业人,既然好多东东在工作中你永远都没机会用,那么干嘛要学呢?用什么才学什么,最多预测到马上要用什么,先一步学什么好了,要知道没有人是真正的、无所不精的全科大夫,除非你是神,但如果你还在耐着性子看这篇文章,你肯定是个人嘛。 OK,一般工作后三五年,你经历了上述过程,经受了诱惑和考验,终于明白了一个道理:你要的是强劲的学习知识的能力,是对某种软件知识/技能的有深度的精通,一种摸到它的根的深度,而不是已掌握的技能的种类和数量。这时无论谁用他掌握了多少种你不会的技能来吓唬你都没用,你对他的层次只有蔑视。通过几年的学习和工作,要记住最重要的一点,永远最重要:对自己学习IT知识能力的自信,一个程序员一生都要不停地进行高强度的学习,用心问问自己,有没有这个自信?别用虚荣心来骗自己哦,如果没有的话,那就不必花费你宝贵的时间向下看了,作者在此感谢你有耐心看到这里,现在建议你关闭这篇文章,趁着年轻,当机立断转行吧!

三、注重逻辑:成为一名职业程序员 好,再前进一点点,你就要成为一名职业程序员了,让我们继续来完成这个任务吧!我们在前一节提到过,你发现一些个别的demo是极品,它所展现的程序逻辑结构是你设计不出来的,你现在有点更关心它的程序设计构架,甚于对你原始目的(某种相关的技术/技巧)的关注,其实你是在关注这个demo程序作者的思维逻辑,所有程序的本质就是逻辑。技术你已经较好地掌握了,但只有完成逻辑能力的提高,你才能成为一名职业程序员。打一个比方吧,你会十八般武艺,刀枪棍棒都很精通,但就是力气不够,所以永远都上不了战场,这个力气对程序员而言就是逻辑能力(其本质是一个人的数学修养,注意,不是数学知识).逻辑能力也是逐步提高的,开始时你一定是用直观的逻辑能力来编程的,怎么想就怎么编,不对就再改,在改进中提高自己的逻辑能力,从直观逻辑能力提高到抽象逻辑能力,这是很正常的。提前说一句吧,到达逻辑能力的至高境界,其表现是用数学语言来描述问题和问题的解决办法,高度抽象!好,说回来吧,你要提高逻辑能力,最快的办法就是读别人写的结构优秀的程序。优秀的代码是百读不厌的(这句话是我抄来的),暂时放放对其中某种技术和技巧的关注吧,你要推导和学习的是这些好程序的逻辑结构,它们是被精心设计出来的。你可以先捂住这个demo程序,自己设计一个功能相同的程序结构,然后比较一下demo的程序结构,如果差距较大,那你就不应简单地改进一下,而是要把demo作者设计的过程在心里复原一遍,做到这一点也许有点困难,但这种事干的多了,你就会越干越快,越来越得心应手,你的逻辑能力飞速提升,你能看得上的逻辑结构优秀的程序开始不多了,下一步就是练习。从工作中开始吧,如果你有空闲,你需要做至少两类练习,一类是算法练习,所有的经典算法都是经典的逻辑,题目有的是,像个好学生一样吧,每年的国内国际编程竞赛都有逻辑要求非常高的题,你可以只选一两道难题来做做。当你可以把复杂的单递归程序(只有A调A)变成非递归程序时,已经不错了,如果你能看得懂双递归程序(A调A、A调B、B调A、B调B都有),我为你鼓掌!你不必往下看了,我有点不好意思啦――班门弄斧,你快滚蛋吧!另一类是把以前和当前你工作中你不满意的程序推倒重新设计一遍,这非常重要,省时省力,因为你熟悉需求,技术上也没问题,目的就是改进程序的逻辑结构,很划算哦,唯一要克服的就是:你对推翻以前工作中那点小小成就的心理障碍,如果你真想优秀,说句粗话:这点心理障碍算个屁,一遍遍反复地推倒已有的成果只能使自己快速进步,放手干吧,没什么好可惜的,马恩早就在《共。产。党宣言》里说过了:在这个过程中,你失去的只有锁链(禁锢你思想的锁链). 让我们来总结一下,经过自我否定后,再生的你尽管对过去的业绩还有一些眷恋,但已是一个初步具备职业水准的程序员了,掌握了相应的技术和技巧,具备了较高的抽象逻辑思维能力,最主要的特征是:能自觉地自我否定,不断地追求更高水平的逻辑能力。 在这个过程中,如果你能注意以下一些小的方面,你前进的步伐也许会快一些。 从编译原理的角度来理解你工作中使用的高级语言,如果你做到这一点,至少有两个好处,第一个好处是避免一大堆低水平重复出现的编译错误。一名优秀的Coder平均在一个工作日中应该完成200行以上的源码,其编译错误应该控制在5个以下,要知道这200行源码不是一次完成的,所以大多数情况下你都要追求一次编译通过,而一名职业水准的程序员,应该进一步做到即使用purify这类的工具来检查源码,也不会存在严重的内存泄露。第二个好处是可以提高源码的可读性和效率。规范地编写你的代码使你自己的逻辑清晰,因为你明白多加几个括号和空行、多换行对齐、多注释,编译器是会自动识别的,不影响程序执行的效率,反过来,控制好递归调用和循环内的if语句才是提高程序效率的关键,要全力避免递归,但要深刻理解递归,能通过自己建立堆栈来把递归程序转换成非递归程序,要求还是较高的哦! 避免思维陷阱,只要你是人就一定有自己的思维惯性,这一定又会表现在你的程序逻辑中,有时你就是从这个惯性中跳不出来(谁都有这个时候),但要心里有数才行,所以你需要帮助,如果你有几个水平相若或更高的职业伙伴,太好了,当遇到花30分钟还打不下的bug时,就别浪费时间了,找他们吧,最要紧的是能思路清晰明确地表述你的问题,通常你自己在这个过程中或者伙伴中就有人把问题解决了,又快又好。另外,有几个可以良性竞争的职业伙伴是人生的一件幸事,1+12,大家各有所长,你最好做到及时公开你的成果,技不压身嘛,IT发展的这么快,你再优秀,那点东东也没有什么值得隐藏的,所以你可以技术或水平不够高,但千万不可以让真正具有职业水准的选手鄙视你的职业品质和行为。

后CIO人如何规划自己的职业生涯[2]


该怎样规划职业生涯

1:重新制定整体的职业生涯规划。要把目光投向未来,首先制定10-15年纲领性的简要长期规划,然后制定一个3-6年的可操作性强、详细完备、动态性的中期职业生涯规划。随着年龄的增加,后CIO人应时时审视自己在未来社会中的竞争优劣势,必须问自己:面对快速增长、激荡变化的未来,你今后想要哪种类型的工作生活?什么样的工作或活动会更让你觉得开心?面对不可预测的未来,你未雨绸缪了吗?你有什么样的远大抱负?个人或生活偏好需要再改变什么以更适将来?在职业满意度方面,什么对你来说最重要等等。

2:要实现思维方式的转变,从技术性思维到管理性思维转变,成为复合型企业高级经营人才,开创事业第二春。技术性思维是面向机器的、僵硬的、封闭的、单向性的。管理性思维要求是面向人的、灵活的、开放的、多向综合。后CIO人最需要的是这种思维方式的转变。从职位定位上看,CIO要立足IT,但远不仅限于IT,他不仅应是一个技术专家,还应是一个经营大师、谈判家、会计师和教育家。只有朝此方向靠拢,准CIO或真正的CIO们,才能离CEO、CFO、COO越来越近,实现职业生涯的大满贯。

3:走出企业,成为行业信息化专家。也许CIO前半生追求的是技术、工资、福利、权位等金钱物质的增加,但对后CIO人来说,他们的人生新规划可能需要的是一种减法选择剔除所有眼花缭乱的诱惑与误区,只剩下价值、道德标准以指导职业,追求人生,为社会做出更多贡献,而不是仅局限服务于某一企业、行业。可利用前半生所积累的经验、人脉、知识、资本,及时总结经验,提炼技术水平,概括专业观点,著书立说传播知识,同时积极参与当地行业学会或协会的工作,努力成为本地乃至全国行业信息化专家,为当地信息化发展发挥更多的余热余光。

4:敢于退出勇于创业,实现人生职业的第二次辉煌。也许确实是到了职业的天花板,也许环境所囿,此时有为的CIO应考虑是继续给老板打工还是给自己打工了。这是很朴素的想法。王候将相,宁有种乎?CIO40岁前拼的是体力与技术,进行各方面创业条件的准备,比如资金的积累、人脉关系的培养、财务知识和公司经营管理理念的学习等。到了40岁,如能抓住机会利用各种资本大干一番,也许这些资本就能转化为自己成功创业的基石。业内专家认为,40岁的人虽然精力比不上年轻人,但凭借沉淀的经验、知识和资金,正是开始创业新生涯的好时机。

做个被人喜欢的职场人[2]


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

只要够真诚,就算那个同事后来与西蒙顶嘴,在西蒙眼里,那也是受欢迎的。而欺骗,只能招致鄙视。

尽量去喜欢他人

苏西听到这里,脸有些发热。他这才明白自己不受上司欢迎的原因。在以往,他忽略了重要的一点,就是别人的感受同样是灵敏的。他原以为只要对上司维持着足够耐心的凝神,哪怕是竭尽全力地去辛苦表现,就会换来对方的凝视。谁知大错特错,他那些辛苦堆砌起来的热度,也许能以假乱真,但殊不知,在这份以假乱真的热度后面,他每一个刻意坚韧的毛孔里,都透露着自己的痛苦。

试问,又有谁会去欣赏一个痛苦地欣赏自己的人?

师兄看着苏西脸上的变化,欣慰地知道他已经在心里反省。但是师兄没有停下话题,他说:苏西,在销售工作方面,你还是不明白,对吗?你面对每个客户,每次你都付出最灿烂的笑容,让人家喜欢你,接近你,然后购买你的产品。这表面上看来,你做得天衣无缝,可是事实上呢?

苏西尴尬地挠挠头。

师兄微笑:苏西,你知道吗?受人真正欢迎的秘诀是,根本不要试图让自己被他人喜欢,而是尽量地去喜欢他人。

苏西又茫然了,他说:让别人喜欢自己,不是比自己去喜欢别人,对自己本身更有利吗?

你又错了。师兄告诉苏西,虽然大部分人都愿意被他人喜欢,但矛盾的是,你越想虏获他的感情,别人就越难对你产生热情。正如作家兼电视评论家哥莱夫观察到的,任何人都不想被迷住,相反他们希望自己很迷人。让这种转变以及自己的行为像春雨一样,润物无声,效果真的很好。

最后,师兄告诉了苏西一个秘诀,不是让别人喜欢他,而是他怎样去喜欢别人!

一、和人打招呼时不要立刻微笑。慢慢地、轻轻地微笑,让对方感到这是他们独享的待遇,不要让别人认为你在遇见每个人时都会自动微笑。

二、让别人有机会表达自己。专心聆听有趣的谈话并努力理解这些谈话。如果你没有认真倾听别人的答案,就不要问那么多问题,或者随便苟同别人所说的任何话。否则会让你显得极不真诚。

三、谈话的语速和内容的多少要与他人保持一致。尽量使用他人的语言会使沟通变得更加热烈。避免使用不自然的话语或手势。学会适应不同的环境和不同的人,但不要压抑真正的自我。

四、观察一些社交性线索。职业心理学高级讲师桑迪。曼恩博士如是说:人们是否在避免跟你进行眼神交流,或者看起来非常无聊?如果的确如此,请检查一下,你是否在向人们传递积极的回应?说话不要太快,不要只谈论你自己,或者用一些无聊的琐事轰炸你的听众。

五、你的身体就像一块磁铁:对于你所喜欢的人,你会把身体挪向他,而对于不喜欢的人,你会挪开身体。你可以将身体稍微斜向对方,但不必靠得太近。如果他人将身体靠近你,你也不要明显往后退。如果他们缓慢移开,那你就不要随之移动跟进。

苏西得到师兄的真传,从当天就开始慢慢改变。不久,他发现不仅同事和上司开始欣赏自己,他不仅在职场中取得了好成绩,同样,他成了一个生活中的万人迷。

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


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

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

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

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

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

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

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

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

职场新人如何修炼成“精”


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

7月毕业生进入职场的高峰期。刚走出象牙塔的毕业生们充满了希望和对一切的渴望,同时也对新的环境感到困惑和不安。当你第一次进入职场时,你将面临一系列的问题和困惑。如何以正确的态度面对你的工作?如何展示自己的能力被赏识?下面,小编提供四位专家的指导,帮助职场新人调整心态,厚积薄发。

职场新人如何修炼成“精”

问题1:知识不足,缺乏经验

小李刚刚在一家企业工作了一年。他发现企业提供的职位与他的专业有很大不同。此外,由于缺乏经验和经常犯错,他对目前的工作没有信心。专家认为,一些刚毕业的学生总是认为自己富有、才华横溢、自信满满,这就不可避免地缺乏工作热情,难以踏实工作。

支招: 主动学习是适应新环境的关键

专家说:作为刚刚进入社会的应届毕业生,有必要具备准确的自我认知能力。自我认知的广度关系到你能否顺利完成工作,其深度直接决定了你的适应能力。新的人面对新的工作和环境会有一个不合适的阶段,造成恐惧。职场新人要调整心态,挖掘工作优势,积极向有经验的同事请教和学习,善于总结工作经验,尽快适应新环境,为企业和个人的同步发展打开钥匙。

问题2:没有付出,先讲待遇

有些毕业生在第一次进入公司时正在寻求治疗,他们需要提高工资和其他要求。他们不知道他们会先偿还的真相。他们不知道公司和社会不会支付他的学历或专业费用,只能为他支付费用。创建买单的工资和基本事实。还有一些毕业生缺乏技能和专业知识,无法在8小时内完成工作任务,并使用加班工作来面对技能培训和完成工作任务,所以他们抱怨。

提示:自己创造的价值

资深HR Cheney认为工作场所的新人应该知道如何付出。要明白工作的目的不仅是为了报酬,斤斤计较的人是不会有大的发展的。一个没有长远眼光的人只想终日解决温饱问题,那么他就永远能够做到衣食住行。也就是说,先让你的付出超过的你的报酬,然后报酬才会超过你的付出。事实上,我们的工资和福利是由我们自己支付和创造的,而不是企业或老板,更不是法律或法规了。

问题3:被宠坏了,害怕遇到困难

由于家庭环境的影响,一些毕业生从小就被宠坏了,在工作中竞争力太弱,进入社会后很难在企业中立足。没有人知道为什么一个企业不是一个慈善组织,而是一个人。

支招:承担发展的责任

在一家建筑公司从事人力资源管理的小朱认为,有时应主动承担重任,克服困难,把工作做好,是能够受到领导们的赞赏。他说,在工作了半年之后,他自愿做了一个没有人愿意做的外地项目计划。他仔细研究,做了一份详细的报告,受到经理的好评。从那以后,经理放心地把一些重要的项目交给了他。小朱认为,职场新人应该能够承担起责任和装腔作势,一个人的信用与他的责任感成正比,能够承担重大任务的人可以得到更多人的帮助,并有广阔的发展空间。

以上《IT人如何修炼编程的内功[2]》一文,由编辑精心撰写而成,希望对您的职业规划有所帮助,更多精彩请访问“如何修炼职场礼仪”专题!

相关文章

最新更新