色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

程序員和工程師的不同

工程師人生 ? 來源:工程師吳畏 ? 2019-07-19 17:38 ? 次閱讀

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

可惜,很多軟件開發人員未必清楚兩者的差別,甚至做了很久也只算程序員而不算嚴格意義上的工程師。所以我就自己的觀察和經驗,談談程序員和工程師的差別。

第一、工程師不寫黑箱程序

“程 序=數據結構+算法”,這個著名的公式大家都知道,不幸的是,它不適合描述工程領域或者現實世界的程序。有很多程序,數據結構和算法都寫得很棒,功能足夠 強大,系統足夠復雜,但是——它很難調試,一跑起來就無法停止,而且誰也不知道程序現在到底在干什么,里面發生了什么。

別覺得好笑,我遇到過很多工作三四年甚至五六年的開發人員,仍然不停地生產黑箱程序:出現問題的第一反應是直接殺掉進程重啟(天哪你們的程序不能安全關閉嗎)。當然還有更生猛的,直接用開發機連上生產數據庫(防火墻上開個洞)去調試。

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

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

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

第二、工程師注意實現和接口分離

Java面試的一道經典問題是:請描述抽象類和接口的區別。通常,大家都會知道“接口”和“實現”要分離。不幸的是,很多人理解的“接口”,只是狹義的特定語言提供的Interface,而沒有考慮“接口”真正的含義。

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

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

有沒有接口意識,能不能真正區分接口和實現,這是區分程序員和工程師的一大標識。

第三、工程師注重功能的邏輯聯系

很多系統都在不斷的變化和改進過程中,程序員看到的是功能點,工程師看到的是功能點之上的邏輯。

任何系統當然都是由若干功能構成的。但在功能點之上,還需要一張有邏輯意義的大網,才能把功能點組合起來,把復雜度降低,成為大家能理解的對象。最簡單的“登錄”,就包含數據輸入、數據驗證、登錄信息記錄等等功能,“登錄”是這些功能的邏輯集合,也是理解這些功能的基礎。

隨著時間的推移,業務的增長,新功能可能越來越多,比如用戶數據的加載,對好友的通知,廣告的推送準備等等。這些功能實現起來當然都容易(因為很具體),但功能堆積的后果是復雜度急劇上升,因為功能之間的邏輯聯系被切斷了。所以,工程師必然需要思考,這些功能應該怎么組合,放到哪些具有邏輯意義的動作——比如“登錄”里去?正是經過這樣持續不斷的思考,系統的復雜度才能夠被一直維持在較低的水平,容易讓大家理解。

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 工程師
    +關注

    關注

    59

    文章

    1569

    瀏覽量

    68502
  • 程序員
    +關注

    關注

    4

    文章

    951

    瀏覽量

    29798
收藏 人收藏

    評論

    相關推薦

    人工智能就該這樣學!零基礎小白超詳細AI學習路徑(算法原理+Python代碼+項目案例)

    隨著人工智能技術的不斷發展,人工智能應用場景越來越多,企業人才需求也越來越大。很多人都想進入AI這個高薪領域,包括理工科背景的學生、程序員工程師、甚至是非科班跨領域的從業人員等等。但AI知識
    的頭像 發表于 12-02 15:14 ?494次閱讀
    人工智能就該這樣學!零基礎小白超詳細AI學習路徑(算法原理+Python代碼+項目案例)

    機械革命發布CODE AI程序員

    近日,英特爾新質生產力技術生態大會在成都舉行,機械革命作為重要參展商帶來了多款明星產品引爆全場!其中更是在AI PC軟件生態產品發布分論壇上,Intel、智譜、機械革命三方聯合發布了專為程序員設計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發表于 11-30 10:34 ?373次閱讀

    Linux驅動程序程序員指南

    電子發燒友網站提供《Linux驅動程序程序員指南.pdf》資料免費下載
    發表于 11-22 15:53 ?0次下載
    Linux驅動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發表于 11-08 10:17 ?157次閱讀

    第五屆長沙·中國1024程序員節開幕

    據官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節在湖南湘江新區開幕;本次中國1024程序員節以“智能應用新生態”為主題。設置有岳麓對話、技術英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發表于 10-25 15:42 ?192次閱讀

    程序員節視頻創意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節日里,我們盛大開啟“程序員節視頻創意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節視頻創意大賽,用串口屏贏取千元大獎

    程序員節視頻創意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節日里,我們盛大開啟“程序員節視頻創意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節視頻創意盛宴,邀您共襄盛舉!

    阿里云發布首個AI程序員,引領應用開發進入“分鐘級”時代

    近日,在備受矚目的阿里云上海AI峰會上,阿里云向全球開發者們展示了其最新的技術成果——首個“AI程序員”。這款創新應用基于通義大模型構建,具備了令人驚嘆的多項技能,包括架構、開發工程師、測試
    的頭像 發表于 06-24 10:36 ?637次閱讀

    嵌入式軟件工程師和硬件工程師的區別?

    、機器人等。 定義和工作職責 嵌入式軟件工程師的主要職責包括但不限于:設計、開發、測試和調試嵌入式軟件應用程序,以滿足特定硬件和軟件要求。他們需要理解并掌握嵌入式系統的基本原理,熟悉相關硬件接口
    發表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發布于 :2024年04月30日 17:33:15

    適者生存,程序員最終會流向哪……

    程序員沒有永遠的護城河!!就目前的互聯網大環境來看,it行業已經是……
    的頭像 發表于 03-11 17:11 ?407次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    花期太短。技術迭代快,年齡大容易失業。 就這幾年的互聯網環境而言,不管是前端、Java、Android開發等等行業。已經感受到程序員不是太卷就是工作難找,薪資過低。以前高工現在拿著中低程序員薪資
    發表于 03-06 21:32

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業想必大家已經感受到了,Android、Java、前端等等程序員都經歷了大廠……
    的頭像 發表于 02-02 09:45 ?816次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝
    主站蜘蛛池模板: 草莓视频在线观看完整高清免费 | 欧美乱码伦视频免费66网| 久久久久久久久久毛片精品美女| 久久中文骚妇内射| 欧美亚洲另类丝袜自拍动漫| 色窝窝777欧美午夜精品影院| 午夜亚洲WWW湿好爽| 伊人久久大香线蕉无码麻豆| 99视频网址| 国产精品亚洲精品久久品 | 国内国外精品影片无人区| 久久看片网| 日韩欧美一区二区三区免费看| 性色AV一区二区三区咪爱四虎 | 亚洲综合免费视频| CHINSEFUCKGAY无套| 国产精品亚洲精品爽爽| 伦理片2499电影伦理片| 三级黄色小视频| 伊人影院综合| 俄罗斯aaaa一级毛片| 精品国产福利一区二区在线| 欧美激情久久久久久久大片| 性做久久久久免费观看| 97国产成人精品视频| 国产亚洲精品久久77777| 久久视热频国产这里只有精品23| 乳交高H糙汉宠文| 在线观看免费亚洲| 国产成人无码区免费内射一片色欲 | 含羞草影院免费区| 麻豆XXXX乱女少妇精品-百度| 熟女人妻久久精品AV天堂| 正在播放黑人杂交派对卧槽| 东北足疗店妓女在线观看| 久久精品热在线观看85| 视频网站入口在线看| 91久久精品国产亚洲| 国产三级在线观看免费| 欧美日韩视频高清一区| 怡春院院日本一区二区久久|