自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

做程序員之后才知道的 5 件驚奇事

開發(fā) 前端
從我開始工作算起,已經(jīng)有20多年了。即便如此,我依然記得當(dāng)時(shí)對(duì)從大學(xué)畢業(yè)并開始工作的憧憬。在那之前,除了少數(shù)幾份和編程無關(guān)的暑期工,我的人 生基本都是在學(xué)校度過的。

從我開始工作算起,已經(jīng)有20多年了。即便如此,我依然記得當(dāng)時(shí)對(duì)從大學(xué)畢業(yè)并開始工作的憧憬。在那之前,除了少數(shù)幾份和編程無關(guān)的暑期工,我的人 生基本都是在學(xué)校度過的。雖然我對(duì)工作的大多數(shù)期望都實(shí)現(xiàn)了,不過在步入職場頭幾年中也發(fā)現(xiàn)這一行許多令人驚奇的事,下面是頭五件:

5. 人際交往

編程看起來是一份相當(dāng)孤獨(dú)的工作——你需要完成一個(gè)功能,所以你坐下來并用代碼將其實(shí)現(xiàn)。不過事實(shí)上,你和其他的同事會(huì)有相當(dāng)多的交流。你會(huì)和同事討論設(shè)計(jì),你會(huì)在開會(huì)時(shí)審查新功能,你會(huì)和測試人員討論你的代碼。

學(xué)會(huì)委婉和圓通,在交流中非常有幫助。如果還不會(huì),那你得去學(xué)一下。關(guān)于這方面,有一本暢銷書——卡耐基的《人性的弱點(diǎn)》。如果還沒有讀過此書,我強(qiáng)烈建議你讀一讀。

4.寫作很重要

通過寫作清晰地表達(dá)觀點(diǎn),這很有幫助。從某種程度上來說,寫代碼和寫作非常相似,兩種都需要你把你的想法,通過某個(gè)結(jié)構(gòu)化的方式清晰并且無歧義的表 達(dá)出來。Email當(dāng)然是寫不完的了,不過還有你所開發(fā)的產(chǎn)品特性所配套的文檔、需要清晰描述Bug的漏洞報(bào)告、還有對(duì)你修復(fù)的Bug做出的解釋。在大學(xué) 里寫作并不是重點(diǎn),但是如果你寫作好的話,這絕對(duì)是工作中的一個(gè)籌碼。

3.從來沒有已做完的軟件

在我開始工作以前,我覺得當(dāng)我開發(fā)出一個(gè)特性之后,這個(gè)特性就算開發(fā)完成了。不過在現(xiàn)實(shí)中,你會(huì)很經(jīng)常的要回到這個(gè)特性上來。有時(shí)候是因?yàn)檫@并不完 全是客戶所要求的,也可能是因?yàn)槟阈枰獮樗砑痈喙δ埽只蛘呤悄阆胍延行┫嗨频墓δ芎喜⑵饋?,或者修?fù)一個(gè)Bug。不管怎么樣,對(duì)你的代碼繼續(xù)進(jìn)行 編程是很正常的事。

在大學(xué)里,我們經(jīng)常會(huì)把一個(gè)程序從頭做起,但這在現(xiàn)實(shí)世界中幾乎是沒有出現(xiàn)過的。當(dāng)然,除了你做新功能的時(shí)候,但這些代碼總要融入舊代碼。正因?yàn)槿绱?,做新功能時(shí)的很大一部分工作都是在閱讀并理解舊代碼。這是一項(xiàng)我們?cè)趯W(xué)校里沒有練習(xí)過的技能。

2.很少有巧妙的算法

在大學(xué)里我得到了一個(gè)計(jì)算機(jī)科學(xué)與工程的碩士,我學(xué)習(xí)了通信系統(tǒng),里面包括信號(hào)處理、錯(cuò)誤糾正碼、排隊(duì)論等等的課程。我們也有像算法和數(shù)據(jù)結(jié)構(gòu)這樣 的計(jì)算機(jī)科學(xué)核心課程,我很喜歡這些課,我覺得學(xué)會(huì)這些聰明的算法和數(shù)據(jù)結(jié)構(gòu)是一件很酷的事,所以我非常期待在工作中見到它們。

我的***份工作是在蒙特利爾的愛立信公司,在一個(gè)蜂窩網(wǎng)絡(luò)的移動(dòng)電話交換中心擔(dān)任軟件工程師。那里有大量的代碼來控制通話的建立、掛機(jī)、漫游等等, 但當(dāng)我看到這些功能都是用最基本的數(shù)據(jù)結(jié)構(gòu)和算法完成時(shí),我覺得有點(diǎn)失望。最有趣的是,我發(fā)現(xiàn)用來跟蹤用戶漫游狀態(tài)的代碼居然是由一千多個(gè)二叉樹構(gòu)成的, 用戶手機(jī)號(hào)的末三位數(shù)決定了用戶處于哪顆樹上。當(dāng)需要找到這個(gè)用戶時(shí),根據(jù)用戶的手機(jī)尾號(hào)找到用戶所在的樹,然后遍歷該樹以找到該用戶。除了這個(gè),其他的 都是鏈表甚至是更簡單的數(shù)據(jù)結(jié)構(gòu)。

1.系統(tǒng)集成后的復(fù)雜性

說起來既然沒有什么精巧的算法,而且整個(gè)應(yīng)用程序都在使用基本的數(shù)據(jù)結(jié)構(gòu),那看來在這里工作應(yīng)該沒有什么挑戰(zhàn)吧?錯(cuò)!我很快就意識(shí)到這套系統(tǒng)高度復(fù)雜,倒并不是因?yàn)槟切?fù)雜的功能,而是因?yàn)樘嗵嗪唵蔚墓δ芗珊系搅艘黄稹?/p>

在我工作過的那么多套系統(tǒng)中,我看到了一些共同點(diǎn):大多數(shù)特性都非常簡單,但正因?yàn)榫褪怯泻芏嗪唵蔚奶匦?,在集成這些特性之時(shí)所遇到的微妙(或不那么微妙)交互,就引發(fā)了Bug。

原文鏈接:http://henrikwarne.com/2012/08/22/top-5-surprises-when-starting-out-as-a-software-developer/

譯文鏈接:http://blog.jobbole.com/50950/

責(zé)任編輯:陳四芳 來源: 伯樂在線
相關(guān)推薦

2018-11-14 10:00:07

程序員開發(fā)技巧Git

2015-09-18 08:47:41

新手程序員

2011-08-31 09:18:07

程序員

2020-07-26 18:34:46

Python開發(fā)工具

2009-12-25 11:07:26

架構(gòu)師

2015-05-19 14:41:22

2011-08-18 16:34:28

程序員必須知道

2017-12-07 16:13:18

程序員編程代碼

2014-07-30 13:44:57

2014-11-11 15:19:36

程序員

2015-03-23 11:46:30

Java程序員Java

2012-11-01 11:31:56

程序員編程開發(fā)

2010-08-09 13:13:00

Flex程序員

2020-12-11 07:10:03

程序員

2015-06-03 11:15:20

程序員真相

2020-06-15 09:32:59

程序員大公司小公司

2018-08-10 14:35:42

程序員技術(shù)代碼

2014-10-15 10:49:27

程序員

2011-07-05 11:08:05

程序員

2013-08-20 09:33:59

程序員
點(diǎn)贊
收藏

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