從碼農到架構師,如何才能成長為技術領導者呢?

江聰德


從事軟件開發16個年頭了,也是從最開始什麼都不懂,到現在都什麼都懂些,而且有了自己深耕、擅長的領域,我認為成為架構師不是不可能的、甚至都不是什麼難事,直接從我自己成長曆程來說吧。

最開始工作時候,自認不是什麼聰明人,但性格開朗、對於新知識有強烈好奇心,剛開始工作也不是太忙,因為公司重要的工作也不會讓菜鳥來做。偏偏自己總是喜歡毛遂自薦、主動請纓來做事情,搞不定的就加班加點找資料、跟前輩請教,過程中發現基礎知識薄弱,就把當時公司附近華儲和大松書店關於Java的書利用吃飯空暇、週末時間都看過不止一遍,知識跟工作實踐相結合、加上自己研究工作相關的新技術,慢慢的2年後技術相對優勢開始體現出來了,在自己工作第一年下半年就開始負責項目,第二年就開始帶新人,帶新人的過程中,教學相長。項目是最好的老師,項目開發實戰中爬過很多坑,慢慢開始有意識把知識、技能形成體系,不再盲目擴展知識面、開始聚焦,同時對工具、文檔分類整理,當時公司的技術框架由自己負責來完善,過程中也是收益匪淺。

後來總是做項目開發、現場開發,技術沒有太大成長空間,因公司特殊性質也沒有太好的發展空間,自己又很喜歡技術、想去做產品,但是公司沒有做產品的氛圍、整體運營模式也不是產品和技術型公司,當然這些是後來才慢慢想清楚的,當時只是想去看看外面的世界怎樣做的。於是去了另外一個專門做產品和技術創業型公司,在研發部1年多後,然後參與研發部、技術部聯合主導的產品方案驗證項目,對如何做產品、如何做產品驗證有了清晰的認知,跟研發部同事相互學習過程中,也彌補很多的短板。後來自己想了解產品的價值是如何呈現的,也應公司調整作為技術經理轉技術售前,參與個別項目的售前。由於創業公司靠譜商機其實蠻少的,很多都是老大自己親自出馬搞定,期間也跟老大一起出去做過售前,也獨自做過售前,但是相對來說機會偏少,坐冷板凳的時間很多,工作時間相對寬裕,自己對開發平臺、流程平臺、服務總線、門戶平臺做了很多研究,下班以及週末時間做開源,寫出開發平臺的框架、流程平臺的框架,其中,流程平臺就是採用開發平臺來開發,過程中對開發平臺進行驗證和消缺。曾經試圖把自己研發的開發平臺、流程平臺用於公司,但公司聚焦主要只做服務總線,我這邊研究的東西跟公司現有的產品、架構體系存在衝突,只做邊角料,而且自己已經不在研發部了,如果強推的話,有不務正業之嫌。

2010年末希望有更多的機會夯實技術、學習產品方案,去了當時業界還是比較出名的平臺類公司,在區域中心做高級技術顧問、技術總監,負責售前、大項目交付工作,期間做了大量的售前工作,而且在負責的項目中主推ESB + Portal + 擴展開發的產品組合,收到了很好的效果,甚至在全公司內部推廣該模式,期間跟研發人員多次溝通交互,也學習很多東西,對 ESB服務總線、門戶平臺Portal從方案層面、實施落地層面都有了深刻認知。但產品固有的缺陷不能快速滿足項目的實施需要,就開始在項目中做擴展開發來滿足需求,追求更多的靈活性,在兩個項目結束後發現基本上已經把核心和大部分框架功能都重寫了。2013年區域中心發生很大的變化,需要赴京去工作,家人強烈反對,最後2013年提出離職。

