前言
我們都有一個共同的夢想——成為更棒的程式員,但是如何做?如何學習和精進自己的技術?如何做業務分析和架構設計?如何做技術管理?本文就廣大程式員都很關注的問題提供一些思路和方法,
不想當工程師的程式員不是好民工,會編程不代表會作業,工程能力包含軟硬技能,面向的是實際應用,從程式員變為工程師,得先“入門”,然后才是“上道”,從而成為“工型人才”,有人作業幾年還沒入門,只會簡單開發;有人開發技能嫻熟,卻找不到進一步成長的路徑,陷入迷茫之中;更有不少人自詡為IT精英,卻不了解行業格局、發展趨勢,很快就遇到職業發展瓶頸,蹉跎了歲月,虛度了青春,
在我看來,好的程式員應該是“工型人才”,所謂“工型”,是指從下到上的能力提升程序,具體來說,就是先要具備完成完整應用的能力,包括:線上運維,成為熟手,這是下面的一橫;在某些領域足夠深入,成為高手,這是中間的一豎;在達到更高的水平之后,兼通很多領域,比如業務、產品、專案管理、測驗、運維、團隊組織,成為驅動者和領導者,這是上面的一橫,
每個人的成長都是不斷打怪升級的程序,既要掌握技術和工具,又要學習方法和理論、積累實戰經驗,更要思考和沉淀,先進技術只是工具,最終目標是解決問題,經驗豐富的工程師就像MMA(MixedMartial Arts,綜合格斗)高手,精通綜合技巧,活學活用,不拘泥于流派,在勇猛、精進之外,踏實、靠譜更為重要,踏實,是有自己的方向,知道差距;靠譜,是能把活兒干好,值得大家信賴,大家都樂于和你合作,放心把有挑戰的任務交給你,

本文匯聚了多位資深技術老炮兒壓箱底的傍身秘技,兼顧軟硬技能,貫通了程式員從基礎到進階再到突破的各個階段,道出了成長的真諦,更手把手地指引我們前行,有道是“師傅領進門,修行在個人”,徘徊在門外或者迷茫在路口的新同學,從此不必再上下求索、苦苦尋覓,一文在手,夫復何求?
希望你能通過本文,提升程式員的大局觀,在成為“工型人才”的路上邁出堅實的一步,并穿越眾妙之門,通達三千世界,
目錄

主要內容
本文內容分為三大篇:第1篇介紹程式員的技能成長路徑,介紹如何通過學習來加速成長,并講解非常重要的業務分析和設計知識;
第1章程式員技能與成長;時至今日,所言非虛,PC 早已廣泛普及,智能手機、iPad 和智能終端已經“飛入尋常百姓家”,計算機課程教育雖然與時俱進,但離實際的企業應用還有很大的距離,仍有大量的內容需要在企業的專案、產品中進行實踐,比如代碼規范、軟體測驗、軟體除錯方法等,
本文大部分作者從業十多年,經歷了從程式員到架構師,再到 TL、公司總監的轉變,相信本書的內容會讓讀者有所受益,

第2章加速成長與學會學習;為什么要談持續學習這個話題?因為知識總是會過時的,比知識更重要的是思維方式;另外,大部分人的聰明程度相差不大,有足夠的練習和實踐是必需的,終身學習才是成功者的必備法寶,

第3章業務分析與設計;業務分析指應用特定的方式或方法,把復雜的需求拆解成簡單且容易理解的物件,并找出這些物件之間的關系,業務分析也是系統開發中最重要、最困難的階段,只有依據業務分析的結果,運用合理的思想和方法,才能設計出理想的系統架構,如圖所示,業務分析與設計是程式員進階時要具備的最重要的能力,是從產品需求到編碼實作的重要手段,


第2篇詳細介紹了架構修煉中的必備架構思維模式、架構設計程序,還通過真實案例剖析了架構設計的核心要素及關注點,以及如何通過架構設計來把控質量和風險;
第4章架構思維;軟體架構是一個系統的草圖,描述了組成架構的組件及各個組件之間的關系,組件和環境之間的關系,以及設計組件的原則,組件可以是子系統、模塊、類、方法等,
架構設計是架構決策的程序,涉及系統分解、介面定義、通信協議定義、互動關系和集成方式確定,架構決策指在架構設計中統籌全域并做出決定、權衡和取舍,比如將系統拆分為幾個子系統,子系統的職責是什么,子系統之間如何互動,如何呼叫和采用什么集成機制,使用什么開發語言和技術框架,

