Java程式設計師職業生涯規劃完整版:從程式設計師到CTO
查了好多資料,發現還是不全,乾脆自己整理吧,至少保證在我的做法正確的,以免誤導讀者,也是給自己做個記錄吧!
在技巧方面無論我們怎麼學習,總感覺需要晉升自已不知道自己處於什麼水平了。但如果有清晰的指示圖供參考還是非常不錯的,這樣我們清楚的知道我們大概處於那個階段和水平。
Java程式設計師
高等特性
反射、泛型、註釋符、自動裝箱和拆箱、列舉類、可變
引數、可變返回型別、增強迴圈、靜態匯入
核心程式設計
IO、多執行緒、實體類、
集合類、正則表示式、
XML和屬性檔案
圖形程式設計
AWT(Java2D/JavaSound/JMF)、Swing、SWT、JFace
網路程式設計
Applet、Socket/TCP/UDP、NIO、RMI、CORBA
Java語法基礎
類、抽象類、介面、最終類、靜態類、匿名類、外部類、異常類、編碼標準
Java開發環境
JDK、JVM、Eclipse、Linux
Java核心程式設計技巧
Java,計劃而又非常精巧的語言。學習Java,須從Java開發環境開始,到Java語法,再到Java的核心API。
1.Java開發入門:Java開發環境的安裝與使用,包含JDK命令、EclipseIDE、Linux下Java程式的開發和部署等。
2.Java語法基礎:基於JDK和Eclipse環境,停止Java核心功能開發,掌握Java面向物件的語法構成,包含類、抽象類、介面、最終類、靜態類、匿名類、外部類、異常的編寫。
3.Java核心API:基於JDK供給的類庫,掌握三大核心功能:
A。Java核心程式設計:包含Java程式設計的兩大核心功能——Java輸入/輸出流和多執行緒,以及常用的幫助類庫——實體類、集合類、正則表示式、XML和屬性檔案。
B。Java圖形程式設計:包含Sun的GUI庫AWT(Java2D、JavaSound、JMF)和Swing,IBM和GUI庫SWT和Jface;
C. Java網路程式設計:Applet元件程式設計,Socket程式設計,NIO非阻塞Socket程式設計、RMI和CORBA分散式開發。
4.Java高等特性:掌握JDK1.4、JDK5.0、JDK6.0中的Java高等特性,包含反射、泛型、註釋,以及java高等特性——自動裝箱和拆箱、列舉類、可變引數、可變返回型別、增強迴圈、靜態匯入等。
JavaEE初級軟體工程師
JSF框架開發技巧
配置檔案(頁面導航、後臺Bean)、JSF元件庫(JSF EL語言、HTML標籤、事件處置、)、JSF核心庫(格式轉換、輸入驗證、國際化)
Javaweb核心開發技巧
開發環境(Eclipse、Linux)
三大元件(JSP、JavaBean、Servlet)
擴充套件技巧(EL、JSTL、Taglib)
網頁開發技巧
HTML、XML、CSS、JavaScript、AJAX
資料庫計劃技巧
SQL、MySql、Oracle、SQLServer、JDBC
Web伺服器(Tomcat/Jetty/Resin/JBossWeb)
JavaWeb核心技巧:
JavaWeb專案開發的全過程可以分解為:
網頁開發+資料庫計劃——>JavaWeb專案開發,其中,javaWeb由6項基本技巧組成:JSP+JavaBean+Servlet+EL+JSTL+Taglib,而JSF恰是將這6種技巧停止有機結合的技巧框架:
JavaEE中級軟體工程師
四種經典架構SSH1、SSI1、SSH2、SSI2
Struts1表示層框架
入門配置、核心元件、標籤庫、國際化、資料檢驗、資料庫開發、Sitemesh整合、整合Hibernate/iBATIS
Struts2表示層框架
入門配置、核心元件、標籤庫、國際化、資料校驗、Sitemesh整合轉換器、攔截器、整合Hibernate/iBATIS
Spring業務層框架
入門配置、IoC容器、MVC、標籤庫、國際化、資料校驗、資料庫開發
Hibernate持久層框架
MySQL、Oracle、SQLServer iBATIS持久層框架
MySQL、Oracle、SQLServer
Web伺服器(Tomcat/Jetty/Resin/JBossWeb)
Java高等軟體工程師
javaWeb開源技巧與框架
工作流、
規則引擎
搜尋引擎、
快取引擎 、
任務排程、
身份認證
報表服務、
系統測試、
叢集、
負載平衡、
故障轉移
JavaWeb分散式開發技巧
JTA(Java事物管理)
JAAS(Java驗證和授權服務)
JNDI(Java定名和目錄服務)
JavaMail(Java郵件服務)
JMS(java資訊服務)
WebService(web服務)
JCA(java連線體制)
JMS(java管理體制)
應用伺服器(JBossAS/WebLogic/WebSphere)
JavaEE系統架構師
面向雲架構(COA)
COA、SaaS、網格盤算、叢集盤算、分散式盤算、雲盤算
面向資源架構(ROA)
ROA、RESI
面向web服務架構(SOA)
WebService、SOA、SCA、ESB、OSGI、EAI
Java計劃模式
創立式模式:抽象工廠/製作者/工廠方法/原型/單例
構造型模式:介面卡/橋接/組合/裝飾/表面/享元/代理
行為型模式:責任鏈/命令/直譯器/迭代子/中介者/備忘錄/觀察者/狀態/策略/模板方法/訪問者
Java與UML建模
物件圖、用例圖、元件圖、部署圖、序列圖、互動圖、活動圖、正向工程與逆向工程
CTO首席技巧官
發展戰略
技巧總監
團隊晉升
團隊建設
專案管理
產品管理
上面的更深刻的有興趣可以懂得一下,我的目標不是要大家掌握上面的知識,只是希望擴充套件自己的思維,摘自牛人的技巧部落格。
/**************************************************牛人必看*****************************************************************/
系統後臺框架:
每日一道理春蠶死去了,但留下了華貴絲綢;蝴蝶死去了,但留下了漂亮的衣裳;畫眉飛去了,但留下了美妙的歌聲;花朵凋謝了,但留下了縷縷幽香;蠟燭燃盡了,但留下一片光明;雷雨過去了,但留下了七彩霓虹。
前端工程師技能:
B2C電子商務基礎系統架構解析
運營B2C日 久,愈來愈深刻的意識到IT系統對確保標準化業務流轉,支撐消費者端的均一服務有著決定性的作用。於是,一直想好好整理下相干的系統架構,怎奈俗務纏身, 一直拖到今日,猛然發現下週娃很可能就要出身,拖無可拖,快馬加筆,居然整出來了。本文的重點是理清系統的邏輯關係,詳細的功能模組請拜見結尾附上的系統 架構圖。
首先,聊下對系統邏輯架構的意見;我個人始終保持以為,系統的開發與演化,前臺嚴厲follow消費者的購買流程,後臺則盯牢訂單流轉,牢牢抓住這兩條主線,才能高高在上的看清B2C的邏輯鏈和資料流,更深刻的規劃功能模組,從而更有效支撐實際業務的流轉。
前臺系統包含:商品展示,內容展示,訂單確認,支付系統,使用者中央四大模組
一,商品展示
按照Ebay的外部份類,任何將商品以單個或批量的方式展示給消費者的功能均應納入此係統。因此,該系統至少包含:
A,站內搜尋(搜尋提示,搜尋規則,搜尋成功頁,搜尋不成功頁,相似推薦)
B,導航(頻道導航,其他導航如銷售排行,廣告位,推薦位,文字鏈,Also buy等)
C,商品分類(品牌分類,品類分類,屬性分類如剪裁形式)
D, 登陸頁(商品列表頁,商品詳細頁,商品活動頁)
這裡的訪問邏輯是:A /B/C分流消費者去往相對個性化的頁面,由登陸頁體現商家的核心訴乞降代價傳遞,實現call-to-action的第一步。
二,內容展示
內容展示較為簡略,對純購物品牌而言包含:
A,公告區
B,幫助中央
C,論壇(如需商城與論壇發生互動,則需自行開發,否則可整合discuz做同步登陸便可)
大家都知道,就未幾說了。
三,訂單確認
訂單確認,就是幫助消費者正確提交訂單資訊的環節,看似簡略,實則非常複雜,需要對很多資訊邏輯判斷和處置,一般由2個部份組成:
A,購物車(購物車浮層,購物車頁面,無註冊購買)
無註冊購買是需要慎用的功能,除非刻意追求使用者的短平快下單,如團購/換購,一般不推薦使用,會造成系統異常複雜,開發量也很大。
B,訂單提交(返回購物車,收貨地址&地址薄,支付方式判斷,配送方式,發票,訂單標記,實付金額盤算等等)
值得一提的是,幾乎大多數的促銷邏輯運算在這個環節實現,充分考慮各種促銷方式之間的互斥與重疊是系統計劃的核心,需要充分考慮各種情況,避免湧現邏輯漏洞。
四,支付系統
與一般的設想不同,支付系統其實並不簡略等於第三方支付工具接入:
A,外部支付系統(支付寶將介面,財付通介面,網銀直聯埠,信用ka分期埠)
B,外部支付系統(賬戶餘額,積分,禮物卡,優惠券)
支付系統的邏輯計劃不但需要考慮到各種極端情況的發生(如一張訂單先用禮物卡,再用積分,最後網銀支付),還要預留財務做賬所需的相干欄位,並充分考慮訂單取消以後如何回滾各種外部賬戶。
五,使用者中央
使用者中央的實質是使用者自助功能的dashboard,一般4個部份組成:
A,註冊&登陸(倏地註冊,完整註冊,註冊有禮,推薦註冊,密碼找回,主站id登陸,open-id登陸如QQ,新浪微博等)
B,訂單中央(歷史訂單狀態,中間狀態訂單修改,物流追蹤)
C,服務中央(各種自助服務如退款請求,退換貨請求,提議與讚揚等)
D, 資訊管理(使用者基本資訊管理和賬戶資訊管理)
使用者中央的代價在於:儘可能引誘使用者自行獲得所需的資訊並提交所需的服務,在晉升服務準確率,及時性的同時下降對人工本錢。
後臺系統包含:商品&促銷,CRM,訂單處置,WMS,採購管理,財務管理,報表管理,系統設定,WA系統9大模組
一, 商品&促銷
商品&促銷模組的核心在於確保消費者下單之前,前臺內容所見即所得
A, 商品管理(品類管理,品牌管理,單品管理)
B, 促銷管理(活動管理和自定義活動模板管理)
在上述模組中,最重要的是2個部份:單品管理中的批量產品生成的自動程式和活動管理中“共享與互斥”管理。前者用於大幅晉升上新速度,後者避免促銷活動失控。
二, CRM
CRM是對B2C核心資源—會員的管理,服務與再營銷系統,包含如下部份:
A,會員管理(會員資訊的增編削查和到其他系統的連結)
B,使用者關心(條件觸發和人工觸發相干EDM & 簡訊 & OB)
C,定向營銷(會員分組和營銷活動管理)
D, 客服管理(內容非常多,整合所有需前臺與後臺互動的功能,概況還是看圖吧)
E, 呼叫中央(IVR,坐席管理,統計報表,引數傳遞與視窗嵌入)
值得注意的,EDM和簡訊通道市面上已經有成熟的外包服務商,一般都市外包;呼叫中央和線上客服自行開發本錢太高,特別是呼叫中央系統,業務初期也都是外包的。
三, 訂單處置
訂單處置是在訂單未正式進入倉儲部門處置之前,對訂單的前置性處置環節。
A,訂單錄入(電話訂購,網上下單,外部團購訂單,無金額訂單錄入如禮物單)
B,訂單稽核(自動稽核和人工稽核)
C,RMA處置(RMA請求單和RMA處置單)
RMA的邏輯也異常複雜,需要在效率和本錢之間找平衡,確保在不拖垮倉儲部門的畸形出入庫的前提下對消費者端倏地有效close工單;對外部則需要控制本錢,貨損不能超過預算上限。
四, WMS(Warehouse Management system倉庫管理系統)
WMS的流程很長,功能模組也很多,大致分為入庫管理,庫存管理,出庫管理和單子管理4個模組四個模組,細細道來就是另外一篇文章了,各位可以參考 我這篇文章:庖丁解牛—B2C倉儲外部運作解密(上,中,下)http://blog.sina.com.cn/wangxida0855
五, 採購管理
採購管理的核心是有效跟進採購合同/發票的狀態,大貨的採購入庫/退庫,財務結算和在倉庫存查詢和處置。
A,供應商管理(供應商資訊管理,合同發票管理)
B,採購單管理(PO單管理,負PO單管理)
C,庫存管理(庫存查詢,庫存佔用單,庫存變化log)
六, 財務管理
B2C的財務管理,主要是對供應商,渠道和外部費用付出的本錢控制。
A,供應商結算
B,渠道結算
C,配送結算
D, 外部結算
說實在的,哥對財務這塊也不算很懂得,大家遷就看看,圖片上有明細。
七, 報表管理
報表是B2C業務的巨集觀表示,理論上說,每個部門的KPI都應該從中找到。
A,搜尋報表(站內搜尋量查詢)
B,銷售報表(多個維度銷量查詢,優惠券使用情況,報表匯出)
C,財務報表
D, 客服報表(客服日報和坐席報表)
前者反應與消費者發生的平常互動(包含畸形與異常),後者考察客服的工作績效
E, 倉儲物流報表
這幾塊報表,是業務運作的核心,涉及到公司機密,就不能寫的太細了,見諒。
八, 系統設定
這塊大家都知道是幹嘛的,也就未幾說了,分成三塊。
A,基礎設定(和業務有關的一些欄位值)
B,許可權設定(不同賬號的操作許可權和操作記錄)
C,其他設定
九, WA系統(Web Analytcis)
網站分析系 統,幾乎滿是外購,很少有可以自建的,即使自建,最多做幾個簡略的模組。用於實戰的,要麼是免費的GA(Google Analytics),要麼是昂貴的Omniture。這塊的知識,細細說來也是另外一篇文章了,有興趣的同窗可以看我這篇科普文章:揭祕—我所知道的網 站分析(上,下)
http://blog.sina.com.cn/wangxida0855
最後,上全系統大圖,再感慨一句,B2C系統,真是一個大工程啊。
文章結束給大家分享下程式設計師的一些笑話語錄: 與女友分手兩月有餘,精神萎靡,面帶菜色。家人介紹一女孩,昨日與其相親。女孩果然漂亮,一向吝嗇的我決定破例請她吃晚飯。
選了一個蠻貴的西餐廳,點了比較貴的菜。女孩眉開眼笑,與我談得很投機。聊著聊著,她說:“我給你講個笑話吧。”“ok”
“一隻螳螂要給一隻雌蝴蝶介紹物件,見面時發現對方是隻雄蜘蛛。見面後螳螂問蝴蝶‘如何?’,‘他長的太難看了’,‘別看人家長的醜,人家還有網站呢’。”
“呵呵………”我笑。忽然她問:“你有網站嗎?”