惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Vulnerabilities – Threatpost
MongoDB | Blog
MongoDB | Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
A
Arctic Wolf
The GitHub Blog
The GitHub Blog
Security Latest
Security Latest
G
GRAHAM CLULEY
Cyberwarzone
Cyberwarzone
S
Schneier on Security
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Privacy & Cybersecurity Law Blog
IT之家
IT之家
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 聂微东
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
The Hacker News
The Hacker News
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
Scott Helme
Scott Helme
P
Proofpoint News Feed
T
The Exploit Database - CXSecurity.com
L
LangChain Blog
F
Full Disclosure
I
Intezer
V
V2EX
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Spread Privacy
Spread Privacy
美团技术团队
Engineering at Meta
Engineering at Meta
C
Cybersecurity and Infrastructure Security Agency CISA
罗磊的独立博客
T
Tenable Blog
D
DataBreaches.Net
M
MIT News - Artificial intelligence
S
Securelist
C
CERT Recently Published Vulnerability Notes
Recent Announcements
Recent Announcements
Microsoft Azure Blog
Microsoft Azure Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
NISL@THU
NISL@THU
The Register - Security
The Register - Security
L
LINUX DO - 热门话题
P
Palo Alto Networks Blog

博客园 - 章立民研究室

我在點部落 下一代网页开发技术Silverlight——笑谈程式人生系列讲座之二 确保您的Silverlight 1.0运行时间组件是最新版本 ToolkitScriptManager VS ScriptManager 读者问与答 如何于撰写 Silverlight 1.0 的XAML时拥有Intellisense Silverlight 1.0 RC SDK 预览 新世代网站开发技术ASP .NET AJAX——章立民北京研讨会 PPT下载 新世代网站开发技术ASP .NET AJAX——章立民北京研讨会邀请函 读者询问是否一定要安装ASP.NET AJAX Extensions 答读者问 SQL Server - 请问数据库字段加密问题 读者“翔”询问如何于asp.net中删除目录 读者问与答 答读者问 Visual C# - 读者询问如何复制目录以及目录下所有的子目录与文件 Visual C# 2005 – 如何使用通配符 *.* 复制所有文件 新书出版了 SQL Server 2005 - 如何利用CLR存储过程读取与写入二进制影像数据
笑談我的學習之路
章立民研究室 · 2008-06-27 · via 博客园 - 章立民研究室

讀者在部落格的留言板上留言,希望我能夠分享 .NET
的學習過程、心態以及方法。於是寫下本文,與大家分享。

在資訊軟體界討生活,要放輕鬆是談何容易。說“笑談”是有點故做輕鬆狀,“心路歷程”聽起來又有點噁心,講到“傳承”嗎,那更是不敢當,總之,大家就是放輕鬆,當作生活經驗的交流。將我這近20年來的經歷與心得,毫不保留但簡短地跟大家分享。更重要的是,我希望大家在讀完本文後,大家都能夠更清楚以及堅定地選擇你未來所要走的路。

技術快速演進的不變定律

綜覽人類文明的演進,大抵都建立在“今日會比昨日好、明日要比今日強”的基本史觀之上。回顧過往的資訊技術洪流,80年代末還在鑽研DOS系統、倚天中文、組合語言,90年代初卻得踏進Windows 3.1、Windows SDK、DDE等新架構所延伸的密林,大氣還沒喘上一口,卻又在90年代中期碰上了32位元Windows、MFC vs. OWL/VCL、OLE2所構成的技術風暴,而Web也在此時開始火熱,主從式架構也快速增加成三層式、甚至多層式的Windows DNA,正當慶幸千禧年的Windows架構還在掌控之中,.NET技術的躍進又像一波波不斷來襲的大浪。

