在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

華為資深工程師:程序員與碼農的差異在哪?

5RJg_mcuworld ? 來源:電子發燒友網 ? 作者:工程師譚軍 ? 2018-07-04 12:01 ? 次閱讀

一位馳騁商界多年的老友問:“你現在在華為做什么工作呀?”我很驕傲地說:”系統架構師“,可是他卻愣了很久。

但當我老婆在旁邊補上一句“碼農“時,老友瞬間秒懂,卻把我受傷的心孤獨地留在風中凌亂。

作為與 UNIX 同年代的人,我當初選擇計算機專業僅僅是因為抓到什么就學什么罷了。

本科畢業遇到互聯網危機,便沒有想法地去讀了研,研究生畢業找工作,面試官問為什么要做軟件開發。

答曰:“不給錢都喜歡做的事情,何況還給錢”,從此便踏入了編碼這一行,只是從來沒想到一做就是十幾年。

但凡一件事情做久了,無論成功與否,都會有一些真切的體驗和心得。以前也讀過一些工作中如何成功、快樂,諸如馬斯洛理論之類的文章。

也許是因為自己領悟能力比較差,唯一的收獲是慶幸自己當初選擇了編碼作為自己的工作,因為編碼天生就具有讓人愉悅的工作內容和工作氛圍,快樂如影隨從。

1

編碼世界:規則簡單有效,粗暴卻完美

從事編碼,可以鍛煉邏輯思維能力,教會你如何思考。就像學習法律一樣,學法律的人未必都是為了成為律師,但法律教會了你一種思維方式。

同樣的,通過編碼可以學習到這個世界上最嚴謹的思維方法。因為在編碼的世界里,對錯是簡單甚至絕對的。

只要敲下鍵盤,計算機就會判定孰是孰非,0 或 1,規則簡單有效,粗暴卻完美。

從事編碼,可以獲得持續的創造力。跟寫作、繪畫、作曲一樣,編碼也是一種創造性的工作。

只要有一臺計算機,掌握了基本技能后,你便擁有了無限的超能,便能隨心所欲地創造出新的東西,豐富和美好這個世界,是不是很棒?

更酷的是,編碼可以品味孤獨。除了跟別人交流、學習,程序員大部分時間都是獨自在工作,只要雙手觸摸到鍵盤,內心頃刻便會變的寧靜,多酷呀!

伴隨著鍵盤清脆的低吟,沉浸在一個人的世界里,跟煙雨蒙蒙天,一杯茶,一個人聽著淅淅瀝瀝的雨聲品味孤獨,簡直有異曲同工之妙,多感性呀!

能夠選擇編碼作為工作的人,大部分都是喜歡為人處世簡簡單單的人:這群人有著天真爛漫的好奇心,雖不茍言笑,但卻內心火熱,善于分享,樂于助人,甚至有時為了解決問題、寧愿不眠不休,卻深以為樂……

跟這樣一群簡單純粹的人在一起,我覺得世界上最好的工作氛圍,也不過如此。

2

程序員的三個境界

但 IT 時代的膨脹已經讓編碼工作如同文藝復興時的印刷匠一樣,編碼門檻越來越低。

例如,遍地《一周XX速成》、《20天XX精通》,仿佛會寫代碼就成了程序員,這讓很多人認為從事編碼工作就是碼農。

其實,印刷匠很多,成為大師的不多;碼農很多,但程序員并不多。程序員不是碼農,碼農也不是真正的程序員。

程序員在英文里對應有三個單詞:Coder、Programmer 和 Software Engineer。

我覺得這三個詞,生動形象地描述了程序員所需要經歷的三個階段,或者說三個境界:

Coder:只要求能夠熟練使用編程環境,精通幾種編程語言、開發框架和開發庫,擅長寫代碼就可以了。這個階段的程序員能夠按照既定的設計完成編碼。

Programmer:要求在 Coder 的基礎之上,精通設計模式、算法實現和編碼技巧,并具備熟練應用的能力,這個階段的程序員能夠獨立編碼解決現實問題。

Software Engineer:要求在掌握業務知識的前提下,理解為什么這么實現,在綜合考慮架構實現,權衡開發成本后,為解決業務問題提出最優方案,并能與業務人員順暢溝通,讓業務人員理解方案。

編碼工作達到這個階段,才能稱得上是真正的程序員,才真正實現了從工作到職業的轉變。

不可否認,這個世界上有一些天才的程序員,他們喝著咖啡,哼著歌,便完成了上面三個階段的修煉。但絕大部分人,都需要為此付出巨大的時間和精力。

