偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

程序員是否應(yīng)當(dāng)有權(quán)自主選擇語言以及框架?

譯文
開發(fā) 開發(fā)工具 前端
明明是憑著“擅長JRuby編程”得到錄用的,結(jié)果實(shí)際工作卻需要跟C#打交道。

[[113460]] 

網(wǎng)友Spencer問道:

我目前就職于一家主要面向C#語言的公司,雖然公司內(nèi)部也有幾位喜歡Java與JRuby的同事,但大多數(shù)程序員都更傾向于使用C#。當(dāng)時(shí)我被錄用的理由是,我擁有豐富的Web應(yīng)用程序創(chuàng)建經(jīng)驗(yàn)而且比較喜愛JRuby on Rails或者node.js這類新型技術(shù)。

最近我開始接手一個(gè)Web應(yīng)用程序構(gòu)建項(xiàng)目,主要工作就是必須在短時(shí)間內(nèi)保證該應(yīng)用能夠?qū)崿F(xiàn)大量針對性功能。軟件開發(fā)負(fù)責(zé)人要求我使用MVC 4來取代Rails,這倒并不是什么過分的要求,但我對于MVC 4完全不了解、對于C#也一無所知。然而我又是惟一一位負(fù)責(zé)創(chuàng)建Web應(yīng)用程序服務(wù)器及前端UI的程序員。

難道說我就不能使用自己非常了解而且已經(jīng)熟練掌握的框架(Rails)來代替MVC 4嗎?之所以作出這樣的決定,是因?yàn)檫@位軟件負(fù)責(zé)人不知道如何運(yùn)用JRuby/Rails、當(dāng)然也就無法重復(fù)利用由此開發(fā)出的代碼。

反對意見:

• 既然他本人并不參與代碼編寫工作,那么坦率地講整個(gè)開發(fā)項(xiàng)目根本不需要他的參與。因此,無論他了不了解JRuby/Rails都并不重要。

• 我們實(shí)際上能夠重新使用這部分代碼,因?yàn)槲覀儞碛写罅縅ava應(yīng)用,因此與JRuby之間進(jìn)行代碼往來與交換。事實(shí)上,他還要求我們把一部分資源由Java庫轉(zhuǎn)換成C#,而不準(zhǔn)員工直接在JRuby on Rails應(yīng)用中運(yùn)行Java庫。這一切的惟一理由就是,他不喜歡Java或者JRuby。

我曾經(jīng)親自開發(fā)過很多Web應(yīng)用程序,但使用自己不熟悉的語言會給流程帶來障礙,而且我更沒辦法在這么短的時(shí)間里拿出像過去那樣令人滿意的成果。這倒不是什么無法接受的狀況,畢竟在開發(fā)領(lǐng)域?qū)W習(xí)新技術(shù)算是不可或缺的重要一環(huán)。但問題在于,在這個(gè)項(xiàng)目中我們不僅要頂住巨大壓力、還得盡快搞定這么多任務(wù)。

因此,開發(fā)人員要在怎樣的條件下才能自主選擇所使用的工具?這該由公司方面決定嗎?到底是我所在的公司糟糕透頂,還是說這已經(jīng)成為業(yè)界常態(tài)?我是否應(yīng)該選擇其它更適合自己的企業(yè)?我審視這個(gè)問題的角度是否有所偏差?

反饋意見

網(wǎng)友Telastyn的回答(得到111票贊成):

開發(fā)人員要在怎樣的條件下才能自主選擇所使用的工具?

當(dāng)這種選擇不會給整個(gè)團(tuán)隊(duì)帶來影響時(shí)。

我審視這個(gè)問題的角度是否有所偏差?

明顯是的。

沒錯,公司給你設(shè)定的截止周期實(shí)在太過緊張。沒錯,如果使用Rails,你能更快地完成任務(wù)。不過公司需要應(yīng)對與應(yīng)用程序相關(guān)的全部部署與維護(hù)工作。如果這家企業(yè)擁有一大批精通C#語言的開發(fā)人員,那么開發(fā)C#應(yīng)用很可能會帶來維護(hù)上的成本優(yōu)勢(以及應(yīng)用質(zhì)量優(yōu)勢)。