身處速度快、變化大的資訊技術洪流,的確必須隨時準備好面對更快、更好、更強的明日世界。但是,技術的本質是什麼?學習的瓶頸該如何突破?如果只是一味盲目亂衝,而不適時讓自己緩下來思考,很容易被洪流吞噬。面對技術洪流,你的生存之道是什麼?你是否也思考了技術的本質以及學習的方法呢?更重要的是,您真的準備好面對這永無止盡的磨練(或是說折磨)嗎?

你(妳)為什麼進這一行

正所謂男怕入錯行,女怕嫁錯郎(我必須說,這觀念其實是迂腐的)。所以在我們分享所謂的經驗之前,應該先回到源頭,問問你自己,為什麼入這一行。在兩岸,常常會有一些年輕的程式設計師感到徬徨而來求助於我。我通常第一個問題就是問對方,你為什麼進這一行。是因為你在學校原本就讀資訊相關課系所以自然進了這一行,還是當時自己或家人覺得電子與資訊相關產業非常熱門,因此進了這一行。如果你是因為覺得產業熱門才進了這一行,而且是在1999年之後才入行的話,那我只能送你一句話,那就是“夕陽無限好,只是近黃昏”。所以說,如果你在午夜夢迴 的時候,常常會對自己的工作有所質疑的話,那真的應該好好思考思考。

我所要強調的是,你對資訊軟體真的有興趣嗎?你真的喜歡這樣的工作嗎?你頂得住壓力嗎?更重要的是,你快樂嗎?能夠把一件事情做好,並不表示你真的喜歡,也不表示你真的快樂,這只代表你有足夠的能力。如果這真的是你的興趣,你真的熱愛,就算辛苦,也會樂在其中。

身處在這行,工作日與假日加班是常態。我常常看到許多年輕人,不過就是假日加個班,就覺得自己備極辛苦,備受委屈。如果你也常有這種心態,趕快轉行吧!更可怕的是,自己辛苦也就算了,家人與親密愛人常常無法理解與諒解,同樣的,他們的抱怨也成了常態。幹這行,還有許多後遺症,像是身體變形,禿頭,滿頭白髮,心情很難放鬆…等等。

我談這些,並不是要你離開這個行業,我的目的,是希望大家再次肯定自己是喜歡這個行業的,不論您是開發人員或者是IT Pro,都能夠更加確認自己的選擇,然後堅定的走下去。

技術路線的選擇

在你確定自己適合走技術這條路,也決定要走技術這條路之後,接下來所面臨的就是技術路線的選擇,而這通常也是學生或初入行者最大的抉擇。為什麼呢?因為這關係到他未來的就業,他希望自己押對寶。然而為什麼會難以抉擇呢?因為目前看不出何者擁有絕對的優勢。據說是 .NET小贏。但是我們必須瞭解,任何一種技術架構都有其特性與優劣所在,然而難就難在 .NET與J2EE都非常龐大,我們很難兩者都精通。因此我說成功沒有一定的規則可言,失敗確有,那就是兩面討好者。

我常常看到有許多人喜歡比較 .NET 與 J2EE。說句實在話,這兩種技術路線都有極深的內涵,單單看了技術架構,稍微用了點其中的技術進行開發,就足以評斷兩者的優劣嗎?這未免太自以為是,大放厥詞。我投注了極大的心力研究 .NET,才比較認為能夠稍微隨心所欲地掌握其內涵,也才能夠真正體會其中的優點與缺點。我相信同理之於 J2EE。問題是,我時間有限,精力有限,能力有限,不可能同時研究這二者,既然如此,何德何能去評論呢?

我要說的是,檢視諸項技術時,最忌諱的就是 “成見” 以及那股莫名的 “情緒”,或是說 “情節”。當您有了這樣的心態,如何以客觀的心情去評量各種技術呢?奉勸大家,在選擇技術的時候,不需要有太多的情緒與愛恨情愁。我知道有很多人就是看微軟不爽,看微軟賺那麼多錢就覺得很討厭,因為我討厭微軟,所以我不用微軟的技術,所以我選擇J2EE、Java、Oracle。微軟的技術真的不好嗎?同樣的,你也不需要因為非常喜歡微軟,所以就討厭J2EE、Java、Oracle。身為一位技術人員,一定要拋開這些成見與情緒,因為一旦有這些成見,就會影響你的判斷力,也因此很可能跟好的技術失之交臂。所以我的態度是,不論技術是誰推出的,一定用開放與正面的態度去看待。正所謂“知己知彼,百戰百勝”,不論是自我學習,或是在市場上競爭,切忌閉門造車。