十年磨一劍!工作10年,便一直把自己當作一柄劍來磨礪,現在很清晰的知道自己要做什麼,雖然前途不清楚,但是很樂觀。全民創業、大眾創新時代來了,不能再磨了,開始了自己技術創業生涯。在創立公司之前用了三個月時間來閉關修煉,把積累的ESB服務總線、Portal門戶平臺、DP開發平臺開發封裝、包裝,三個月快過完了時候剛好項目就來了,跟朋友的公司一起接了這一單,產品不要錢、只要一個驗證機會,保住最低成本即可。然後現招人、培訓項目人員,以前傳幫帶大量實踐發揮起作用,以及基於平臺來做項目快捷很多,在3個月後完成項目藍圖,收到款之後2014年初成立數通暢聯,自己做CTO,也是老闆,終於有一個立足點,雖然很小、很不起眼,但是公司成立之初已經有三款產品了。後來到了公司的發展階段,考慮事情就更多了,從產品家族、產品體系、如何相互組合支撐、如何優化,如何在項目中以最佳方式落地、公司運營、市場營銷、團隊如何建設等。

經歷這些公司、這些事,轉眼已到不惑之年,我認為不管是哪個方向,只要往上走肯定能夠進步,如果想要成為架構師,涉獵更多知識、專攻特定領域是必須;掌握良好學習、總結方法,以開放的心態,積極與人溝通交流、碰撞,尤其珍惜與高人交流的機會;堅持實踐編碼、提高技術能力、在過程中把握節奏、不要試圖一口吃成胖子,一步一個腳印、閉環思維提高自己的短板。在正確的道路上、用正確的方法、把別人喝咖啡的時間都用來修煉,且過程中不斷調整優化,那麼上帝也擋不住你前進的步伐!


數通暢聯


對於程序員來說,要想通過自己的努力一步一步成長為技術領導者,需要具備以下幾個條件:

第一:紮實的基礎知識。程序設計說到底就是個數學問題,所以要想在程序設計這條路上走得更遠,一定要具備紮實的數學基礎。另外在產業互聯網發展的大背景下,軟硬件結合將是一個重要的發展趨勢,在這種情況下,物理知識對於程序員來說也是比較重要的。總之,基礎知識的厚度往往能夠決定程序員的成長高度。

第二:健全的知識結構。隨著互聯網的不斷髮展,眾多技術的融合程度進一步提升,前後端開發的界限也在逐漸模糊,這就要求程序員具備健全的知識結構。程序員的知識結構既包括操作系統、計算機網絡、數據庫、算法設計、數據結構、編程語言等基礎內容,也包括具體崗位的專業知識,比如大數據知識、物聯網知識等等。

第三:較強的學習能力。學習能力對於程序員的職業發展來說是非常關鍵的,程序員不僅要通過崗位來提升自身的研發能力,也要有較強的自主學習能力,能通過自主學習完成一些新技術的掌握,同時能夠把這些新技術應用到工作崗位中。自主學習能力是突破職場發展瓶頸的關鍵,所以培養自主學習能力是非常重要的。

第四:工作環境有研發氛圍。工作崗位和工作環境對於程序員的提升有重要的影響,如果研發團隊中有能力較強的技術負責人,那麼對於程序員的成長來說會有巨大的幫助,也會形成一個比較好的研發氛圍。在互聯網科技領域,一個優秀的團隊往往能人才倍出,其中一個關鍵因素就是有較好的研發氛圍,程序員在這樣的研發氛圍中能夠持續獲得提高,並不斷做出新的成果。

第五:善於交流並具備總結能力。交流對於程序員的成長來說也是比較關鍵的,互聯網領域技術更迭速度比較快,通過有效的交流能夠節省大量的學習時間,對於架構師來說更是如此。因此,要想成長為技術領導者,一定要培養自己的交流能力。

第六:對技術發展方向有自己的見解。技術領導者不僅要有較強的技術能力,也要具備一定的預見能力,能夠對未來的技術發展方向做出自己的判斷,同時能夠形成一個較為完整的方案。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續在頭條寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網方面的問題,也可以諮詢我,謝謝!


IT人劉俊明


成為一個技術領導者,你只會某一個語言是肯定不行的。你需要至少掌握你們公司所使用的後端語言以及前端語言。

OK,你在技術上已經沒有問題了,我們再來討論如何成為一個技術領導。

要有通盤的技術方案制定<strong>能力。

比如後端技術選型,你可以確定用 Java 還是 Python 或者其他,並且對於技術選型後的結果,有充足的解決問題的能力。一般新手工程師沒有能力自己搭建構架,這個時候需要你來搭建構架。

比如前段技術選型,大家爭論是用 vue 還是 react ,你可以一錘定音,老子開發就用 jQuery!

