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

碼農(nóng)版隱秘的角落:作為開發(fā)者最討厭的5件事

譯文 精選
開發(fā)
Bug僅僅是開始

  作者 | Patrick Zawadzki

  譯者 | 李騰輝

  審校 | Noe

  軟件開發(fā)作為一個職業(yè)在過去幾年里呈現(xiàn)出爆發(fā)式發(fā)展,并且隨著入門培訓(xùn)的普及和持續(xù)的跨行業(yè)滲透,現(xiàn)在確實(shí)是成為開發(fā)者的好時機(jī)。然而,在軟件工程光鮮亮麗的背后,也有著不那么迷人的一面。如果你想像我一樣進(jìn)入軟件開發(fā)行業(yè),那么在投入大量時間、精力和金錢之前,也許是時候了解一些殘酷的真相了。

  誠然,任何工作都有好和壞的一面,但是我想說的是,如果你有70%以上的時間在享受你的工作,那么你就算有了一份很棒的工作。就我個人而言,我很喜歡開發(fā)工作,但我還是要指出那30%令人生厭的部分,那些反復(fù)出現(xiàn)的問題真的很讓人崩潰。

  隨著時間的推移,任何工作都會暴露出很多問題,但在軟件開發(fā)領(lǐng)域,有某些問題卻總是在我的職業(yè)生涯里反復(fù)出現(xiàn)。接下來,讓我來談?wù)勛鳛殚_發(fā)者最討厭的5件事(排名不分先后)。

1. 調(diào)試那些不在你掌控中的代碼問題

  大家都不想找bug。歸根結(jié)底,bug隱藏于某一行代碼中的某個邏輯,比如跳過了一個步驟或者調(diào)錯了一個方法。在所有類型的bug中,這種能通過上下文調(diào)試定位到具體位置的bug算是最好修復(fù)的,因?yàn)槲覀兡苷业剿⑶疫M(jìn)行修復(fù)。然而那些從第三方庫里引入的bug呢?

  作為開發(fā)者,調(diào)試那些你無法輕松訪問的代碼才是更具挑戰(zhàn)和令人崩潰的。也許這是一個你親手引入的庫,但是由于庫已經(jīng)被壓縮或者編譯,使得可讀性極差。那么假如這個庫是開源的,是否就值得慶幸呢?并非總是如此,而且開源庫的bug往往是最難處理的。你需要花費(fèi)額外的時間設(shè)計環(huán)境來隔離并單獨(dú)復(fù)現(xiàn)這個bug,這樣你才能將問題發(fā)送給開源庫的所有者,并寄望于他們能夠按照你的時間表進(jìn)行修復(fù)。

  許多團(tuán)隊(duì)都不得不面對這些問題,你可以通過選擇開源項(xiàng)目或者本土解決方案來緩解,但如果沒有選擇,你只能硬著頭皮上了。

2. 維護(hù)一個舊項(xiàng)目且沒有任何資料文檔

  想像一下,你是一個訓(xùn)練有素、經(jīng)驗(yàn)豐富的生存專家,決定參加一檔類似荒野獨(dú)居(Alone)的真人秀節(jié)目。你已經(jīng)在這個領(lǐng)域投入了數(shù)千小時,是此類工作的專家,并且擁有許多成功經(jīng)歷。與以往不同的是,這個賽季你將被隨機(jī)選中并且被投放到一個你完全不了解的環(huán)境。按照經(jīng)驗(yàn),要成功存活下來,你需要知道你要去的地點(diǎn),那里是什么樣的,或許還有一些成功的方法;你需要知道為什么要帶某些物品,它們?nèi)绾问褂?,也許還要向一些有經(jīng)驗(yàn)的伙伴取取經(jīng);你需要知道什么方法是有效的,什么是無效的,也許還有一些獨(dú)一無二的交易技巧。但是,這次不一樣,你無從了解上述信息,這將最大程度地挑戰(zhàn)你的技能極限。

  作為一名開發(fā)者接手一個新項(xiàng)目,沒有任何背景資料,沒有任何可以提問的同事,就與上面的荒野獨(dú)居升級版非常相似。軟件開發(fā)的問題在于,解決問題的路徑是多樣的,人們之所以選擇這套方案的原因是系統(tǒng)性的且經(jīng)過深入探討的。在一個沒有任何背景資料或者求助人的項(xiàng)目中,你可能會遇到許多看似奇怪的設(shè)計,并且很難理解為何要這樣設(shè)計。是因?yàn)殚_發(fā)者偷懶嗎?還是為了趕工期而做的一種變通?或者是因?yàn)橥獠考s束條件迫使這樣設(shè)計和編碼?不可能知道了,一切都像浮云一樣飄散了。盡管如此,作為開發(fā)者,你想取得成績,就需要知道如何在這種情況下完成任務(wù)。

  不幸的是,這種項(xiàng)目會使許多開發(fā)者無所適從,并且滋生厭惡情緒,這種項(xiàng)目起步緩慢,就像是在盲目地探索雷區(qū)。這就是為什么風(fēng)格良好的代碼和及時更新的文檔如此重要的原因。如果你正在閱讀本文,不管你已經(jīng)是開發(fā)者還是即將成為開發(fā)者,請盡量在你的代碼中做好文檔說明,特別是那些奇特的邏輯,這樣當(dāng)下一個人接手時,不管你還能不能提供解答,他都會更容易理解一些。