其實只要您真正投入,掌握技術的精要,自然能將其特性徹底發揮,進而開發出優質的應用程式。如果您學東西總是半調子,那即使您用的是什麼偉大的技術,寫出來的東西也是平淡無奇,甚至上不了抬面。

我選擇技術的原則非常簡單,第一看技術的進入障礙;第二看技術有沒有未來性。所謂進入障礙,當然就是跟我目前的技術能力是不是有延續性,是不是能夠有良好的銜接,這是為了確保我過去投入的心血不會輕易付諸流水。就未來性而言,也就是看技術有沒有前景,說得露骨點,或者應該說有沒有 “錢” 景,畢竟技術必須叫好,也要叫座,才是好技術,那種孤芳自賞者,通常沒有好下場。沒錯,這兩個原則有時候是彼此相衝突的。放諸技術的演進史,有時候會因為某種革命性架構與裝置的推出,導致引發大躍進式的演進。在這種時候,未來性的考量當然更勝於進入障礙。

其實在許多時候,技術(或是說技術路線)的選擇也沒有那麼難,因為市場可能已經幫您做了決定。如果真的無法自行判斷,就跟著流行潮流走吧!

不需要跟技術談戀愛

別讓“執著”害了你。就好比我們勸人在投資理財的時候不要跟股票談戀愛一樣,你也不需要跟技術談戀愛。沒錯,你當初看好某一家公司的前景,買了該公司的股票準備長期投資,可是當你發現公司營運狀況不如預期或是出現更大的危機之時,難道還要抱著股票不放嗎?你希望你的股票變成廢紙嗎?沒錯,您現在出脫股票已經受傷,已經賠錢,可是如果不當機立斷、壯士斷腕的話,損失將會更為慘重。投資理財如此,技術的選擇也是如此。

拿得起,也要放得下。當發現所選擇的技術已經失去優勢,應該毫不考慮的轉換。沒有錯,你已經投入了許多的時間和精力學習該項技術,要你放棄,談何容易。不過IT這個行業就是如此,過去被奉為聖經、歸鎳的技術架構可能在短短的時間就被淘汰出局。所以我們說,您也必須抱持一個開放的態度,隨時注意趨勢的變化,不要侍才而驕,自以為了不起。就好像戲水溺斃的人多半是游泳高手一樣,因為他自認功夫過人一等,不會有任何危險,完全沒有任何的警戒心,因此反而比別人死得更快。

我為什麼要特別提到“不要跟技術談戀愛”,因為我過去之所以在會在1999年急轉之下,陷入低潮,就是犯了這個錯誤。在很久之前,我靠FoxPro成名,我的存款、房子、車子都是靠FoxPro這隻狐狸賺來的。可是當時已經有一些明顯的跡象顯示出FoxPro未來將不會是微軟的發展重點。這些跡象包括:FoxPro在美日兩大市場賣得非常不好,Tech-ED的FoxPro場次人數遞減….等等。甚至連微軟內部的高層人員都要我小心,可是我卻不信邪。最後的結果就是後果自己承擔,承受痛苦。

我是如何學習的

正所謂萬丈高樓平地起,要把功夫練好,馬步一定要蹲得穩。我想很多人最好奇的,就是我如何學習新技術。說真的,我用的都是笨方法。學習技術,一定要先把架構與原理徹底瞭解,然後才能晉升到技巧的活用。而這中間的竅門,就是不停且大量的實作,並將結論有組織地整理起來。

