親愛的小伙伴:
你好,我是黃Sir,一名在技術(shù)領(lǐng)域從業(yè)15年的IT老兵,從剛走入企業(yè)的一名程序員到央企的研發(fā)經(jīng)理再到互聯(lián)網(wǎng)上市公司CTO,直到現(xiàn)在自己創(chuàng)業(yè)做CEO,一路走來對技術(shù)人員的成長和發(fā)展有了越來越多的感悟。
看到了很多技術(shù)研發(fā)人員長期從事著重復(fù)且沒有太多技術(shù)含量的工作,整日都在被繁重的業(yè)務(wù)需求壓的喘不過氣,每日通過體力勞動(dòng)和加班來獲取自己生活的保障以及微弱的加薪晉級機(jī)會(huì),更不要談自己的生活和個(gè)人情感規(guī)劃了,對于大家來說996和日漸稀少的發(fā)絲才是標(biāo)配,連想要升職加薪的想法都慢慢變得微弱,甚至已經(jīng)向生活妥協(xié)。
從新兵蛋子走向研發(fā)負(fù)責(zé)人的成長史
想起十幾年前的自己剛剛從學(xué)校畢業(yè)走向工作崗位,也是壯志滿懷,希望通過努力改變自己的人生,確實(shí)我也做到了,但非常辛苦……
記得當(dāng)時(shí)自己所在的項(xiàng)目是一個(gè)在甲方現(xiàn)場研發(fā)的項(xiàng)目,主要業(yè)務(wù)方向是金融行業(yè)(請大家不要對號入座,這里只談我自己的成長感受),項(xiàng)目組常年保持在50人以上的團(tuán)隊(duì),作為一個(gè)年輕程序員非常憧憬成為研發(fā)經(jīng)理,研發(fā)總監(jiān),但在這樣一個(gè)團(tuán)隊(duì)里,如何才能脫穎而出呢?
尤其是在這樣一個(gè)研發(fā)環(huán)境和研發(fā)技術(shù)要求以穩(wěn)定為主的傳統(tǒng)行業(yè)里則顯的更加困難,每一個(gè)程序開發(fā)人員都只是一個(gè)螺絲釘,即便你轉(zhuǎn)的再快也無法使整個(gè)環(huán)境發(fā)生改變,這種狀態(tài)也是現(xiàn)在剛進(jìn)入工作的程序員的一個(gè)普遍工作狀態(tài),雖有工作熱情,但能力和經(jīng)驗(yàn)不足,是難堪大任的,想要成長和提升也不會(huì)再像學(xué)校里有老師不厭其煩的教導(dǎo),學(xué)習(xí)資料也沒有現(xiàn)在互聯(lián)網(wǎng)上這么豐富,可這些都阻擋不了一顆想要努力向上的心。
沒人教,沒地方學(xué)那就自己努力,每天在完成了自己工作的前提下,不斷了解其他模塊的業(yè)務(wù)邏輯和代碼架構(gòu)及相關(guān)技術(shù),每天下班后在工作學(xué)習(xí)到深夜,有的時(shí)候甚至到晚上凌晨2點(diǎn),周末休息也會(huì)主動(dòng)到公司加班,在這樣半年的持續(xù)努力下,我的職業(yè)生涯終于進(jìn)入了快車道,兩年時(shí)間從程序員升級為高級軟件工程師,再升級為研發(fā)主管,研發(fā)經(jīng)理,研發(fā)總監(jiān),但這一路走來期間的辛苦只有自己知道,我想看到這篇文章的你們?nèi)绻@個(gè)時(shí)候也在努力改變自己的人生軌跡,個(gè)中滋味只有自己能體會(huì)到。
多年后離開了這個(gè)項(xiàng)目,偶然有一次和我們集團(tuán)副總裁吃飯時(shí)無意間聊起,為什么當(dāng)時(shí)會(huì)給予我這樣快速成長的機(jī)會(huì),我們副總一席話讓我很有感觸。
他說不論是晚上還是周末,只要到甲方現(xiàn)場,都能看到我認(rèn)真編寫或閱讀代碼的身影(我當(dāng)時(shí)的工位恰巧背對門口,進(jìn)入辦公室我這里是必經(jīng)之路),那份沉沁在代碼世界的認(rèn)真非常感動(dòng)他,他愿意把機(jī)會(huì)給到這樣一個(gè)努力的年輕人,即便他現(xiàn)在技術(shù)能力和管理能力都比較弱,但沖著這份認(rèn)真和持之以恒,肯定能做好。
從我們副總裁的話語中我悟出了一個(gè)道理,當(dāng)你有能力的時(shí)候,只要認(rèn)真就一定有機(jī)會(huì)從人群中凸顯出來,而能力不足就得靠幾倍甚至幾十倍的認(rèn)真和努力才能獲得上升空間的機(jī)會(huì),但也需要少許運(yùn)氣,如果我當(dāng)時(shí)的工位恰巧不是背對門口而是在公司的一個(gè)不顯眼的角落,可能我的人生際遇就會(huì)改寫也未可知。
離開舒適區(qū),投身互聯(lián)網(wǎng)浪潮
在傳統(tǒng)軟件行業(yè)努力工作幾年后,發(fā)現(xiàn)互聯(lián)網(wǎng)行業(yè)的蓬勃發(fā)展一定是以后軟件發(fā)展的方向,毅然決然的投入到一家互聯(lián)網(wǎng)創(chuàng)業(yè)公司中去,短短一年時(shí)間將技術(shù)研發(fā)能力薄弱的公司研發(fā)團(tuán)隊(duì)帶領(lǐng)成為在相應(yīng)領(lǐng)域數(shù)一數(shù)二的研發(fā)團(tuán)隊(duì)。
回望公司業(yè)務(wù)剛剛開始起步,我初到公司開始進(jìn)行系統(tǒng)重構(gòu),一開始C端系統(tǒng)、管理系統(tǒng)、數(shù)據(jù)庫都放在一臺服務(wù)器上,沒有進(jìn)行運(yùn)維監(jiān)控和版本發(fā)布管理,對于系統(tǒng)的穩(wěn)定和健康運(yùn)行既無法監(jiān)控也無法獲取系統(tǒng)的負(fù)載狀況,對于沒有什么用戶流量來說是不會(huì)出現(xiàn)大問題的,但隨著用戶量增加,后臺業(yè)務(wù)報(bào)表復(fù)雜度提升,系統(tǒng)就頻繁出現(xiàn)502、503的錯(cuò)誤:
而原研發(fā)主管卻置若罔聞,總認(rèn)為自己的系統(tǒng)代碼沒有問題,但系統(tǒng)已經(jīng)到了非常脆弱的地步,連我們自己訪問都可以點(diǎn)出502、503的錯(cuò)誤來,BOSS經(jīng)常在辦公室里大喊系統(tǒng)又502了,而當(dāng)時(shí)的研發(fā)人員卻都對現(xiàn)狀已經(jīng)麻木,我就是在這樣一個(gè)狀態(tài)下臨危受命,快速分析定位問題,首先發(fā)現(xiàn)所有應(yīng)用都在一個(gè)服務(wù)器上部署,業(yè)務(wù)間耦合度非常高,這就是個(gè)典型的單一應(yīng)用,系統(tǒng)非常脆弱,需要盡快解耦并進(jìn)行服務(wù)化改造,我做了以下八項(xiàng)措施:
1、將應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)分離并單獨(dú)部署;
2、對MySQL數(shù)據(jù)庫進(jìn)行主從服務(wù)設(shè)置,將應(yīng)用進(jìn)行讀寫業(yè)務(wù)分離;
3、將應(yīng)用服務(wù)進(jìn)行無狀態(tài)化改造并進(jìn)行分布式負(fù)載均衡,支持柔性擴(kuò)展;
4、對應(yīng)用服務(wù)進(jìn)行改造,基礎(chǔ)業(yè)務(wù)下沉,做服務(wù)隔離;
5、進(jìn)行數(shù)據(jù)緩存架構(gòu)設(shè)計(jì),并將緩存服務(wù)化;
6、所用業(yè)務(wù)以及服務(wù)系統(tǒng)進(jìn)行集群化設(shè)置并保證服務(wù)一致性;
7、進(jìn)行關(guān)鍵時(shí)刻流量控制、服務(wù)降級設(shè)計(jì),確保主服務(wù)穩(wěn)定;
8、對各項(xiàng)服務(wù)進(jìn)行線上監(jiān)控和運(yùn)行時(shí)檢測確保服務(wù)穩(wěn)定。
我當(dāng)時(shí)梳理的我公司跨境電商系統(tǒng)的應(yīng)用構(gòu)架,大家可以參考
我通過上面的優(yōu)化和改造后服務(wù)終于穩(wěn)定下來并能支撐單日過億的用戶訪問,服務(wù)上百個(gè)國家(我們目前的跨境電商解決方案已經(jīng)服務(wù)了來自全球140多個(gè)國家的用戶,包含美國、中國、南非、加拿大、印度、菲律賓、墨西哥、澳大利亞、德國、西班牙、大不列顛聯(lián)合王國、秘魯、以色列、法國、韓國、智利等國家。)
雖然結(jié)果達(dá)到了預(yù)期,但在歷時(shí)一年多的實(shí)施過程中確實(shí)發(fā)現(xiàn)了很多問題,各服務(wù)集群參數(shù)配置的問題,服務(wù)一致性的問題,數(shù)據(jù)多級緩存后更新不同步的問題等,其中一方面原因是對相關(guān)技術(shù)在生產(chǎn)環(huán)境應(yīng)用中缺乏經(jīng)驗(yàn)導(dǎo)致,但總結(jié)下來更多的是研發(fā)人員知識結(jié)構(gòu)體系單一,缺乏對復(fù)雜問題分析解決的能力。
獲得認(rèn)可到自我實(shí)現(xiàn),成為企業(yè)布道師
在當(dāng)今這個(gè)互聯(lián)網(wǎng)時(shí)代下,想要系統(tǒng)能夠穩(wěn)定健康的運(yùn)行并提供高可用的服務(wù)就要面對高并發(fā)大流量的所有問題,而現(xiàn)在大部分的技術(shù)研發(fā)人員僅具備基本的業(yè)務(wù)開發(fā)能力,僅是實(shí)現(xiàn)業(yè)務(wù)功能的CURD,而互聯(lián)網(wǎng)企業(yè)不是傳統(tǒng)軟件公司,他要面對的不是簡單的業(yè)務(wù)需求。
而是巨大用戶量的并發(fā)訪問壓力及頻繁復(fù)雜多變的業(yè)務(wù)需求,這個(gè)時(shí)候努力工作、加班僅僅是完成業(yè)務(wù)需求多變帶來的工作壓力,根本沒有機(jī)會(huì)也沒有方法去掌握互聯(lián)網(wǎng)的技術(shù)架構(gòu)和相應(yīng)研發(fā)解決方案。最后就變成我前面所說的996和日漸稀少的發(fā)絲標(biāo)配了。
通過我的努力,公司系統(tǒng)已非常穩(wěn)定,業(yè)務(wù)發(fā)展的也越來越好,業(yè)務(wù)不斷壯大,需要更多的技術(shù)負(fù)責(zé)人去架構(gòu)和實(shí)現(xiàn)新的業(yè)務(wù)系統(tǒng),從這個(gè)時(shí)候開始我就從一名架構(gòu)師演變成了一名幫助技術(shù)人員成長的布道師。
把我的經(jīng)驗(yàn)和技術(shù)總結(jié)出來幫助這些工作不久或在系統(tǒng)架構(gòu)方面有著濃厚興趣和工作向往的同事,也正是由于我對知識總結(jié)的系統(tǒng)化和講授過程的授業(yè)解惑,大家都親切的叫我黃老師,至此這個(gè)稱呼一直伴隨至今,我也收獲了人生自我價(jià)值的實(shí)現(xiàn),在一線城市也把房子從80平換成了200平,車子也換成了特斯拉Model X(PS:其實(shí)是為了不限號),我培養(yǎng)的員工也從普通研發(fā)人員晉升為架構(gòu)師,研發(fā)經(jīng)理,跳槽到其他公司的年薪平均漲幅都在10萬左右。
看到別人因自己成功,收獲巨大幸福感
而對于現(xiàn)在創(chuàng)業(yè)的我,更是將過去這些年總結(jié)的方法和經(jīng)驗(yàn)進(jìn)行了更系統(tǒng)的歸納和提升,不僅僅希望幫助公司內(nèi)部的同事,也想將我這些年總結(jié)的知識分享給大家,讓大家從中受益。
對于技術(shù)研發(fā)人員,成長最快的黃金階段往往是剛參加工作的第2-5年這個(gè)階段,這個(gè)階段如果抓住成長和學(xué)習(xí)的機(jī)會(huì)單從薪資上來講平均每年就有10萬以上的漲幅,可是大家在這個(gè)時(shí)候又在做什么呢?我上面已經(jīng)講到了,做著重復(fù)而沒有創(chuàng)造性的工作。
在過去的幾年里由于我所在的企業(yè)隨著跨境電商市場的不斷發(fā)展,企業(yè)迅速壯大,由最初服務(wù)幾個(gè)國家到服務(wù)近百國家,項(xiàng)目也在不斷的涌現(xiàn),需要大量的系統(tǒng)架構(gòu)人才,就這樣開始帶領(lǐng)和培養(yǎng)技術(shù)人員成長,由于項(xiàng)目時(shí)間都非常緊張,從而總結(jié)了一套行之有效的培養(yǎng)方式,使得很多初中級技術(shù)人員一下邁入了系統(tǒng)架構(gòu)人才的行列,平均年薪至少漲幅了10萬。
這些技術(shù)人員經(jīng)過我的培養(yǎng)和帶領(lǐng)不僅薪資得到了很大的提升,工作效率也得到了明顯的提高,之前996的工作方式也在自身能力提升后得到了改善,不僅自己的個(gè)人生活得以改善,感情生活也得到了充實(shí),更不可思議的是這些同事通過合理的工作安排和規(guī)劃能夠不需要加班就能完成平時(shí)的工作,晚上和家人就有很多時(shí)間留給自己和家人,陪老婆、陪男/女朋友、陪孩子,使自己在工作和生活之間做到更好的平衡。
想要收獲更多就要先學(xué)會(huì)努力付出
如果上面我講的這些是你夢寐以求的目標(biāo),接下來的信息將會(huì)令你心潮澎湃!經(jīng)過我這些年的研究證實(shí):
1、幾乎任何技術(shù)研發(fā)人員都可以做到;
2、快速提升技術(shù)水平;
3、高效完成工作目標(biāo);
4、告別996的工作時(shí)間。
幾乎現(xiàn)在所有的互聯(lián)網(wǎng)公司都常常996工作,而大部分的技術(shù)研發(fā)從業(yè)者,并沒有充分發(fā)揮他們的能力去改變這一現(xiàn)狀,在這些年中,團(tuán)隊(duì)中很多人通過我的方法,快速提升了技術(shù)水平,薪水也得到了進(jìn)一步提升,但是在公司之外,我并沒有讓更多人掌握這個(gè)能力。
為了解決這一困境,更為了讓技術(shù)人互相幫助,共同成長這一目標(biāo),我決定親自培養(yǎng)、親自輔導(dǎo)、親自打造一支基于Java的《支撐單日過億的用戶訪問系統(tǒng)研發(fā)架構(gòu)特戰(zhàn)隊(duì)》。這樣的特戰(zhàn)隊(duì)員,在3個(gè)月時(shí)間內(nèi),快速掌握系統(tǒng)架構(gòu)大部分核心技術(shù),快速提升工作效率,進(jìn)入BAT、TMD等前20名的互聯(lián)網(wǎng)公司,擁有別人羨慕的年薪,擁有更大的發(fā)展空間。
我將這支在中國技術(shù)領(lǐng)域獨(dú)一無二的特戰(zhàn)隊(duì)命名為《Java高級架構(gòu)師商業(yè)項(xiàng)目解決方案成長營 — 飛天一期》,為了確保高的職業(yè)操守和技術(shù)水準(zhǔn),每一位被選中的成員都必須接受下面嚴(yán)格的訓(xùn)練:
第一項(xiàng)訓(xùn)練
精準(zhǔn)訓(xùn)練和掌握編程之道
編程核心思維
不是所有的技術(shù)都是時(shí)間累積可以實(shí)現(xiàn)提升的,也不是所有的技術(shù)都是反復(fù)流水線一樣的重復(fù)就可以提升。一旦陷入了代碼搬磚模式,你不僅勞心費(fèi)神,工作效率低下,而且無法滿足公司的產(chǎn)品需求。在這一項(xiàng)訓(xùn)練中,我訓(xùn)練你掌握什么樣的編程思維,什么樣的分析和解決問題的方法可以讓你工作效率大幅度提升。算法、數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)模式這些基礎(chǔ)內(nèi)功不僅僅能提升你的邏輯思維和底層架構(gòu)能力,還能在面試和筆試中幫你加很多分。
第二項(xiàng)訓(xùn)練
系統(tǒng)化訓(xùn)練和掌握系統(tǒng)架構(gòu)
設(shè)計(jì)思想和方法
這個(gè)世界上沒有最好的系統(tǒng)架構(gòu)設(shè)計(jì),只有最適合的系統(tǒng)架構(gòu)設(shè)計(jì),但是否能設(shè)計(jì)出適合業(yè)務(wù)發(fā)展需要的系統(tǒng)架構(gòu),這就需要系統(tǒng)化的掌握架構(gòu)設(shè)計(jì)的能力,在這個(gè)部分,將從一下幾個(gè)部分對架構(gòu)設(shè)計(jì)能力進(jìn)行強(qiáng)化訓(xùn)練。
1、系統(tǒng)架構(gòu)的目標(biāo):高可用性、高可擴(kuò)展性、低成本、多快好?。?/p>
2、系統(tǒng)架構(gòu)的原則:單一原則、DID原則、N+1原則、功能可開關(guān)、版本可回退等;
3、架構(gòu)設(shè)計(jì)組成的關(guān)鍵點(diǎn):業(yè)務(wù)架構(gòu)、應(yīng)用架構(gòu)、數(shù)據(jù)架構(gòu)、技術(shù)架構(gòu);
4、系統(tǒng)架構(gòu)設(shè)計(jì)的演進(jìn)方式;
5、在資源有限的情況下如何進(jìn)行架構(gòu)設(shè)計(jì);
6、系統(tǒng)架構(gòu)設(shè)計(jì)如何和項(xiàng)目管理進(jìn)行關(guān)聯(lián)并取得相應(yīng)的平衡。
第三項(xiàng)訓(xùn)練
結(jié)合企業(yè)真實(shí)場景,自己獨(dú)立設(shè)計(jì)
一套系統(tǒng)架構(gòu)并進(jìn)行架構(gòu)演進(jìn)
可能你之前也了解過一些系統(tǒng)架構(gòu)知識,也知道系統(tǒng)架構(gòu)的一些關(guān)鍵事項(xiàng),但看的再多都不如從實(shí)踐中獲得真知。這部分講根據(jù)企業(yè)的真實(shí)業(yè)務(wù)場景訓(xùn)練大家從業(yè)務(wù)架構(gòu)、應(yīng)用架構(gòu)、數(shù)據(jù)架構(gòu)、技術(shù)架構(gòu)這幾個(gè)方面進(jìn)行入手,全面掌握系統(tǒng)架構(gòu)的能力,主要從以下幾個(gè)方面進(jìn)行強(qiáng)化訓(xùn)練:
1、系統(tǒng)業(yè)務(wù)服務(wù)設(shè)計(jì)、隔離、基礎(chǔ)服務(wù)下沉;
2、系統(tǒng)數(shù)據(jù)模型、數(shù)據(jù)對象的設(shè)計(jì)、數(shù)據(jù)表設(shè)計(jì)、數(shù)據(jù)庫應(yīng)用架構(gòu)設(shè)計(jì);
3、研發(fā)代碼架構(gòu)及系統(tǒng)分層和接口服務(wù)設(shè)計(jì);
4、服務(wù)一致性設(shè)計(jì)、以及中間件選型和應(yīng)用:
5、系統(tǒng)緩存架構(gòu)設(shè)計(jì);
6、各服務(wù)系統(tǒng)緩存服務(wù)設(shè)計(jì);
7、系統(tǒng)自動(dòng)化運(yùn)維部署架構(gòu)設(shè)計(jì);
8、系統(tǒng)防止惡意攻擊的預(yù)案設(shè)計(jì)等。
第四項(xiàng)訓(xùn)練
深入架構(gòu)進(jìn)行各個(gè)環(huán)節(jié)的功能
代碼及部署實(shí)現(xiàn)
對于系統(tǒng)架構(gòu)師,不僅能運(yùn)籌帷幄設(shè)計(jì)系統(tǒng)整體的架構(gòu)和系統(tǒng)演進(jìn)路線,更能夠?qū)崿F(xiàn)具體的業(yè)務(wù)功能代碼和服務(wù)部署,否則架構(gòu)中存在的問題就無法提前預(yù)知和規(guī)避了,在這個(gè)部分講訓(xùn)練對具體業(yè)務(wù)實(shí)施和中間件使用的能力,確保遇到具體技術(shù)問題也能夠及時(shí)有效的解決,這里將對以下架構(gòu)中需要使用到的中間件和具體技術(shù)進(jìn)行掌握:
1、數(shù)據(jù)庫讀寫分離、數(shù)據(jù)庫索引及數(shù)據(jù)庫運(yùn)行調(diào)優(yōu);
2、Maven使用、Nginx負(fù)載均衡、CDN使用;
3、Quartz、消息隊(duì)列RabbitMQ、Redis集群、Solr搜索引擎集群、zookeeper、Docker+Jenkins;
4、域名HTTPS安全證書安裝、Jemter等中間件的掌握和使用。
第五項(xiàng)訓(xùn)練
刻意練習(xí),提升綜合能力
技術(shù)人員的綜合提升,不是僅僅完成現(xiàn)有的工作,一遍遍的重復(fù),這樣很容易陷入低水平重復(fù)的誤區(qū),還應(yīng)該刻意做一些訓(xùn)練。我們會(huì)對以下幾個(gè)方面對學(xué)生提出要求,對以下方面進(jìn)行【刻意練習(xí)】,不斷突破自己的舒適區(qū),提升自己綜合能力,在職場上進(jìn)步。
【刻意練習(xí)1】代碼:每個(gè)人必須要有g(shù)ithub賬號,按時(shí)提交作業(yè)代碼,代碼review。
【刻意練習(xí)2】寫作:每周一篇技術(shù)周報(bào)、總結(jié)近一周自己的工作學(xué)習(xí)所獲,寫文章是梳理技術(shù)知識的最佳途徑。
【刻意練習(xí)3】講解:很多人職場上受限的原因是因?yàn)椴粔騩pen ,無法表達(dá)自己的思路,進(jìn)而就無法跟優(yōu)秀的人交流,這個(gè)往往是技術(shù)人員忽略的地方,本課程要求每人每月提交至少30分鐘的對某一技術(shù)點(diǎn)的講解視頻。
你必須知道,《Java高級架構(gòu)師商業(yè)項(xiàng)目解決方案成長營 》計(jì)劃不會(huì)向所有人開放,參與者必須符合以下條件:
1、你必須熱愛編程,并具備奮斗者精神
2、你必須擁有1年以上的Java開發(fā)工作或?qū)W習(xí)經(jīng)驗(yàn)
3、你必須愿意每周投入10小時(shí)以上進(jìn)行學(xué)習(xí)和實(shí)踐
4、你必須具有很強(qiáng)的執(zhí)行力,愿意聽從我的建議,和成長營隊(duì)友一起成長
5、你每周必須寫一篇學(xué)習(xí)或工作的技術(shù)文章(方向不限)
6、你必須有強(qiáng)烈的加薪加薪10萬-20萬以上以上以及升職的動(dòng)力和愿望
學(xué)習(xí)可以私信我哦,一起來成長!