這家公司的數(shù)據(jù)庫管理員以及其他運(yùn)維同仁可能對于C#堆棧非常熟悉,而且擁有一整套應(yīng)對此類特殊堆棧的部署與更新流程。即使你個(gè)人能夠更快更好地完成代碼編寫工作,不同的編程方式也很可能給其他同事帶來困擾,并最終使這款專業(yè)Web應(yīng)用程序的調(diào)試與運(yùn)行周期變得更為冗長。

請記住,我們用在應(yīng)用程序維護(hù)方面的時(shí)間要遠(yuǎn)多于編寫應(yīng)用的時(shí)間,而優(yōu)化對于這部分成本顯然非常重要。

學(xué)習(xí)技能,賺取回報(bào)

網(wǎng)友Ampt的回答(獲得19票贊成):

堅(jiān)持使用Java/JRuby也未嘗不可

主要理由在于,老板的最終目標(biāo)是讓你完成生產(chǎn)任務(wù)。他們雇用了你,你也將因此為公司創(chuàng)造價(jià)值。請確保他們明確意識到強(qiáng)迫你使用自己不熟悉的框架會帶來哪些負(fù)面影響,例如:

1. 以較低的生產(chǎn)效率交付工作成果。

2. 所創(chuàng)建代碼的質(zhì)量較低。

即使是最優(yōu)秀的程序員,在接受新的語言/框架時(shí)也需要一段熱身過程。

關(guān)于學(xué)習(xí)MVC 4與C#的建議

學(xué)習(xí)新的編程語言絕對不是壞事。作為一名程序員,技能的培養(yǎng)與投入就像是一場冒險(xiǎn)——我們不知道自己已經(jīng)掌握的語言/平臺會不會在什么時(shí)候、甚至是不久的未來突然退出歷史舞臺。不過由于微軟始終保持著良好的發(fā)展態(tài)勢,我認(rèn)為投身這一陣營是個(gè)比較安全的選擇。C#與MVC最近剛剛完成又一輪更新,這證明了它們二者都具備出色的發(fā)展空間、并將在未來的前進(jìn)道路上繼續(xù)保持活力。

要想成為一位更為全面的開發(fā)者,你必須始終保持積極的接納與學(xué)習(xí)態(tài)度。從最理想的狀況出發(fā),你的老板可能愿意為整個(gè)學(xué)習(xí)過程承擔(dān)必要開支,這意味著你能在幫助自己提高身價(jià)的同時(shí)繼續(xù)領(lǐng)取目前的這份薪水。

總結(jié)陳詞

你也許最終能夠在這場沖突當(dāng)中實(shí)現(xiàn)自己的訴求,但隨之而來的則是面對同事們的不滿甚至對立情緒。請向你的經(jīng)理詳細(xì)解釋使用熟悉開發(fā)方式的優(yōu)勢與弊端,這樣雙方都能獲得相對令人滿意的處理結(jié)果。

把話說開

網(wǎng)友FrustrateWithFormsDesign的回答(獲得87票贊成):

在我看來,你需要跟開發(fā)團(tuán)隊(duì)負(fù)責(zé)人深入交流,并就以下幾個(gè)話題進(jìn)行溝通:

“我知道大家都是.NET的堅(jiān)定支持者,但我能夠加入這個(gè)團(tuán)隊(duì)、主要憑借的是自己豐富的Java/JRubyRails開發(fā)經(jīng)驗(yàn)。利用這些已經(jīng)非常熟悉的工具,我能夠在xx天之內(nèi)完成新應(yīng)用的開發(fā)工作。如果大家堅(jiān)持,我當(dāng)然可以從頭開始學(xué)習(xí)C#/MVC 4,但單這一項(xiàng)所需要的時(shí)間就將超過xx天。您對此怎么看?”

