首页 > 代码库 > 面对技术海洋,如何选择一个属于自己的技术方向?

面对技术海洋,如何选择一个属于自己的技术方向?

最近很纠结一个问题:是要暂且放下越写越喜欢的JAVA去学习IOS还是不学IOS只是专注于JAVA.

JAVA学了一年多了,也越学越上手了,可是买了MACBOOK不学IOS还真有点不舍得。

几天无意间看到了这个帖子终于发下了自己的问题的答案:


面对技术海洋,如何选择一个属于自己的技术方向?

相信很多工作一两年的人都有一个困惑,自己写了不长时间的代码做了一些东西但是都不精通,面对各种层出不穷的技术方向不知道如何选择。我就是其中的一员困惑者。希望发起一场讨论看看大家的看法和意见以抛砖引玉。



我的观点有可能是片面的,但我还是想说在工作过程中最重要的不是去精通某个技术方向,而是不断提高自己快速学习的能力。

一,技术方向本身就是不断变化的。你可能刚刚精通了Struts,可是Struts 2、Spring、Grails又出来了;刚掌握了jQuery的精髓,却发现有了HTML5和CSS3,大部分情况下用它多余;刚弄明白线程池等概念,突然流行起单线程框架;刚把MySQL学会,MongoDB又火了。基本上大部分技术方向上每年都会出不少新东西,想精通一项技术,然后一招鲜吃遍天,恐怕不太现实。

二,技术方向的演变方向不容易预见。兄弟我就遇到过这个困惑。想当年在IBM主机开发领域(AS/400, ES/9000)兄弟我在国内也算是一把好手,可是离开原来单位出来居然找不到工作,因为除了那几个IBM大客户,谁知道RPG、COBOL是什么东西啊?只好重头开始学Java,才混了口饭吃。现在包括微软的那些开发平台,也逐渐衰落了。所以光是精通一门,也许过几年就落伍了。

三,技术方向的选择是个普遍性难题。其实不光是楼主在这方面有困惑,恐怕楼主的老板们更会有,比如NoSQL、大数据、云计算这么流行,搞不搞?不搞会不会落后?投资人会不会觉得我们吃老本不思进取?要是搞,咋搞?招牛人还是自己培养几个?一年投入多少钱?万一搞不出名堂怎么善后?就是Steve Jobs当年不也在HTML5 和 Flash 之间斗争么。他们为此都得琢磨个三五年,你看不清方向也是正常的。

四,“精通”是关于对一门技术理解的深度,而“技术方向”是对于整个技术理解的广度。没有深度作为基础,所谓的广度也是虚的。有不少人喜欢夸夸而谈,什么Map Reduce啦,什么Hadoop啦,什么机器学习啦,未来私有云和公有云融合的发展方向啦,说起来头头是道,似乎一下子就能做个顶层架构,但是让他写个二叉树遍历都写不出来,这就是too young, too simple,和街头小混混讨论如何收复钓鱼岛差不多意思。

Talk is cheap。你懂的。

所以,楼主提到“很多工作一两年的人都有一个困惑,自己写了不长时间的代码做了一些东西但是都不精通”,这是很正常的。既然只是“写了不长时间的代码”,“都不精通”基本是必然的,除非你是天才。想精通就多花时间进去,多写代码,多查资料,多思考,先精通一门再说。在此基础上,业余时间多关心行业内的技术动态,了解一些新的技术,慢慢积累,这有助于你看清大的趋势。

总之我的看法是,先不要急着爬到很高想看清楚方向,不管你手头用的是什么技术,先踏踏实实地精通它。在这个过程中,不断提高自主学习的能力。这样即使看不清方向,万一方向变的时候,你总是第一个适应的,那也很不错。




-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



说的特别好,““精通”是关于对一门技术理解的深度,而“技术方向”是对于整个技术理解的广度。没有深度作为基础,所谓的广度也是虚的。”我的答案就是不放弃JAVA深入学习JAVA同学扩展广度,慢慢学习IOS!


先有深度,同时扩展广度。

面对技术海洋,如何选择一个属于自己的技术方向?