1. 程式人生 > >軟體開發的打怪升級攻略

軟體開發的打怪升級攻略

       通過對軟體開發中的工作事務與微技能進行評估和分級,可以清晰地理解工作構成、評估當前水平、定位下一步發展的方向和思路。

       核心技能: 技術、程式設計、交流、合作、公眾表達、規劃、執行。
       兩個維度: 開拓新的領域; 分享已完成的成果。

        難度係數 *** 1  (新手上路)
        1.  完成頁面測試;
        2.  編寫簡明的文件;
        3.  能夠理解基本業務;
        4.  日常普通的交流;
        5.  下載所需要的軟體和工具;
        6.  完成簡單的指令碼實現臨時需求;


        難度係數 *** 2  (亦步亦趨)

        1.  完成一個帶命令列引數的實用指令碼小工具;
        2.  完成一個函式或方法的單測;
        3.  完成一個服務介面的測試用例;
        4.  使用函式來結構化程式的組織;
        5.  使用陣列、集合、列表、對映等容器來組織程式的資料;
        6.  使用系統API或庫函式來操作檔案與目錄;  
        7.  學會使用工作中需要用到的軟體與工具;
        8.  搭建軟體開發環境,解決其中遇到的困難;
        9.  編譯和執行應用,部署應用執行的伺服器環境;

        難度係數 *** 3 (初出茅廬)

        1.  自己動手實現基本資料結構(陣列、連結串列、棧、佇列、二叉樹、點陣圖)的基本操作;
        2.  自己動手實現基本演算法(排序、查詢、選擇、分治、遞迴、對映、過濾、聚合、動態規劃);
        3.  完成一個小改動需求,小的 bugfix 或功能優化,含測試;  
        4.  編寫指令碼實現軟體開發環境的自動化搭建;
        5.  學習和理解業務並梳理成文件;
        6.  繪製業務流程圖、思維導圖等;
        7.  理解小組成員的想法和構思,比較順暢與小組成員交流;
        8.  聆聽和理解產品需求並能和產品同學好好說話;
        9.  參加分享時預先準備, 會上做個發言或提問;

        難度係數 *** 4 (初露鋒芒 - 初級工程師)

        1.  權衡優先順序,進行一天的工作內容規劃;
        2.  總結業務、專案與學習實踐心得,部落格分享贏得讀者;
        3.  實現有難度的資料結構的演算法,比如B+樹程式設計;
        4.  能夠排查普通或略偏難度的問題或BUG;
        5.  能夠編寫實用而健壯的監控指令碼或資料訂正指令碼;
        6.  學習和使用設計模式來改善面向物件程式的結構;
        7.  編寫實用而得當的業務文件、專案文件;
        8.  有能力與團隊成員就技術工程議題進行交流討論並發表見解;
        9.  能夠理解比較複雜的業務並將其分解為可以規劃和實施的子業務;
      10.  理解專案管理方法並能適當調節個人活動與專案總體進度保持同步;
      11.  理解產品設計與開發要點並能有效實現;
      12.  理解和完成前後端元件的互動、前後端團隊的協作;   
      13.  適宜地傳送私人郵件和公眾郵件表達個人意見;
      14.  使用通訊工具簡潔地私人答覆和公開表達想法;
      15.  組織團建、預定會議室並主持團隊週會;
     
        難度係數 *** 5 (風雨兼程 - 中級工程師)
        1.  實現複雜結構的程式設計, 複雜結構可能是List, Map 巢狀的複合結構,或者圖結構;
        2.  實現含演算法的綜合程式設計, 比如迷宮回溯(含GUI); 
        3.  實現併發非同步的程式設計, 比如 Ajax 程式設計, 併發實現詞典的單詞統計計數;
        4.  實現針對特定需求的可擴充套件的微框架的設計與實現;
        5.  編寫測試框架和測試用例,實現可重複自動化測試;
        6.  理解分散式系統的整體架構設計,並完成普通業務開發;
        7.  對程式碼質量有比較深入的理解,能夠堅持良好的程式設計風格;
        8.  完成一項需求的概要設計和詳細設計(含資料庫設計);
        9.  繪製子系統或子模組的整體框架圖或架構設計圖;
      10.  完成一項之前沒有做過的技術工程工作,比如線上大流量服務分流;
      11.  能夠排查比較深層次的業務方面的問題和BUG並進行修復;
      12.  確保負責的子系統的釋出平滑完成;
      13.  參與和完成跨團隊中型專案的開發,並參與第一次凌晨釋出;
      14.  研究一個模組的原始碼實現;
      15.  快速學習和應用一門新技術,比如HBase ;       
      16.  能夠說服和邀請團隊成員加入自己開展的專案;
      17.  理解、研究和討論一項重要議題,並在會議上做出適當的發言;
      18.  能夠在較小範圍公眾場合鎮定地演示自己的工作成果;
      19.  完成一次良好的晉升面試; 
      20.  對一個業務主題做仔細的調研,並完成專案立項工作;
      21.  對一箇中型需求做仔細的設計,並邀請團隊成員進行設計評審;
      22.  在團隊中分享在學習工作中掌握的新思想、新技術、新成果;
      23.  規劃個人的季度總體目標及實施計劃;
      24.  執行個人的季度總體目標及實施計劃; 

        難度係數 *** 6  (激流勇進 - 高階工程師)
        1.  主導完成一箇中型需求的開發,涉及需求理解、詳細設計與實現、聯調溝通、測試部署、線上運維等綜合技能;
        2.  實現分散式系統下的複雜業務開發,涉及事務、併發控制等;
        3.  完成中大型跨團隊專案的開發與合作;
        4.  獨立負責一箇中小系統的日常開發與維護工作;
        5.  深入到系統底層或框架內部細節排查細微的問題或BUG;
        6.  評估多個子應用或服務之間的依賴關係並保證無故障同步升級釋出;
        7.  對系統的業務與模型進行抽象和解耦,實現可擴充套件和可維護的設計; 
        8.  繪製應用的整體框架圖或架構設計圖,從整體上思考問題的解決;
        9.  理解和把握公司、部門、團隊的總體目標及方向;
      10.  規劃個人的年總體目標及實施計劃;
      11.  執行個人的年總體目標及實施計劃;
      12.  規劃小組的整體圖景和方向;
      13.  執行小組的整體圖景和方向;
      14.  指導初級工程師完成日常技術工作創造貢獻; 
      15.  創造性地使用新方法解決問題改善工作效率;
      16.  完成普通專案的技術選型;
      17.  推進跨團隊事務的如期完成;
      18.  流暢地與團隊成員、TL、管理層進行交流和彙報;

        難度係數 *** 7 ( 劈波斬浪 - 專家,基層管理 )
        1.   主導完成一個獨立子業務的服務化遷移;
        2.   主導完成一個獨立子系統的重構;
        3.   有影響力地演示團隊的工作成果與公司的品牌形象;
        4.   善於從整體上思考問題的解決方案並形成考慮周全的開放方案;
        5.   組建精悍團隊來做有意義的專案或產品;
        6.   規劃跨業務團隊的總體目標及實施計劃;
        7.   帶領小組成員實現季度、年規劃目標;
        8.  為重大專案做技術選型、架構設計或技術諮詢;
        9.   指導中高階工程師做出優秀的工作成果和貢獻;
      10.   在某個專業技術領域發揮著突出的技能和貢獻;
      11.   綜合運用知識、技能、經驗、直覺等完成技術難題的攻克,比如交易引擎的設計與開發;   
      12.   綜合運用知識、技能、經驗、直覺等創造性地改善團隊生產效率,比如自動化生成測試;

        難度係數 *** 8 (飄浪江湖 - 架構師,中層管理)
        1.  分析市場發展動向和競爭同行動態並形成業界認可的參考價值高的報告;
        2.  分析國家政策變化及行業發展變化並形成業界認可的參考價值高的報告;
        3.  塑造個人的行業影響力併為公司帶來有益影響;
        4.  會晤某高層人士洽談合作事宜;
        5.  為跨業務團隊大型專案做架構設計或技術諮詢;
        6.  領導部門團隊成員實現部門季度、年規劃目標;  
        7.  持續領導部門級的發展戰略和實施計劃的執行;

        難度係數 *** 9  (霧裡看花 - 參謀長, CXO)
        1.  實現跨部門的季度、年規劃目標;
        2.  持續領導跨部門的發展戰略和實施計劃的執行;

        難度係數 *** 10 (不歸之路 - 創始人)
        1.  實現整個組織的季度、年、長遠規劃目標;
        2.  持續領導整個組織完成有意義的季度、年度目標,併為社會承擔企業責任;
        3.  實現組織的持續盈利模式;
        4.  吸引和說服投資者持續投資;