毕业前学好C语言
第二点我要讲的是C语言。请注意,我说的是C语言,而不是C++.虽然在实际使用中C语言已经越来越罕见,但是它仍然是当前程序员的共同语言。C语言让程序员互相沟通,更重要的是,它比你在大学中学到的现代语言(比如ML语言、Java语言、Python语言或者其它正在教授的流行垃圾语言)都更接近机器。你至少需要花一个学期来了解机器原理,否则你永远不可能在高级语言的层次写出高效的代码。你也永远无法开发编译器和操作系统,而它们恰恰属于目前程序员能够得到的最佳工作之列。别人也永远不会放心将大型项目的架构设计交给你。我不管你懂多少延续(continuation)、闭包(closure)、异常处理(exception handling),只要你不能解释为什么while (*s++ = *t++);这句代码的作用是复制字符串,或者不觉得这是世界上对你来说再自然不过的事情,那么你就是在盲目无知的情况下编程。在我看来,这就好像一个医生不懂得最基本的解剖学就在开处方,他看病的根据完全是因为那些娃娃脸的医药厂商销售代表说这种药有用。
毕业前学好微观经济学
如果你没有上过任何经济学课程,那么我首先来做一个超短的评论:经济学是这样的学科之一,刚开始学的时候轰轰烈烈,有许多有用的、言之有理的理论和可以在真实世界中得到证明的事实,等等;但是,再学下去就每况愈下,有用的东西就不多了。经济学一开始那个有用的部分正是微观经济学,它是商业领域所有重要理论的基础。跟在微观经济学后面的东西就不行了。你接下来学的是宏观经济学,如果你愿意,尽管跳过去,也不会有什么损失。宏观经济学开头的部分是利息理论,内容比方说是利率与失业之间的关系,但是怎么说呢,看上去这部分里面还没有被证实的东西多于已经被证实的东西。学完这部分,后面的内容越来越糟糕,许多经济学专业的学生实际上都变成在搞物理学,因为这样才能在华尔街上找到更好的工作。但是不管怎样,你一定要去学微观经济学,因为你必须搞懂供给和需求,你必须明白竞争优势,你必须理解什么是净现值(NPV),什么是贴现,什么是边际效用。只有这样,你才会懂得为什么生意是现在这种做法。
为什么计算机系的学生也应该学经济学?因为,从经营一家公司的角度来看,比起那些不懂的程序员,一个理解基本商业规则的程序员将会更有价值。就是这么简单。我无法告诉你有多少次我是那样地充满挫折感,因为我看到了太多的提出一些疯狂的想法的程序员,这些想法在代码上也许可行,但在资本主义世界中毫无意义。如果你懂得商业规则,你就是一个更有价值的程序员,你会因此得到回报的,但是前提是你要去学习微观经济学。
延伸阅读
职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;
别担心所有工作都被印度人抢走
我首先要说的是,如果你本身就已经在印度了,或者你就是印度人,那么你真的毫无必要去想这件事,根本不用琢磨所有的工作机会是不是都跑到了印度。那些都是非常好的工作,好好地享受吧,祝你身体健康。
但是,我不断听说计算机系的入学人数下降得很厉害,已经到了危险的程度。根据我听到的说法,其中的一个原因是学生们不愿去学一个工作机会都流向印度的专业.这种担心大错特错,有很多理由可以反驳。首先,根据一时性的商业潮流决定个人的职业选择,这是愚蠢的。其次,即使编程工作无一幸存地都流向了印度和中国,但是学习编程本身依然是一种第一流的素质训练,可以为各种超级有趣的工作打下基础,比如业务流程工程(business process engineering).再次,不管是在美国还是在印度,真正优秀的程序员依然是非常非常短缺的,这一点请相信我。不错,确实有相当一批失业的IT从业者在那里鼓噪,抱怨他们长时间找不到工作,但是你知道吗?即使冒着触怒这些人的风险,我还是要说,真正优秀的程序员根本不会失业。最后,你还能找到更好的专业吗?你觉得什么专业好?主修历史学?如果那样,你毕业的时候就会发现,根本没有其他选择,只能去法学院。不过我倒是知道一件事:99%的律师都痛恨他们的工作,痛恨他们当律师的每一分钟。可是,律师每周的工作时间偏偏长达90小时。就像我前面说过的:如果你喜欢编程,那么你真是受到了上天的眷顾。你是非常幸运的少数人之一,能够以自己喜欢的事谋生。
不过说实话,我不觉得学生们真的有上面的想法。近年来,计算机系入学人数的下降只是回到了历史上的正常水平,因为前些年的互联网狂热使得入学人数出现了大泡沫,抬高了基数。由于这种泡沫,许多并不真的喜欢编程的人也来读计算机系。他们心里想的是,只要进了计算机系,将来就能找到诱人的高薪工作,就能获得24岁当上CEO、进行IPO的机会。谢天谢地,这些人现在都离计算机系远远的了。
找一份好的暑期实习工作
精明的招聘负责人都知道,喜欢编程的人高中时就将牙医的信息输入了数据库,进入大学前就去过三次电脑夏令营,为校报做过内容管理系统,有过软件公司的夏季实习经历。招聘负责人就是要在你的简历上找这些东西。
如果你喜欢编程, 就不要随便什么工作都答应,否则你会犯下最大的错误。不管是暑期工作,还是兼职或者其他性质的工作,只要与编程无关,就不要轻易接受。我知道,其他19岁的孩子都想去购物中心里打工,在那里折叠衬衫。但是你与他们不同,你19岁时就已经掌握了一门非常有价值的技能。将时间浪费在折叠衬衫上是很愚蠢的,等到毕业的时候,你的简历上本应该写满了一大堆与编程相关的经历。就让那些财经类的毕业生去租车公司帮助人们满足他们租车的需要吧,你要干的是别的事(在电视中扮演超人的Tom Welling注1除外).
为了让你的生活变得更容易一些,也为了强调这整篇文章完全是为了满足我的个人目的,我要告诉你,我的公司--Fog Creek软件公司--提供软件开发方面的暑期实习机会。我们非常看重简历。比起其他公司的实习工作,你在Fog Creek最有可能学到更多的编写代码、软件开发、商业运作方面的知识。这是去年夏天我们的一个实习生Ben说的。他会这样说,并不完全是因为我派了人到他的宿舍让他这样说。我们接受实习申请的截止日期是2月1日。一起来吧。
如果你听从了我的建议,你还是有可能落得一个悲惨的下场,比如很早就卖掉了微软公司的股票,再比如拒绝了谷歌公司的工作机会,原因是你想要一间自己的可以关上门的独立办公室,或者做出了其他生命中愚蠢的决定。但是,这些可不是我的错。我一开始就告诉过你,不要听我的话。
不要因为枯燥就不选修非计算机专业的课程
想提高GPA绩点的一个好方法就是多选修非计算机系的课程。请千万不要低估你的GPA的重大意义。千千万万的人事经理和招聘人员在拿到一份简历的时候,第一眼就会去看GPA,包括我也是这样。我们不会为这种做法道歉。为什么?因为GPA不反映单个的成绩,而是代表了许多个教授在一段很长的时间中,在不同的情况下,对你的表现的一个总的评估。SAT成绩难道不够吗?哈,那只不过是一场几个小时的测试罢了。GPA中包括了四年大学期间你的小论文、期中考试和课堂表现,总数有几百次之多。当然,GPA也有自己的问题,不是百分之百准确。比如,这些年来,老师对学生的打分越来越宽松,学习成绩有通货膨胀的趋势。再比如,GPA无法反映课程的难度,没人能够看出你的GPA是来自无名社区大学家政系的轻松课程还是来自加州理工学院针对研究生的量子力学课程。渐渐地,我形成了一套自己的做法,首先我会过滤掉所有来自社区大学、GPA低于2.5的简历,然后我会要求剩下的人给我寄成绩单和推荐信。我再从中发现那些成绩一贯优秀的人,而不是那些仅仅在计算机系课程中得到高分的人。
为什么我要关心某人的欧洲历史课程成绩呢,毕竟作为雇主我要找的应该是程序员啊?何况,历史是那么枯燥,不得高分很正常。哦,这么说来,你的意思是我应该雇用你,而不用考虑一旦工作变得枯燥你会不会努力工作?别忘了,在编程工作中也有很枯燥的东西。每一项工作都有枯燥难耐的时刻。我不想雇用那些只想干有趣事情的人。
选修有大量编程实践的课程
我依然清楚记得我发誓绝不读研究生的那一刻。那是在一门叫做动态逻辑的课程上,教师是活力十足的耶鲁大学教授Lenore Zuck,她是计算机系那些聪明的老师中最聪明的人之一。
如今, 由于记忆力糟糕, 我已经差不多把这门课的内容忘光了,但是不管怎么说,在这里我还是想要对付着说一下。大致上,形式逻辑的意思是说,如果条件成立,你就能证明结论也成立。比如,根据形式逻辑,已知只要成绩好,就能被雇用,然后假定Johnny的成绩好,你就可以得到一个崭新的结论Johnny会被雇用.这完全是经典方法。但是,一个解构主义者(deconstructionist)只需要10秒钟就能破坏形式逻辑中所有有用的东西。这样一来,留给你的只是一些趣味性,而不是实用性。
现在再来说动态逻辑。它与形式逻辑其实是一回事,但是必须再多考虑时间因素。比如,你打开灯之后,就能看见自己的鞋子,已知灯以前是亮的,那么这就意味着你看见了自己的鞋子.
对于像教授那样聪明的理论家,动态逻辑充满了吸引力,因为它看上去很有希望让你在形式上证明一些计算机程序的相关理论问题。这样做说不定很有用。比如,你可以用它在形式上证明,火星漫游车的闪存卡不会发生溢出(overflow)问题,不会因而整天一遍又一遍地重启,耽误了它在那颗赤红色的星球上漫游寻找火星人马文(Marvin the Martian).
在第一堂课上,Zuck博士写满了整整两面黑板,甚至黑板旁边的墙上都写上了很多证明步骤。需要证明的问题是,有一个控制灯泡的开关,现在灯泡没有亮,这时你打开了开关,请证明灯泡将会点亮。
整个证明过程复杂得不可思议,处处都是陷阱,必须十分小心。保证这个证明不出错太困难了,还不如直接相信打开开关灯就会亮。真的,虽然证明过程写满了许多块黑板,但是还是有许多中间步骤被省略了,因为如果要从形式逻辑上完整证明所有步骤,那就琐碎得无法形容了。许多步骤是用各种经典的逻辑证明方法推导得到的,包括归纳法、反证法等,甚至有些部分还是由旁听的研究生证明的。
留给我们的课后作业是证明逆命题:如果灯原来是关着的,现在却亮了,那么请证明开关的状态一定同原来相反。
我动手开始证明,我真的去证明了。
我在图书馆里待了很长时间。
我对照着Zuck博士的原始证明想依样画葫芦。研究了几个小时之后,我在其中发现了一个错误。可能我抄写的时候抄错了,但是这使得我想通了一件事。如果花费3个小时,写满了一块又一块的黑板,每一秒钟都可能出错,最后能够证明的却只是一个很琐碎的结论,那么这种方式有多大的实用性呢?在活生生、充满趣味的现实世界中,你永远都不会有机会使用它。
但是,动态逻辑的理论家们对这一点不感兴趣。他们看上它不是因为它有用,而是因为它可以为他们带来终身教职。
我放弃了这门课,并且发誓绝不会去读计算机科学的研究生。
这个故事告诉我们,计算机科学与软件开发不是一回事。如果你真的非常幸运,你的学校可能会开设很像样的软件开发课程。但是另一种可能是,你的学校根本不教你在现实中如何编程,因为精英学校都觉得,教授工作技能最好留给职业技术学校、犯人重返社会的培训项目去做。你到处都能学怎么写代码。别忘了,我们是耶鲁大学,我们的使命是培养未来的世界领袖。你交了16万美元的学费,却在学循环语句的写法,这怎么可以?你以为这是什么地方,难道是机场沿途的酒店里临时拼凑起来不靠谱的Java语言培训班?哼哼。
麻烦在于我们没有一种真正教授软件开发的专门学校。你如果想成为一个程序员,你可能只能选择计算机科学专业。这是一个不错的专业,但是它同软件开发不是一回事。在那些400等级的课程代号中,去寻找名称中带有Practicum这个词的课程吧(编者注:指供人实习的课程).不要被这个拉丁语单词吓倒,这些都是有用的课程,之所以起这种名字,只是为了让那些文绉绉、装腔作势、满嘴胡说八道的公司经理们觉得高深莫测。
职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。
1.态度决定一切
好程序员基本上都比较傲气,因为程序员往往会觉得自己在做世界上一件十分伟大的事情,这就是驱动机器,修改一行代码,机器就能够工作,可以产生各种不同的行为。这很容易会让程序员产生一种错觉,认为自己可以Control Everything。程序员的自信在编程上是非常需要的,但不是适合一切场合。如果我们不说这些,可能很多程序员到现在还不知道自己错在哪里,仍然认为自己是King of the World。
事实上,程序员的能力只是控制了一个机器。但创业仅仅具备了和机器打交道这一种能力是绝对不够的,他还需要和合作伙伴、竞争对手、投资人、员工甚至整个社会环境打交道。很多程序员因为已经习惯了和机器打交道,不善于也不愿意其它的工作。很多程序员会内心认为营销不是很简单嘛,市场很简单啊,管理也很简单啊,我认为这种心态是非常害人的。
2.学会和别人合作
提到这点,很多程序员都会说我正在带着其他程序员写程序啊,我会合作啊。但这种合作是片面的,我所谈的不仅仅是程序员和程序员之间的合作,而是包括了程序员和其它各种角色之间的合作。程序员相亲,他们的语言比较能够容易理解。但作为一个程序员,你能不能商业人员、销售人员很好的合作呢。
程序员动不动就把目标定为比尔盖茨。其实,比尔盖茨不应该成为程序员崇拜的目标对象,这会让程序员迷失方向,因为微软另外一个创始人保罗艾伦才是真正的程序员。再看其它一些例子,Google的第20名程序员都可以获得五亿美元。Adobe公司两个创始人也是一个精通技术,一个对商业精通,这样的搭配才能够更好的成功。因此,对于很多程序员来说,一定要找准真正的榜样,不要被外界的故事迷惑了头脑。如果剖开一些故事的外表,你会发现国外很多成功的程序员,背后一定有一个很强大的商业感觉的人或者一个团队。
3.了解自己
程序员的商业感觉其实并不是很好。即便有商业感觉,其实这只是一个灵感,一个创意,但要要做成、做大还需要一系列的管理、市场、运营,这些对于程序员是不可想象的。程序员要明白,在自己不擅长的领域,找到一个可以弥补自己缺陷的合作团队才是出路。加入一个创业团队,可能个人占10%,但因为更容易成功,而且团队可以做100分的事情。而如果只是一个人做,很可能就失败了。
这方面,国外的程序员对自己的长短比较清楚。在硅谷,很多程序员技术上都很牛,但他们都非常知道自己只是在技术这个领域水平比较高,出了这个领域,自己什么都不是。正因为有了这种心态,他们特别懂得与人合作。我认为国外的程序员已经普遍意识到了这点,他们很愿意成为创业团队中的一员而并非自己创业。
因此,程序员需要调整心态,不要把自己当作精英人物,要承认自己在编程方面是优秀的,但永远有人比自己更优秀,对于其它的领域,很可能自己很无知。要知道,其实程序员的选择其实是最少的,因此抱有开放的心态是最重要的。
4.自己的不足
现在的很多程序员经验过于不足,他没有认真踏实做过很多工作就奢谈创业。如果一个程序员没有在编程方面深入过,没有积累,也就是半瓶子醋。这样的程序员有很多,他们自己也不清楚问题出在哪里,让人感觉又爱又恨。我认为程序员既然要凭借自己的技术,那就一定要踏实,要能够实现任何创意。
但现在一些程序员自己没有商业意识,却又很自负,不相信别人,不理解的事情就不做。很多程序员,他们对公司做什么方向都质疑。他们希望自己先想清楚,可是一想就浪费了很长时间。很多程序员就可悲在这里,积累的不多,看不到方向,但他也不相信自己的公司和老板,这是一个悖论,需要程序员深刻反省。要知道,每个公司都有懂商业的人。
5.总结
现实:程序员生存状态并不是很好,但程序员很多报怨其实是一种不切实际的期望值和自身的缺陷产生的反差。
首先,产品没有大小,只有市场的大小。很多人总是觉得这也小,那也看不上。认为公司做的产品很无聊,要做就要像某些人宣扬那样:做游戏一定要做3D引擎,好像只有这样才够牛。这其实就是一种浮躁。很多程序员写软件总是很多bug,基础知识也不牢固,没有参加几个项目,没有写过十万行代码,就奢谈做大项目,这有价值吗?而且有些程序员特别愤青,骂环境,骂老板,其实这只能把自己的心态搞的很坏。很多人刚进公司时做的很差,虽然工资少,但他没有想到给公司增加了很多bug,公司实际上是在给他出学费。大家都在讨论哪里活干得少钱拿的多。甚至还有人列了一些黑名单。这种做法的结果就是程序员自己将周围环境搞的乌烟瘴气了。
有的程序员还非常喜欢指点江山,指点公司。个人觉得这不是不可以,但指责别的公司对个人没有什么好处,因为存在就是合理的。如果看不到,恰恰证明是自己看不到。程序员不要做评论家,中国不缺评论家,最缺的是实干家。
总之,程序员一般过于自我。总生活在自我的世界中,就不可能真正了解世界是什么。我的经验就是看别人如何做的好,为什么能够做的好,什么是我所不能理解。程序员要学会慢慢站在别人立场上看问题。
对程序员来说,现在要做的也很简单,这就是需要大量的实践,要慢慢培养对产品,对商业的感觉。
职业规划是对职业生涯乃至人生计划的过程,职业生涯规划的好坏可能将影响整个生命历程。感谢您阅读《机房高手给CIO的建议》内容,职场资讯网小编向您推荐一些职业规划知识,欢迎参考,希望能帮到你。
积土成山,而风雨兴焉。积水成渊,蛟龙生焉。不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍CIO和数据中心大佬也是从普通工程师做起的。
大佬们的过去
普华永道的数据中心服务主任John Regan在16年前是从这家专业服务公司的网络部开始他的职业生涯的。然后参与到工程和设施操作。
花旗集团数据中心规划执行副总裁Jim Carney,拥有轮机工程学、公用事业基础设施和广播电视网络方面的背景。即使后来到了花旗,他最初也不是在数据中心里工作,而是在地产部。
还有Thomson Reuters,Legal的CTO Rick King.结束了6年的高中数学教学生涯,他到一家教育软件和硬件的公司,在后来由于公司间的收购等原因,他走到了现在的职位,负责多个数据中心的业务执行管理。
如果你今天也在做数据中心工作,甚至是IT相关的工作,无论你目前的位置在哪,或者公司看起来多么的苛刻,您需要放眼未来,将数据中心管理最高职位设成你的目标,并向着这个目标前进,努力实现自己的目标。
可是要想实现这个目标该从何处着手?这里有一些数据中心专家分享了他们的意见。
掌握多项技能
King表示,首先,你必须具备多项技能,或者至少愿意发展一项。提高您的技能无疑是证明你在数据中心价值的一种有效方式。北美一家技术服务咨询公司Accenture的数据中心技术与运营主管Rockwell Bonecutter也同意这个观点,精通某个分支领域的技术固然重要,但如果你能了解更多其他的技术,了解到你精通的技术如何影响数据中心的其他技术,这些系统或功能如何互相协作以帮助业务实现更多产出,那么你就朝着你的目标前进的更多.
如果你是一位存储专家,你可以要求去做一个服务器或电信部门经理,King建议,如果你希望在管理能力上取得进展,或者升职到一个主管级的职位,你必须拥有多项技术的经验他说。
如果一个主管不具备这种知识能力,那么当主管对于他来说无异于服刑。管理者必须能够作出明智的决策,特别是在压力之下。King表示,如果出了故障或工作的不顺利,大家都希望可以尽快修好它.
Tegan表示,帮助数据中心的IT人拓宽他们的技能是普华永道的一个目标。该公司美国分公司的CIO Tick Ancona补充说,这确实是一个迫切的需求。工作获得的经验会帮助一个人做出正确选择,他说,不是每个人只具有单门技能的人都可以成为一个大型数据中心的运营负责人。
商业触觉
Nemertes研究中心的高级副总裁Andreas Antonopoulos说,成为数据中心老大往往需要这个人对数据中心的架构有更深的理解,不仅仅把它看做是一堆技术。因为从业务需求角度讲,这些技术的商业影响关乎公司的今天甚至未来。
这需要非常懂专业,同时又有实际的工作经验Antonopoulos称,这项工作不只是选择最佳虚拟化厂商,或最佳存储战略,或正确的网络融合战略,而是还要理解上面提到的技术如何适应企业业务文化、预期增长率和变化、以及合并和并购计划。
花旗集团的卡尼表示,任何有志在数据中心的高级管理职位的人,必须有良好运作的财务基础。
他们需要能够表达自己的成本,使财务部可以批准购买,并表达清IT团队为何不做某些事情,为什么有些程序要按照特定的方式来走;他们需要了解成本,这可以帮助他们控制和测量成本,并不断寻找改进的方法.
以人为本
Carney表示,最后一点但并非是最不重要的一点,数据中心大佬也是人。当我们谈论有关数据中心的问题时,我们通常想到的是网络及电线和发电机等等。但是,在现实中,像我的职位,很多工作需要多方协作努力达成他说,没有一个人可以在数据中心独善其身',我们需要人与人之间的合作。
第三部分,未来职业生涯规划、家庭环境分析、例如经济状况,家人期望等。感谢您阅读《程序员进阶的建议:多看、多写、多交流[2]》内容,职场资讯网小编向您推荐一些职业规划知识,欢迎参考,希望能帮到你。
关于多写其实上面也提到了,学习后的东西应该要马上实践,并尽快在合适的时候应用到自己的工作中,这样才能收获的更多更快。另一方面是自己尝试着去写一些小项目,只有去做一完整性的项目才是最有价值的实践,但在做这些实践中我认为应该严格的要求自己,既然是为了学习,就不是应该敷衍了事,尽可能把所有细节都处理的最 好。还有就是时间一定要要求自己,不能拖,一方面是要给自己压力,二是如果时间拖的太久思路和激情没法持续的话,那你的计划很可能最终会失败并不了了之。
开篇我提到很多初学者都说入门之后不知道该如何提高,我都告诉他们要多写,为什么会无法提高,我认为是没有目标,只要你给自己定一个目标,然后去实现,完成后其实也达到自己提高的目的了。例如你去写一个简单的博客程序,在实现的过程中会遇到很多问题,再逐一去解决,这样你就有了学习的方向了,解决问题就是积累经验和学习的过程。总的来说要给自己设置一个需要完成的目标,这个目标是什么有什么内容,什么时候完成都很清楚。
其实说到这里就可以回答上面该如何去掌握那么多的函数呢,当你看过和写过很多代码后你会发现你所掌握的函数和方法已经很多了,这就是在实践的过程中无形产生的结果。所以什么语法之类的基础的东西是不需要去死亡硬背的,在运用的时候自然就可以对它驾轻就熟。
最后我认为做技术的交流很重要,因为做技术是个永无止境的学习过程,而交流是一种更有效的学习方式。因为每个人的知识系统都是不同的,每个人掌握的东西不同,思维方式各异。所以交流就是一个互相学习和促进的过程,当你把自己的想法与别人交流你就会收获更多新的想法,交流是一咱倍速增长的过程。
交流有很多的,有线上的有线下的,大家都有上论坛的习惯,这是一种交流方式,但我认为线下交流更有效,语言的交流比文字的交流方式更直接和全面。因为我是常委之一,很多线下活动是由我组织的,从参加人数来看并不是很理想,所以我认为做技术的应该更开放一些,多参加类似PEA的这种交流。
交流一定要是开放的,所以在交流中应该是一种包容的心态去面对。也就是说我们是持有自己想法的时候也应该耐心倾听他人的意见,不能认死理。只有站在客观的角度去看问题才能把问题看的更透彻,只有不抵触才能让自己学到更多的东西。
在我们的技术团队中有定期的技术分享会,目的就是为了建立交流的平台,让大家都尝试表达自己的意见,锻炼自己的能力,并可以和更多的人去交流。
最后总结一下,多看,吸收别人的经验转化为自己所用,多写,全面性的锻炼自己的能力,多交流,利用众人的智慧。三多更多的就是去做。
或许上面写的比较偏激,但真的是很普遍,我想告诉你们,你们虽然只是负责一个模块,但无论如何,请要知道你的项目到底是什么,如何运转,哪些地方好,哪些地方不好,因为这是对你自己的一个提升,也是对公司的一个负责。说到负责,我不得不说责任感,很多人就是缺少了责任感,以为完成了任务就可以了,但你要知道,你的公司或许等的不是你的完成呢?
请您拿到项目需求的时候,分析一下您要做的东西,用你敏捷的思维想一下,该如何去做,还请您多想想下一步,如果扩展了,我要改哪些地方,最重要的是,请您想想,这个任务对公司是否有利,或许你会说你只是个程序员,我没有权利去改变任务,没有错,你是个程序员,首先请你完成你的任务,在完成任务的同时,想想任务的完成对公司的运营是否起到反作用,因为有时你会比你的老板更了解项目对公司的利弊。如果你真的觉得不太好,不要怕,提出你的观点,但一定要想好你观点的描述,尽可能的表达清楚,让你的老板知道你的意思,因为老板他不一定懂技术,所以一定要白话一点。如果你的观点是正确的,你们老板也听明白你的意思了,那样你们老板会更加的器重你,而不会不可理喻的让你完成他所要的东西了。毕竟这是对他好的建议,也是对公司发展好的建议,如果你的观点不好,那样老板也会给你一定的提点,何乐而不为呢?
下班后,请你抽空想想公司的发展吧,因为你是公司中的一员,公司发展前景好也代表着你的发展前景好,如果你的想法给公司带来了好的前景,那也是对你能力的一种肯定。
最后说说面试,我也经历过很多面试,同样也面试过很多人,刚开始也会为工作着急,到处找面经,但最好的面经是无法从其他地方找来的,因为面试是一个展示自己的机会,而不是一再的ctrl+v 。刚开始我也会紧张,但马上,我调整了自己,每次面试就当自己一种磨练,一种交流、沟通、展示的机会,随后的几次面试都比较成功,再随后的几年,我回到了老公司进行面试,显然他们对我的能力已经是一个肯定了,最后我还是没有选择他们,因为我回去面试只是为了看看公司的发展进行的如何了,因为这一切也有着自己的一份努力。最好玩的是一次邮件面试,对方给了很多题目,大多是网上都有的,我也没有baidu,用自己的想法回答了所有的问题,并提出了很多意见,没想到对方回错了邮件,把他给人事的邮件发给了我,貌似是说面试还可以,就是工资高了点之类的话,我也懒得继续往下看,回信给对方,发错邮件了。过后不久收到对方的面试通知,更确切的说是offer,不过在他电话中我直接给回绝了,因为我已经在一家自己喜欢的地方就职了。
我爱我的公司,我爱我的程序,我也爱我的老婆和家人,因为他们给了我快乐,也给了我支持,让我能更全身心的去投入到代码之美中,我更相信公司能异军突起,成为IT界的领军人物,因为我看到了一群为公司孜孜不倦,辛苦能力的同事,我很爱这种氛围,我相信我们的努力一定会给自己带来收获,就算没有收获,我也没有任何怨言,因为我沉醉了,因为我快乐,因为我是个快乐的程序员。
玩技术还有一层含义,就是迷恋最新出现的技术,一旦有了新的进展,就要下载尝试一下,或者安装一下玩玩。曾经有一次我们被某公司邀请参加他们的一个技术研讨会。会上有两组开发的团队,一组是原有的技术开发团队,另外一组是最新组建的,而且要准备以.NET技术进行开发,当时.NET还是一个新兴的技术,有人给老师推荐了一位工程师,这位工程师号称对.NET技术很精通。然而,当在会议上这位工程师讲述了自己准备用.NET做产品的构想时,原有的开发团队问到了很多系统设计层面的内容,这位工程师几乎无法应对,因为他只是玩了.NET技术,对于这样的技术在商业上的应用却没有经验。会后,老师也表示:尽管他对.NET技术有一定的了解,但的确经验还缺乏很多。后来这位工程师发展的还不错,进入了微软开发合作部,专门用来讲述微软最新出现的技术,想来这也与他自己的爱好挂上了钩,也是一个不错的选择。不过,这样的职位毕竟只是少数,对大多数程序员来说,玩技术并不能给他带来更高的价值。
前两天,这位工程师又在自己的blog上提到,他用微软最新开发平台内置的屏保程序制作了一个自己的屏保,演示给同事看,同事感觉很新奇。当我看到这条Blog,感到一丝苦笑:玩技术而已!玩技术的另外一个后果便是容易迷失方向。在Dos时代,技术的种类很少,程序员面前的技术方向也很少,玩也容易玩出深度。但随着Windows平台,尤其是网络出现后,各种技术层出不穷,即便是水平再高的程序员也很难兼顾几种技术领域。如果不能够对技术发展的来龙去脉有深入的了解,就很容易限于技术的表面理解,也就很容易造成程序员不知道如何选择要继续下去的技术,丢了西瓜,拣了芝麻。于是会出现论坛中到底是什么技术好,到底应该选择那种语言的疑问。按照大部分过来人的解释,其实只要选准一条技术路线,真正的钻进去,自然会取得好的效果,因为不同的技术之间是相通的。微软工程师孙展波在回答程序员做技术到底应该做深还是做广?的疑问时,毫不犹豫的表示:应该做深,而在广度的方面每周抽出一些时间了解一下就足够了。尤其是在现在互联网如此方便,网上信息量如此庞大,专业类网站密布,检索极其方便的情况下,想要获得任何资源都是一件并不复杂的事情。
而且玩技术还有一个结果,就是容易忽略用户的需求。技术酷是一件很棒的事情,但这并不能保证持续的生存。尽管硅谷曾经以看哪个公司做的技术最酷而吸引程序员的关注。比如最初的是苹果的技术最酷,后来出现了Netscape这种做浏览器的公司给人感觉技术很酷,随后SUN公司推出Java语言的兴起,Java技术变得很酷,但现在,Google搜索引擎成为了最酷的技术。因此,技术本身仅仅注重酷的感觉是远远不够的。
职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;
我的生存之道
尽管我的编程技能不尽如人意,我仍然是一个非常成功的开发人员。这里有一些我多年来学到的诀窍,以及如何我作为一个平庸程序员,发挥出最佳平均编码技能水平的生存之道:
▲ 明确要求--我会预先得到完整、精确的系统要求清单。如果你直接开始编码就意味着你没有针对系统设计的要求来进行。
▲ 分析和设计--我获得了分析和设计权。一名普通程序员获得了分析和设计权,就拥有了一个超越一名伟大的程序员的优势。
▲ 项目计划--坦白来说,我早期职业生涯中没有用过正式的项目计划,一直到我加入了CSC,不得不使用更多的正式文档编制技术,从而开始使用项目计划。由此我充分认识到使用经过慎重考虑后的项目计划也是平庸程序员的一个优势。
▲ 经常翻阅手册、指南--我总是备有手册、指南以供不时之需。我也研究了其它的参考材料。
▲ 拷贝-粘贴程序员--我不介意承认自己是一名拷贝-粘贴程序员。多年来,我写了许多可以在新项目中重复使用的代码。因为我至少花时间写了一次代码,所以我对这些代码如何工作略知一二。在工作中我从不拷贝其他人写的代码,并且我从不使用我在其他公司写的代码。黄金规则和版权法都适用于知识产权:您不得复制和使用别人的代码,除非明确允许,或者你可以得到特别的许可。
▲ 毅力--我永不放弃,我一直相信自己能完成任何编程任务。
▲ 工具--当我需要一台更快的电脑但这又不在预算之列时,我发现了一个经理愿意用他们的一部分预算资金为我购买。你可以通过乞求、借用,或交易来获取所需工具,从而完成自己的任务,要经常向你的经理提出自己的要求;只这些要求是合理的,一个优秀的经理会尽最大努力找到一种方式来获得软件,硬件,手册,或者你所需要的帮助。
▲ 手气好(Serendipity)--也被称为代码一写就好策略。有几次我像一个初级程序员那样写了代码,而这些代码运行得很好。我把它比作是国际象棋,你在下棋的过程中突然发现,自己走两步就有将死的机会。这不是编程应有的方法,但由于我在检讨自己的职业中的罪过,我不得不纳入此项。
底线
我要做一个最终坦白:我不喜欢被看作是次等的团队成员。我见识卓越,而幼稚的程序员却真的相信:不能写出先进代码的人对团队和公司来说毫无价值。这些精英认为平庸的程序员能力有限,不足以生产高品质的代码,几乎总是犯错,令人不快。有个观念令我感觉既可笑又惊讶:如果你不能 ________(填空),就不是优秀的程序员。
你不必成为一个出色的程序员或伟大的开发者,特别是正在开发商用系统的时候。没错,我是一个平庸的程序员,其主要原因是我从来不需要成为一个伟大的程序员。
我不是纵容平庸。不论做什么,都要尽力做好--包括编程。最好的代码可能难以确定,但越高效的代码可能也越难维护。可以说,任何可以完成工作的代码就是好的代码。代码是像索玛立方体(Soma cube),有240种途径可以解决索玛难题,同样,也有许多代码编写方法可以用来完成任务。底线就是尽可能做好工作--这是任何一个平庸的程序员都可以做到的。
职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。
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世纪是各学科、各产业相互融合、相互促进的世纪。现代社会和现代企业不但要求我们在某个特定专业拥有深厚的造诣,还要求我们了解甚至通晓相关专业和领域的知识,并善于将来自两个、三个甚至更多领域的技能结合起来,综合应用于具体的问题。
相关文章
最新更新