3. 不懂軟件開發(fā)的人瞎指揮

  軟件團(tuán)隊(duì)的主要成員包括軟件開發(fā)者、項(xiàng)目經(jīng)理和產(chǎn)品負(fù)責(zé)人,有時候項(xiàng)目經(jīng)理和產(chǎn)品負(fù)責(zé)人是同一個人,所以說到底總要有兩類人,一類負(fù)責(zé)編碼實(shí)現(xiàn),一類負(fù)責(zé)構(gòu)思他們想要的產(chǎn)品。在大多數(shù)情況下,后者會召集利益相關(guān)者開會、制定時間計劃表并將產(chǎn)品賣給其他人。

  這兩類人之間的關(guān)系對于項(xiàng)目的成功至關(guān)重要,有時開發(fā)者在團(tuán)隊(duì)中干得開心也很重要。大多數(shù)時候,開發(fā)者被視為"碼農(nóng)",需求不加思索地推給他們,沒有過多的討論,有時還有不切實(shí)際的deadline。這些將導(dǎo)致產(chǎn)品匆忙上線,無法達(dá)成預(yù)期,最終導(dǎo)致產(chǎn)品失敗,因?yàn)樗幌裼媱澲心菢禹槙车剡\(yùn)行并且經(jīng)常出故障。

  對于開發(fā)者來說,能夠找到一個團(tuán)隊(duì),與項(xiàng)目經(jīng)理或者產(chǎn)品負(fù)責(zé)人融洽合作,不僅對于產(chǎn)品的成功至關(guān)重要,同時也增添了工作本身的樂趣。

4. 缺少不被打斷的時間

      有許多偉大的工作都需要開發(fā)者這個角色,大部分開發(fā)者也很珍視他們的工作。作為開發(fā)者最令人上癮的部分就在于,可以將靈光閃現(xiàn)快速地通過編碼轉(zhuǎn)變?yōu)楝F(xiàn)實(shí)。另一個令人驚嘆的部分可以形容為"心流"(the flow),即深度工作狀態(tài),這是一個人在深入工作和思考過程中所體驗(yàn)到的一種完全沉浸式的感覺。在需要高度生產(chǎn)力和創(chuàng)新的環(huán)境中這很常見,同樣的,許多開發(fā)者想要高效編碼也需要這種狀態(tài)。

  然而,在當(dāng)代工作中,時間很容易被臨時安排的會議或者全天不間斷的咨詢/疑惑信息所打斷。想要進(jìn)入深度工作狀態(tài)很難,但是被打斷卻很容易。

  此外,軟件開發(fā)是一項(xiàng)高度個人主義的工作,這意味著你被指派任務(wù)和期望指標(biāo)之后,其他事項(xiàng)都由你安排。然而,由于持續(xù)不斷的消息和會議打擾,你很難找到足夠的時間進(jìn)入并保持工作狀態(tài)以完成手頭上的任務(wù)。這里的關(guān)鍵是你一天中不被打斷的時間,因?yàn)榧词故且恍┬∈聦?dǎo)致你切換工作內(nèi)容也會造成損耗影響工作效率。

  找到一段不被打斷的時間,最好是3-4小時,在那里你可以完全進(jìn)入狀態(tài)并專注于你的工作,這非常重要。一天中擠滿了各種會議,或者更糟糕的是,會議時間間隔30-45分鐘,這對許多開發(fā)者的生產(chǎn)效率都是有害的。