第5章架構設計;在架構設計程序中,我們會根據需要做出不同的架構設計,而在設計時需要涉及一定的架構設計核心要素,
架構設計是從業務需求到系統實作的一個轉換,是對需求進一步深入分析的程序,用于確定系統中物體與物體的關系,以及物體的形式與功能,架構可根據從業務需求到系統實作的不同需要分為:業務架構、應用架構、資料架構、技術架構,

第6章架構的保障:質量與風險;
6.1內建質量體系
6.2從黑天鵝事件到墨菲定律
6.3軟體質量穩定性之殤
6.4從康威定律和技術債看研發
6.5求解質量嫡
6.6踩過的坑和經驗總結
6.7故障復盤流程及模板
6.8監控與告警
6.9應急處置

第3篇總結了做技術管理的訣竅,揭秘如何從準備做技術管理到實作自我管理再到實作團隊管理,
第7章為成為技術主管做準備;筆者在這個行業里面耕耘 10 年有余,在跟年輕朋友交流的時候,很多朋友都會問筆者一個問題:“我用什么方法才能成為像我主管那樣的人?”
這個問題回答起來有點尷尬,因為很難用只言片語說清楚應該用什么樣的既定方法去實作,“主管”這個人設被賦予了大量的標簽和職能,其修煉并非一朝一夕即可完成,與其自身的思考深度及機遇也有很大關系,筆者思考良久,決定記錄并分享自己的成長,希望對朋友們有所幫助,

第8章從自我管理轉為管理團隊;敏捷大師琳達·瑞思(Linda Rising)是變革模式(FearlessChange Pattern)的提出者,她曾說過:“我提出的這些變革模式的確看起來非常直白,但是直白絕不意味著簡單,我努力在做的,就是讓大家不但能夠理解這些模式,還能夠應用這些模式,”
程式員需要突破技術桎梏,在帶人和帶團隊上不斷成長,這似乎看起來也非常直白,卻做起來絕對不簡單,
俗話說,學而優則仕,在如雨后春筍般出現的各互聯網和軟體公司中,有越來越多的技術達人因為在技術上的優異表現,晉升為技術團隊的管理者和領導者,這也被人們戲稱為“編而優則仕”,然而,對于這些技術達人來說,從單槍匹馬的個人貢獻者突然被提拔為一呼百應的技術團隊領導者時,隨之而來的,除了興奮,還有各種困惑和不適“癥狀”,因為,對于技術專家而言,在大多情況下做好自我管理就可以取得成功;而對于團隊管理者而言,把一個隊伍帶好,注定是超越自我管理的挑戰,
接下來就從對什么是領導力的追問開始,一步步探究技術團隊管理者從自我管理到帶好團隊這一轉變的背后,到底需要怎樣的能力支撐,

這份【程式員的三門課:技術精進、架構修煉、管理探秘】共有336頁,需要完整版的朋友可以轉發此文關注小編,掃碼來獲取!!

總結
程式員的作業是將從現實或者虛擬世界中抽象出來的邏輯以代碼的形式實作,需要凝神靜氣才能完成一段有質量的代碼,但不得不承認的是,程式員這個職業在很大程度上是吃青春飯的,如何充分把握自己的青春年華做一名優秀程式員?如何為未來的職業發展打下良好基礎?這是每個程式員都應該認真思考的問題,
非常遺憾的是,程式員這個職業所需要的知識、技能和經驗,并不能完全從學校獲得,更多地來自作業實踐,
本文系統且循序漸進地介紹了如何從菜鳥程式員成為高級研發人員或者架構師,以及如何積累知識和經驗成為技術管理者,對于程式員在編碼程序中需要用到的工具、模式、測驗、溝通和架構知識,作者也給出了親身實戰經驗總結,
本文應該成為程式員的案頭手冊,對程式員的快速成長意義重大,讀了本文,相當于同老一代程式員深入交談,他們也把自己的酸甜苦辣、成功與挫折、心得與秘密悄悄地告訴了你,這不僅僅建立了你的大局觀,也讓你有機會有贏在起跑線上,
希望本文能夠幫助到大家一步步成為架構師,不斷地提升自己的技術深度和廣度,讓自己變得更加有價值,也希望本文能夠得到大家的喜歡!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/224313.html
標籤:其他
上一篇:基于TLC5615芯片的DDS波形發生器(FPGA)
下一篇:為啥大齡程式員不選擇自己創業呢?
