女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

一名IT工程師的成長回憶

工程師人生 ? 來源:網絡整理 ? 作者:工程師吳畏 ? 2018-07-16 16:35 ? 次閱讀

在我小的時候,家長經常對胖孩子打趣說:喲,身體長得挺快,可惜就是橫向發展了。看來在很多人的潛意識里,縱向發展是向上的,值得夸獎,橫向發展則不是那么光彩的事情。但是我的工作經歷和思考,卻讓我對“橫向發展”有了新的認識。

程序員的發展,長期以來都是大家關心的問題。通常程序員的發展有兩大方向,深度和廣度。深度發展,就是精深自己的本事,研習新潮尖端的技術乃至學會“屠龍之術”,以絕招打遍天下;廣度發展,就是拓寬自己的技能種類,比如學會更多的語言,以完成更多種類的任務。除去這兩大方向,其它能選的發展方向似乎就只有“改行”了。

今天我要說的當然不是改行,而是除去深度發展、廣度發展之外的第三維度,因為似乎一直也沒有正式的命名,所以我干脆借用“橫向發展”的說法好了。

什么是橫向發展呢?舉例子來說,我們寫個程序,深度發展關注的是讓它速度更快、資源消耗更少,廣度發展關注的是讓它更合適與其它模塊交互,甚至用更合適的語言編寫這個程序。橫向發展,則是讓這個程序成為真正能用的程序,而不是實驗室里的玩具。換句話說,“橫向發展”是讓程序更加“工業化”而不是“技術化”的發展。

我剛開始工作的時候,有一天提前完成了任務,喜滋滋地去向項目經理匯報。不料他看了代碼之后,卻把我劈頭蓋臉說了一頓:你以為你還是學生呢,給老師寫個程序算出正確結果就完?你看你處理網絡連接的部分,對服務器返回的異常信息,包括網絡傳輸的各種意外都沒有處理,誰向你保證服務器總是返回正確信息的?誰告訴你網絡傳輸不會意外的?萬一網絡斷了,你的程序就一直死循環嗎?……

我必須承認他說的有道理,但也一時無可奈何。雖然在學校的時候寫過不少程序,但老師都只看大致結構和結果,從沒有問過“網絡斷線了怎么辦”,也沒有哪本教材專門講過這方面的知識,所以自己一直也沒想過。但是沒想過歸沒想過,項目經理說的畢竟有道理,確實只有學生才會寫出在理想環境下運行的程序。于是我開始有意識地學習和思考各種異常情況的處理,覺得講究挺多,思路也因此拓寬了不少。不久,還因為這方面的工作得到了項目經理的表揚,也深刻感覺到“橫向發展”確實解放了自己。

后來換了份工作,我本來以為自己之前的經驗可以被人賞識,卻發現自己完全想錯了。新工作對程序的要求更高、應用場景更嚴苛,只思考在程序內部怎么處理異常是不夠的,還需要確保程序的持續運行,其運行狀態持續可以記錄、監控、分析,出現問題必須能在第一時間判斷癥結(而不是啟動IDE去debug)……為了做到這一切,既需要專門開發程序去監控自己的程序,又需要讓原有程序能夠被方便的監控,還不能泄露不必要的信息,所以在設計時又有更高的要求——當然,這些知識仍然是書上沒有的。我寫到最后才發現,雖然核心的功能并沒有變復雜,但為了保證核心功能的穩定運行,程序本身的復雜度卻上升了很多。這種要求,頗有幾分類似小朋友的“橫向發展”——但是小胖墩的重心終歸要穩一些嘛,所以我把對程序員的這種要求稱為“程序員的橫向發展”。

或許是從工作開始就有機會重視“橫向發展”的緣故,所以我長期以來并不認為這是嚴重的問題。后來的見識卻刷新了我的認識:曾經有朋友告訴我,國內互聯網行業某新興領域排名三甲的公司,竟然連自己的服務器上跑的哪個版本的程序都不知道,開始我還當是笑話,后來才知道事實當真如此。小朋友的“橫向發展”不討人喜歡,許多程序員也忽視甚至討厭“橫向發展”,覺得這是在給自己找麻煩,他們認為,把核心功能寫完,代碼提交,往服務器上一扔,自己的工作到此為止了。至于其它方面,那就是系統管理員要處理的了。