問題的實(shí)質(zhì)在于“之所以雇用你所看重的技能”與“你現(xiàn)在需要掌握的技能”之間存在沖突,但在表達(dá)這一點(diǎn)的同時(shí)你也強(qiáng)調(diào)了自己愿意學(xué)習(xí)各類新技能,只不過這會導(dǎo)致新應(yīng)用的開發(fā)工作耗時(shí)更長、畢竟目前要使用的工作集對你來說還太過陌生。再次強(qiáng)調(diào),你一定要充分表達(dá)自己對學(xué)習(xí)新技能的積極接受態(tài)度。如果你對于新技能的學(xué)習(xí)總是抱有抵觸情緒,那么一旦你的現(xiàn)有知識儲備無法幫助企業(yè)解決實(shí)際問題,下一個(gè)會被炒掉的員工肯定就是你了。

最后談?wù)勀闾岢龅膸讉€(gè)問題:

開發(fā)人員要在怎樣的條件下才能自主選擇所使用的工具?這該由公司方面決定嗎?到底是我所在的公司糟糕透頂,還是說這已經(jīng)成為業(yè)界常態(tài)?我是否應(yīng)該選擇其它更適合自己的企業(yè)?我審視這個(gè)問題的角度是否有所偏差?

問題的答案在不同的企業(yè)中往往有所區(qū)別。如果一家公司購買了微軟工具,并將VisualStudio平臺與.NET框架作為執(zhí)行標(biāo)準(zhǔn),那么開發(fā)者堅(jiān)持使用Linux與C語言的行為顯然有些不可理喻。這種情況非常正常。對于那些并不太挑剔具體編輯器類型的企業(yè)來說,上述矛盾可能會得到顯著緩解,例如允許開發(fā)人員選擇Vi或者Emacs,只要輸出結(jié)果不受影響即可。我見過的一部分企業(yè)甚至允許開發(fā)人員在Windows或者Linux之間自由切換,但前提是他們所使用的語言必須能在兩種操作系統(tǒng)平臺上順暢運(yùn)行并具備良好的支持。

為什么企業(yè)要部署這樣的流程?保持一致性是其中的一項(xiàng)重要原因。如果多位開發(fā)人員根據(jù)個(gè)人喜歡選擇語言/框架、采取不同的工具并在不同系統(tǒng)之上進(jìn)行測試,那么在為應(yīng)用程序代碼庫進(jìn)行補(bǔ)丁更新時(shí),企業(yè)方面將很難完成必要的調(diào)試工作。相比之下,如果所有開發(fā)人員都能在最大程度上使用相似的設(shè)置環(huán)境,那么這些難題將被消弭于無形。

在你的事例中,聽起來雇用你的這家企業(yè)并沒有就技術(shù)體系提出一套標(biāo)準(zhǔn)化流程。我個(gè)人對此不太理解,也許你該跟人事部門的負(fù)責(zé)人談?wù)?,了解一下他們?dāng)初為什么會按這樣的標(biāo)準(zhǔn)錄取新員工。

英文:http://arstechnica.com/information-technology/2014/05/should-a-programmer-have-freedom-in-choosing-a-language-and-framework/

責(zé)任編輯:林師授 來源: 51cto.com
相關(guān)推薦

2012-11-01 13:46:54

程序員

2009-07-28 08:28:15

2009-03-02 09:40:13

程序員程序語言開發(fā)

2009-02-27 09:25:28

編程語言程序員C#

2018-02-05 08:58:21

2015-09-11 09:35:35

CPU

2013-05-30 13:30:00

代碼效率程序員

2018-10-15 10:08:53

程序員技能深度學(xué)習(xí)

2015-05-26 09:17:34

程序員泛泛涉獵

2011-09-06 09:02:06

程序員

2013-04-28 11:03:41

編程語言程序員私有云

2015-03-16 11:14:26

Java程序員面向?qū)ο?/a>程序員

2009-04-14 11:13:22

主流開發(fā)開發(fā)技能程序員

2015-03-20 11:50:09

程序員程序員警句

2013-06-17 10:45:34

2013-08-20 09:33:59

程序員

2012-03-06 09:22:46

程序員

2014-11-03 14:43:38

程序員

2011-05-19 08:19:50

Lisp

2017-10-18 12:53:21

AI自主編程遺傳算法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號