每當我閱讀一段原理與說明時,都會儘可能去實際動手模擬或撰寫程式驗證,一方面可以確認自己的理解是正確的,一方面也可以更加熟悉並體會其內涵,並瞭解其應用層面。當然,人的記憶力是有限的,最終的驗證結果與結論,務必有系統的整理,以方便未來能夠快速查閱。

這中間的過程不僅枯燥,更是乏味,而且很寂寞,然而卻是必經的過程。就我的瞭解,業界的開發人員,可能最缺乏的就是這一段學習過程,畢竟大家都急於對老闆與客戶負責,交差結案,因此常常會流於追逐實用的技巧。但是大家別忘了,徹底瞭解技術架構,可能會比追逐新工具來得可長可久,畢竟許多原理都是一以貫之的。就以 .NET 而言,從2002推出到目前的 .NET 3.5,基本的大架構並沒有什麼不同,只是一直在既有的基礎上累加並擴充,如果你當初就能夠秉持正確的原則來學習,或許現在會更加感覺如魚得水。

如何讓自己與眾不同

如果要在這個產業長久發展,你必須讓自己與眾不同,而不同之處不僅僅是技術而已。

我很喜歡問開發人員一個問題:“除了高人一等的技術能力之外,你還有什麼?”我常跟別人說,你再會寫程式,你也只是個程式設計師。這句話聽起來或許很傷人。不過就像過去很多人問我寫書要寫到幾歲一樣,我以前從來不覺得這是個問題,但是當年紀大了,我開始思考這個問題。因此我現在問你,你要寫程式寫到幾歲呢?難道你要一輩子寫程式嗎?你以為每一位會技術的人都可以像Bill Gates一樣嗎?你以為Bill Gates就只是會技術嗎?他沒有其他的特質嗎?

也不是說你不能一輩子寫程式,不能一輩子當技術人員。因為有些人真的不適合當主管,不適合開公司做生意。如果真的想要長久做技術研究,你就需要一個比較穩定的環境。可能是在學校或研究單位,亦或是大型的私人企業。大家要早點想這個問題,畢竟中年轉業不容易啊。

我也常告誡人,不要讓高人一等的技術能力成為反效果。正所謂:「工作的金字塔,一人抵三人。」。你技術能力強,以一敵三,老闆為什麼要幫你升職,因為要用三個人補你的缺,而且你真的看起來不像個主管。為什麼升任主管的常常是你認為技術不太行的,只會耍嘴皮子的。結果是什麼呢,你花了很長的時間與很大的努力來證明自己,可是等你年紀大了,公司可能覺得你太老,不想給你機會。唉!真是殘酷啊!

或許你可以思考如何進一步融入“熱情”“人文素養”與非技術的“專業素養”,或許這樣,可以讓你更發光發熱。我在2007年之前的好幾年都不講研討會,因為我不覺得我可以講得比以前更好,我覺得難以再超越過去的成績,我有疲憊感,也就是說我沒有熱情。與其勉強上台,還不如不上台。假設我自己都不熱愛這樣的工作,如何讓聽眾去熱愛呢。不要忘記,任何人比你都敏感。千萬不要以為可以混水摸魚,蒙混過關。

我還想問你,你的特質是什麼。為什麼同一首歌,由不同的人演唱,會有完全不同的效果。因為他捉住其中的感覺,能做最佳的詮釋。反過來說,量身訂製,因此你應該尋找最適合你的表現方式。

千萬記得,在演講、講課或做簡報時,是不可以忘我的,要隨時與台下觀眾保持互動。所謂的互動不見得是言語的互動,而是透過你的眼神、話語和肢體語言來傳達訊息,而從聽眾的表現、坐姿等等,都可以看出他們的反應,並隨時動態調整。因此我較不喜歡列出太細的項目,保持動態調整的彈性,而且準備的內容應該要比實際的會議時間來得長和豐富。