5. 冒名頂替綜合癥

  對于許多程序員來說,他們遲早會在職業(yè)生涯中經(jīng)歷某種程度的冒名頂替綜合癥。也許是開始一個新項(xiàng)目,加入一個新團(tuán)隊(duì),或者只是某天中突如其來的壞情緒,讓你產(chǎn)生自我懷疑并影響你一整天的工作狀態(tài)。

  梅利姆·韋伯斯持(Merriam Webster)將冒名頂替綜合癥定義為:

  一種心理狀態(tài),又稱自我能力否定傾向,具體是指“認(rèn)為自己不配擁有已經(jīng)取得的成功或成就,對自己的能力持懷疑態(tài)度,認(rèn)為自己是個冒牌貨”的狀態(tài)。

  這是一種適得其反的心理狀態(tài),有些人經(jīng)常經(jīng)歷且難以擺脫,有些人則從來沒有。但好在軟件社區(qū)里,有許多人表示他們在職業(yè)生涯里都不同程度地經(jīng)歷過這種感覺,并且愿意為其他人提供幫助。

總結(jié)

  軟件工程是一個偉大的領(lǐng)域,對許多人來說風(fēng)光無限,它看起來很有趣并且擁有無窮無盡的機(jī)會。然而,每個領(lǐng)域和職業(yè)都有它的優(yōu)點(diǎn)和缺點(diǎn),大多數(shù)時候人們只談?wù)搩?yōu)點(diǎn)而忽視了缺點(diǎn),并且說實(shí)話,有時候缺點(diǎn)都超過其優(yōu)點(diǎn)。況且,甲之蜜糖,乙之砒霜。

  無論你的情況如何,我希望可以給考慮加入或者正在進(jìn)入軟件領(lǐng)域的人提供一些不一樣的視角。這并不是要嚇退任何人,只是想讓人們看到一些不常被關(guān)注的陰暗面。畢竟,讓你意識到這些問題總比你完全不了解會好得多。

譯者介紹

  李騰輝,51CTO社區(qū)編輯,目前在一家東南亞互聯(lián)網(wǎng)金融獨(dú)角獸擔(dān)任資深Java工程師,負(fù)責(zé)金融借貸平臺架構(gòu)設(shè)計及核心建設(shè)工作,對互聯(lián)網(wǎng)金融架構(gòu)、微服務(wù)體系有較深入的研究,期望在互金領(lǐng)域持續(xù)深耕。

  原文標(biāo)題:5 things I hate about being a developer

  鏈接:https://thenextweb.com/news/5-things-i-hate-about-being-a-developer

責(zé)任編輯:張潔
相關(guān)推薦

2011-02-14 14:10:14

PHPWeb

2011-05-26 11:13:36

Flex

2010-03-01 10:20:27

Flex

2010-07-28 14:21:43

Flex

2020-05-08 15:30:42

PostgreSQL數(shù)據(jù)庫數(shù)據(jù)

2013-12-18 10:01:36

CIO開發(fā)者

2019-11-23 23:38:51

開發(fā)者微服務(wù)安全

2010-05-21 09:21:48

PHPPHP開發(fā)者

2014-04-09 11:19:12

創(chuàng)業(yè)創(chuàng)業(yè)前期

2013-01-14 17:11:24

2013移動開發(fā)者開發(fā)者

2020-11-05 10:33:01

開發(fā)代碼技術(shù)

2015-06-15 12:39:20

程序開發(fā)者注意件事

2019-07-08 09:36:57

Angular前端框架

2013-08-13 09:44:42

iOS 7開發(fā)者

2014-05-13 13:54:35

Esri

2016-04-07 10:49:28

游戲開發(fā)者

2019-04-23 05:35:45

開發(fā)碼農(nóng)

2012-03-05 10:01:43

移動開發(fā)

2012-03-14 21:15:16

Siri

2018-08-10 14:35:42

程序員技術(shù)代碼
點(diǎn)贊
收藏

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