3d开奖|辽宁快乐12玩法介绍

行業資訊 / The information

家居建材行業資訊

專訪李智勇:一個老程序員的哲學思考與勇猛精進的人生

  發布時間:2014/09/25    來源:云商科技官網   瀏覽次數:1270次

在開始這篇采訪稿的時候,記者提筆半天也不知道如何開頭,因此回頭看李智勇在《暢言》欄目的投稿,于是上面的贊譽迎面而來。

當然李智勇的文章并非受到大家一致的熱捧,有稱有贊的同時,肯定也有罵聲和各種吐槽。是的,有人贊他精辟入理、非常具有啟發性,而也有人說他寫的東西“假大空”、不容易明白、看一會就暈……那李智勇究竟是個什么樣的人?都經歷過什么?為什么讀者評論他的文章會有如此大的分歧性?或許接著看下去,你能找到答案。

IT火熱 讓他從渦輪轉行到IT

李智勇認為,做到超級程序員(Linus那種)可能比較難,但成為相對杰出的程序員只要方法對,大部分人都可以。

李智勇在一家比較傳統的公司做部門級管理人員,平時喜歡讀書和寫文章,他很多文章在CSDN《暢言》欄目和新浪《創事記》欄目發表,并引起了很大的反響。他著有兩本書《完美軟件開發:方法與邏輯》和《程序員生存定律》,同時還發起了一個叫V眾投的生活問答社區。

雖然一直知道李智勇是名老程序員,但不知道他居然是渦輪機專業畢業。為什么一個學渦輪的會和IT有交集?李智勇在微信采訪時稱,2001年畢業時正趕上IT火熱,那時做IT和做傳統行業收入差距太大,大概有5~6倍,再加上剛畢業也不太考慮別的,所以就跑到福州一個叫實達的公司做打印機驅動程序。

談及過去,李智勇感慨到,打印機驅動程序比較偏門,很多人不太熟悉,但其實挺難搞的。要懂系統級知識,要懂圖形圖像,當然也還要語言知識。有個大家比較熟悉的老程序員叫袁峰,他在惠普的時候就是做打印機驅動的,后來他去了微軟做GDI+、WPF等,還寫過一本叫《Windows 圖形編程》的書。所以這本書里覆蓋的領域都是打印機驅動程序必會牽涉到的領域,包括坐標系、圖形、圖像、字體等。反過來看,如果學這個的話,只能一點點學,沒捷徑。

而最可怕的是當時沒人帶,于是就一路自己死磕,死磕C++、死磕Windows、死磕設計知識。不過好在走過來了,經過三年時間的努力,李智勇終于把自己的技術提高到一個還可以的地步。主要的技術基礎在這三年里打下的,技術基礎有編程語言(主要是C/C++),系統知識有:Windows平臺的各種基礎知識,比如線程、進程、內存管理、結構化異常、圖形編程等。

他還分享到,純以學習難度論,CMMI,敏捷,估算方法,開發模型這些東西加起來也沒C++難學。但C++學會了就能用,這些東西則要結合情景才能用好,取得好的結果。聊到過去的經歷,李智勇還透露到,那時候有個雜志叫開發高手,他還在上面發過一個完整的檢測內存泄露的程序。

一個東西的難度和它的市場價值不一定成正比

后來,等到李智勇技術還可以的時候,就開始做項目管理,學估算、WBS這些東西,等這個學完開始負責一個團隊。做項目、帶團隊最初主要是驅動程序,后來做過POD按需打印的應用、電子詞典和項目管理類Web App。

這段經歷,也讓李智勇認識到兩件事。一個事情是一個東西的難度和它的市場價值不一定成正比。打印機驅動非常難搞,但其實只面向非常狹窄且穩定增長的領域。從難度上講打印驅動的開發難度會大于Web應用的開發,但如果回頭看過去十年,從實現現金價值的角度看過去十年里實現程度最好的其實是互聯網領域。這可以引出比較復雜的人生思考,他把這些東西放在了一本叫《程序員生存定律》的免費書里面,并建議剛入行的人一定要讀讀。

另外一個事情是協作的重要性。大家有時候看報道說一個人實現了一個程序,感覺特別爽,但其實很多事情根本不是一個人能搞定的。當一個人處在盲人盲人摸象狀態時,最好的學習方式其實是交流。最開始會比較氣盛,覺得這玩意自己搞定會很爽,但其實當你與人合作的時候才能搞的更快,搞得更快才不會浪費生命。

成為超級程序員比較難,但成為相對杰出的大部分人都可以

一方面李智勇非計算機專業畢業,另一方面當時又沒人帶他,但他死磕C++、Windows和設計知識后終于有所成就,那他在技術上有哪些認識?

