開頭
1、一定要把基本的數據結構,經典的算法,Unix編程,程序編譯鏈接及計算機原理等基礎知識扎牢,這些會長遠影響你的職業發展。
2、 推薦從C語言入門,不單是因為很多操作系統、網絡協議棧開源代碼由C/C++實現,更多是因為C語言自身的特性:作為高級語言用戶無需關注底層細節,同時能直觀的看到數據流向。而且C相對語法規則較為簡單,可以短時間的上手應用。最重要的是,遵循C/C++、python的學習方式,比直接學習python更能清晰的知道自己程序的內存等性能狀況。
第一:首先弄清楚自己崗位晉升(轉型)路線
大多數程序員的晉升路徑無非以下幾種:
技術型:初級工程師->中級工程師->高級工程師->架構師(技術專家)->技術總監->CTO
管理型:工程師->項目組長->項目經理->項目總監->技術總監->CTO
交叉型:初級工程師->中級工程師->項目經理->技術總監->CTO(此路線技術和管理交叉進行,每個階段做的事情不固定)
轉行型:初級工程師->轉行產品、設計、銷售、運營等
第二:跳出自己的舒適區,對自己喜歡的事情投入100%的熱情
很多程序員都會下意識的標榜自己是一名c++程序員,java程序員,ios開發,安卓開發,php程序員等等,但是他們往往忽略了一個事實,就是你首先是一名程序員,有意無意的將自己綁定在某個領域或者某一個語言上是非常危險的事情。
做某個事情的時候,投入100%的熱情,并持之以恒,我知道這是非常難的事情,也正因為如此,技術專家,資深大牛才那么稀缺。
第三:站在巨人的肩膀上,適當說“不”
另外一點提高自己瓶頸的方法就是借鑒前人的代碼,程序員這個行業,并不一定非要什么都不看直接寫,也許你在有基礎的情況下,直接開始寫,遇到問題在查找問題會來的更加容易上手。
但是正因為這樣,你寫出來的代碼往往質量非常差,優化性不夠,語法啰嗦,不夠優雅,因此我們要學會多從其他人的代碼中汲取優點,多逛逛開源社區,針對自己感興趣的方向去學習別人的代碼,也是進步的一種方法。
在團隊中,經常會遇到需求方給你提出某個需求,也許你覺得這個需求不合理,但是還是礙于同事的面子抽時間給他完成這個需求,這個時候你在同事的眼里也許就是負責的好同事,但是也許你遇到的只是一個不動腦子,或者壓根只是抱著試一試態度的產品經理,沒有經過完整的調研,只是拍拍腦袋覺得用戶可能會喜歡這個產品,沒有做出需求調研就話了一個prd給你扔了過來,如果項目表現不錯,你的努力受到了大家的認可,那么皆大歡喜,但是如果這個項目最后還是失敗了。那么你付出的努力也會白白浪費。
在需求方提出需求的時候,你一定要問他,做這個功能的意義是什么? 你有數據做出支撐么? 這個功能對我們現有的產品會有什么影響以及正面作用? 沒有數據支撐的需求一律說不!
第四:搞好人際關系,提高溝通能力
學會處理人際關系,以及表達自我想法,溝通能力,也是程序員需要掌握的一件事情,因為你的上司看重你的表現的,往往不是 你實現某個功能的細枝末節,而是你對于整個項目的把控,以及溝通,他需要的只是結果,而不是過程,因此往往溝通能力強的資 深程序員,最后都會往高層去發展,慢慢轉為管理層,而如果你只是想要安靜的寫代碼,不想被這些無聊的事情干擾的話,那么你可以忽略。
這個行業很多資深大牛往往都是溝通能力強,技術高深的體現,隨著年代發展,團隊式工作已經是主流,你無法一個人去單一的實現某個任務或者功能。
團隊式開發效率,項目進度,復雜度,以及成本控制都比單一人員要好,而團隊式協作就表明,你必須要有最基本的溝通能力。
最后
現在都說互聯網寒冬,其實無非就是你上錯了車,且穿的少(技能),要是你上對車,自身技術能力夠強,公司換掉的代價大,怎么可能會被裁掉,都是淘汰末端的業務Curd而已!現如今市場上初級程序員泛濫,這套教程針對Android開發工程師1-6年的人員、正處于瓶頸期,想要年后突破自己漲薪的,進階Android中高級、架構師對你更是如魚得水,趕快領取吧!
上述【高清技術腦圖】以及【配套的架構技術PDF】點擊:Android架構視頻+BAT面試專題PDF+學習筆記即可獲取!
為什么某些人會一直比你優秀,是因為他本身就很優秀還一直在持續努力變得更優秀,而你是不是還在滿足于現狀內心在竊喜!
Android架構師之路很漫長,一起共勉吧!