能否成為職業的程序員,影響因素和方法論很多,各種學習類、技術類的總結遍地都是:主動思考、及時總結、制定規劃等。但我認為其中最重要的是能否做到專注。

許多沒有達到第三個階段的程序員,就是因為受到各種因素誘惑,變得心猿意馬,不夠專注。

因為不夠專注,他們不在意做好自己本職工作,不在意錘煉自己的技能,不在意學習新興的技術。

慢慢的,他們會認為從事編碼沒有出路,進而毫無例外地把編程看成是體力勞動,只會粘貼拷貝代碼,知其然而不知其所以然,導致技術停滯不前。

在這樣的狀態下工作 5 年、10 年,對于他們來說,沒什么區別,程序員真的就是吃青春飯的碼農。

3

程序員 VS 碼農:我們不一樣

要避免程序員變成碼農要做到如下幾點:

必須對編碼保持熱情,并持續學習;

必須保持好奇心,樂于探求事物本質;

必須對所做的工作及時總結,主動優化代碼,讓系統變得更加有機;

必須主動嘗試更好的開發方式、更先進的工具,來提升開發效率,并想辦法避免重復性的工作;

必須不斷改進設計,將編程變成創造性的工作。

只要通過這樣逐步地積累經驗和長時間錘煉,知識體系才能構建完備和豐富,才能避免淪落為碼農。

幾年前,我曾經重構過一個模塊,從外部看模塊所在的系統,都是類似這樣的,簡潔而漂亮:

但從程序員編碼實現的層面看,它實際上是這樣的:

這個設計在最初的版本沒有任何問題,使用繼承擴展管理對象的接口能力,但僅僅過了兩個版本,項目組 PL 說實在撐不下去了。

增加一個接口,需要修改 200 多個地方,如果再過一個版本,估計要修改 400 多個地方了。

后來我把它改成這個樣子,使用聚合消除了耦合

從代碼實現層面看,在功能剛開始開發時,這兩個設計區別不是很大。

但隨著系統演進、越來越多的功能加入,繼承關系帶來的耦合會導致模塊之間關系越來越復雜。

牽一發而動全身,終究有一天哪怕只做很小的改動,也將成為壓死駱駝的最后一根稻草。

這次重構的成果是代碼量由 43K 減少到 15K,擴展新的接口能力不再需要修改已有代碼。我想,這或許就體現了碼農和程序員的區別吧。

CT 是一個業務復雜度極高的行業,要想從碼農成長為程序員,需要經歷更多的煎熬,需要發揮更多的創造力,同時也意味著,我們比以往任何時候都需要越來越多的碼農成長為程序員。

既然我們選擇了編碼作為職業,注定會經歷各種心劫:枯燥、沮喪、迷茫,甚至浮躁……

然而無論處于哪種心境當中,我相信,只要想起自己曾經滿懷驚奇、興奮與真誠敲下的那個程序——“Hello,World!”我們就會充滿了渴望和力量,因為那是程序員最初的夢想:改變世界。

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

    關注

    6

    文章

    942

    瀏覽量

    54826
  • UNIX
    +關注

    關注

    0

    文章

    296

    瀏覽量

    41490

