別以為是那些軟體開發定律,別以為是開發出那些特殊用途的軟體,別以為是軟體設計技術本身。只有一條真理決定了乙個軟體程式設計師的成功還是失敗。由於堅持這個真理,乙個資深的程式設計師能在一天的時間裡學會一門新的程式語言,而由於不堅持這條真理,乙個初級的程式設計師用十年時間也只能掙到乙份餬口的錢、永遠是來實現別人的設計、永遠不夠優秀而得不到晉公升的機會。這條真理讓你看清了差的程式設計師和好的程式設計師的不同之處,好的程式設計師和偉大的程式設計師的不同之處,偉大的程式設計師和能通過自己的技術創造出乙個億萬美元價值的程式帝國的超級程式設計師的不同之處。
不是什麼複雜的道理,不是什麼難懂的理論。不是具有什麼天賦或「程式設計超能力「才能做到的事情。最終成為的是乙個優秀的程式設計師還是乙個很爛的程式設計師,這跟你的出身一點關係都沒有。
而真正的原因只有乙個,唯一的乙個:
對所做的事情的理解越深,你就會做的越好。
超級程式設計師跟那些平庸的、一般的程式設計師比起來,對自己要做的事情的理解要深的多的多。這就是原因。
要想成為一名出色的程式設計師,你所要做的就是完全的理解要在做的事情。
有人會說,該知道的我都知道了。而對說這話的人的驗證就是看他們能有應用他們知道的知識的能力。是否他能夠構造出完美的系統架構,讓人們能輕鬆的維護?是否他能在不皺眉頭的情況下把乙個普通程式設計師毫無可能解決的問題輕鬆解決掉?是否他能在被詢問時能用最簡單的概念把任何問題都闡述明白?如果能夠,那他就是乙個傑出的程式設計師,他能很好的理解了他在做的事情。
然而,儘管這些人看起來已經「無所不知」,很多的程式設計師(包括我)都感覺他們仍然在知識的海洋裡奮鬥不已。有如此多的東西需要去學習,乙個人幾乎要花費他畢生的心力去學習,但仍然很難說能掌握計算機知識的90%。
而這場持久戰中的秘密**、戰勝計算機知識的亞瑟王的神劍,就是透徹理解。對你的領域裡的基礎知識理解的越好,你就越容易提公升到更高的層次。你對這一層次的知識理解的越好,你就更容易掌握下一層次,以此類推。一旦你從最簡單最基礎的知識走到最高端最複雜的理論,你可以從頭再過一遍,此時你會驚奇的發現,在最低最底的底層,竟然還有那麼多知識需要學習。
看起來這個道理實在是太簡單,難以受到重視,但事實就是這樣。通往傑出的程式設計師的道路就是完全的深入的理解,從掌握精通最基本的知識開始,從而逐漸牢固掌握更高階的知識。
我不想騙你 —— 這是乙個很長的路程。但你是值得去做的。在路的盡頭,你會突然發現,自己神奇的成為了一位資深的程式設計師,受到所有人的尊敬。你能成為一位神奇的程式設計師,任何事情都難不倒的程式設計師,讓其他程式設計師都羨慕的程式設計師。誰能預料到呢?我不能告訴你你該做什麼或能成為什麼。但我可以告訴你我發現一些真實的道理和有價值的東西。怎麼去做全在於自己。
超級程式設計師的定律
別以為是那些軟體開發定律,別以為是開發出那些特殊用途的軟體,別以為是軟體設計技術本身。只有一條真理決定了乙個軟體程式設計師的成功還是失敗。由於堅持這個真理,乙個資深的程式設計師能在一天的時間裡學會一門新的程式語言,而由於不堅持這條真理,乙個初級的程式設計師用十年時間也只能掙到乙份餬口的錢 永遠是來實...
我們的道路 給程式設計師
突然想到乙個圓周率問題。給你個選擇 a 背誦圓周率的500位有效數字 b 學習各種資料,得到圓周率的計算方法,計算出500位有效數字。想想什麼人會選擇a,什麼人會選擇b。由此引出另乙個想法,技術or管理。管理是什麼,不是手下一堆小弟,指手畫腳就行了,要掌握的東西很多,對於專業只是來講,以erp軟體為...
程式設計師必須開始的道路
說起軟體工程不得不提軟體,那軟體又是什麼呢?軟體呀,它生存於硬體的家庭,由於硬體的各種限制,軟體就是乙個程式,主要由個人來編制。隨著硬體的發展,軟體的規模也相繼變大,個人不能夠完成這麼大的規模,就必須有好多人來完成。這時人們之間就有矛盾了,互相之間交流出現障礙,所以這些開發者就每寫個程式,就寫段說明...