在中国有不少人都认为IT行为是吃青春饭的,若是过了30岁就很难有机会再发展下去!其实现实并非这样子的,如今过30岁的已经慢慢多起来了,也不见得混得很差。下面结合本身的经历,与你们一块儿探讨一下。html
不少人干IT这一行都冲着"收入高"这一点的,由于只要学会一点HTML、DIV+CSS,要作一个页面开发人员并非一件难事,并且作一个页面开发人员更容易找到工做,收入比普通的工做还要高一些,因此成为了不少高校毕业生的选择。若是您只是抱着这样一个心态来入行的话,那阁下可真的要当心。由于干IT这一行竞争原本就比较激烈,特别是页面设计这方面,可以开发的人不少,因此为了节省成本在大部分公司都会在须要的时候才招聘这类人员,在没有订单的时候一些小公司还可能找各种的借口或者以降薪的手段去开除这类员工。而在招聘信息上经常会看到"招聘页面设计师,条件:30岁如下……欢迎应界毕业生前来应聘"这样一条,由于这一类工员对技术上的要求并不高,找应界生能够节约成本。因此在下以为"IT行业是吃青春饭的"这句话只是对着以上这类人所说的,若是阁下缺少"进取之心",而只抱着"收入高,容易找工做"这样的态度而入行,那"IT行业是吃青春饭"将会应验了。程序员
JAVA、C#、PHP、C++、VB……10多种热门的开发语言,哪种最有发展潜力呢?其实开发语言只不过是一个工具,"与其分散进攻,不如全力一击",不管是哪种开发语言,只要您全力地去学习,到有了必定的熟悉程度的时候,要学习另外一种的语言也是垂手可得的事情。开发语言主要分为三大类:设计模式
固然,这分类不是绝对,像JAVA、C#、VB不少时候也用于动态网站的开发。在很开发项目都会使用集成开发的方式,同一个项目里面使用多种开发语言,各展所长,同步开发。但因此在刚入门的时候,建议您先为本身选择一种合适的开发工具,"专一地投入学习,全力一击"。网络
当您对某种开发语言已经有了必定的了解,开始以为本身如同"行尸走肉",成为一个开发工具的时候,那您就应该要明确一下本身的发展方向了。日常在公司,您能够看到作UI层的开发人员大多数都有20多岁,他们充满干劲,并且没有家庭负担,在两年前ASP.NET MVC 、Silverlight等刚出现的时候,他们能够在晚上回家的时候买几本书或者直接上网看看,研究三五个星期之后,对须要用到技术就已经有必定的了解了。而年过30的人多数是已经成了家了,他们天天9:00点上班惟一的但愿就是快些到6:00点,能回家吃饭。吃完饭只想陪孩子玩一下,看看孩子的功课,对新增的技术缺少了学习的欲望。因此不少接近30岁的程序员都有着一种逼迫感(包括30岁时候的我本身),再过几年应该怎么办?这时候,您就更应该明确一下目标,努力向本身的发展方向前进了。概括一下,可从下面几项里选择适合本身的一条道路:架构
在国外,不少发达国家都很重视人才,一个高级的程序员与一个Project Manager收入相差通常不超过15%。但中国是世界上人口最多的国家,国内人才众多,因此人才滥用的状况常常能够看到。一个小公司的开发部里面常常会见到新面孔,但PM却不会常换。由于作老板的对技术是一窍不通,依他们看来只到拉住PM的心,那技术方面方面就能搞得定,至于技术部要换人,他们根本不须要费力气去管。因此从一个技术员过渡到一个PM是一条向前发展的一个选择,但开发人员也须要知道,要成为一个PM不仅仅是使用技术,而更重要的是对管理方面认识。一个PM主要的工做是组织团队,控制成本,管理业务,控制项目进度,与客户进行沟通,协调工做,按期进行工做报告等。因此要成为一个成功的PM更要重视组织能力,PM必须能提升团队的积极性,发挥团队所长,在有限的开发资源前提下为公司获得最大程度上的利润。成为一个PM后,一般不须要直接接触技术开发,而着重管理的是业务发展,但PM对技术也须要有必定的了解(在下曾经为PM对技术了解的必要性写过一篇文章,获得不少支持但也惹来很多的争议)。在这里我仍是要强调本身的观点:要成为一个成功PM最重视的是管理能力,但对技术也应该有足够的了解,由于这是与团队成员沟通的桥梁,只有这样才能与整个团队的成员有着紧密的结合,让团队成员感受到他们本身存在的意义,从而调动团队的积极性,而不是漠视技术人员的存在。技术并不是成为一个成功PM的充分条件但倒是必要条件!工具
其实一个Team Leader的职责与Project Manager相像,但Team Leader更着重于技术开发方面,一般一个大型项目都会有一两个开发团队由Team Leader带领,负责开发核心部分,而其它部分分派给不一样开发小组或者分派给外包公司。在网上常看到几句话,贴切地形容了PM与TL的区别:"技术人员乐于被领导;但他们不喜欢被管理,不喜欢像牛同样被驱赶或指挥。管理者强迫人们服从他们的命令,而领导者则会带领他们一块儿工做。管理是客观的,没有我的感情因素,它假定被管理者没有思想和感觉,被告知要作什么和该如何作。领导是引领、引导,它激励人们达成目标。领导力是带有强烈我的感情色彩的,它不是你能命令的,也不是你能测量评估和测试的。"学习
不管是PM与TL,对业务与技术都要有深刻的了解,只是PM更侧重于业务的管理,盈利的多少,风险的大小等等,而TL则侧重于项目的成本,开发的难度,软件的架构等技术方面的问题。在某些人眼中,技术与管理就像鱼与熊掌,不可兼得,但依在下看来,二者倒是秤不离砣,密不可分。只要及时提高本身对技术与管理的认识,不断地向深一层发展,要从程序员提高到技术管理人员只是时间的问题。打个比方,一个普通的.NET程序员,开始可能限制于ASP.NET的页面开发,但一旦他有了发展之心,他天然会对ASP.NET MVC、Silverlight、WinForm、WPF这些UI的开发手法感到兴趣,学习不须要多少时间,他可能就会认识这些UI开发只不过是一些工具,其实在开发原理上没什么区别。接着他就会向深一层的通信模式进行了解,认识TCP/IP、Web Service、WCF、Remoting这些经常使用到的通信方式,这时候他可能已经感受到本身对开发技术有了进一步的了解。进而向工做流、设计模式、面向对象设计、领域驱动设计、面向服务开发等高层次进发,最后成为技术的领导者。上面只是一个比喻,但要注意的是,在学习的时期必须注意的是与同事之间沟通,不少的开发人员喜欢独来独往,开发的项目总想一我的搞定,不受外界的干扰。但要明白,就算你有天大的本事,一项大型的项目也不可能由你一我的全扛着。因此团队的合做性与同事间的沟通是必要的,这也是成功一个TL的必要条件。开发工具
能成功技术开发的尖端人才,这是在下最向往的工做,却也没本事登上这个位置。不少从事开发的人都会认为,业务总会带着"金钱的味道",老板历来无论开发是否合符开发原则,有否通过必要测试,他们只会在客户面前无尽地吹嘘,项目到期能成功交货,只要不出什么大问题那这个项目就算成功了。其实咱们也要明白:开发项目最终目标是为了赚钱,在开发过程当中对项目成本的限制和效率的控制这也是必须,因此这才须要管理人员对项目进行管理。但开发人员也很想避开这"金钱的尘嚣",全情投入到技术的世界的当中。因此对技术有着浓厚兴趣的人,每每会深刻地研究某一项技术,成为技术上的精英。但在这里说一句使人心淡的话:中国已经属因而世界上第二大经济体同盟国,但国民生产总值主要来源于第三方加工产业方面。中国能够说是人才辈出,但却在高新产业上却比发达国家落后。这几年的确看到咱们国家在高新科技上有着质的飞跃,但跟欧美发达国家还有着一段距离。因此想在中国成为尖端技术的人才,无能否定比在国外要难。依在下看来,要想成为尖端的开发者,必须对C、C++、汇编语言、嵌入式开发、Windows API、Linux API这些底层技术有着深刻的了解。要知道解JAVA、.NET……等这些之因此称为高级开发语言,并非指它们比C、C++、汇编语言更高级,而是指它们封装了C、C++等等的功能,更适合用于企业软件的开发,使开发变得简单。但若是要开发一些底层的软件,大型的系统的时候,就必须用到C、C++、汇编等开发语言,这是成功尖端人才的一个条件。测试
人是从历练中成长的,古人云:三十而立,形容的不是一我的的社会地位,经济来源,而是形容一我的对将来的目标,对人生的意向。要成为一个成功人,就应该早日为本身定下长期的发展目标,做为一个开发者也当如此。随着人的性格,取向各有不一样,你们为本身所选择的路也有不一样:网站
快30岁了,不少人会认为要想真正赚得了钱,就应该自立门户,为本身创业创建一个基础。像北京、上海、广州这些一级城市,要买房子,一手楼基本要在2万~4万元/平方米左右,而在一家普通的IT公司当上一个项目经理,基本收入通常都在1.5万~3万之间(除非在大型的跨国企业内工做,那另当别论),要买一间100平方米左右的房子,就算不吃不喝也几乎要10年的年薪,因此选择自主创业,是不少IT开发人员的一个将来目标,想要达到这个目标,就应该更多地把业务做为重点。不能否认的一件事,在中国社会里不少时候讲的是"关系",即便这30年的改革开放使中国的经济蓬勃地发展起来,但几千年来留下的歪风仍是不能彻底的磨灭。因此想要创业的人事建议你要多跟客户打好关系,与合做伙伴保持互利互动的模式,这将有利于往后事业的发展。
这也是很多人的选择。不少人在有了家庭之后,感受到压力太大,人的一辈子并不是只有事业,他们想把更多时间用于对亲人的照顾,对孩子的关心上。因此不少人会选择一份像系统分析、系统维护、高校教师、专业学院讲师这一类的工做。收入稳定,并且每每没有一线开发人员那么大的压力。
不管你是一个Project Manager或者是Team Leader,若是你想继续晋升一级,那仍是会两极分化的。从一个PM到一间公司的管理层,那所面对的事件会有不少变化。一个公司的总经理,要管理的再也不是一到两个项目的成本,而是整个部门的运做,整间公司的业务流程,因此要肩负的任务的会更重。在下曾经有一位上司彭博士,他是企业的最高领导人,年薪超过三百万,并且在报纸杂志上也曾经亮过相。日常只会在某些会议上轻轻地亮下相,说两句讲词,日常的公司运做与业务管理都不须要他直接执行。这并非说一个做为管理层很悠闲,由于他们要面对的是更多的社会关系,与公司合做企业的联系上。这跟一个PM的工做的很大的区别,因此要从一个PM晋升到管理层,那但是要负出更多的努力与汗水。
若是要从Team Leader上升为一个技术总监,那工做的方向也有所改变。像以前所说:一个TL可能更重视的是技术层面,讲求与团队之间的互动合做性,更注重的是开发的完善。而一个技术总监就无须要直接参加某个项目的开发,而注意的是开发的效率与成果,如何合理使用有限的开发资源,控制开发的风险和可能带来的效果。
从一个程序员到一个项目经理,之间通过不少的曲折,但由于每个人的际遇都有所不一样,所走的路也有不一样,正所谓条条大路通罗马,成功的路不止一条,在下也不想令各位误解,而只想为你们说一下个人发展方向。若是您是一位开发人员 程序员->架构师->Team Leader(Project Manager)->技术总监 是一条不错路,这也是在下选择的路。在我国,想要进一步提高本身,不管你想是以技术为重点仍是以业务为重点,都离不开管理二字。在一些大型的企业,一个团队每每会配备一个PM与一个架构师,尽管两我的负责的任务各有不一样,但你会看到一个架构师的收入每每不如一个PM,PM每每是这个团队的核心领导者,是关键人物。由于公司可否赚钱,PM有着重要的做用。PM与TL并无绝对的区别,并且在一些中小型企业,一个开发团队只有3~5人,一个TL每每会兼备业务处理、成本控件、架构设计、开发管理等多项任务。因此在下会把Team Leader与Project Manager定于同一层次,一个公司的老板每每不会知道团队的架构师、程序员是何人,而只会向PM询问项目的进度,因此只有晋升到这个层次,才有机会进一步提高管理能力,让本身有上升的空间。置于要成为一个技术总监,那要求就再也不单单是对单个项目的管理,而应该更则重于新兴技术的引用,开发资源的合理利用,对开发项目敏捷性的处理等等,对此在下也在试探当中,未敢多言。
转载:http://www.nowamagic.net/librarys/veda/detail/1548