职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。
十年学会程序设计
研究者Hayes,Bloom的研究表明,在几乎所有的各种领域,大约要十年才能培养出专业技能。这些领域包括下西洋棋、音乐作曲、绘画、钢琴、游泳、网球,及神经心理学和数学拓扑学。似乎没有真正的捷径--即便是莫扎特在四岁就展露出音乐天才,在他写出世界级的音乐之前仍然用了超过十三年的时间。
再看另一种类型的领域。披头士乐团似乎是在1964年的Ed Sullivan剧场表演突然地火起来并成为第一乐队的。但其实他们从1957年开始,就在利物浦、汉堡等地的小型俱乐部表演。虽然他们很早就显现强大的吸引力,但他们决定性的成功作品Sgt Pepper也到1967年才发行。Samuel Johnson则认为或许还不止十年才行,他说:任何领域的卓越成就都必须用一生的努力才能取得;稍微低一点的代价都是换不到的。Chaucer则感叹道:生命如此短促,学习技艺却要这么地长。
以下是我在编程上成功的秘诀:
对编程产生感兴趣并因为乐趣而写程序。确信你自始至终都能乐在其中,这样你才愿意将十年光阴投入编程事业。与其他程序员交流;阅读别人的代码。这比任何书任何培训都重要。
不断地编写。最好的学习方法是在实践中学习。从技术角度说,在特定领域的个人最高效率并不因为经验够多就会自动获得;但若有意识的通过努力去提升经验,个人效率会变高而高效的学习一般需要明确的任务和因人而异的适当难度,以及及时的反馈和重复或者修正错误的机会。
如果你愿意,你可以去读四年大学(或再读研究生)。这可以让你满足一些工作的学历要求,同时也可让你对这个领域有更深的认识。但如你不喜欢上学,你也能(得有牺牲)通过工作获得类似的经验。无论如何,只读书是不够的。《New Hacker's Dictionary》的作者Eric Raymond 曾经说过:计算机的教育无法让人成为编程的专家,正如研究画笔与颜料不能让人成为专业画家一样。一个在我所有招聘过的人中属于最优秀之一的程序员只有高中毕业,但他写出很多很棒的程序,他甚至有自己的新闻组。他获得的股票期权使得他可以拥有自己的午夜酒吧。
跟其他程序员一起完成项目。在一些项目中成为最好的程序员;在一些中则充当最差的一个。当你是最佳的,你要测试自己领导项目的能力,并以你的能力鼓励他人。当你是最差的,要看看高手做些什么,他们不喜欢做什么(因为他们会叫你去帮他们做)。(好工具范文网 FaNWeN.hAO86.COM)
接手别的程序员完成项目。全心投入并理解别人的程序。当原作者不在的时候,看看在理解与修改时有什么要注意的。想想如何设计你的程序使得后来维护的人容易上手。
至少学会六门编程语言。一种要支持类/对象(class abstractions)的语言,如Java或C++;一种函数式(functional abstraction)语言,如LISP或ML;一种支持语法抽象(syntactic abstraction)的语言如LISP;一种声明式语言,如Prolog或 C++模版;一种支持协同式(coroutines)编程,如Icon或Scheme; 还有一种支持并行(parallelism)的语言,如Sisal。
zc530.Com小编推荐
十年学会程序设计[1]
为何大家如此匆忙?
走进任何一家书店,你会看到书架上一排不见尽头的放着如 7天自学xxx语言 以及几天或者几小时学会Windows,因特网或者Visual Basic这类书。我在Amazon网上书店用一下的方式进行高级搜索:
出版年份: 1992以后 书名包括:天和学习或自学。
得到了268条搜索结果,其中前78条都是计算机书(第79条是30天学会孟加拉语)。 我用小时代替天作为关键字,得到了神奇般类似的结果:这次有253本书,前77本是计算机书,第78本是24小时自学语法和写作风格。排名前200的书中有96%是计算机书。
由此可见,人们要不就是急着想学会计算机,要不就是计算机相比于其他事情太容易学会了。比如说把,没有书是写在几天弹奏贝多芬或几天学会量子物理,甚至也没有几天学会帮小狗打扮这样的书。
让我们分析一下 三天学会Pascal语言这样的标题表达了什么意思:
学会:
在三天内,你没有时间去写几个有意义的程序,或者从成功和失败中学到东西。你也没时间跟有经验的程序员一起工作,所以也无法了解在真正编程是什么样子。简短的说,就学会而言,时间显然不够。所以这些书只是浮于表面的熟悉,而不是深刻的理解。如同Alexander Pope所说,一知半解是危险的。
Pascal 语言:
三天内你可能学会Pasacl语言的语法(如果你已经掌握一个类似的编程语言),但你无法学会如何合理运用这些语法。简言之,如果你是个Basic程序员,你可以用Pascal语言写出类似Basic风格的程序,但你学不到Pascal语言的优点(还有缺点)到底在哪。重点是什么呢?Alan Perlis曾说:如果编程语言不能影响你的编程思维,那就不值得去学。另一个可能是,你必须学会一点点Pascal语言(或是像VB语言、Javascript等),因为你需要跟现成的工具组合完成特定的工作。不过这个时候,你实际上学的不是怎么写程序,而是要学着如何完成工作。
三天
不幸的是三天根本不够;下面的章节会告诉你为什么。
程序员如何踏上社会[2]
不过,这里提示大家一点。任何东东,价格和价值是不等的,价值取决与这个东东本身值多少钱,价格则更多地取决与市场需求。大家可以想象一下,目前100个培训班,90个都在教Java,这意味着什么?是不是以后Java程序员暴多。暴多的结果是什么?肯定是跌价啦,因此,我曾经推论,Java程序员以后的薪情堪忧。
反过来,C和C++,如果我们自己肯钻研,钻出成绩来,前景还是很可观的。我们要坚信,C和C++的市场需求还是有的,在游戏业,在通信业,在很多嵌入式场合,C和C++语言都有不可替代的作用,程序员少而市场大,大家知道意味着什么吗?薪水高是不?呵呵,这是肖老师自己YY,乱讲的,大家可以自己想。
反过来说,C和C++的培训班少,我们找不到,清华北大的同学出来,是不是也找不到?这是不是说,在C和C++这条路上,我们和他们又站在一个起跑线上了?呵呵,可能有人会说,那些名校毕业,不需要培训班,当然。但是,名校毕业,我想也不会成为大师,他们工作一开始,还是得老老实实地学,大家说是不?
最后一个问题,去深圳发展。我的建议是不要去了,深圳目前已经比较成熟了,相对来说,机会比起刚刚改革开放时,已经少多了,我们贸然过去,期待有个好的工作,这是不了解导致的幻想。深圳工资高,相对物价也高,大家找工作,不要单纯比较工资绝对值,好好比较一下两地的房价,会发现,深圳的工作,性价比不高的。
深圳还好点,北京上海,就更过分,房价高不说,把个户口看得跟什么似的,外地人过去,很难在当地买房,落户,扎下根来的,会有很多看不见的杠杠在阻碍你。我是这么看的,打工者和城市是互动的,诚然,打工者需要城市提供的环境赚钱,而城市也需要打工者增加税收和消费,进一步增加城市收入。一个城市把自己看的太高傲,不是好的合作伙伴,也不是适合长期呆的地方。我自己就是这么看的,从成都出来,没有选择那些一线城市,选择了西安,主要就是看城市的包容度,基本的物价指数。
嗯,还有个很具体的问题,就是找对象结婚。大家不要笑啊,人之常情,谁也不想一辈子当和尚。 据我所知,越是大城市,北京、上海,甚至成都、西安也有,很多女孩,很浮,看重表面的东东,看不起外地来打工的人。这也没办法,这个社会随着商品化思维的加深,每个人都有一种交易心态,女孩希望嫁好一点,无可厚非。但是,由于她们这个心态,一般都看重一个男人有什么,而不是很细心地观察这个男人的潜力如何,因此,大家就算专业技术再有优势,但只要手边没有现金,没有房子,车子这些硬件,恐怕过去找媳妇,也很困难。大家刚毕业可能感觉不明显,不过,我想过几年,大家就有感觉了。
当然,有人说,我大学里面有女朋友,或者说,我过去也找打工的。完全可以,不过,两个人都是打工的,处于一个陌生的环境,奋斗起来,可能会比较艰难一点。建议大家做好思想准备。
这个话可能某些同学不爱听,不过我放在这里,欢迎PK.
因此,我最后的建议:人一生是很复杂的,和邓大爷一样,三起三落不到头,现在我们看到的,不一定就是一生中最重要的。仔细去看一些最古老的道理,有时候反而更有用。
关键是,这辈子给自己一个目标,定一个计划,只要能坚持走,最后一般都能成功。这个计划,可能很小,比如我一定要成为C和C++的高手,也可能很大,我要成为某方面的专家,我要成为北京人,上海人,甚至我要出国等等,都可以。
关键是,你现在准备做什么?你能坚持多久?
程序员你真的只是程序员吗[2]
或许上面写的比较偏激,但真的是很普遍,我想告诉你们,你们虽然只是负责一个模块,但无论如何,请要知道你的项目到底是什么,如何运转,哪些地方好,哪些地方不好,因为这是对你自己的一个提升,也是对公司的一个负责。说到负责,我不得不说责任感,很多人就是缺少了责任感,以为完成了任务就可以了,但你要知道,你的公司或许等的不是你的完成呢?
请您拿到项目需求的时候,分析一下您要做的东西,用你敏捷的思维想一下,该如何去做,还请您多想想下一步,如果扩展了,我要改哪些地方,最重要的是,请您想想,这个任务对公司是否有利,或许你会说你只是个程序员,我没有权利去改变任务,没有错,你是个程序员,首先请你完成你的任务,在完成任务的同时,想想任务的完成对公司的运营是否起到反作用,因为有时你会比你的老板更了解项目对公司的利弊。如果你真的觉得不太好,不要怕,提出你的观点,但一定要想好你观点的描述,尽可能的表达清楚,让你的老板知道你的意思,因为老板他不一定懂技术,所以一定要白话一点。如果你的观点是正确的,你们老板也听明白你的意思了,那样你们老板会更加的器重你,而不会不可理喻的让你完成他所要的东西了。毕竟这是对他好的建议,也是对公司发展好的建议,如果你的观点不好,那样老板也会给你一定的提点,何乐而不为呢?
下班后,请你抽空想想公司的发展吧,因为你是公司中的一员,公司发展前景好也代表着你的发展前景好,如果你的想法给公司带来了好的前景,那也是对你能力的一种肯定。
最后说说面试,我也经历过很多面试,同样也面试过很多人,刚开始也会为工作着急,到处找面经,但最好的面经是无法从其他地方找来的,因为面试是一个展示自己的机会,而不是一再的ctrl+v 。刚开始我也会紧张,但马上,我调整了自己,每次面试就当自己一种磨练,一种交流、沟通、展示的机会,随后的几次面试都比较成功,再随后的几年,我回到了老公司进行面试,显然他们对我的能力已经是一个肯定了,最后我还是没有选择他们,因为我回去面试只是为了看看公司的发展进行的如何了,因为这一切也有着自己的一份努力。最好玩的是一次邮件面试,对方给了很多题目,大多是网上都有的,我也没有baidu,用自己的想法回答了所有的问题,并提出了很多意见,没想到对方回错了邮件,把他给人事的邮件发给了我,貌似是说面试还可以,就是工资高了点之类的话,我也懒得继续往下看,回信给对方,发错邮件了。过后不久收到对方的面试通知,更确切的说是offer,不过在他电话中我直接给回绝了,因为我已经在一家自己喜欢的地方就职了。
我爱我的公司,我爱我的程序,我也爱我的老婆和家人,因为他们给了我快乐,也给了我支持,让我能更全身心的去投入到代码之美中,我更相信公司能异军突起,成为IT界的领军人物,因为我看到了一群为公司孜孜不倦,辛苦能力的同事,我很爱这种氛围,我相信我们的努力一定会给自己带来收获,就算没有收获,我也没有任何怨言,因为我沉醉了,因为我快乐,因为我是个快乐的程序员。
如何计算程序员自身的价值[2]
职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。
另外一种情况,当一个程序员的市场价值达到一定数值的时候,如50万、100万的时候,而收入价值处在较低的水平,例如,5万,6万,程序员往往会产生单干的念头,以期获取更大的收入价值。但是,程序员往往会忘记市场价值的实现并不仅仅在于软件本身,还涉及到资金、资质、市场、销售、安装、维护、服务等各种环节。所以个人开软件公司人数挺多的,但是成功的并不占多数。好的程序员往往不是好的老板,就是这个道理。
现实当中,大学生程序员年收入在2万元比比皆是,普通程序员年收入在4-5万居多,高级程序员在10万以上也不在少数,超过20万年收入的程序员也时有耳闻。
如果我们平均一下程序员的年收入,估计在5万左右。假定公司的利润率为50%,全部由程序员贡献,那么程序员的市场价值也就在7-8万之间。这就意味着程序员一生(35年计)市场价值也就280万。这与比尔盖茨巨大财富相比是多么的渺小呀!这同时意味着中国程序员市场价值有很大的增长空间。
认识程序员的自身价值的目的。
第一,就是希望程序员不要单看自己的收入价值,不要埋怨自己的收入低,而是要更多看看自己的市场价值到底有多高。
第二,市场价值就是编制满足用户需求的软件,如果这个软件销售不出去,程序员再辛苦都白费,市场价值为0。程序员应该争做具有市场价值的软件,同时尽力帮助软件实现销售。
第三,市场价值最大化就是多编制可复用的程序,以提高单个软件开发效率,以降低人力成本,提高利润率。
第四,市场价值最大化就是多编制商品化软件,在编制定制软件还是通用软件选择中,它可以成倍地提高程序员的市场化价值。
第五,有了程序员市场化价值认识后,程序员和公司可以共同地为促进市场化价值作出贡献,并到达员工提高收入,公司提高利润的双赢局面。
中国的程序员市场化价值相对较低,导致程序员收入不高,程序员技术水平降低,最终导致软件质量下降。我们要关注程序员市场价值的提高,技术水平的提高,使得软件行业通用能软件所占的比重大大增加,软件公司的收入大大增加,只有这样我们的程序员的收入大大增加,我们的软件才有更高的质量和更大的市场。
从程序员到软件工程师[2]
当时看算法本身的文档,然后又回头看线性代数,终于理解了算法,并用程序表达了出来。由于是嵌入式用的,又花了大量时间进行算法优化。
后来跳槽时终于尝到甜头:
1。薪水高,基本上一应聘就是Senior的职位
2。稳定,这个一般大街上招一个程序员是做不来的
3。机会多,这个怎么说呢,反正只要是大公司招人,象微软、Google等,除了问一些语言本身的问题外,基本上就是算法和数据结构的问题。
通常面试那些时间你写源代码是来不及的,基本上就是写伪代码。或说明你的算法基础和思路。答的好一两句话就解决了。
想走这条路的朋友,我首先建议好好读读《数据结构与算法:C++版》,里面所有常用算法和经典算法及数据结构必须烂熟。其次,建议将大学课本找回来,几本高数好好复习复习。《线性代数》《概率和数理统计》《微积分》《常微分》等等。
我们不是大牛,基本上创造不出新算法,但是我们能够将别人的算法实现或者能把一个具体问题分解成已知的算法,那么你就是一个很不错的算法工程师了。
说实在话,语言只是工具,是很容易掌握的。99年2000年泡沫时期,不是很多人突击那么三个月就可以上路做programmer么。就象刀法是很容易学会的。要应用精熟,也不过是长时间的积累而已。
对语言的理解实际上就是对刀法的领悟,有人是顿悟。但是多用总是会渐悟的。
最重要的是基础,就是数学能力,那可是内功。可以这样说,你要想真正和其他程序员拉来差距就在这里。
我朋友的孩子想走计算机编程这条路,考大学我就推荐考数学系!
再有就是多做那些大公司的面试题,一是锻炼自己的大脑,二是熟悉这些算法的应用。
好了,现在能想到的就这几点,这里给几个面试的例子,看看能不能用最简单的描述解答
1.如何生成一组正态分布的随机数?
2.有一个二维迷宫,如何找到出口路径?
3.有数据库存储一股票每五分钟的实时报价,如何生成每小时,每天,每周的股票价格变动曲线?
====我的建议答案
1。生成二维随机数,只取落在正态分布包络线内的数
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]
第三部分,未来职业生涯规划、家庭环境分析、例如经济状况,家人期望等。感谢您阅读《程序员:你是要学历还是要经验[2]》内容,职场资讯网小编向您推荐一些职业规划知识,欢迎参考,希望能帮到你。
随便你说吧,迪恩,我说。我不是说他的道路不对,我只是想说我和斯坦认为获得大学学位还是比为了兴趣而退学要好些。
斯坦给我帮腔:无论公平不公平,在咨询业里你的简历是会被潜在客户拿来严厉判断的。高学历不仅可以为你争取到更多的服务合同,而且也能够让你更容易拿到更高的工资。(你知道,自从我进入管理层之后,我是多么的想念这些坦率的交谈。)
房间里的温度不断上升。你肯定你的薪水比我高,斯坦?乔说。即使是这样,你觉得这合不合理呢,只因为你上过一大堆无关紧要的课程?
斯坦试图保持冷静,但已经有些手足无措。我只是说你可能会看上去更像是个围着电脑转的蓝领程序员,而不是可以坐到办公桌上的白领开发者。而且这也会影响你的前途。轮到我运用人际沟通课上学的东西来维护和平了。
每个人都会做出贡献的。我们该牢记的是我们建造的东西,历史上所有的奇迹都是蓝领工人搭建的,建造或修整伟大的事情,这就是我们做的。 我急忙插话说。
迪恩在一边笑了,是啊!当个蓝领没有问题。不过,蓝领意味着体力劳动,我不认为我们中有哪个人在编写软件时会汗流浃背的。好吧,也许你会,埃里克。他继续笑着说。
乔并没有被逗笑,你想说我没有学位就是蓝领阶层吗?你知道我认为谁是蓝领?那些在数据中心的技术人员。他们有许多是自学拿到管理认证的,他们的手被服务器和电线弄的脏兮兮的,而我们干的是设计和编写复杂的代码。
迪恩跳了起来,哦,难道保护数据中心的工作就不复杂了?你最好不要让他们听到,要不然你的下一个请求将没人搭理。
每当回顾起这些,我都会感叹当时的我们是多么的不成熟。我不记得我们的谈话中的每一个字,但差不多是这样的。每个人都觉得自己的软件教育更好,都觉得能编写软件就会高人一筹。
经过了这么多年(真是很多很多年),我才体会到使用不同的方式来教育开发者的好处。事实是,尽管我们之间的分歧,我们作为一个团队在一起工作的非常出色,开发了许多优秀的软件项目。
比受到的教育更重要的是,开发者对编写软件的热情,最好的开发者靠这东西来生存。他们整夜的阅读有关最新的软件趋势,永不会满足,他们总想成为领先的人,即使他们的经理会让他们适可而止。虽然这不是成为一位了不起的开发者的要求,但这有助于更全面的发展,不仅对你的工作,也对你的生活。
也谈青年程序员如何进入职场[2]
我们的办公室是个大型动物园,里面形形色色的动物有各种各样,在开始工作之前,先看好自己要成为什么样的动物,以及能成为什么样的动物,我想是非常有必要的。
第一种动物:狗,狗的特点就一个字,忠,领导让往东绝对不往西,领导吃屎绝对不吃馒头,领导让犯法,绝对不能去。有人说不对啊,这怎么不忠了,狗的忠是有限度的,忠只是个手段,做狗的目的是变成狼,最后上位自己当老大,狗只是伪装而已,狗除了忠意外还是很有能耐的,首先,狗最擅长做的事就是驱赶其他动物,只要这样才能达到少做工作,多出成绩,背黑锅我来,送死你们去的至高境界。其次,狗最善于揣摩领导的意思,领导要是问某某最近忙不忙啊。,狗就知道领导觉得这人最近工作量不饱和了,回去赶紧给加点工作量,领导要是问某某最近忙什么呢?狗就知道,领导是有可能打算给这个人派点工作了,赶快说这人不忙。领导要是问某某最近还在忙啊?,狗就知道领导看某某不顺眼,得赶快找个由头让某某滚蛋,总之,听话听音,领导一努嘴,狗就知道领导是什么意思,就凭这一招,狗的飞黄腾达,指日可待。
第二种动物,猪,狗是人才猪就是奴才,领导说什么猪都第一时间符合,不过猪是在没能力,除了无条件的附和领导之外,猪也没有别的长处,最多也就是偶尔打打小报告,不过就凭这一条,猪也能高高兴兴的在这混个温饱,不但裁员的时候不会被裁,平时有点好处领导也会想到猪,因为无论如何,猪是一个听话的好员工。
第三种动物,驴,驴这东西最可怜,除了干活什么都不会,一般性格懦弱点的程序员都是驴这种扮相,大家有活都会找他,他也不懂得说不,领导也知道他干活多,但是更知道他性格懦弱,不懂得争取自己的利益,所以也不用给他什么甜头,反正驴要是胆敢稍微偷懒,立刻吓唬一通,驴就又老老实实的上工了。
第四种动物,野牛,野牛就是团队里技术很牛的哥们,但是老看别人不顺眼,觉得自己技术牛,就想对别人指手画脚,这样的人虽然技术牛,领导也不愿意用,因为不听话,外带不服从管理,不过这种员工特别适合干背黑锅的事,所以也要留着点,作为平衡其他势力的一个部分,偶尔进行安抚也是好的。
第五种动物,狐狸,狐狸就是干活最少但是好事总有他的那个,狐狸的机灵就在于上上下下打成一片,既不想狗那么依上欺下,又么有猪那么紧跟队伍,技术上虽然没有野牛好,但是也不错,而且虽然不拒绝别人,但是干活溜的比谁都快。外带自己炒炒股票,买点基金,每天生活过的有滋有味,虽然工作上没有大起色,但是也不见什么纰漏。一般每个团队都有这么一个左右逢源的主,因为这种人交际广泛,一般领导也就对起放任,因为没准什么时候,还需要这些人的帮助呢。
综上,基本就是一个公司生态圈,咱们这圈里不论好坏,也没有是非,大家都是活着而已,职场新人进来以后可以想想自己的定位。
程序员应建立商业意识[2]
玩技术还有一层含义,就是迷恋最新出现的技术,一旦有了新的进展,就要下载尝试一下,或者安装一下玩玩。曾经有一次我们被某公司邀请参加他们的一个技术研讨会。会上有两组开发的团队,一组是原有的技术开发团队,另外一组是最新组建的,而且要准备以.NET技术进行开发,当时.NET还是一个新兴的技术,有人给老师推荐了一位工程师,这位工程师号称对.NET技术很精通。然而,当在会议上这位工程师讲述了自己准备用.NET做产品的构想时,原有的开发团队问到了很多系统设计层面的内容,这位工程师几乎无法应对,因为他只是玩了.NET技术,对于这样的技术在商业上的应用却没有经验。会后,老师也表示:尽管他对.NET技术有一定的了解,但的确经验还缺乏很多。后来这位工程师发展的还不错,进入了微软开发合作部,专门用来讲述微软最新出现的技术,想来这也与他自己的爱好挂上了钩,也是一个不错的选择。不过,这样的职位毕竟只是少数,对大多数程序员来说,玩技术并不能给他带来更高的价值。
前两天,这位工程师又在自己的blog上提到,他用微软最新开发平台内置的屏保程序制作了一个自己的屏保,演示给同事看,同事感觉很新奇。当我看到这条Blog,感到一丝苦笑:玩技术而已!玩技术的另外一个后果便是容易迷失方向。在Dos时代,技术的种类很少,程序员面前的技术方向也很少,玩也容易玩出深度。但随着Windows平台,尤其是网络出现后,各种技术层出不穷,即便是水平再高的程序员也很难兼顾几种技术领域。如果不能够对技术发展的来龙去脉有深入的了解,就很容易限于技术的表面理解,也就很容易造成程序员不知道如何选择要继续下去的技术,丢了西瓜,拣了芝麻。于是会出现论坛中到底是什么技术好,到底应该选择那种语言的疑问。按照大部分过来人的解释,其实只要选准一条技术路线,真正的钻进去,自然会取得好的效果,因为不同的技术之间是相通的。微软工程师孙展波在回答程序员做技术到底应该做深还是做广?的疑问时,毫不犹豫的表示:应该做深,而在广度的方面每周抽出一些时间了解一下就足够了。尤其是在现在互联网如此方便,网上信息量如此庞大,专业类网站密布,检索极其方便的情况下,想要获得任何资源都是一件并不复杂的事情。
而且玩技术还有一个结果,就是容易忽略用户的需求。技术酷是一件很棒的事情,但这并不能保证持续的生存。尽管硅谷曾经以看哪个公司做的技术最酷而吸引程序员的关注。比如最初的是苹果的技术最酷,后来出现了Netscape这种做浏览器的公司给人感觉技术很酷,随后SUN公司推出Java语言的兴起,Java技术变得很酷,但现在,Google搜索引擎成为了最酷的技术。因此,技术本身仅仅注重酷的感觉是远远不够的。