💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
本文是IT职场人生系列的第十二篇。 最近移动互联网很流行,很多人都在学习IOS、Android编程。这也引起一个入行、改行的潮流。 那么,作为新手、老手,应该怎样选择自己学习的语言和技术呢? 本人从早期编程以来,实际使用并开发过商业软件的的语言有几种:C,TurboC++,C++Builder,VisualC++6.0, ASP.NET/C#,中间有很多次选择,配合为别人做的选型指导,写一篇文章供大家参考。 ### 新手,老手 无论一个技术多么地过时了,都有人在做,而且做的人都是老手。 举个例子:若C++语言从业人数按时间排序分别是开始10万,中间100万,后来10万,则开始的10万中新老比例5:5,中间100万新老比例90:10,后面剩下的10万,新老比例1:9,那个1还是不识相的。 所以新手刚学编程,不要去学习旧的技术。不是说旧技术没有前途,而是旧技术里边全是高手,竞争激烈。这种激烈是一种“淘汰式”的而不是公平竞争的,进去的新人最可能被淘汰。 但作为老人,则有可能安心于旧技术。因为毕竟自己水平高,而且老旧技术随着人员的退出,基本薪金还会上升。老人也不太怕技术彻底过时,因为老人的出路不是学习更新的技术,而是学习业务、管理,寻找非技术出路。 ### 新技术,老技术 如果刚开始学习编程,最好学习新技术。原因包括这样几个: 1.技术和业务是同步的,新技术代表着新业务和新机会。 比如早期的Fortan是为了科学计算;中间的C是为了嵌入式;C++是为了Client结构的管理系统;Java/C#则为了基于Web的互联网软件;最新的一些语言和技术则是为了移动互联网。 2.竞争少 由于新业务总是膨胀状态的,而高手们又留在了老技术上,人才供求关系倒挂,刚开始比较好混。 即使那些水平一般的新技术程序员,也很容易找到工作。 3.每个技术都有其生命周期 如果学习了旧的技术,没多久就得换了,得不偿失。 ### 浅技术,深技术 某些技术整体学习的难度不大,而更新的速度却很快,称之为浅技术。比如Flash,UI设计,IOS/Android上小型软件,以及各种云的Client端的开发等。 另外一些技术则学习难度很大,更新较慢,称之为深技术。比如数据库,架构,各种云的Server端软件。 浅技术者应该多创新,多学习,多进化,多了解客户,多了解业务,要理解自己所学是要在众多开发者中独树一帜,让直接客户更加喜欢自己。 深技术者应该多积累,多深挖,多做大系统,多做性能优化,多了解架构,做技术领域的佼佼者。 比如一个常见的误区是有些原本做架构的程序员发现随便一个Android开发者职位工资都比现在自己高,就可能贸然转行。但实际上由于转入了浅技术,高工资是暂时的;未来若干年后新人会越来越多,竞争会非常激烈,到时候就可能会发现还不如留在深技术上积累。 这件事情曾经发生过。在10年前的互联网泡沫中,很多程序员转行做网站(使用FrontPage或DreamWaver等),但后来因为这个行当太好学了,大量兼职人员、高中毕业生也转过来了,造成很大冲击。在互联网泡沫后,网站建设变成一个蓝领工作。 这里不是鄙视浅技术的开发者,或鼓励浅技术的开发者向深技术转行,而是说根据自己正在从事的技术的深浅,要采取不同的学习和进化策略。 比如如果还在做网站UI,就要不断探索新网站的UI方式,不要停留在FrontPage上(应该不会了,呵呵);而如果做后端,哪怕当年最“落后”的C++也仍然值得继续深入,不要三天两头地换。 本文的续篇位于: IT职场人生系列之十五:语言与技术II 更多本系列文章: IT职场人生系列之一:序言及找谁占卜 IT职场人生系列之二:大学生活 IT职场人生系列之三:第一份工作 IT职场人生系列之四:怎样写简历 IT职场人生系列之五:怎样面试 IT职场人生系列之六:员工的公司观 IT职场人生系列之七:学外语 IT职场人生系列之八:行业与公司类型 IT职场人生系列之九:消费观(攒钱,继续教育,买房) IT职场人生系列之十:创业观 IT职场人生系列之十一:找女友 IT职场人生系列之十二:语言与技术I IT职场人生系列之十三:技术?管理?业务? IT职场人生系列之十四:经验积累 IT职场人生系列之十五:语言与技术II IT职场人生系列之十六:入职(新手篇) IT职场人生系列之十七:入职(高手篇) 点击下载免费的敏捷开发教材:《[火星人敏捷开发手册](http://blog.csdn.net/cheny_com/article/details/6616794)》 ![](https://box.kancloud.cn/2016-04-26_571eb637ba582.gif) ![](https://box.kancloud.cn/2016-04-26_571eb637e962b.gif)