如果你認真回憶,一定見過許多這樣的程序:完全不處理意外情況,各種異常一股腦交給操作系統去處理,我甚至見過默不作聲把所有異常都吃掉,假裝沒事繼續運行的系統。也見過很多這樣的程序:自動發送郵件的程序,不知道自己每天發了多少封郵件,消耗了多少流量,等到用戶收不到郵件才知道出了問題;備份數據庫的程序,不會記錄每次備份的開始時間、結束時間、備份文件大小,直到硬盤滿了才發現已經很久不能正常備份了;抓取數據的程序,不知道抓取的成功率、速度、消耗的流量,非要業務部門說數據很久沒更新了才知道抓取失效了…… 其實這些功能通常都不復雜,但完成它們的程序,不管什么平臺,什么語言,就是做不到穩定。每次出了問題都不能預先知道,又因為沒有詳細的記錄,又要消耗無數的人力物力去解決。在一些稍微復雜的系統里,不少程序員每天的工作內容就是這樣的重復勞動,隨之而來的是無休無止的抱怨,說工作毫無意義,沒有機會學新東西…… 更糟糕的是,不少這樣的程序員業余時間還在積極學習,希望在把語言工具掌握得更熟練,學會更多的語言和工具,卻不知道問題的癥結在于自己缺乏“橫向發展”的意識。

我仔細回憶自己小時候,家長和老師會在一種情況下提倡“橫向發展”,那就是要求身板像“豆芽菜”一樣的同學多鍛煉,成長結實一點。同樣的道理,如果程序員覺得自己寫出的程序像“豆芽菜”一樣沒有底氣、不能放心,與其繼續鉆研新語言、新技術,倒不如抽出精力去“橫向發展”一把。

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

    關注

    59

    文章

    1589

    瀏覽量

    69233
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚興科技 #搞笑

    硬件工程師
    揚興科技
    發布于 :2025年04月25日 17:15:37

    如何成為一名合格的KaihongOS南向驅動開發工程師

    如何成為一名合格的南向驅動開發工程師 1. 我需要具備哪些方面的知識? KaihongOS南向適配的方向分為:驅動開發、內核開發。根據適配方向劃分,需要掌握的知識技能分別為: 驅動開發
    發表于 04-23 08:02

    如何成為一名合格的KaihongOS北向應用開發工程師

    如何成為一名合格的北向應用開發工程師 在快速發展的軟件開發領域,北向應用開發工程師個專注于系統級應用開發的高需求職位。 以下是成為一名
    發表于 04-23 06:46

    如何成為一名嵌入式軟件工程師

    如何成為一名嵌入式軟件工程師? 01明確崗位的角色與定位 嵌入式軟件工程師主要負責開發運行在特定硬件平臺上的軟件,這些軟件通常與硬件緊密集成,以實現特定的功能。 不僅需要精通編程語言(如C/C++
    發表于 04-15 14:37

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚興科技

    硬件工程師
    揚興科技
    發布于 :2025年03月25日 18:46:59

    招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發布于 :2025年03月25日 17:30:51

    如何成為嵌入式開發工程師

    ,參加相關的研討會和培訓課程,閱讀專業書籍和論文。 9. 認證和網絡:- 考慮獲取相關認證,這可以增加你的市場競爭力。- 加入專業組織和在線社區,擴展你的人際網絡。 通過上述步驟的學習和實踐,你可以逐步成長一名合格的嵌入式開發工程師
    發表于 02-19 10:39

    月薪 3 萬的嵌入式工程師都在用,串口屏到底神在哪?

    作為一名資深的嵌入式工程師,我深知在選擇硬件組件時,性能、可靠性、易用性和成本效益都是至關重要的考量因素。月薪3萬的嵌入式工程師們之所以傾向于使用串口屏,主要是基于以下幾個方面的考量
    的頭像 發表于 02-12 10:33 ?586次閱讀
    月薪 3 萬的嵌入式<b class='flag-5'>工程師</b>都在用,串口屏到底神在哪?

    如何成為一名合格的南向驅動開發工程師

    內核開發 - c,cmake,dts, linux常用命令 以上,如能對某模塊的南向適配研究透徹,自行調通,積極解決問題。那么對一名kaihongOS的南向驅動開發工程師而言,他便是合格的,若
    發表于 01-10 10:06

    如何成為一名合格的北向應用開發工程師

    在快速發展的軟件開發領域,北向應用開發工程師個專注于系統級應用開發的高需求職位。 以下是成為一名合格的KaihongOS北向應用開發工程師的建議。 1. 基礎知識 編程語言 :學習
    發表于 01-10 10:00

    嵌入式軟件工程師如何提升自己?

    相關的實驗室項目或參加開源項目以積累寶貴的項目經驗。 4.不斷學習與成長 嵌入式軟件領域的技術更新速度非常快,因此,作為一名嵌入式軟件工程師,需要不斷學習與成長,保持對新技術的敏感性和
    發表于 06-12 11:20