最後建議科技人應當走出技術的象牙塔,培養良好的人際關係,展現不凡的熱情與活力。

抓住機會,秀出自己

資訊人員一般來說都比較內向,比較沈默,不喜歡表現。可是我真的鼓勵大家,抓住機會,秀出自己(Present yourself)。想當初我第一次到微軟並且幫微軟講研討會,根本就是毛遂自薦的。重點是,當別人給我機會時,我充分掌握住了。

成功是性格、努力、與機運的結合。我們常說性格決定命運、努力要有方法和策略、最後還需要天時、地利以及人和的機運。你說路遙知馬力,日久見人心,問題是有機會表現時,你悶不吭聲,好像不存在。其結果是,人家還以為你能力不夠。

當然,如果你是金玉其外,敗絮其中,也撐不了太久。但是如果你真的有能力,給你一個良心的建議:“不要只做沈默的工蜂”。畢竟機會稍縱即逝,逝者不可追。

在這裡提供大家一項真實的統計資訊,當你說話的時候,人們接收到的訊息是什麼?請注意,有 93% 來自肢體語言和語調:

  • 55%:外型與肢體語言。
  • 38%:語調。
  • 7%:話語(內容)。

為什麼我要特別強調上述的數據,因為我聽很多資訊人員講話的時候,真的很想扁人。不是說話的音調沒有高低起伏,就是喃喃自語不知所云,不然就是自顧自地講,完全沈醉在自己的話語和情緒中。唉!真是昏倒。

另外還有一項重要的數據提供給大家。一場演講後,人們還記得什麼:

  • 過了 1 小時,人們會忘掉 50% 的內容。
  • 過了 1 天,人們會忘掉 80% 的內容。
  • 過了 1 週,人們會忘掉 95% 的內容,剩下的記憶是:故事、例子、親生經歷。

這也就是為什麼我們即使談的是技術性的研討會,也要舉許多的實例與成功案例,因為這樣印象才會深刻。

反省的能力

策略一定要動態調整。人們往往會活在過去的成功模式中,然而今非昔比,策略應時時作調整。

千金難買早知道,千金難買回頭望。也許我們無法抓住機會,但是藉由不停的反省與修正,也能讓自己往對的方向前進。

健康是最大的財富

大家都聽過這句話吧:“健康的身體是 1,沒有這個 1,後面的 0 將毫無意義”。美國前總統雷根曾經說過:“It is true hard work never killed anyone, but I figure, why take the chance?”(努力工作確實不會致人死命,但我想,何必冒險?)

當然,我們之前一直提到要努力,加班也不要抱怨,問題是沒人要你熬夜與晚起,你就不能早睡早起嗎?時間一樣長得很,更重要的是,這樣對身體有益。很多東西在失去了之後還可以找回,但是健康不能。刻骨銘心的戀情可能會永遠佔住你心中的角落,不時還會隱隱作痛,問題是它不會奪去你的生命;錯過的電影,還有下一場,健康可能沒有;這個男生不愛你,沒關係,下一個男人會更好,只要你有健康的身體。

過去六、七年來,我一直保持運動的習慣,飲食也是清淡到不行,有人說我過得是清教徒的生活。運動不僅讓身體更舒暢,也讓大腦能夠休息與清醒,為下一次的吸收做好準備。建議大家也嘗試看看吧!

結 論

人在好的時候要想到不好的時候,人在不好的時候不要去想好的時候,而是應該靜下心來思考方法與策略,然後迅速脫離谷底。當然,我自己對未來也有很多期許,希望能再創高峰。

有人說:「發現一瓶好水,令人心曠神怡;發現一位好作者,令人眉開眼笑。」這麼多年來,我寫書一向注重品質,期許自己能夠成為讓人感到眉開眼笑的好作者。過去如此,現在如此,未來也將如此。近 20 年來,經過起起伏伏,風風雨雨,今天還站在這裡,我是心存感激的。下次再見,謝謝大家。

章立民 2008/06/23