2010-03-06 46 views
3

你認爲什麼(儘管我會高度讚賞關於相關問題的文章/書籍),應該是程序員對這個領域的知識水平嗎?程序員應該是域名專家嗎?

(這related question並沒有完全回答我的問題/有東西參考,我可以使用)

+0

你究竟是什麼意思的「域」? – 2010-03-06 18:43:40

+2

我不明白這和你連接的問題有什麼不同。 – 2010-03-06 20:40:58

回答

4

是的,沒有。

正如Kyle指出的,程序員經常在每個項目中更改域名,這幾乎不能讓您成爲任何給定域中的「專家」。另一方面,您需要充分了解問題,以便a)制定解決方案,並b)測試它實際上是否解決了手頭的問題。

不聲明領域知識的一個原因是,您的客戶被迫承擔這部分項目的所有權。我最好的方式迫使他們是要求項目的明確的總體描述(不超過幾頁長)加上噸用戶故事... 由用戶編寫。您可以引導他們完成如何編寫美國文件的過程,但除非他們親自參與創作,否則他們不會真正擁有最終解決方案。

讓美國人把它們用於設計和測試,將項目所有權放在最終所屬的地方 - 交給系統用戶。

+0

+1」,因爲「您的客戶不得不承擔這部分項目的所有權。」單獨:) – RobS 2010-03-08 13:41:20

3

作爲更改域的顧問,我不斷(每6〜12個月)。雖然我在完成項目時永遠無法宣稱自己是真正的專家,但我獲得的領域知識越多,我可以添加項目的價值就越高。

+0

那麼,我同意你有更​​多的領域知識可以增加你的項目價值。你必須獲得該領域的專業水平。然而,作爲一名程序員,我還不知道什麼纔是正確的平衡 - 學習這個領域可能需要花費大量的時間,以便你可以做其他的事情...... – 2010-03-07 19:35:43

1

這取決於他們在做的具體工作是如何與領域相關。在團隊背景下,我可以想象領導程序員和其他一些人從一些領域知識中受益,而團隊中的其他人則不需要它。

1
  • 銀行/金融應用
  • 網絡/無線/電信
  • 移動應用
  • 網絡/存儲/企業/許多其他..

如果「域「你的意思是你的工作領域,是的,你應該努力理解與你的工作領域相關的一切。進入其他領域還有多遠是另一個問題。

5

如果程序員是領域專家,他們不會是程序員。 :-)

例如,我爲考古學家做了很多軟件開發。如果我和我工作的用戶一樣瞭解考古學,我會在現場進行挖掘和調查,而不是編程。這是沒有意義的。在說了這些之後,我認爲程序員需要對領域有所瞭解,並且儘可能多,但是不要忽略優先級。

如果您需要域專業知識,請將領域專家帶入團隊。

+3

-1:這是一個不錯的選擇聲音叮咬,但泛化太廣泛。在科學中,許多程序員也是領域專家。你不能寫一個有用的平滑粒子流體動力學模擬代碼,或者沒有領域專家的有用的望遠鏡控制系統。 – 2010-03-06 19:12:57

+0

我確定。但那些科學家是專爲第三方工作的專業程序員。他們通常爲自己或自己的團隊編程。我不會認爲他們是專業的程序員(我不是說他們做得不好!)。 – CesarGon 2010-03-06 19:15:03

+2

我是一名受過大學訓練的物理學家,畢業於計算物理部門。相信我,關於流體力學建模的領域_experts_與編碼器不一樣。但對於一個局外人來說,即使編碼器似乎是一個領域專家。這是因爲這個領域很難,因此外界很難區分真正的專業知識。 – MSalters 2010-03-08 13:52:10

0

程序員就像人們可以通過創建軟件與計算機連接「其他人」,並更好地瞭解你所工作的領域將有助於問題和「其他人」之間的溝通,從而使你一個更好的程序員。

但問題領域通常非常廣泛和深入,您可以期望每個人都能夠成爲編程和其他領域專家的專家,例如,您可以期待偉大的科學家或醫生在編程時有專家來解決他在創建問題時因爲編程不是他的主要關注點,所以程序員,但程序員或科學家誰可以相互交談是最合適的

1

如果您不瞭解問題域,則不應編碼解決方案。

你不必是專家,但你不能無知的關鍵想法。作爲一名FORTRAN專家,除非您在信號處理方面具備一定的背景知識,並且瞭解爲什麼需要FFT,並且知道各種實現方式,否則不會對FFT進行編碼。

0

即使您經常更改項目及其域名,特定領域知道如何和經驗在一個部門(或貿易部門)將永遠是一個加號。

0

我把這看作是「什麼」與「爲什麼」。就像什麼是業務需求相比,爲什麼需求是這樣的。初級程序員只需要瞭解項目的內容。分析師需要了解這兩者。在我看來,我的職業地位,要停止成爲開發人員併成爲軟件工程師,您需要將分析師添加到您的技能組中。

相關問題