⑴ 你見過最厲害的程序員是怎麼樣的
以前曾經做過十餘年的編程,見識過不少程序員,其中有兩位是比較厲害的。
第一位,J同學,非科班出身,糧食專業畢業的,之後在一個食品廠工作,因為比較清閑,於是他突發奇想,想考某個211的計算機研究生,就去買了書來看,但是要實踐啊,他又沒有計算機,就有空總去公司的電腦室蹭機器用,電腦室的人,就讓他幫忙開發一個工資管理系統,不知道是不是想為難他,結果他研究生是沒考上了,但是經過一個月的摸索之後,居然把工資系統給做出來了。讓電腦室那些科班畢業的人臉上掛不住啊!
之後他就斗膽去了一個國內知名的企業應聘程序員,居然還給應聘上了,慢慢做到了華南區的技術總監,再後來他幾個同事出來創業,高新挖走他。
他這個人就是傳說中的怪俠,非常低調,樸素,不按時上班,不按時下班,工作效率非常高,愛抽煙,請教他什麼問題,他一時想不出來的話,就去外面抽根煙,煙抽完了,回來就會有答案,反正非常神奇。
第二位,B同學,科班出身,211大學計算機研究生,當時是他的導師跟我們單位有來往,推薦過來的,我面試的他,惜話如金,聽說他C語言非常厲害,但是當時我們做項目需要PB,他說他不會,我就說,那給你一個星期的時候,你回去學習一下,再來面試。一個星期後,再過來,給他一個小模塊,很快就做出來,非常棒,之後,項目的技術難題,大部分都是他解決的。平時,他也不怎麼跟我們來往,但是有事就做,也不打 游戲 ,按時上班,按時下班,非常討厭加班。
遇到技術問題,下班後打電話給他,他不接的。有一次,我們第二天系統要上線,大家都在忙著測試,加班,他到點就走了,領導追到電梯門口,問他,XX哥,你走了,他說了一個字,是,就進電梯了。後來也是被高薪挖走,聽說到現在40歲也還沒結婚。
我們公司有一位非常厲害的程序員,基本上一個人當做一個排兵力使用。也就是說一個人寫代碼的效率基本上抵得上10+人的能力,一年隨隨便便寫個幾十萬高質量的代碼。這種人對編程語言的理解已經到了登峰造極的地步,且能夠靈活自如地使用。
在自己編碼能力強的同時,對架構的理解能力也是超強,一個大的系統能夠很快地進行模塊拆分,快速的定義不同模塊間的交互介面,可以快速的安排任務下去。
另外代碼的質量基本上沒地說,導致跟著他的測試人員幾乎發現不了Bug,這哥們在寫代碼的同時基本上順手就把單元測試寫好了,代碼質量高的簡直出奇。
當然了,至於學習什麼新的開源框架或者新的技術架構,基本上就是2-3天的功夫,就可以全面掌握。
目前為止,公司一直當做寶一樣供著。
我見過最厲害的程序員,是在2001年入職的一間香港電路板公司的電腦部經理,他也是最值得我尊重的程序員,那他最厲害的地方在哪裡呢?
編程語言只懂Foxpro DOS版本,但所有的ERP流程,英文、管理方法說得滴水不漏,有一次和財務的同事聊天,才知道他的月薪達8萬多。
很多程序員最怕大老闆提問題,但在他的眼裡,大老闆提問題就是一個商機,多多少少都要老闆加工資加設備。 高情商的表現就是無論下屬或老闆通通管理得服服帖帖,包括我自己,甚至老闆還沒有說話就己經知道老闆的心思了。
老闆分配的編程任務應期三天完成,絕對不過4天。軟體開發效率的提高,自然要依賴下屬心甘情願的加班付出才行,做到這一點,真的是難能可貴。
最厲害也是我最佩的一點就是,40多歲了頭發還沒有一點白的跡象,每天高效率的工作,下班後就拋開工作的煩惱,盡情桑拿按摩享受。
我認為最厲害的程序員不是編程技術,而是如何利用編程技術,不知道你認不認同?
應該是讀研時的學長,精通java和Python,畢業後進去微軟研究院工作。
當時和他在一個項目組,他獨立完成了教學平台語言分析模塊,NLP 模塊。我們團隊任何問題都能很快給出解決方法,前端後端都擅長。
當時我剛接觸linux,他就已經把Linux作為工作學習唯一的選擇。經常用terminal 操作,敲起代碼太帥了
誠邀,本人在杭州華為研究所工作,之前在一家創業公司工作過,公司里一個工作10年的大神,撐著整個創業公司,老闆總能拿到某些項目源代碼,不同語言的,c c++ .net java總之很多,給他,一禮拜就可以全懂了,所有語言基本都是1禮拜搞定(玩代碼的都知道精通一門語言後學其他的特別容易,不外乎面向對象的,面向過程的,然後就是各種API )上手做項目,之前很多不懂的問題問他都可以從本質上分析得很明白,主要是基本上看幾眼就可以知道哪裡錯了。或者大概方向,我後來去華為,都是他建議的,現在還在那公司的他聽說是技術總監了,應該不怎麼敲代碼了。
核心的代碼總是有那一兩個程序員來實現的。比方說現在微信的一開始的核心代碼。
比方說Linux的核心代碼, 都是由林納斯·托瓦茲編寫的, 並且為了能夠讓開源社區的人一起進行開發, 又編寫了Git版本控制。當你不滿意某個軟體或者系統的時候, 能夠自己實現並製作出更好的也許就是厲害的程序員吧。一直到現在很多的系統分支都是來源於Linux的內核。
最後如何成為最厲害的程序員, 還是要學習基礎核心的知識, 操作系統, 數據結構, 演算法, 編譯原理, 計算機網路, 在這個基礎上學習編程都是為了更好地實現自己的心中所想。為什麼這樣寫, 這樣寫會產生什麼效果。 為什麼Golang最近這么熱, 為什麼鴻蒙會被看好, 它又和其他的有什麼區別, 就可以自我判斷, 而不是見風就是雨。
最後希望自己也成為那個最厲害的程序員。
很久以前,我用win98的時候有次我系統崩潰了,因為我是電腦白痴,我朋友給我介紹了一個高手來幫我修電腦。
他看了一下電腦,問我有沒有98的盤,我說沒有。
他想了一下,叫我把固定電話拿給他,我想修電腦要電話干什麼,但人家是高手,我也不好說什麼,就把電話拔下來給他了。
他把電話線空著的一頭接在電腦的一個插孔內,然後進入dos,就開始在電話上不停的按著鍵,他按鍵的速度異常快,但是只按0,1兩個鍵,我搞不懂這有什麼用,但也不敢問,看了半個多小時,他還是不停的按這兩個鍵,我徐徐的有些困,我問他這東西要搞多久,他說要幾個小時,我給他倒了杯茶,就一個人去隔壁睡覺了。
醒來的時候,一看已經過了4個多小時,我起身到隔壁,看見他正在98裡面調試,過了一會兒,他說,你試試,我坐上椅子用了一下,真的好了,我當時也不懂電腦,謝過人家就走了。 後來我慢慢對電腦有了了解,終於了解,原來當時那位高手是用機器語言編了一個98系統,我後來問我朋友那位高手的下落,我朋友說前幾年去了美國之後,杳無音訊....
五年前有幸在一家軟體公司做產品經理。小的軟體公司。坐標西安。招人還挺不好招的。雖然給的薪水還不錯。但是真心不好招人。這種小軟體公司沒有名氣。真正牛逼的人都不來。
百試幾百人,包括做產品和前端的也算在裡面。光程序員這塊。有百分之六十的投簡歷的都是從某培訓機構出來的。所以的項目經歷。和待過的公司都是一模一樣,有明顯的人為的痕跡。
但是後來實在沒有人手。招了一兩個,差。差。差。真是差到極點
後來又經人推薦,招了一個,說是做安卓開發的。結果連個軟體的心跳包都調不好。軟體的升級這塊都搞不定。最後還是我這個外行,逼著他。一點一點卡,才把軟體升級這塊稍微搞上路了。
說出來真是讓大家笑話,華為的外包中軟國際。有個孩子實在忍受不了裡面的虐待,在裡面工作了一年半。然後跳到我們公司。這個孩子,才是稍微讓人可以用一下。就是起碼。你給他的工作。他能完成。其他的人都是在摸魚。因為這個公司的老闆以前也不是做手機軟體這塊。沒有資源,不認識人。
他是做電腦PC軟體,到後面做BS系統多一點。其實這種沒有技術含量,找的別人的框架。去修改。
普通人見不到最牛逼的程序員,最牛逼的程序員,一定是在最牛逼的軟體或者互聯網公司的深宮後院裡面。還沒出世的。就像當初的張小龍,史玉柱,裘伯君一樣。
你現在能看的牛逼的,感覺牛逼的。都是因為你不懂這個。你才覺得牛逼。包括前幾年比較活躍的黑客們,製造一些病毒。這都不是牛逼。包括熊貓燒香的李俊,普通人覺得他可牛逼了。但是真正的他出來後,去金山 360這種公司,提鞋別人都不要。
因為搞破壞不是牛逼。也不是自己水平有多牛逼。
我來講一個我見過最厲害的程序員。
這個程序員是我第一份工作碰到的大牛,我的第一份工作在中興通訊成都研究所,當時是做操作系統研發的。
我們當時經常會做一些培訓和技術分享,那時候我才入職3個月,我發現公司里有個人每次技術分享時候,就很多人去聽,並且會議室爆滿,連站的地方都沒有,然後我有次也去聽了一下, 第一每次目睹大牛的風采,因此操作系統是最底層的研發工作,會涉及到內核這塊知識,而linux內核知識特別抽象,看書根本很難看懂,但是這個大牛能把很難的東西講的很容易理解,並且在會上面對大家的提問總是能對答如流,實在是厲害。
而後我通過公司里的老員工才了解到,這位大牛是自學成才的,他的文化程度才初中,破格錄取到中興通訊,當時是操作系統部門的技術專家,他都能自己編寫操作系統,對各硬體都非常了解,也出了很多書。可見興趣是最好的老師,讓他能夠在程序員中發光。
必須是ACM大神,樓天成,樓教主。不了解他的可以網路之。是個天才一般的存在。
幾年前清華大學找同學玩,他那時是清華軟體學院的學生,突然說要帶我去見他的偶像,還說是最後的機會了,我們跑去計算機學院,當時博士正在答辯,通過在場的同學找到了他,他很靦腆的千呼萬喚始出來。他們兩在那裡交流了半個多小時,最後互留了EMail,我跟他聊了些我專業的內容,他還蠻好說話。 後面還通過這位同學認識另一位ACM屆大神,上海交大的戴文淵。我對編程略有了解,主要還是崇拜天才。
⑵ 為什麼中國的程序員總被稱為「碼農」
對於一些貶義的說法,個人認為作為一個程序員應該保持「誠意開張聖聽,不要妄自菲薄」的態度。
程序員一直以來看哪個是別名最多的一個職業,我姑且不分褒貶的稱之為你才吧!就像小學的時候一樣,相互之間往往喜歡區別名叫昵稱之類的,而又往往外號叫的最響小名最多的就是最受關注的哪一個,程序員在當今網路上的處境大抵如此。
碼農這個詞米偶遇仔細研究過來源。參考其他人的回答知中文中的碼農大體相當於英文中的code monkey。程序員碼農說法的由來大概來自於程序員圈內自嘲的說法。這里程序員對碼農的更多理解可能更接近coder這個詞,就是說我是一個寫代碼的。可能會有人以此來明志,表面自己很熱愛寫代碼,或我很精通以此,再或者言外之意我只是一個寫代碼的,別來找我給你裝系統修電腦什麼的,我最煩這個了(ノ`Д)ノ。
程序員這個行業知名度雖然高,但是正在了解程序員是做什麼的人並不多,大多數人直觀臆想出來的感受可能是一個座在電腦前,後背前傾,頸脖前伸,面容憔悴,形容枯槁,兩眼無關緊盯著電腦,兩只雞爪子似的雙手快速的在鍵盤上敲擊,屏幕快速出現一行行一塊塊英文字元的形象。這其實只是程序員的表面,完全米有展現出大多數程序員的內在。程序員真正的工作是解決問題,代碼只是解決問題的途徑,或曰實現方案。
程序員究竟解決什麼問題呢,又是從哪裡來的問題呢?首先要提到產品經理,產品經理給成員一個需求,程序員要思考如何實現這個需求。比如產品說這個登錄過程應該這樣這樣,用戶是否有通過手機或者郵箱驗證。程序員要做的就是想方案來實現這個需求。在比如產品說我們這個網站要同時支持多少人訪問不會出現卡,或者頁面刷不出的情況。程序員接到這個需要就要思考如何設計這樣一個高性能,高並發的服務端,最終通過代碼來實現設計。好,現在代碼寫完啦,產品發布上線了。什麼購物網站啊,大家可以隨意挑選自己喜歡的產品,什麼交友網站啊,大家可以寫好自己的介紹發布出去讓別人看到。但是還米有完,可能這個網站還要加點新功能,或者程序員自己也想,這個代碼有沒有什麼地方實現的不好,換一個方法會不會更優雅。然後又是思考解決<=實現方案<=線下測試。自己測試發現可以,這個方法很好,發布到線上,就是用戶最終使用的形態。不斷提出新需求,完善新的功能我們稱之為迭代。改善現有設計我們稱之為重構。這些都是非常有藝術感的事!
事物發展就會演變出各種變體,有一些公司會把問題和解決問題的方法都做好,然後再交給其他公司或者個人去做實現(寫代碼)。由於在這里解決問題的過程被剝離出來(最有技術和藝術感的部分)剩下的就是實現,就是敲代碼。好比建一棟房子,房子的設計和施工方案都已經做好了,就剩下施工了,這時候只要找個施工隊就可以了。在這些做設計的公司,他們是有能力來實現這些方案(敲代碼)。但由於歐美日等國家人力成本高,將這些技術含量低敲代碼的苦活兒剝離出來交給相對落後地區的人去實現可以幫助他們節省人力成本。以上這個現象就稱之為軟體外包。另一方面,在美國主導的全球生產分工下,美帝也希望將中印這樣的發展中國家固定在低端製造,勞動秘籍型的行業。
既然程序員是解決問題的,那麼是否所有電腦相關的問題程序員都能解決呢?縱向來看,計算機系統可以簡單的分為三層,應用程序<=操作系統<=計算機硬體。計算機硬體的設計研發基本和程序員無關。硬體往上就是程序員的職責范圍了。這是可以簡分為應用軟體程序員和系統軟體程序員。系統程序員的責任是實現高效的硬體管理,應用程序員則是為用戶提供高效的服務。下面說說在這兩方面和國外的差距,手機端應用軟體(有服務端的包括服務端)差別不大,大家從自己手機中軟體就能感覺到。PC端有差距,比如人家有PS這樣的圖片處理軟體,而我們則沒有。在這方面人家發展了幾十年我們年數不夠,有差距還是可以理解的。但我輩當發奮努力,以追他人之先。另外應用程序web化應該是趨勢,這方面我們還是有優勢的,對於普通用戶來說最直觀的體驗就是不用裝很多軟體了,只要有一個瀏覽器就行。在操作系統層面,PC如Windows,伺服器如Linux。Windows微軟獨家擁有的閉源系統,不說。Linux內核開發來講國內正在迎頭追趕,內核的郵件中中文拼音的人名越來越常見,越來越多的國人加入到Linux內核的開發中。
⑶ 怎樣成為一名牛逼的程序員
(1)堅持不懈地學習。學習新技術、新框架,不斷更新自己的技能以跟上行業發展腳步,也可以多看一些成功程序員的讀書心得經驗分享。(2)實踐多多。學以致用,反復練習,收獲經驗和實際的能力。(3)養成良好的編碼習慣。編碼前梳理思路,注重模塊化和可重用性,保證程序的健壯性、可維護性和可擴展性。(4)勤於溝通。了解客戶需求,積極溝通,及時反饋和解決問題,讓客戶滿意,相互信任,構建良好的客戶關系。(5)具備團隊協作精神。學會合作,建立在團隊工作中有效的溝通模式,提高效能,實現共同的目標。
⑷ 學習C語言 必看的書籍
Brian W.Kernighan, Dennis M.Ritchie,《C程序設計語言》
清華影印版、習題集;機械譯文版(新版、老版):習題集
這是迄今為止在所有程序設計語言書籍中最廣受尊敬的一部經典,是任何一名C程序員的必讀之作。因為出自C語言的設計者Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan之手,它被昵稱為「K&R C」。是它首先引入了「Hello World!」程序,這個程序幾乎成了後來任何一本入門性程序設計語言書籍中的第一個例子。
如同C語言本身簡潔緊湊而極具威力一樣,這本書輕薄短小而極富張力。通過簡潔的描述和典型的示例,它全面、系統、准確地講述了C語言的各個特性以及C程序設計的基
法,內容涵蓋基本概念、類型和表達式、控制流、函數與程序結構、指針與數組、結構、輸入與輸出、UNIX系統介面以及標准庫等內容。
簡潔清晰是這本書最大的特色。這本小書可以教給你許多比它厚幾倍的「大部頭」的知識。我認為那些動輒洋洋灑灑拼湊出好幾百頁乃至上千頁的技術作者應該好好向K&R學一學。對於中、高級程序員而言,如果希望迅速獲得C語言的嚴肅知識而又不願意多花費哪怕一丁點時間,這本書就是首選。
順便說一句,這本書的索引製作非常出色,極具實用價值,這可能首先要歸功於正文部分的簡明扼要。此外,盡管它看上去很像一本教程,但其實更是一本寫給專業程序員的指南。如果你不具備任何其他語言程序設計背景或基本的C語言知識,這本書也許並不適合用作你的C語言啟蒙讀物。
2. Perter Van Der LinDen,《C專家編程》
C專家編程
C語言是嚴肅的程序員語言,但這並不意味著C語言書籍必須板著面孔說教。在這本被C程序員昵稱為「魚書」(封面上有一條「醜陋的」腔棘魚)的著作中,作為SUN公司編譯器和操作系統核心開發組成員之一,Peter淋漓盡致地展示了其深厚的技術沉澱、豐富的項目經驗、高超的寫作技巧以及招牌式的幽默。在這部作品中,作者以流暢的文字、詼諧的筆法將逸聞典故、智慧和幽默自然地融入技術描述中,讀來宛若一本小說,極富趣味。 本書講述了C語言的歷史、語言特性、聲明、數組、指針、連接、運行時以及內存使用等知識,揭示了C語言中許多隱晦之處,尤其深入解析了聲明、數組和指針、內存使用等方面的細節。要想成為一名專家級C程序員,這些內容都是必須掌握的。和其他滿是抽象例子的C語言書籍不同,這本書充滿了大量的來自真實世界的C程序設計實例,它們對C程序員具有很高的參照價值。另外,每一章都以極富趣味的「輕松一下」收尾,而附錄A「程序員工作面試的秘密」則是任何語言的程序員在應聘工作前增強自信的好材料。
我懷疑真正的C專家可能用不著看這本書 ——從內容到組織方式到行文風格都決定了這是一本輕松愉快的「從菜鳥到高手」的進階讀本,所以,它理應擁有更廣泛的讀者群。初級程序員往往更需要熱情的鼓勵,在閱讀這本書的過程中,你定會深深地被作者對編程的激情所感染。
世間並無完美。我認為這本書的缺陷在於,和大多數平庸的C語言書籍一樣,它畫蛇添足地加入了一章關於C++的描述。在今天看來,這個描述既不全面也有失公允。不過,鑒於作者是在1994年從一名C程序員的角度去觀察C++,這一點也就不足為奇了。 3. Samuel P. Harbison, Guy L. Steele,《C語言參考手冊(第五版)》
影印版(機械工業出版社)、中文版(機械工業出版社)
在C語言參考手冊類書籍里,Samuel P. Harbison 和Guy L. Steele合著的C: A Reference Manual是非常出色的一本。這本手冊的第五版新增了對C99標準的介紹,以便滿足新時期C語言學習的需要。全書共分為兩大部分,第一部分專注於C語言特性,第二部分則全面討論了C標准庫。本書涵蓋C99、C89、傳統的C、所有版本的C運行庫以及編寫與C++兼容的C代碼等一切知識。
這本手冊只是中等厚度,但它比「比它更厚」的其他參考手冊更清晰地描述了C語言的現在和過去的方方面面。整本手冊技術細節描述精確,組織條理清楚,內容完備詳盡而又簡明扼要。可以這么說,它在廣度、深度和精度方面都是出類拔萃的。對於中、高級C程序員而言,這本手冊值得常備案頭,它幾乎肯定要比K&R的著作使用頻率更高。
4. David Hanson,《C語言介面與實現:創建可重用軟體的技術》,機械工業出版社
C語言介面與實現:創建可重用軟體的技術
C語言能夠歷經三十多年而不衰,一個重要的原因在於它的適應能力。在這「復用」、「面向對象」、「組件」、「異常處理」等先進機制漫天飛舞的年代,C語言仍然能夠憑借它小而優雅的語言特性,在相當程度上滿足現代軟體體系架構提出的要求。只不過,想要達到這個程度,必須要在C的應用功力上達到最高層次。在嵌入式、系統軟體以及對性能要求極高的系統開發中,開發人員必須達到這樣的層次,熟練掌握C語言的高級特性,才能夠同時滿足效率和靈活性、復用性的要求。可惜,雖然C語言技術圖書汗牛充棟,但是關注這個峰頂之域的作品卻是屈指可數。David Hanson的C Interfaces and Implementations就是個中翹楚。
David Hanson是業內大名鼎鼎的自由編譯器lcc的合作者。在這個項目中,他負責提供高度可復用的基礎架構。在不斷的實踐中,他完全使用ANSI C形成了一整套可復用組件庫。這套組件庫架構清晰,性能優異,而且提供了很多高級的特性,比如類Win32 SEH的異常處理機制、可移植的線程庫、高性能的內存池、豐富的可復用數據結構組件。David Hanson把他在創作這些組件的過程中所積累的心得以及對其源碼的精緻剖析原原本本地寫在了這本書里。這樣的著作,當然堪稱C語言領域里的銘心絕品。難怪已故著名技術作家Richard Stevens對此書贊不絕口,他說:「這本書中的技術,對於大部分C程序員來說,已經遺忘得太久了。」對於希望能在C語言應用上達到最高層次的核心程序員而言,這本書是難得的必讀之作。
其他除了以上四本書以外,我還樂意推薦Andrew Koenig的著作《C陷阱和缺陷》(人民郵電出版社)和Deitel父子合著的C How to Program兩本書。
C專家編程
Andrew Koenig是世界上屈指可數的C++專家,他的這本書可能是最薄的一本C語言經典。它簡明扼要地講述了C程序設計中的陷阱和缺陷,包括詞法陷阱、語法陷阱、語義陷阱、連接、庫函數、預處理器以及可移植性缺陷等,最後一章還給出了關於如何減少程序錯誤的建議以及前面各章問題的參考答案。盡管這個小冊子成書於C89標准制定之前,然而,即使到了C99早已頒布的今天,書中提到的大多數陷阱和缺陷一如十五年前那樣使我們警醒。
C程序設計教程
Deitel父子合著的C How to Program一直是非常好的C語言入門教程,我手頭的中譯本名為《C程序設計教程》(機械工業出版社出版,原書第二版)。除了對技術的正規描述(輔以許多簡明扼要的例子)外,每一章後面都帶有小結、術語、常見的程序設計錯誤、良好的程序設計習慣、性能忠告、可移植性忠告、軟體工程評述、自我測驗練習及答案等。整書內容清晰,組織良好,易於閱讀和理解。值得一提的是,有許多入門書讀完一遍即可扔掉,而這一本是個例外。
結語以上這幾本書很大程度上局限於描述C語言及標准庫本身,如果希望學習更專業的、領域相關的C程序設計技術,你可以在選擇閱讀這幾本書的基礎上繼續查閱專門書籍。此外,在C語言書籍領域,水平不相上下的作品有很多,這幾本只是根據我自身的閱讀體驗
⑸ 為什麼有的人的網名叫null
起名為null的應該都是程序員吧 昵稱是null在程序員這個行業是一個梗
null在IT行業代表著什麼都沒有,如果程序員看到你的名稱為null的話第一時間會覺得程序出bug了,然後程序員就會找bug,但是程序員並不知道這個null其實就是你的名字,所以,Ta怎麼找也不會找到bug。
有一家公司就是因為有一個客戶取名為null,然後哪家公司的系統被自家程序員給干爆了。
⑹ 程序員的昵稱
你好,很高興回答你的問題。
程序員有時候被稱為程序猿或程序媛。
還有時候被戲稱為碼農,不過千萬不要因為這個稱呼就小瞧程序員這個行業,以為是很簡單的。
如果有幫助到你,請點擊採納。