文章出自:http://blog.sina.com.cn/s/blog_66c069db0100yevq.html
經常在一些技術論壇里看到,有人抱怨說做開發好多年了,技術沒有多大長進,薪水也沒有提升;
經常會碰到一些做技術外包的同學,說我天天coding,coding,今天換這個東家、明天換那個東家,代碼也寫了幾十萬行,但幾年下來,個人競爭力卻沒多大提升; 也時常聽到一些在大公司里工作的開發人員抱怨,雖然拿著不錯的薪水,在公司里成天就像一個螺絲釘一樣,被安排在一個細小的領域里,幾年下來,摳來摳去,就那點東西,實在微不足道,同行面前拿不出手,沒有成就感; 不一一列舉,相信做IT技術的人,多少都會碰到上面所說的情況,因此,對于做IT技術的人,如何提升自身的競爭力,或者說的再俗一點,如何能保持、提升自身的身價,做一棵職場的常青藤,需要認真思考一下。
最近我搜集了一下互聯網各大公司的招聘廣告、也觀察了一下公司里的一些技術高手的一些成長特點、結合自己的既往的一些工作經歷,有了一個初步的思考,雖然說不上是找到了一條捷徑,但是在現階段的認識來看,我認為這是技術成長的一條通路,在團隊內部做了一個分享,希望能引起大家的思考:
關于開發工程師成長的問題最近有一些思考,做個分享,先拋兩個觀點:
1、 夯實技術基礎應以企業(市場)本質需求為導向,技術人員的身價或者核心競爭力的體現最終是由企業(市場)的本質需求決定的,這個本質需求是能用最快的速度提供可靠的綜合解決方案,而不是看誰的技術玩得更酷或者更新潮;
2、 技術人員對技術的把控程度,很大程度決定了一個技術人員的“身價”和“話語權”,在當前千軍萬馬的互聯網技術大軍里:
(1)懂得某種技術的 “HowTo”的一抓一大把,屬于金字塔的底層
(2)能再往前進一步,深入理解這門技術“Why”的,相對來說就要少一點了,屬于金字塔的第二層
(3)能對一門技術理解了以后,能對既有技術進行優化和改進的,就更少了,屬于金字塔的第三層
(4)那金字塔的第四層是什么類型的人呢?我給出的定義是那些對多種技術有深入的理解,在提供綜合解決方案時,面對多種技術知道如何取舍和搭配的人、能對已形成的搭配方案進行優化和改進的人,這種人是企業里的“香餑餑”,形象說明如下:

所以,要提高自身的核心競爭力、提高身價,第一個首先要想清楚發力點在哪里、成長路徑是什么,對于上圖描述,大家思考和觀察一下,是不是這么個道理?
第二個要談的,是作為一名互聯網開發工程師,要掌握哪些必備的關鍵技術;下面羅列出來的這些技術,是最近我去分析了一下各個公司對開發成員的招聘要求、觀察淘寶一些高P所具備的知識,包括自己之前做開發工程師的一些體會,總結了一下做互聯網開發,一些通用的、開發工作中經常接觸的的技術列表出來,這些必備技術要盡量確保每一項技術掌握到上圖中金字塔的二、三層發展,不能老處在第一層,這樣沒有競爭力,“了解”和“熟悉”這兩個概念差距還是蠻大的:
WebServer:
1、 Apache(nginx)
2、 Tomcat
3、 Jboss
前端技術:
1、 html/css/js
2、 ajax
3、 前端框架:protype、dwr、Jquery、JfreeChart、ExtJs
Java技術:
1、 Java語言;
2、 JVM 虛擬機
3、 J2EE技術
數據庫相關技術:
1、 關系型數據庫:Mysql、Oracle
2、 NoSql:Cassandra、MonGoDB
工具:
1、 IDE:Eclipse
2、 編譯打包:Maven(Ant)
3、 單元測試:Junit
4、 代碼管理:SVN(Cvs)
5、 前端調試:Httpwatch、Firebug
6、 壓力測試:ab
開發框架:
1、 MVC框架: Struts2、Webwork、Webx、Spring
2、 ORMapping框架: Ibatis、Hibernate
集群及緩存技術:
1、 DNS
2、 LVS+Keepalived
3、 Squid、MemCached
系統及網絡基礎:
1、 Linux系統;
2、 監控;
3、 TCP/IP協議、HTTP協議;
“板凳做得十年冷”,做技術需要耐得住寂寞,量變到質變,融會貫通,需要有一個過程,技術基礎也是一步步夯實起來的,這是個客觀規律,但是即使要坐“十年板凳”的時候,還是要規劃一下該學什么、怎么學、一步步去完善,否則會發現十年下來,板凳坐冷了,心也冷了,那就很悲劇;