要有解決任何技術難題的能力。

方案定出來之後,開發團隊中的成員並不一定都對你確定的技術選型瞭然於心,因此不可避免的會遇到各種開發問題。這時,你要有解決任何技術難題的能力。如果只會告訴開發人員,自己搜索去,肯定是不能勝任技術領導崗位的。

要有掌握解決問題方法的能力。

上面說了,你要能夠解決問題。但是說實話,解決問題的能力並不是特別重要,因為你不可能全能全知。最重要的是掌握解決問題的方法的能力。注意,是方法,而不是具體的知識。

遇到了任何技術難點,你都有一套解決方法,利用你的方法,能夠順利的解決各種技術問題。

要有強大的學習能力。

一個剛剛走上技術領導崗位的人,可能會在很多方面都不是很瞭解。但是,隨著時間的推移,你需要學習的內容會越來越多。比如,一開始你們的項目只是採用 java 開發,你只會 java 就可以了。但是此時公司交接過來一個php 的項目,你不會php,沒關係,需要你再一天之內掌握php語言的基本開發。你必須掌握這個能力。

你會問,怎麼可能?

是的,普通的開發者當然不可能,作為一個技術領導,這是必須的技能。而這重要的也是方法。只有當你掌握了多門語言之後,你才能掌握這種快速學習新語言新知識的能力。

最後,技術領導不好當,但是如果能夠當上,並且勝任的話,你的技術提升是飛躍性的。比如我,用半個月的時間掌握了python語言,並用此開發了一套web基礎框架。(我只是前端主管)

因為你再從事普通開發崗位的時候,根本不可能給你太多的時間去學習。而作為技術領導,你有充足的時間和資源來學習各種新的知識。因為,這就是你的工作。

以上文字只是我的個人觀點,如果各位看官有不同的觀點歡迎在評論區中留言討論。


FungLeo


首先看到這個問題,自己有切身體會。也是一步一步走過來的。

1.首先是定位:定位不準可能走很多彎路,建議是後端為主,前端必會(可以不精通,但是公司有需要必須能頂替“前端的坑”),80%技術+20%管理(不建議過多管理)

2.每一個環節可能會花費很長的時間去突破,但是重要的必須是恆心


3.第三點:說下我的個人經歷希望對你有所幫助。1-5年工作一直懷著管理的夢,但是還是以技術為主,之後轉為架構師,有更多的時間去學習技術,後來受限於公司發展問題,離職跳槽,轉為管理型 開發經理(兼架構師)的崗位,雖然開始已經管理,但是不會放棄技術,一直在不斷的拓展自己(比如視頻錄課,寫一些博文,幫助更多的人)。因為我們目標需要更長遠些,CTO?公司創始人?不管怎麼自己喜歡的就是最好的。

End:

有太多的話題要聊,如果感興趣可以私聊,有些事三天三夜也講不完,最後祝您早日成為技術領導者。加油!加油!


架構師速成記


每個公司,每個團隊,甚至於每一個業務領域,都有一個技術領導者。專家,架構師,CTO等不同的級別,技術領導者就有不同水平。



你所見到的技術領導者,你心目中的技術領導者,又是怎樣的呢?

我認為,技術領導者,具有以下本領:基礎理論紮實,知識體系豐富,學習能力強,知識轉換落地能力強,善於表達和交流,善於歸納和總結,善於指引和覆盤。最閃亮的地方是,對舊技術有再生能力,對新技術有獨到悟解。



如何才能成為技術領導者?又學又用,又用又學,把工作當作事業來做,拿出當年高考的拼勁,並持之以恆,堅持量變到質變。不要低估知識的力量,不要只會重複經驗。很多人不看書不學習,一種經驗重複很多年,最後只能平庸,最多充其量是一個團隊的專家,但並不屬於領域或行業專家。



謝謝大家。


嵌入式軟件少帥


除了工作做好,最可能的路徑是做多和想多。也就是先自己把自己任命為架構師,在工作的各方面以架構的角色去想去做,補齊自己的短板,抽出空餘時間針對性學習以及免費勞動。


羊叔兒童編程


領先同行的創造力


伯俊軟件


拿出高中那種學習幹勁,拼命鑽研幾年後有可能


分享到:


相關文章: