1. 程式人生 > >什麽才是技術?

什麽才是技術?

資料 個人 算法 至少 困難 綜合 簡單 招聘 加班

關於技術的反思

自以為搞技術多年,究竟什麽才是技術?

掌握一種或者多種編程語言?

熟練Linux各類神操作?

深入研究某幾種開源軟件源碼?

或者是根據業務訴求進行組件拼裝,定義各種規範協議,美其名曰架構設計?

這些東西其實如果你會,別人遲早都可以做,只是時間問題,這還叫技術嗎?

什麽才是真正的技術呢?

我覺得至少有兩樣東西算技術。

其一是算法

要想在軟件開發中巧妙運用算法絕對是需要動腦子的。

學習和研究算法本身就需要腦子的,靠搜索引擎復制粘跌是沒多大用的。

有效運用算法更是需要動腦子的。

我看見很多搞Java或者其他語言的人,大部分工作都不會涉及到算法,誰都可以做,只需要通過搜索引擎搜索資料,短暫學習就能上手。

這算技術嗎,我曾經做過很多這樣的事情,這類工作是有價值的,但不是稀缺的,也不是難以模仿的。

當IT行業的從業者年紀逐漸增大時,還幹這種搜索簡單資料然後學習上手、年輕從業者也能幹的活,如何體現你們競爭力和價值?

其二是設計

成功的軟件架構設計也是技術。

我的經驗,大公司的高級別的員工在大平臺和人力資源充足的情況進行架構設計,往往能成功;同樣的人換到小公司做架構設計,往往各種條件限制,落地都困難,更別說上線。這兩種情形都不算成功的架構

成功的架構必然是在人力資源適當而不是過度的情況下,能滿足業務需求,並落地上線的架構。真正的架構,技術含量在於:

1、需要綜合考量各種因素,既要能滿足業務需求,也要有一定靈活性和擴展性,有的時候還要考慮性能,這三點要求設計架構的人技術不僅要廣,還要深,思維嚴謹縝密。

2、人手是否合適夠用也是必須要考慮到的重要因素。凡是涉及到需要進行架構設計的系統基本不可能一個人完成,除非是維護性的重構。那麽就必須要考量人力資源,當前是否有這樣的人,如果沒有,能否及時招聘到。這往往涉及到工資成本和時間成本的統籌。

上下求索

國外的程序員為什麽能幹到老,根本原因並不是因為他們國家的制度有多優越,而在於他們做的事情,從一開始就是技術性的工作。

去看看TCP/IP的發展史,去看看JDK的源碼,去研究各類優秀的開源軟件吧,哪樣是國內的所謂程序員最初設計發明主導出來的?

有人會說中國的IT從業者加班太多,房貸什麽的經濟壓力大,沒有時間研究,或者中國教育落後之類的種種原因。姑且認為這些因素都合理又有什麽用呢?

後果還是要自己承擔。後過就是越老越沒價值,嚴重吃青春飯。承受這些後果的人並不是開發商或者政府,也不是教育機構,而是廣大IT從業者自己!

什麽才是技術?