(上)程序员
http://blog.csdn.net/yzsind/article/details/5401134算法
和不少IT人沟通,发现表现出来更多的是浮躁与抱怨,因此有了本文,其实咱们不管是coder,仍是架构师或项目经理,都存在一样的心理,只是比较的对像及发展的路线不同罢了。shell
如今是一个和平与发展的社会,大部份人不会为了吃饱而发愁,更多的是为了生活更好,为了工资、房子、车子,为了获得周围人的褒奖,受到周围人的影响,以致于不知道本身想作什么,常感受前途不知在哪里。IT人是这样,国企的人也同样,咱们不须要抱怨。数据库
国企的人每天上班,每天作着差很少的事,几乎只有一条路线可走,那就是当领导,不多人会想多作一些有意义的事,因此他们大部份人感受生活与工做没有激情。编程
IT是一个新的行业,特别是在中国,变化太快,因此没有太多历史人物的路线能够借鉴,不少人说程序员在中国只能到30岁,最多35岁。这句话反映了一些现实,但不是宿命。为何我这么认为,咱们来分析一下:服务器
IT行业的人大部份都不在国企,所以不会认为这家公司就是本身的一辈子,通常20+岁进来,仍是新手,没有包袱,惟一能够想的是稳定下来与提升本身,工做了3年后发现又来了一批新人,因而感受本身是老手,可是再过1年后,发现本身与他们没什么区别,由于你们作的事也差很少,工资也差很少,因此发现不能再这样下去了,面对程序员前面的路,感受只能朝项目经理、架构师、分析师方面发展,要么就是本身创业了。那有多少人转行成功了呢?网络
要成为架构师与分析师,须要的是平时的积累,须要站在更高的高度,可是发现本身在平时的工做中只是一个编程机器,大部份人平时没有给本身更高的要求,日子一天一天过去,4年的工做经验发现本身仍是一个coder,除了比新手更多了解一些技术的历史。只有那些平时注意积累,有强烈的技术与业务钻研精神的人才能成为合格的架构师与分析师。架构
作架构师与分析师有难度,发现项目经理也不错,由于不少人感受项目经理能够知足本身管理的欲望,高人一等。本身工做了4年,看来写代码没优点,只要沟通能力还行的人估计会想选择当项目经理。其实这是很天然的一条路。可是我发现能不能成为项目经理很大缘由不彻底是我的能力的问题,而是在于公司的业务发展,有些公司业务发展不错,项目比较多,只要你的沟通能力还行,有必定的业务和技术经验,向主管自动表达一下,作项目经理的机会很大。可是大部份公司的业务发展通常,搞来搞去就那几个项目,现任项目经理也很稳定,那本身若是没有特别的能力,只能仍是当coder了,或者是高级coder。框架
架构师与分析师没当上,项目经理也没当上,怀才不遇,有一些新想法,因而创业去了,创业的路很艰难,这个我想你们能体会,资金的问题,管理的问题 ,市场的问题,人才的问题,技术的问题。。。。。总之问题不少,可是仍是不少值得佩服的人一腔热血干上了,虽然成功的机率不高,可是至少本身是老板了,还能够给员工画饼玩。编程语言
从以上几条路来讲,最终成为项目经理的人也很多,有的是只有2,3我的的项目经理,而有人是上百人团队的项目经理,总之是项目经理了,可是我想大部份人仍是会感受迷惘,缘由在于这些人当上了项目经理,发现本身只是多管几我的的项目经理,多了一些保姆的职责。在项目过程当中团队是否和谐与进取,与客户主管沟经过程中是否是发现本身仍是低人一等,项目好不容易上线了,才发现擦屁股的事一堆又一堆。其实若是出现这种现象,只能说明一点,咱们还不是合格的项目经理,只是由于公司发展的状况下,被安上了项目负责人的一些工做。
为何在好的国企,就算一个普通职业你们也能够干到50,60岁,那是由于国企的人没有选择,由于在他们思想里这家单位就是他一生的公司,他感受没有选择,在年轻时为了当上主管、领导下了不少功夫,可是上升的人只是少数,因此在国企咱们会看到年纪比较大的人也仍是普通职员,他们面对着新进来的员工也有很是大的压力,最后只能把但愿留给本身的子女。
因此,咱们不用羡慕国企,他们只是表面上让你们看到稳定,实际上人成长的机会少得可怜,也充满着浮躁与抱怨。就算咱们如今已经30+岁了,可是IT行业是一个有挑战的行业,咱们应该分析本身的我的潜力,咱们更须要的是找准目标,脚踏实地的前进!
叶正盛(MKing)
2010-3-21
(下)
http://blogread.cn/it/article/4243?f=wb#original
2010年初写过一篇博客(咱们是一群和平年代充满浮躁与抱怨的程序员),一年过去了,社会好像更浮躁,也有网友问我这方面的问题,因而有了下面这篇文章,再次写给咱们这些刚入行浮躁的程序员,如何成长,如下是列出了一些成长的心得,咱们没必要每条都去实践,可是优秀的程序员成长过程当中总会实践里面的几条。
多作项目,多思考
不要惧怕作事,刚毕业的同窗最缺的就是工做经验,乱七八糟的项目能让你很快就了解了一个公司的业务与使用的技术,而且能够多接触同事与客户。
当你毕业后刚进一家公司时,若是主管没有把你安排到项目组工做,那真的很杯具,由于他认为你还不能胜任工做或者你的加入会让项目组更糟。
还有人说,我刚进公司,公司就把我当成了苦工,工资又低,项目组加入好几个,也作了不少事情,天天都要加班。我估计有不少人感受是这种状态,为何会是这样,由于全国人民(不仅是程序员)里有90%可能都和你同样的感受,这说明你如今情况是很广泛的,也说明你如今的能力并无不少出众的地方。也许是逆境才能让人成长,若是有一天你让你的团队从这些苦力工做中解脱出来或者能给你的团队前进的动力,那你就升华了,你就比他们出众。你没有能力去改变现状,因此只能接受,而不要认为是本身生不逢时,或者说公司环境太差。创业也同样,不要认为公司没发展的主要缘由是环境太差,那你不要去当老板算了,投资环境都很是好还能轮到你吗。
还有不少同窗感受本身付出了不少,回报太少,这个问题很难平衡,首先一点,公司在聘你进来后不会由于你没有成绩就先给你回报,公司也不可能会在你有了成绩后就当即给你回报,可是长时间付出没有回报,那这个公司就不值得你付出。我不同意频繁换公司,这么作至少能够说明你是一个只求回报不求付出的人。
至于薪资的问题,这个很难去评估,由于每一个企业的收益相差太远。可是刚毕业的同窗工做须要关注薪资+成长环境,当薪资能够知足普通生活需求后,成长环境更为重要,就比如,给你一月5000元,或者6000元,真的不那么重要,由于这些收入在你之后的人生中基本没有影响。固然,若是你如今在大城市几年里每月只拿着1000元,那仍是须要选择一下收入更好的公司,由于这么低的收入会严重影响你的工做学习计划,也说明你的公司不重视员工,没有能力给员工好生活的公司,未来的发展也是有限的。
特别说明一点,互联网公司与传统信息化企业不同,互联网一直是风险比较高的行业,也许你选择了一个看好的企业,也佩服老板的眼光,可能你如今须要的是与公司患难与共。不要期望在刚创业的团队里拿到很是好的待遇,由于你如今就是在投资,也许几年后公司成功了,你就是功臣,不怎么出色的你也能够当上总监或副总裁。
本身开发框架与工具来提升工做效率
当你参与了不少项目,当你发现本身常常作一些COPY,PASTE的操做时,你能够考虑花时间去提取问题的共性,作一些自动化工具去摆平问题,或者是写一些基础框架来屏蔽这些无聊而且累赘的代码。
本身开发框架与工具,可让你快速的从一个初级程序员转变成更高级的程序员或分析师或架构师,由于这个过程当中给你提供了为其余程序员服务的机会,你有动力去了解其它程序员的工做需求,你能够把你的框架或工具写得很好,接口简单灵活而且性能好,分析师和架构师就常常要干这种让人力成本下降的事。但要记住一点,不要觉得本身开发框架与工具就认为很NB了,由于这种工做并不会体现多少技术含量,而只是提升我的抽象问题的能力,这个活不少程序员都能干,可是不多人去干好。
参与开源项目
参与开源项目可让你领略到不一样程序员的沟通方法,开发习惯,技术思惟,能够认识更多的朋友,若是你足够强,也可能一鸣惊人哦。可让你更深刻了解这个开源东西,因此最好是感兴趣或者是与工做有关的,不要说什么流行就参与什么。开源项目能够本身贡献一个新的项目,或者参与一个感兴趣的项目。
不要期望开源项目会给你带来直接的金钱,若是你想拿着开源项目封装一下去发财,那我真不知道如何作,能够去问问什么什么芯,什么什么国产操做系统的人,他们更有经验。
英语
在这个全球信息时代,英语真的是一个很重要的工具,我真的很羡慕那些学校里英语就很好的同窗,好的英语能力能够更快速的了解到更多知识。当前,新的技术与知识大部份语言都是英语或翻译成英语,若是能把英语学好,可让你人生少奋斗10年。
写技术博客
写技术博客是一种能够快速提升的方法,可是一我的能坚持每周写技术博客,那是须要付出不少代价,写博客并非要咱们写出高质量的文章才发表,咱们能够分享本身的一些小经验,也能够分享本身的体会。同样东西在你大脑里,并不表示你已经掌握了,若是你能说给别人听,或者用文字表达出来,那首先你要将这些知识点整理清楚才好表达。我常常认为本身已经对某个问题了解了,可是在整理技术博客时发现本身的知识盲点,而后再去查找知识来补充本身的盲点,直到最后搞清楚了才算告一段落。
有些人不喜欢分享或者惧怕分享,可是在这个世界,只要不是公司机密或商业秘密,拿出来分享可让你获得更多同行的反馈,网络上的人会给你相对真实的反馈,由于大部份人与你没有利益关系。
新人不要惧怕本身分享的知识是否有技术含量,只要你认为有价值,均可以拿出来,这不只能够给别人提供知识,也能够本身整理思路,还能够获得网友的反馈。若是你的知识没有价值,分享出来也没有关系,若是你的文章技术含量低,怕被人鄙视,那是你这我的不敢认可现实,由于同事与朋友可能不会说你的文章很菜,就算被鄙视了又如何,有时被人鄙视也是一种前进的动力。有人说若是几年后我进步了不少,但还让人看到我这些初学时弱智的文档,误人子弟,很差意思,Ok,那个时候有能够彻底把文档删除,其实我更喜欢放在那里品味本身成长的过程,把有误导的地方更正。
我知道有一个技术博客做者,数据库专家杨廷琨(http://yangtingkun.itpub.net/),他几年来,天天坚持写一篇技术博客,如今已经有2千多篇,个人ORACLE数据库水平比他差不少,可是我也偶尔看到一些他新写的文档我几年前就会了,但这些并不妨碍我对这位博客做者的敬佩,由于他的博客让我学到了不少知识。
加入感兴趣的技术论坛
每一个公司使用的技术与产品及环境都不太同样,也许你在公司里感受什么东西都是别人作好了,我只是个流水线工人,咱们的系统因为有严格的规范也不太出问题,本身的实践提升机会太少,那建议你加入感兴趣的技术论坛。
技术论坛上你能够看到不少人各类各样的问题与分享讨论,你也能够试着去帮别人解决问题。技术论坛可让你进一步成长,但不要告诉我你只是会沙发、顶或接分的那种。
国内CSDN、ITPUB、CHINAUNIX、JAVAEYE、MSDN、51TESTING都是人气很旺,里面也不缺技术大牛与无敌大菜鸟。
常看参考手册
不少程序员,遇到问题喜欢直接去请教别人,或是Google找结果,经过别人或Google也许问题能够解决,可是只能造成知识点,不能造成知识体系。
要全面掌握一个东西最快的方法是看产品的官方参考手册,参考手册通常是表明正规的用法或者是推荐的用法,对于小产品最好是先将参考手册所有看一遍。若是是比较大的产品如(ORACLE、JAVA、.NET)那能够选择看常用到的部分。只有当你在看完参考手册还不懂的时候再去Google或与别人探讨,这样的方式会让你的知识更体系化。
深刻分析问题缘由
程序员必定要具有对技术问题刨根问底的想法,不少程序员能解决问题,可是不想去了解问题的根源。咱们常常遇到问题,并且不少问题重启程序或者重启机器就行了,有多少程序员会去挖掘重启就解决问题的缘由。我是从事数据库的,也常常看到不少人遇到数据库有问题,重装一下搞定,而没有深刻分析问题产生的缘由。也许在生产环境咱们没有时间去分析,可是在开发环境、测试环境你是否是也常常重启解决问题。若是能在开发环境与测试环境遇到问题,这是技术人员成长的最好机会,咱们在本身的领域必定不能放过这种成长的机会,由于大部份专家都是在这种历练中出来的。
不要惧怕复杂
不少程序员习惯了利用各类框架及工具解决问题,本身只是写一些简单逻辑,当有一天遇到一个问题,没有对应的框架或工具时就放弃需求。咱们不要惧怕困难,若是你天天的代码都没有挑战,那何来提升,咱们应该在适当的时候给本身一些压力,这样可让本身提升得更快一些。好比你的系统须要一个轻量级的工做流引擎、编译器、解析器、界面设计器、屏幕控制器,或者一个http服务器之类的东东,可是现有的东西都感受不太满意,你能够本身去搞一个试试,不要惧怕不成功,不要惧怕本身作很差。这些东西看起来有点复杂,可是当你深刻去作时,你会发现里面有不少有意思的东西,你须要去逐步改进你的小系统,直到它能很好的运行为止,这是个很好的成长过程,可让你对程序有更深的理解,也可打开思路。
学习计算机基础,深刻技术原理
有时候咱们常常迷惘,感受技术水平没有提升,感受技术能力老是浮在表面,特别是当你发现本身算法分析、性能分析、故障诊断能力有限时,也许这是你再次须要学习计算机基础的时候,由于基础不牢,因此你的问题诊断准确率不高。每一个程序员应该都学过计算机基础(计算机体系、操做系统、网络、数据库原理、算法等等),这些知识对不少人来讲是很枯燥。在当前高级编程语言时代,你的计算机基础很差也能编码,并且效率也不低,可是当你要想成为技术牛人,计算机基础就是一道坎,由于不扎实的计算机基础知识会让你在忽悠与被忽悠中成长。
关心产品市场与商业动态
程序员是否须要关心产品市场与商业动态,我认为是有必要的,除非你真是技术天才,能闭关十年后横扫江湖。计算机技术发展太快,每一年都有新的流行产品与技术,大公司也常常改变战略或易主。若是你想引领技术潮流,想创业,那必定要关心产品市场与商业动态。
不要去轻视任何一种职位、语言、工具
在IT岗位里,没有高低之分,不要去轻视任何一种岗位,有些程序员认为本身的成果最有价值,美工、测试只是边缘岗位,项目经理就只会瞎指挥,不干活,销售人员与售前人员接到定单后屁事都没有,整个项目基本上就是我一我的的成果。这种心态是最要不得的。其实你的领导并不会这么想,不少事情是你不知道的,如客户关系就可能不是你一我的搞定的。还有最重要的一点,若是这个项目没有你参加怎么样?项目可能换成另一我的作,也许他也能作得也不错,这就说明你的价值或重要性并不像你想象的那么重要。举个例子:
就比如你买一台联想电脑4000块,卖给一个没看过电脑的火星人20000块,这台电脑是最后的成果,可是否表示联想这台电脑是最重要的,可能你买一台戴尔的电脑还赚的钱更多,也可能你只要给对方一台杂牌电脑就能够拿到20000块。在这个例子里更重要的也许是客户关系与抓住商机,而买什么样的电脑影响不大(你在项目里的地位可能就是这台电脑的做用,没有你确定不完整,可是很容易找到你的替代品,因此你的价值并非最重要的)。
计算机编程语言是初学者最喜欢对比的话题,有的大师也常常对比各类语言的优缺点。我并不反对的评论那种语言的优劣,但咱们不能去鄙视某种语言的及其使用者,由于流行的语言都有它生存的环境,多是咱们对技术的见识太窄,也多是咱们对人类的思惟习惯了解的不全面,不要老是拿本身的习惯去评价。有不少系统管理员喜欢用命令行,喜欢用shell,perl等脚本语言,这些东西在我看来简直是低效且易读性差的东西,可是当你常常在没有图形界面下工做时,脚本语言可能真是更高效的选择。
最后写上一句浮躁的根源:
不要把祖国当母亲,应该把祖国当本身的孩子。
本不想讲这句话的,可是现实就是如此,浮躁的人群老是对社会充满了意见。我认为全部的这些浮躁都有一个共同点,就是认为本身没法改变这个社会,改变这个社会是国家的事,是其余人的事。
小时候老师老是讲祖国是母亲,咱们是花朵,可是实际上咱们也不是什么花朵,咱们就是郑智化歌里的那根“小小的草,风吹雨打后依然不倒”。现实的社会老是充满着种种不平衡,可是浮躁并不能解决问题。有时总在想祖国并不像个人母亲,她更像是个人孩子,她还很小,经历过不少坎坷,咱们常常感受自家的孩子比不上别人的孩子的某个方面,因而对孩子多加责骂,也可能会让她花一个暑假的时间去补习。小孩子有一些成绩后也会骄傲,有时还会欺骗,咱们不能容忍的是她的恶意谎话,可是她尚未到无药可救的程度,她依然还在成长。咱们常常拿孩子与别人的孩子对比,并且老是发现别人孩子更好的一面,可是你是否但愿与别人交换孩子呢,除了感情外你是否了解别人孩子的所有,咱们须要更多的面对现实,应该在孩子成长的时候及时指出她的缺点,她不可能什么都是优秀的,因此咱们应该尽本身的能力让她更好一些。你不太可能改变母亲,可是你的行动会影响孩子,你抛弃孩子,你真正的孩子未来可能也会抛弃你,因此说祖国可能并不像母亲,更像孩子,若是你把祖国当孩子,也许是另外一种人生价值。