所有的軟件工程師們!
偽造的計算機學位會讓你被炒。謊稱自己是一個軟件工程師會讓你……等等,計算機學位是必須的么?
Scott Thompson 作為雅虎的 CEO 這個星期被炒了,因為他偽造了計算機的本科學位。我不需要重復這件事,因為過去的十天里一直都是頭條新聞,我也不需要再從倫理道德上討伐他。但我不得不對 Thompson 的這種貼金的行為感到好笑:計算機學位證作為這個領域的證書,很容易驗證。如果他聲稱自己是一個計算機科學家或者軟件工程師,可能沒有經理會因為偽造的罪 名而把他驅逐出公司的。
事實上,計算機科學家仍舊沒有清楚的定義,他們通常指的是在計算機科學領域有一定的造詣。如果你看看計算機科學家發表的文章,通常是很小的領域 的學術性的論文。至少,這正是計算機科學發展的現狀。可能對于計算機科學來說,朝著電腦的硬件工程方向發展更合理一些。Edsger Dijkstra 曾經指出過“計算機科學之于計算機正如天文學之于望遠鏡。”他是對的,計算機科學這個名字就表示它是一門注重硬件的學科,多過于研究實際的調用者——軟 件。
計算機科學的概念很模糊,而軟件工程則不然。軟件工程在維基百科中被解釋為系統化的,有規律的,可計量的軟件開發,操作,維護。就像你已經知道的,它最開始是指軟件質量的研究。但由于奇怪的歷史遺留原因,“軟件工程師”這個職位,在美國,通常指程序員。沒有什么正式的標準,也不需要證書,在很多情況下,“工程師”也完全不需要了解軟件工程。
通過一些幫助,我了解到對于軟件工程師需求的職位,很少的職位(甚至是沒有)是需要比編程經驗更多的其他技能的。經驗的等級是由職位里的“高 級”來區分的,而不是“工程師”。在我看到的列表中,我發現沒有——而不是只有一個——需要軟件工程方面的經驗。所以,“軟件工程師”的名號某種程度上是 一種夸大,是對“代碼搬運工”的一種較委婉的說法。又或者我們真的需要軟件工程師么?
“軟件工程師”僅僅是和現實差得最遠的一個例子。在早些年代,“分析師”職位是很受待見的。在以前的數據處理世界里,初級是“程序員”。當需要 一個職位來表明是長期雇用的職位時,程序員升為“程序員/分析師”。最終成為“架構師”。這種轉變暗含的意思就是編程是一種最終被人們所拋棄的活動。但事 實上,大多數分析師甚至比初級程序員更多的進行編程。分析并不占工作的一大部分,除了那些需要分析作為編程輔助的一些職位。
我想工業界受益于編程職位的某些叫法,但我也能理解這些叫法的松散性,因為它們反映了編程的一項特質:自學的價值。不奇怪諸如 Bill Gates,Mark Zuckerberg 等著名的黑客們,雖然從學校輟學但仍能在程序界成功。對他們來說和計算機工程的博士們討論也不是什么稀奇事。工業界是基于價值而非學位證書。而占據次要地 位的學位證書卻占據了招牌者的列表中,它們一再強調需要計算機科學學位或“同等”學力。然而這個“同等”也沒有精確定義,所以有許多沒有學位證書但聲稱自 己有編程能力的人士也沒有被排除在外。綜上,所有人都歡迎進入這個行列。所以,這正是我想提起筆寫給你們的——所有的軟件設計師們!
原文:Andrew Binstock 編譯:伯樂在線 – 唐小娟