最近兩部劇爆火,30而已,20不惑,其實剛剛開始看這個2個電視劇我在想是不是說反了。不是應該29而已,30不惑嗎?后面想想其實他應該是想告訴我們這個殘酷的現(xiàn)實吧!在這個時代我們20 歲就必須成熟,接受這個世界的殘酷,沒有時間給我們不惑的時間,世界總是這樣逼著我們成長。而30而已更好的是對未來的一種美好愿望吧!30歲在哪里吃早餐決定了,你前面十年奮斗的痕跡,曼妮路邊攤,曉芹的溫馨幸福,顧佳的豪華早餐。
我曾服務于東芝,東方集團,阿里,三一重工,有15年項目開發(fā)經(jīng)驗,熟悉匯編,java,c/c 開發(fā)語言,對系統(tǒng)底層,web開發(fā)和移動端開發(fā)有較深入研究。主要涉及應用層mis,erp項目和各種嵌入式設備軟件(手機,平板,交換機,復合機,無人機,電視,智能家居等)
最近我看到這個劇滿滿的感觸,我在想如果真的重新開始一次,我的生活是不是又會不一樣!
工作 3-5 年后已經(jīng)進階到高級程序員了,很多人開始面臨一個問題:未來發(fā)展方向是技術專家還是技術管理,哪一條職業(yè)發(fā)展路徑更適合自己?
選擇哪條路線,首先要明確自己想要什么。想做技術還是管理,都跟目標和職業(yè)規(guī)劃有關,每個人的實際情況不同,目標就不同,建議盡量做和自己的性格相符合的選擇,并且堅持。哪怕一時半會看不出效果,長期總是能夠看到效果的。
1. 怎樣的程序員適合做技術專家?
*技術專家的核心就是深入而精通。對某個技術領域很熟悉、對代碼編寫保持熱情、持續(xù)學習新的技術、能夠靜下心來做技術,而不是急功近利。性格相對內向、不擅長溝通協(xié)調、不希望花大量時間帶團隊、主要負責把關鍵技術做到專業(yè)和,這樣的人更適合往技術路線發(fā)展,比如技術專家,架構師。
2. 怎樣的程序員適合轉型技術管理?
首先要明確,通常所說的技術管理者都需要做哪些事?
團隊建設:人員激勵、團隊文化、梯隊建設。
任務管理:任務分工、任務協(xié)作。
管理規(guī)劃:新技術調研,支撐新業(yè)務的重構等。
相應地,需要的能力包括:向上匯報向下傳達能力、團隊管理能力、人員培養(yǎng)能力、上下游部門合作把控能力、業(yè)務需求溝通能力、重大問題的決斷能力、長遠目標規(guī)劃能力、執(zhí)行力等等。
綜合來看,管理能力和技術能力的要求差別較大。作為技術管理者首先應該有角色認知的改變,不能以程序員的角度去看待問題,需要站在更高角度,從全局思考問題。推薦有志走管理路線的移動端程序員參考這本書:《成為技術》。
3. 兩種發(fā)展路徑的異同點
**(1) 不同點:**技術專家更依賴個人技術能力,需要結合業(yè)務做好技術規(guī)劃,框架設計,性能優(yōu)化以及技術創(chuàng)新;技術管理者是協(xié)助團隊一起把產(chǎn)品做出來,負責團隊內外的組織溝通和相互協(xié)調。
**(2) 相同點:**終究需要面對管理,只是管理工作的多和少之分。即使你是架構師,也需要 lead 一個技術團隊。
因此,不論你未來是走純技術路線還是非技術路線,都需要增長自己的管理技能,因為到***總歸是需要管理溝通的。當你級別非常高,卻還不跟任何人打交道,完全靠個人能力來貢獻的情況是很少見的。
4. 如果選擇錯誤,是否還有二次選擇機會?
我認為需要先把職業(yè)目標和職業(yè)規(guī)劃想好,經(jīng)常改變對職業(yè)影響較大。
**(1) 技術轉向管理:**要提前掌握相關管理知識并在角色認知上做出改變,以團隊為出發(fā)點去思考問題,對業(yè)務了解更多,提高部門內的影響力,有合適的晉升機會可進行轉型。
**(2) 管理轉回技術:**如果你面對諸多跨部門溝通,在性格等因素上感覺不合適,需要盡快做出決策,轉回技術開發(fā)。
我從招聘網(wǎng)站上摘錄了某些一線公司的職位描述要求:
3 年以上工作經(jīng)驗、深入了解移動端的底層和原理、獨立主導或開發(fā)過一款以上產(chǎn)品的核心項目、豐富的項目經(jīng)驗或管理能力、有 React Native 或者Weex 的實戰(zhàn)經(jīng)驗、掌握一些前端開發(fā)技術,HTML / JavaScript / CSS 等。前后端開發(fā)經(jīng)歷是加分項。
可以看到,市場對 Android 程序員的要求越來越高,除了深入掌握 Android 底層原理,對前端 JS 等技術也有要求。
今天我們已經(jīng)進入了終端碎片化的時代。從 2007 年 iPhone 代發(fā)布至今的 12 年里,智能手機并沒有被取代的跡象。但創(chuàng)新仍在繼續(xù),比如智能手表、TV、眼鏡、頭戴 VR 等等,可以想象這樣的設備仍會繼續(xù)增多。
這些新設備也是新平臺,與智能手機類似,可以安裝第三方應用,且這些平臺基本都支持瀏覽器或內嵌瀏覽器引擎。早期 Hybrid 和后來 React Native 等探索,在顯示終端應用的開發(fā)上,前端開發(fā)已成為必備技術。
**因此,大前端趨勢對移動端程序員而言,**影響就是新的移動開發(fā)技術棧。
移動設備作為主流終端,其應用開發(fā)技術也應該是大前端最關注的技術。以前移動開發(fā)技術棧以原生開發(fā)為主,現(xiàn)在的趨勢是跨平臺技術愈演愈烈。
那么,在如今技術快速變化的環(huán)境下,移動端程序員該如何保持競爭力?
首先,加強 Android / iOS 技術深度儲備,深入理解系統(tǒng)底層原理,對新技術持續(xù)投入。
其次,逐步完善前端技術棧,廣度擴充,熟悉前端 JS,以及 RN,flutter 等跨平臺框架。
選擇 Android 細分領域并提高,比如應用開發(fā)、逆向安全、音視頻、車聯(lián)網(wǎng)、物聯(lián)網(wǎng)、手機開發(fā)、SDK 開發(fā)和智能電視盒子開發(fā)等等,在其中選擇一個并不斷深入。
Android架構學習進階是一條漫長而艱苦的道路,不能靠一時激情,更不是熬幾天幾夜就能學好的,必須養(yǎng)成平時努力學習的習慣。所以:貴在堅持!
上面分享的字節(jié)跳動公司2021年的面試真題解析大全,筆者還把一線互聯(lián)網(wǎng)企業(yè)主流面試技術要點整理成了視頻和PDF(實際上比預期多花了不少精力),包含知識脈絡 諸多細節(jié)。
聯(lián)系客服