李智勇認為,做到超級程序員(Linus那種)可能比較難,但成為相對比較杰出的程序員只要方法對頭,大部分人都可以,具體來講這需要做到下面幾點:


  • 一是一定要精讀一個有點規模的程序。精讀是指每行都讀懂,在白紙上能畫出來這個程序的基本結構。比如:那時候他能比較清晰默寫出MFC的基本類結構和背出它的基本機制。只要用心,大部分程序尤其是應用程序,半年絕對可以達到他說的這程度。假設誰用這方法搞定了WordPress,那這人PHP一定可以突飛猛進到一個超過許多人的程度。
  • 二是寫代碼要到一定量。這里的寫代碼不是指拷貝粘貼,而是指自己琢磨著寫并優化它。一定量是指至少要2~3萬行。現在開源軟件比較多,拷貝粘貼也比較容易,上述兩點可能好多人做不到,這對編程和設計能力其實是個傷害。
  • 最后一個就是擴大閱讀量,并要精讀幾本書。精讀的書現在來看,最好覆蓋下面幾個方面:計算機體系結構,算法和數據結構,設計原則和模式,軟工。V眾投上有個比較長的回復可以參照下:點擊進入


管理向左,技術向右

另外,這段曾經的技術管理經歷給李智勇帶的感觸同樣也很深。他和記者總結到,學技術是比較辛苦才能學會,尤其是C++很難學,但如果下恒心抱著C++編程語言來啃,有一年也能啃出來,但做管理不是的,這東西需要點悟性。

是的,管理和技術的調調很不一樣。管理首先不只是技術,或者說不主要是技術。編程里的技術有難度,有時候考驗智商,管理上的技術沒難度,但怎么用那些方法和技術有難度,考驗人的情商和認知能力。

技術是往專業了走,越專業生存空間越大。而管理是往雜了走,比如:老板對項目不滿要趕緊去說明,免得發酵成大問題;人力缺了要趕緊協調,一是要能要到人,關鍵還得能要到合適的人;工具缺了,要趕緊購買;兄弟們有情緒了,要趕緊安撫;PPQA了有抱怨了,要趕緊改正。如果工作進一步泛化,還要涉及到預算、評估、職業路徑規劃等。

很多人容易因為收入的問題而傾向于做管理,在技術路徑短的地方也確實是這樣,但李智勇比較相信隨著各種互聯網公司的崛起專業化才是增值的最佳途徑,管理不是的。并且很多人性格上也不太適合做管理。李智勇稱,這點展開太長,可以參照:他CSDN博客的內容

李智勇還順道指出,他認為未來的趨勢是管理的職責被專業人士分擔,而不是出現越來越多的專職管理人員,所以成長的時候關注自己的專業(技術、產品等)更關鍵一些。

寫了兩本書:一本給資深程序員,另一本無私奉獻給新手

李智勇還寫了兩本書,分別是《完美軟件開發:方法與邏輯》和《程序員生存定律》,這兩本書都是關于什么內容?

李智勇介紹到,第一本書試圖探討管理、估算、設計和編碼這樣領域間的關聯。這就和打仗的時候要有猛將沖鋒陷陣,也要有人居中策劃一樣。做軟件的時候,要有很牛的程序員,要有人搞需求,也需要有人總攬全局。而總攬全局的人可以在解決某個Bug的時候不如現場人員,但要對本質有更深刻的認識,而要想把握本質,則要把軟件相關的各領域作為一個整體進行思考。具體概括已在書的前言里闡述:

把軟件作為一個整體考察是因為管理、流程、設計編碼等都是影響最終成效的砝碼,單純某一個維度上(比如流程)效能最佳不等于整體效能最佳。
把精妙抽象和具體相結合則是因為雖然眾象紛繁,但總有些規則凌駕于現象之上,不把握這些規則必然陷入雜多之中,進而明于微而昧于巨。反之,精妙的東西又只有通過具體的手段才能實現自身,并無法單獨而存在。恰如下棋時每一步都機關算盡,但總是脫不開既定規則,只有有限的結局(或輸、或贏、或和),而既定規則之力量又只能實現于每一步之中。 

這有點抽象,但確實是這意思。

第二本書出發點則比較簡單,李智勇稱,自己感覺走錯了一些路,所以參照種種了解到的現實,系統的思考自己。后來就想把它寫下來了,希望能讓剛入行的少走點彎路。這書最大的好處應該是可以打開視角,剛入行的小兄弟不只是看到技術。從大家反饋來看,很多人還是認為挺有幫助的。寫完后因為沒時間精雕細琢了,就把它免費放出來了,都在CSDN上。

叁度軟件版權所有 咨詢熱線:13823773466 地址:深圳市南山區科技園科苑大道訊美科技廣場2棟1712室 備案號:粵ICP備19067397號

3d开奖 广东时时11选五计划软件 新时时快速购 江苏体彩e球彩规则 河北11选5杀号技巧 统一彩票app下载ios 2020年五大联赛什么时候开始 深圳今天买马开奖结果 微信欢乐麻将下载 排3和值遗漏 福彩18选7走势图