少走弯路,给3~5年程序员的唯一一条建议
做了 3~5 年編程開發,你已經積累了不少項目經驗,擴寬了技術廣度,也許已發力成為團隊管理者。到了這個階段,大家卻常有這種感受:感覺自己卡在瓶頸進步緩慢,技術水平很難像早期一樣實現大幅突破?
其實大家往往忽略了這一點——提升自己的架構認知(工作5年左右程序員必須重視架構認知的提升,這會很大程度上推動你今后的成長)。
架構的本質在于面對業務場景給出優雅的解決方案,使得業務能夠快速迭代和持續交付,從而達到降本增效的目標。
提升架構認知高度,就像達克效應所描述的一樣,要敢于從愚昧之巔跳到絕望之谷,通過爬升開悟之坡,從而達到架構認知的巔峰時刻。
到達巔峰時刻也就掌握了架構背后設計的哲學,面對具體業務場景在架構層面你便能夠輕松應對,以無招勝有招。
提升架構認知,要緊抓3個關鍵點:業務洞察力、技術視野、原創力(執行力)。
1.業務洞察力是技術戰略層面的問題,在當下能夠做出合理的判斷,清楚公司做什么事情收益最大;
2. 技術視野即技術選型能力,是技術戰術層面的問題,在清楚做什么事情后,需要進一步解決怎么做的問題,也就是能夠給出合理的技術選型方案:是完全基于開源的方案,還是基于開源二次開發的方案,還是完全自研的方案;
3. 原創力(執行力)是技術落地執行層面的問題,一旦技術設計方案確定后,需要能夠快速Rush完成。
這3點層層遞進,最重要的是先把技術戰略問題思考清楚,然后再進一步解決技術戰術問題,最后是快速落地執行的問題。
工作5年左右的程序員,在原創力(執行力)層面比較有競爭力,往往欠缺技術視野以及業務洞察力。后面2點更加重要,這2點解決的是架構設計哲學問題,是架構師能夠持續擁有競爭力和影響力的立身之道。
舉個場景的例子來詳細說明:一提到分布式鎖問題,大多數人想到的方案是基于Redis的Master-Slave模式來實現。這個實現方案行不行?分布式鎖本質是一個CP需求,基于Redis的實現是一個AP需求,乍一看基于Redis的實現是無法滿足的。脫離業務場景來談架構都是耍流氓。
從技術戰略的需求層面來看,如果分布式鎖在極端情況下獲取鎖的不一致,社交業務場景能夠接受,那么基于Redis的實現是完全可行的。如果業務是交易場景,分布式鎖在極端情況下獲取鎖的不一致性無法接受,那么基于Redis的實現方案是不可行的。在鎖強一致性的場景下,需要采取基于CP模型的etcd等方案來實現。
?
“于一微塵中,悉見諸世界”,一切事物的本質是相通、相同的。?學習架構也是如此,掌握了架構設計背后的哲學,那么一切工程問題也就迎刃而解了。
?
提升架構認知不是一蹴而就的,它離不開刻意學習和思考。這有一份從架構哲學的層面來剖析的視頻分享給大家,是“開課吧”特邀百度高級架構師,梳理了他多年的架構經驗,籌備近1個月最新錄制的,相信這份視頻能給你帶來不一樣的啟發、收獲。
(視頻包含如下內容)
智能互聯網之總體架構設計
互聯網發展三階段
互聯網架構演進之路
單體架構設計與實踐
水平分層架構設計與實踐
面向服務架構設計與實踐
微服務架構設計與實踐
服務網格架構設計與實踐
千億級真實案例實踐
領取方式:添加助手微信領視頻
由于通過申請后會逐個發資源,小助手精力有限,這次對讀者先開放200個名額,需要的話請盡快添加。
長按添加? ?領取視頻
(視頻的價值取決于你領完后的行動
大家千萬莫做收藏黨)
和志同道合的人一起深入討論與學習Java技術,也幫忙轉給需要的朋友!
這套視頻由"開課吧"友情提供,大家熟知的IT技術大牛廖雪峰、前58技術委員會主席已加盟開課吧,針對1-5年和5年以上Java開發者的特點,耗時半年研發了精品付費課程——《Java高級架構師》和《百萬架構師》,來幫助Java開發者實現全方位進階,適合有一定開發經驗的程序員們學習。
對課程感興趣也可以加微信了解。
總結
以上是生活随笔為你收集整理的少走弯路,给3~5年程序员的唯一一条建议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVa-10341
- 下一篇: 求老板放过!我Java8还没用呢,Jav