1. 頂級的程序員是怎麼樣的
頂尖程序員常說:「這個我以前寫過一個模塊,我找找,很快。「簡直是沒有對比就沒有傷害!
有人認為,普通程序員用復雜的代碼解決簡單的問題;而高級程序員能把復雜的問題簡單化並用簡潔的代碼去實現。在w3cschool看來,頂尖程序員和普通程序員至少在以下6個方面大有區別。
1、文檔能力
「文檔是第一生產力」,這一點在程序員的世界是毫無異議的。看看Spring,hibernate,Struts等最流行的開源軟體的文檔就知道,他們tutorial,他們的getstarted,他們的reference文檔寫的多麼的易懂。
如果要獲得更高的報酬,文檔是絕對關鍵的因素。有文檔就有溝通,就有交易。搞技術的容易忽視文檔的力量,也因為寫文檔十分困難,更多程序員選擇舒適區,習慣寫下代碼,但正因為如此,妨礙了不少程序員的進階。
2、解決BUG的效率差別
普通程序員可以利用搜索引擎(網路)尋找答案,經常性找不到好的解決辦法,然後更換技術方案!頂級程序員也利用搜索引擎(Google)尋找答案,一般bug都順利解決(其實跟前期框架選擇等關系非常大)。
3、表達能力
表達能力決定了你所做的技術的影響范圍,決定了你的影響力,決定你的威信,決定了你的報酬。普通程序員和頂尖程序員的表達能力差別非常大,這主要還是取決於他們格局的不同。良好的溝通能力讓你理解產品經理的設計思路,讓你更好的展現自己的特長。
對於累積人脈,當你的閱歷越來越豐富,人脈對你的幫助也越來越明顯。
4、優雅和美觀的抽象能力
普通程序員和頂尖程序員之間的區別在於優雅和美觀的抽象能力。好的系統通常是要做到兩個方面才合格,其一是好用,其二是好看。但是令人遺憾的是,普通程序員僅僅從實現的角度進行堆砌。頂尖程序員往往能夠更進一步,經常會去思考用戶在操作這個功能的時候,到底還會做什麼事情。
所以,頂尖程序員和普通程序員區別就是是否擁有用戶意識,是否敢於直面用戶。好用,好看一直是軟體能夠被普遍採用的前提,因此,我們有必要學會抽象優雅。
5、面對如何開源社區態度
普通程序員幾乎沒有在開源社區混,這也導致經常對新技術發展關注度低。而頂尖程序員則是擁抱開源社區。
6、面對功能點
普通程序員:立馬開始構思自己如何實現腦海里出來一個方案。
頂尖程序員:發現功能點很普通github上面早已經有非常多的解決方案,著手根據業務選擇一個最適合最優的方案
2. 為什麼C和C++牛人多
1、C和C++夠笨,逼的程序員自己做很多事�0�2�0�2�0�2 C其實大家都知道,是一門中低級語言,保留了指針等匯編特徵,與系統底層結合密切。C++呢,更多的向個Object C,即面向對象的C。但這些,其實並不能夠讓程序員顯得很牛。我個人的理解,之所以C和C++程序員顯得很牛,其實原因和大家想像的正好相反,不是因為C和C++太強大,而是這兩門語言太弱智了。�0�2�0�2�0�2 C和C++,由於設計時,主要針對系統底層,操作系統層面的應用,因此,其提供的核心基本庫相對比較簡陋,沒有提供很多華麗的框架,VC的MFC不算啊,那是針對Windows的,不是C++的基本特性。這直接導致了C和C++程序員,在進行大型開發時,缺乏現成的框架模板可以使用,也沒有太多的工具庫可以使用,像Java等其他語言,基本都提供了常見的幾乎所有數據結構類,或者工具模塊,不過,C和C++沒有,搞得C和C++程序員,這群可憐的娃,啥事都喜歡自己做。�0�2�0�2�0�2 我就經常干這種事,實現個隊列,實現個樹,經常自己從頭寫起,無形中呢,自己被逼的把很多常見數據結構,弄得滾瓜爛熟,很多時候,小弟問我一個功能如何實現,我說「站著別動,立等可取!」,然後幾分鍾,十幾分鍾就實現一個給他,呵呵,這不是我想牛叉,這是被逼出來的。》》》如何學好C語言�0�2�0�2�0�2 學生大本營很多朋友教訓我,說我重復造輪子,弄得我哭笑不得,有那麼多現成的輪子用,哪個龜孫想自己造,這不是沒辦法給逼的嘛,5555。。。2、C和C++夠通用,逼的程序員廣種薄收�0�2�0�2�0�2 這個通用,分兩層意思。�0�2�0�2�0�2 一個是從應用角度,C和C++是目前我見到唯一的可以適應任何應用場合的語言,它對應用通用。起碼,除了匯編語言,C和C++大概是唯一用來寫操作系統的語言了,很多底層的驅動程序,操作系統內核級模塊,只能用C和C++來開發,因此,一個C和C++程序員,他唯一不知道的,可能就是不知道自己以後會去寫什麼平台的什麼程序,這要求他必須努力學習很多語言之外的知識,為下一份工作做好知識儲備。�0�2�0�2�0�2 第二個是從跨平台來說,C和C++又不是很通用,雖然從第一天開始,C就吹噓自己很牛叉,是跨平台語言,但是,就我個人的經驗,可以很負責任地告訴大家,它在吹牛。沒錯,作為基本語句,C和C++程序可以到大多數平台的編譯器下開發,不過,稍微涉及應用一點的庫,差異就很大,比如同樣的socket編程,Windows下和Linux下就有很大差異,什麼線程庫啦,很多,差異都很大。不過,日常工程開發,離了這堆庫,程序員估計也不用做什麼事了,因此,很多C和C++程序員自從被騙得上了賊船,沒辦法,就得面對無窮無盡的學習,操作系統,任務調度,內存管理,資源管理,很多都得自己來,去理解各個操作系統的差異性,然後自己寫程序來適應。�0�2�0�2�0�2�0�2 這么弄下來,搞得C和C++的程序員,無形中對於很多語言之外的知識,掌握得就多一點了。3、C和C++不是一門應用級的語言,其程序員的要求也不是應用程序員的要求�0�2�0�2�0�2 對於很多語言來說,比如Java,PHP,Python等,在開發之初,都有明確的應用方向,同時,為了適應跨平台需求,都做了一定性能上的犧牲,這類語言,一般比較擅長應對企業級資料庫應用,即辦公應用系統,以及網站開發等。�0�2�0�2�0�2 應該說,這已經是很大的市場了,足以讓一個程序員吃一輩子的飯,因此,學會了這類語言以及應用開發,一般已經可以再80%~90%的開發市場找到飯碗了。�0�2�0�2�0�2 不過,C和C++不一樣,C和C++從設計出來,就沒有明確的應用方向,或者說,唯一明確的應用方向,就是做操作系統。我們知道,操作系統是適應面最廣的應用軟體,所以,C和C++就顯得很保守,為了通用,它寧願不提供什麼功能過去強大的庫,一切靠程序員自己來。�0�2�0�2�0�2 換而言之,做C和C++的程序員,或多或少都有一點操作系統,系統底層相關的知識,這部分知識,一般難學,費解,比起學習應用開發,使用某些框架模板來做某一類型應用來說,C和C++程序員需要更加深入的思考加學習,無形中,造成這類程序員沒事喜歡瞎琢磨的特性,我就沒事老是喜歡想操作系統內核一些功能,我來實現該怎麼做。�0�2�0�2�0�2 這種事情想多了,不用說大家也知道,對自己的水平無形中,有一點點促進,因此,C和C++程序員往往看問題會深入一點,善於思考。4、C和C++是高性能應用的唯一選擇,這造成程序員必須學習優化�0�2�0�2�0�2 我們知道,雖然很多語言都可以寫游戲,不過,作為大型游戲系統,比如暗黑破壞神吧,還有很多網游,出於高性能圖形動畫的需求,必須使用C和C++來實現,才能保證效率。很多大型網站的後台資料庫,為了響應高吞吐量,高並發量的客戶請求,也需要使用C和C++進行優化。�0�2�0�2�0�2 這就造成了,C和C++程序員一玩就是大的,必須對優化非常熟悉才行。我們知道,優化,有兩個要求,一是對各類演算法必須很熟悉,可以進行演算法比較,另外,也是需求分析的專家,可以根據需求特性,做量身定做的優化。�0�2�0�2�0�2 這就要求C和C++程序員,經常陷入演算法比對之類的任務,而且,也不能僅僅做一個程序員,還必須時刻思考客戶需求,對需求做不斷的再分析,才能找出優化之路。�0�2�0�2�0�2 我們知道,任何事情,做多了,就成熟練工了,自然也就來得快,C和C++程序員就是這個樣子。可能還有很多其他理由,不過,我匆忙間,也就想出這幾條。不過,大家可以看到,日久天長,C和C++程序員,不管是否自願,但工作和學習中,確實比別語言的程序員在多想,多看,多學,自然而然,就顯得很牛叉了。�0�2�0�2�0�2 但大家注意到沒有,其實我上面分析的幾點,與C和C++其實沒有太多的關系,任何一門語言的程序員,只要堅持上面幾點,不斷修煉自己,其實都可以達到牛叉的地步。�0�2�0�2�0�2 所謂「功夫在詩外」,又所謂「窮人孩子早當家」,C和C++之所以顯得牛人多,並不是這兩門語言有多好,其實恰恰相反,是這兩門語言沒有給程序員提供太多幫助,而其應用環境又太多太廣太深,逼的程序員在自我不斷的學習,幾年,十幾年下來,自然顯得比小日子過的還算不錯的其他語言程序員,要深入一點。�0�2�0�2�0�2 但是,我們還是要看到,每一門語言,都有其存在的價值,起碼程序語言排行榜前十的語言,都是偉大的語言,都可以產生大師,我覺得大家完全沒有必要人雲亦雲,都一窩蜂跑來做C和C++,在很多應用市場上,Java、PHP等腳本語言,都以開發周期短,開發時間快,成為優選語言,C和C++完全沒有辦法和這些語言比較。�0�2�0�2�0�2 計算機軟體開發,發展到現在,其實已經是很細分的市場,有專門的應用軟體市場,也有系統軟體市場,C/C++和Java等,各自應對的是不同的市場,因此,二者其實沒有可比性的。�0�2�0�2�0�2 建議已經選擇Java、.net等其他語言方向的同學,不要跟風,在自己的領域深入進去,你們也能成為牛人的。》》》如何學好C++語言
3. 大家都知道高級程序員很吃香,那麼高級程序員和黑客到底誰更厲害
非從業人員對於程序員和黑客的外在形象就存在著不一樣的認知,因為電視電影和網路上的段子,普通的程序員一般都是有才能卻一點不風趣的男性,常年一件格子襯衣,幾根稀疏的頭發,雖然賺的錢不少,卻不會花錢裝扮自己;而黑客的形象就完全是另一種,他們很神秘,可能我們身邊隨便一個人在暗地裡都可以是黑客,黑客還喜歡穿黑衣服,帶黑色的帽子,不喜歡以真面目示人。
相對的,普通程序員也不會關注黑客關注的很多點,比如CAPTCHA這種可能就直接引入個第三方的來防禦了,並不會自己去實現一遍。還有加密演算法這種,也幾乎只有黑客才會去研究。普通程序員可能研究的就是壓縮演算法。黑客的攻擊手段多種多樣,有的甚至不會寫代碼,比如《我是誰–沒有絕對安全的系統》里就有一位,根本不寫代碼,通過翻垃圾桶,開鎖偷看資料這類操作搜集很多有用的信息,從而發起攻擊。一般稱這種為手段『社工攻擊』。
4. 為何印度的程序員很牛b
不是說印度的程序員很厲害,只能說國外的人比較瞧不起中國人;國外大公司的高層大多印度籍要多些。
5. 程序員很厲害嗎
程序員只是在編程方面很厲害,其他的方面並不比別人強,甚至還會比別人差。
6. 編程技術人員是不是都是很牛逼
不見得都是牛逼的。
但牛逼不牛逼 有多個維度衡量
例如 BUG率,代碼風格,解決問題的能力。
7. it行業為什麼會越來越火
我國的IT產業在過去5年經歷了年28%的增長速度,是同期國家GDP增長速度的三倍,對GDP增長的拉動作用已進一步增強,對我國國民經濟增長的貢獻率不斷提高。
隨著網路信息技術的迅速發展和普及,對IT技能人才的需求正在出現供不應求的局面,並且這種局面會在未來持續。因此,IT技術人才的發展前景將是十分廣闊的。
為什麼IT行業就業這么火?
1、就業前景好
IT行業的人才缺口大是眾所周知的。IT行業不斷有新技術出現,所以各種新技術的專業人員隨時都處於匱乏的狀態。據CNN和Payscale的調查,在最具潛力的薪酬職業中,前二十位里有5個職業屬於IT行業,而前五十個中有14個屬於IT行業。
2、薪資水平高
高薪一直是程序員的代名詞,很多人成為程序員的初衷就是想要一份高薪的工作。確實,與其他職業相比,IT從業者的年薪還是相對較高的。一線城市的均薪基本都在萬元以上。就算是在二三線城市,在同齡人中,程序員也都屬於高薪群體。
3、行業專業性
IT從業人員的項目意識和專業性是非常強的。像工程師、項目經理等人員都要求具備非常專業的技術知識,因此,IT業人士都擁有很強的專業性,特別是像一些新技術領域,對於從業人員的要求都是比較高的,不用擔心隨時被市場所淘汰。
8. 為啥有的程序員很牛氣可以fire掉老闆什麼意思
無論什麼職業,您都可以想辭職及辭職,工作做的不順心都可fire掉老闆。但這只是一種安慰的說辭罷了。說到底你離開公司,公司也還是接著運轉的。
9. 為什麼印度的程序員很牛
因為他們是碼農輸出大國!
10. 阿里巴巴的程序員技術是不是都很牛
你好,在例如阿里巴巴這樣的bat互聯網大廠的程序員,做到架構師的職級一般都可以到年薪百萬,具體如下。
1、阿里工程師崗位職級
阿里巴巴集團採用雙序列職業發展體系:
一套體系是專家路線【P序列=技術崗】,程序員、工程師,某一個專業領域的人才,一共分為14級,從P1到P14,目前校招最低從P4開始。
一套體系是M路線,即管理者路線【M序列=管理崗】,從M1到M10。
阿里P8架構師作為阿里的「IT架構靈魂人物」的角色,他們不僅做著架構師的本職工作,還同時做程序開發,寫核心代碼的工作。另外,架構師依舊是技術高手,編程能力依然是一流的。
但根據當前的市場需求,互聯網大廠們對於普通Java開發人才需求逐年銳減,而對互聯網架構師人才的需求招聘量已經上升到50%,因此薪資更是不可同日而語。
對於想學習互聯網架構師的同學來說,北大青鳥、課工場等優秀品牌都是不錯的選擇。課程根據招聘需求制定,包含全部分布式微服務技術,對標阿里P8級別架構師。
希望我的回答對你有所幫助!