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