成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員和工程師有什么不一樣?

開發(fā) 后端 前端
我剛剛工作的時(shí)候,面試官曾經(jīng)跟我說:好好干兩年,可以迅速從程序員成長為工程師。當(dāng)時(shí)我覺得太詫異了,從很多招聘啟示來看,“程序員”不就等于“工程師”嗎,只是“工程師”更好聽一些而已。等我工作久了,才知道“程序員”和“工程師”真的是不一樣的——程序員只寫程序,工程師寫能在現(xiàn)實(shí)世界中創(chuàng)造價(jià)值的程序。

我剛剛工作的時(shí)候,面試官曾經(jīng)跟我說:好好干兩年,可以迅速從程序員成長為工程師。當(dāng)時(shí)我覺得太詫異了,從很多招聘啟示來看,“程序員”不就等于“工程師”嗎,只是“工程師”更好聽一些而已。等我工作久了,才知道“程序員”和“工程師”真的是不一樣的——程序員只寫程序,工程師寫能在現(xiàn)實(shí)世界中創(chuàng)造價(jià)值的程序。

[[145157]]

可惜,很多軟件開發(fā)人員未必清楚兩者的差別,甚至做了很久也只算程序員而不算嚴(yán)格意義上的工程師。所以我就自己的觀察和經(jīng)驗(yàn),談?wù)劤绦騿T和工程師的差別。

***,工程師不寫黑箱程序。

“程序=數(shù)據(jù)結(jié)構(gòu)+算法”,這個(gè)著名的公式大家都知道,不幸的是,它不適合描述工程領(lǐng)域或者現(xiàn)實(shí)世界的程序。有很多程序,數(shù)據(jù)結(jié)構(gòu)和算法都寫得很 棒,功能足夠強(qiáng)大,系統(tǒng)足夠復(fù)雜,但是——它很難調(diào)試,一跑起來就無法停止,而且誰也不知道程序現(xiàn)在到底在干什么,里面發(fā)生了什么。

別覺得好笑,我遇到過很多工作三四年甚至五六年的開發(fā)人員,仍然不停地生產(chǎn)黑箱程序:出現(xiàn)問題的***反應(yīng)是直接殺掉進(jìn)程重啟(天哪你們的程序不能安全關(guān)閉的嗎?)。當(dāng)然還有更生猛的,直接用開發(fā)機(jī)連上生產(chǎn)數(shù)據(jù)庫(防火墻上開個(gè)洞)去調(diào)試。

[[145158]]

你說他們技術(shù)不好嗎?明明各種技術(shù)問題也能搞定。你說他們沒有系統(tǒng)意識?做過的程序也不簡單。但是,他們做的充其量只能叫“程序”,而不是工程上成熟的“系統(tǒng)”。

怎樣的程序不是黑箱?你需要考慮它的層次劃分,你需要考慮哪些(功能之外的)運(yùn)行信息必須暴露和記錄,以什么方式暴露記錄,你甚至還需要考慮這些暴 露和記錄對性能的影響,以及程序需要對外提供什么操縱接口……當(dāng)你把這一切都考慮清楚,寫出能夠讓運(yùn)行細(xì)節(jié)“盡在掌握中”的程序的時(shí)候,你的一條腿就邁進(jìn) 了“工程”的大門。

這方面,互聯(lián)網(wǎng)和軟件開發(fā)的大廠會(huì)更加關(guān)注一些,但也不是說個(gè)人就毫無追求的空間了。網(wǎng)絡(luò)爬蟲大家都會(huì)寫,大家也都知道如果要數(shù)據(jù)抓得準(zhǔn),調(diào)試起來 很麻煩。我有個(gè)朋友在某大廠寫過一套“可視化”的爬蟲,可以用逐步操縱語句的執(zhí)行,迅速定位問題所在。這種水平的工程師,屬于可遇而不可求的類型,每次說 起來大家仍然嘖嘖稱贊。

第二,工程師注意實(shí)現(xiàn)和接口分離。

Java 面試的一道經(jīng)典問題是:請描述抽象類和接口的區(qū)別。通常,大家都會(huì)知道“接口”和“實(shí)現(xiàn)”要分離。不幸的是,很多人理解的“接口”,只是俠義的特定語言提供的 interface,而沒有考慮“接口”真正的含義。

接口的真正含義是什么?計(jì)算機(jī)最擅長處理額是信息,它可以讓信息脫離現(xiàn)實(shí)的障礙高速流動(dòng)起來。如果說“實(shí)現(xiàn)”是干臟活累活,“接口”就是發(fā)出干臟活累活指令的窗口。臟活累活干一遍就足夠了,但發(fā)指令的窗口卻可以有千千萬萬。

[[145159]]

更具體一點(diǎn)說,完成功能的是程序員,完成功能并且設(shè)想它會(huì)在什么情況下使用,并且讓人方便使用的,是工程師。我見過不少這樣的程序:登錄會(huì)話一開始 放在本地內(nèi)存里沒問題,到了要切換到數(shù)據(jù)庫里方便會(huì)話轉(zhuǎn)移就得大興土木,雖然要做的其實(shí)仍然只是存取而已;程序自動(dòng)加載的數(shù)據(jù)出了問題,就根本不能手動(dòng)加 載;以前手動(dòng)加載的數(shù)據(jù),改成自動(dòng)加載就要推倒重來……

