微信又改版了,爲了方便第一時間看到我們的推送,請按照下列操作,設置“置頂”:點擊上方藍色字體“程序員之家”-點擊右上角“…”-點擊“設爲星標”。

可以啦,讓我們繼續相互陪伴。

作者丨IT智雲編程

https://www.jianshu.com/p/0084197a129e

說起程序員人們的第一印象就是工資高、加班兇、話少錢多、頭髮少。再加上現在科技互聯網公司太喫香,BAT、華爲、小米等公司程序員加班情況被廣泛傳播,程序員用生命在敲代碼的印象刻在了很多人的心裏。

也許你對阿里的加班水平早有耳聞

但你是否見過他們瘋狂加班的樣子呢?

阿里巴巴

19:55-00:00的阿里巴巴蜂巢

燈火通明,光彩耀人

19:56,阿里大門前只有寥寥幾人

20:53,你看得出變化?

22:33,一個丁香般撐着紅傘的女孩子在等快車

更多人是提前叫好了車

出門直接上車,馬不停蹄肥家

與其它行業一樣,凡事都有高級和普通,雖然都是敲代碼但也有大牛和普通之分,大牛程序員,一個人比一個團隊做項目都做得快,最爲出名的當屬十幾年前求伯君在做wps時,一個人完成了微軟二十人團隊沒有完成的項目需求,也讓wps在與微軟的競爭中站穩了腳跟。程序員的能力差距真的比貧富的差距還要大,除了能力當然還有一些其他的影響因素。

從工作的方面來說,普通程序員和高級程序員一般有下面幾個區別:

普通程序員

1、知識體系零散,沒有系統性的思維,在寫代碼、改bug的時候沒有工程素養,往往是拆了東牆補西牆。

其實在面對一個未知的問題時,如何定位複雜條件下的核心問題、如何抽絲剝繭地分析問題的潛在原因、如何排除干擾還原一個最小的可驗證場景、如何抓住關鍵數據驗證自己的猜測與實驗,都是體現程序員思考力的最好場景。

2、對某種語言的依賴性太強,知識無法很好的遷移,一旦換了語言,或者領域不同就會不知所措。

程序員是一個非常殘忍的職業。你所學所用的語言、框架、模式,很可能在數年內就成昨日黃花了;你現在嘲笑的另一羣程序員,可能馬上就能轉身來嘲笑你了。

3、經驗不足卻自認爲自己經驗豐富,只對自己做過的比較順手,但是碰到未知的問題,就束手無策。

4、毫無必要的拖延,這是很多程序員的通病。

5、心猿意馬。

見過太多心猿意馬的程序員,不得不把“專注眼下”專門提出來。

他們往往有各式各樣的小夢想,比如做個小茶農、做個小鵝販、做產品、做銷售、做投資,卻被程序員的高薪或是沒有轉行的魄力“耽誤”了,而因爲不專注,他們不在意做好自己的本分,不在意錘鍊自己的技能,不在意學習新興的技術。

高級程序員

1、知識體系完整,有系統性的思維,即使沒有到架構師的級別,在寫代碼和改bug的時候也能從整體上去思考和把握。

2、學習能力強有了自己的心智模型,知識可以自由遷移,並可以高效地切入不同的領域和語言。

3、擁有真正的經驗,不只是做夠那些項目,而是面向未知的解決問題的能力。

而高級程序員更擅長抓住問題的本質,將看似複雜的需求化繁爲簡爲一系列簡單邏輯的堆疊,寫代碼步步爲營,邏輯簡單清晰,所有條件分支都被仔細覆蓋,磨刀不誤砍柴工。

如何從普通程序員進階到高級程序員?

1、提高代碼優化的能力

打鐵還需自身硬,“代碼可運行”對一個優秀的程序員來說絕不是結束,而是開始。優秀的程序員一定熟知各種算法和數據結構,會靈活運用,致力於寫出更簡單、效率更高的程序。

2、先考慮、多思考

編程思路,是系統的計劃和設想,是程序員寫程序時的條理和線索,可以思考但不要長時間延時性的思考。

3、突破程序員思維只有突破程序員思維,纔不會淪爲碼農!

4、時間管理,很多人都沒有時間管理意識,覺得時間最不值錢。

這就像是你到了一個十字路口,也不管自己想去哪裏,抬腳就努力地奔跑,一路上被自己的努力所感動,但你跑的方向是北邊,而你內心真實想去的方向是南邊,方向跑偏了,始終到不了目的地,能不迷茫嗎?

5、拓展知識的深度和廣度

大家可以多看看 BAT 的招聘要求,看看自己還有哪些方面根本沒接觸過。建議大家多關注熱點和優秀的開源項目、找到自己的興趣點就多花點時間去學習研究,知識的廣度很大程度上會影響開發人員的職業發展。

公衆號內回覆“1”帶你進粉絲羣

查看原文 >>
相關文章