原文標題:華為資深工程師:為什么碼農很多,程序員卻不多?

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    程序員里的鄙視鏈

    在軟件工程師(中國叫做“程序員”或“”)的圈子里,文人相輕的現象可是非常嚴重的,在程序設計的各個領域里都有著錯綜復雜的“鄙視鏈”。
    發表于 12-19 10:31 ?4031次閱讀

    5年給新人程序員的6個建議

    程序員新人的6點建議:5年的辛酸反省與總結
    發表于 04-08 08:04

    單片機工程師程序員

    從業這么多年,我也一直在糾結一個概念,我做的單片機軟件開發是否屬于IT行業? 大家都知道IT這個概念,但很少人找到單片機。一、單片機工程師程序員嗎?那從我的認知來說,我覺得“算是”。因為單片機工程師
    發表于 11-09 09:14

    程序員之間就在這5個關鍵點!

    如果一個企業老板大聲嚷嚷說,“我要招個程序員”,那么十之八九指的是“”——一種純粹為了錢而寫代碼的技術人員。這其實是一種非常狹隘和錯誤的做法。 1.
    發表于 12-01 18:49 ?640次閱讀

    編碼人員,程序員,開發人員和軟件工程師之間的差異

    我們都聽說過這些職位,但是你知道編碼程序員,開發人員或軟件工程師之間的確切區別嗎?許多人聲稱,這種差異
    的頭像 發表于 03-19 14:01 ?4619次閱讀

    軟件開發工程師程序員的區別是什么

    不管是CPPer,Javaer,還是PHPer等等,不少開發人員經歷過這樣的困惑:我到底是工程師(SDE,or Developer),程序員(Programmer),還是Coder(編碼)呢?
    的頭像 發表于 08-27 10:35 ?2.7w次閱讀

    程序員工程師的五個必要條件

    的40歲危機困擾焦慮著。另一方面,有些程序員工作高效,能力出眾,每當機會來臨時總能獲得職位上升,收入迅速的提高,個人價值的提升又從精神上給自己帶來滿足感,常常斗志昂揚,而這樣能解決復雜問題的程序員才叫工程師。本文中筆者將根據自己
    的頭像 發表于 08-26 09:12 ?5304次閱讀

    軟件工程師和高級工程師程序員的區別是什么

    在各種招聘廣告里,總能看到軟件工程師程序員或高級工程師的稱謂。從工作職責來看,好像工程師程序員沒什么區別,如果加上高級倆字,也不過需要的
    的頭像 發表于 09-18 09:31 ?1.2w次閱讀

    工程師的最大區別在哪

    工程師的區別并不在于技術水準的高低。
    的頭像 發表于 10-17 09:15 ?4706次閱讀

    電子工程師你知道程序員節的來源嗎

    10月24日是什么節日你知道嗎?程序員節!作為電子工程師的你要怎么過程序員節?為什么沒有電子工程師節?10月24日讓程序員節回歸本真,請關愛
    的頭像 發表于 10-24 16:00 ?3568次閱讀

    初級程序員和架構有什么區別

    如題,初級程序員和架構的差別在哪里?
    的頭像 發表于 04-01 15:25 ?4532次閱讀

    程序員工程師的不同

    我剛剛工作的時候,面試官曾經跟我說:好好干兩年,可以迅速從程序員成長為工程師。當時我覺得太詫異了,從很多招聘啟事來看,“程序員”不就等于 “工程師”嗎,只是“
    的頭像 發表于 07-19 17:38 ?4336次閱讀

    程序員和軟件工程師有什么區別

    有些人說程序員主要是指寫代碼的人,而工程師著重在于設計。
    的頭像 發表于 08-30 16:09 ?6004次閱讀

    優秀程序員與糟糕程序員的變現差異

    軟件蠶食一切,未來屬于程序員。所以人人都想當程序員。但是并不是每個人都能當好程序員。在你做出決定前還是先看看自己能不能當好程序員吧。
    的頭像 發表于 11-07 16:14 ?3070次閱讀

    單片機工程師程序員嗎?真實的月薪到底有多少?

    從業這么多年,我也一直在糾結一個概念,我做的單片機軟件開發是否屬于IT行業? 大家都知道IT這個概念,但很少人找到單片機。一、單片機工程師程序員嗎?那從我的認知來說,我覺得“算是”。因為單片機工程師
    發表于 11-04 17:36 ?16次下載
    單片機<b class='flag-5'>工程師</b>是<b class='flag-5'>程序員</b>嗎?真實的月薪到底有多少?
    主站蜘蛛池模板: 国产精品好好热在线观看| 性久久久久久久| 啪啪免费看| 国产成人啪精品午夜在线观看| xxxx 欧美| 中文字幕在线天堂| 中文字幕亚洲一区二区va在线 | 国产稀缺精品盗摄盗拍| 97菊爱网| 久久免| 一区二区高清在线| 亚洲精品视频区| 欧美日韩一区二区三区视频在线观看 | 黄色三级录像| 午夜日韩| 日韩性插| 色播五月激情| 二级黄的全免费视频| 日韩手机看片| 91在线视频观看| 日本三级a| ww欧洲ww在线视频免费观看| 久久草在线播放| 嗯!啊!使劲用力在线观看| 色综合狠狠| 成年片免费网址网站| 免费观看高清视频| 五月婷丁香| 国产一级真人毛爱做毛片| vip免费观看| 亚洲欧美国产视频| 精品国产三级在线观看| 国产爱搞| 亚洲成年网| 国产精品不卡片视频免费观看| 久久国产乱子伦精品免费一| 亚洲色图综合图区| 中文在线天堂网www| 免费观看在线观看| 女人张开双腿让男人桶完整| 天天操狠狠|