有沒有接口意識,能不能真正區(qū)分接口和實(shí)現(xiàn),這是區(qū)分程序員和工程師的一大標(biāo)識。

第三,工程師注重功能的邏輯聯(lián)系。

很多系統(tǒng)都在不斷的變化和改進(jìn)過程中,程序員看到的是功能點(diǎn),工程師看到的是功能點(diǎn)之上的邏輯。

任何系統(tǒng)當(dāng)然都是由若干功能構(gòu)成的。但在功能點(diǎn)之上,還需要一張有邏輯意義的大網(wǎng),才能把功能點(diǎn)組合起來,把復(fù)雜度降低,成為大家能理解的對象。最簡單的“登錄”,就包含數(shù)據(jù)輸入、數(shù)據(jù)驗(yàn)證、登錄信息記錄等等功能,“登錄”是這些功能的邏輯集合,也是理解這些功能的基礎(chǔ)。

隨著時(shí)間的推移,業(yè)務(wù)的增長,新功能可能越來越多,比如用戶數(shù)據(jù)的加載,對好友的通知,廣告的推送準(zhǔn)備等等。這些功能實(shí)現(xiàn)起來當(dāng)然都容易(因?yàn)楹芫?體),但功能堆積的后果是復(fù)雜度急劇上升,因?yàn)楣δ苤g的邏輯聯(lián)系被切斷了。所以,工程師必然需要思考,這些功能應(yīng)該怎么組合,放到哪些具有邏輯意義的動(dòng) 作——比如“登錄”里去?正是經(jīng)過這樣持續(xù)不斷的思考,系統(tǒng)的復(fù)雜度才能夠被一直維持在較低的水平,容易讓大家理解。

這個(gè)例子看起來很簡單,但做起來卻沒那么容易。我有時(shí)看到復(fù)雜的系統(tǒng)操作手冊,簡直讓人哭笑不得:1) 點(diǎn)這里;2) 點(diǎn)那里;3) 輸這個(gè)…… 這些操作對應(yīng)的邏輯意義那么準(zhǔn)確,分明就該是一次性自動(dòng)完成的啊,把它們割裂開來的后果大大提高了系統(tǒng)的復(fù)雜度,既不方便維護(hù),也不方便操作。***來擦屁 股的,只能是開發(fā)人員自己。

我經(jīng)常反思自己接受的教育,在學(xué)校里寫程序,和工作了寫程序,有那么一點(diǎn)相同,但又好像完全兩回事,到底有什么不同,只有親自體會(huì)、思考了才能明 白,所以我想把自己的所見所感寫出來。悟性好的有機(jī)會(huì)接受很好訓(xùn)練的同學(xué),估計(jì)不需要了解這些。但對于沒有這樣條件的同學(xué),但愿我的這點(diǎn)念叨能給你們一點(diǎn) 幫助。

責(zé)任編輯:王雪燕 來源: 余晟
相關(guān)推薦

2015-08-14 13:45:32

程序員

2018-05-25 19:13:01

程序員技能溝通

2023-03-20 08:19:23

GPT-4OpenAI

2012-03-07 17:24:10

戴爾咨詢

2012-12-20 10:17:32

IT運(yùn)維

2010-11-24 20:18:48

Microsoft L統(tǒng)一溝通

2010-07-07 14:37:40

MeeGo英特爾

2015-10-22 10:23:34

程序員工程師不同

2011-03-14 16:51:24

2021-12-23 15:11:46

Web 3.0元宇宙Metaverse

2018-02-28 10:16:51

程序員技能 PHP

2017-11-03 07:57:19

2025-04-03 08:21:18

2016-05-09 18:40:26

VIP客戶緝拿

2015-10-19 12:33:01

華三/新IT

2017-05-25 15:02:46

聯(lián)宇益通SD-WAN

2018-02-27 12:01:12

程序員PHP編程語言

2009-08-20 16:08:31

FCC美國寬帶計(jì)劃

2023-06-06 18:12:48

數(shù)字化轉(zhuǎn)型數(shù)字化

2018-04-17 10:51:12

華為
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 久久一区二区三区免费 | 一区二区成人 | 91精品久久久久久综合五月天 | 欧美极品在线视频 | 国产精品久久久久久久久久 | 国产91精品网站 | 亚洲国产成人精品女人 | 欧美成人精品在线 | 成人欧美一区二区三区色青冈 | 亚洲欧美一区二区三区国产精品 | 91成人在线 | 91资源在线 | 亚洲精品一区在线 | 国产一区三区在线 | 精品婷婷 | jvid精品资源在线观看 | 欧美高清成人 | 亚洲免费观看视频网站 | 一级做a爰片性色毛片16美国 | 亚洲精品久久久久avwww潮水 | 国产成人精品一区二区三区视频 | 精品成人一区二区 | 黄色毛片免费视频 | 在线成人免费观看 | 欧美一级免费看 | 国产欧美精品 | 精品成人佐山爱一区二区 | 在线观看涩涩视频 | 男女那个视频 | 欧美videosex性极品hd | 亚洲成人精品国产 | 日韩欧美不卡 | 一级黄色绿像片 | 亚洲欧美中文日韩在线v日本 | 成人黄色三级毛片 | 天堂一区二区三区 | 成人精品免费视频 | 99久久久久久久 | 免费视频色| 亚洲精品二区 | 在线视频国产一区 |