文章出處

完全轉到互聯網行業來之后,就一直在讀書,內容都是計算機領域的,除了讀書還看視頻,是關于計算機基礎理論課的,應用方面的就不看視頻了,太貧太慢,不如文檔來得快。看書也盡量挑進階一點的,比如書名包含“性能”、“進階”、“設計模式”、“算法”,其實這些對一個互聯網領域的熟練工來說,應該也是標配了。看這些書的目的就是為了讓自己更專業,能夠解決更多的問題,寫代碼寫得更明白。

換到新公司這幾個月以來,除了覺得自己要惡補知識之外,有兩點讓自己非常慶幸,一是原來在大公司的經歷讓自己已經足夠職業了,清楚地知道工作對于自己的意義,原來也是工程師,我發現在軟件開發領域,工程化的思維也很重要。二是原來的基礎打的還可以,HTML、CSS、JavaScript、服務器端開發、關系型數據庫等,雖然原來是寫asp.net、Rails,但是現在寫Node.js,以往的經驗也可以復用,舉個簡單的例子:對http的理解。

回到正題,努力成長為一只全棧工程師。根據我的理解,全棧工程師應該能夠解決從后端到用戶端的一切問題,其中包括且不僅限于開發、產品定位、用戶體驗,至于商務問題需不需要全棧工程師考慮,那這個需要看實際情況,如果你是自己出來創業,當然需要考慮了(你看扎克伯格)。

針對這個話題寫一篇文章,是因為最近看了一本叫做《全棧工程師的自我修養》的書,書里主要講了全棧工程師需要具備的能力以及職業發展。這本書是一個騰訊的前端工程師寫的,5年的工作經驗略顯單薄,基本上當雞湯來讀,但是也撈到了不少干貨。讀完這本書之后并沒有非常強的feel,然后就開始啃一本叫做《構建高性能web站點》的書,才開始體會到全棧工程師是多么重要。畢竟一個互聯網產品,前端后端通盤考慮,才能實現最大程度的優化。前端領域的響應式web設計,除了需要具備編程能力還需要有設計能力。寫angular程序,除了需要會前端之外,如果能和后端的Restful API一起通盤考慮,想必能夠更好的協同,如果再將靜態資源放在一個單獨的CDN上,體驗或許能更好一些。

以上是全棧開發的好處,但是全棧開發可能會面臨一些問題,那就是貪多嚼不爛,而且我本人也不希望自己成為一個基礎薄弱的野生程序員。所以暫時將自己的活動范圍稍微限制一下,那就是B/S產品的全棧工程師,克制自己先不去碰觸Native APP開發領域。再收攏一點,就是JavaScript B/S產品全棧工程師,也就是后端暫時全用node寫,但是不排斥用ngnix發布靜態資源。下面給自己列一個知識范圍,供自己查閱:

0、基礎理論:操作系統、組成原理、計算機網絡、數據結構和算法、軟件設計模式、敏捷軟件開發(TDD)

1、back-end:UbuntuServer、ngnix(靜態資源)、node.js(暴露API)、服務器端性能優化;

[按需學習node c++ addon或一門靜態后端編程語言]

2、DB:MySQL、Mongodb、Redis、ElasticSearch、一種主流MQ、FireBase、一種大數據分析的工具(hadoop或storm或spark)

[DB方面的東西看需求,看時間。越靠前優先級越高。]

3、front-end:HTML、CSS、js(dom)、jQuery、BootStrap、AngularJS1.*、hybrid(ionic)、前端工程化的工具(sass、glup、webpack)、移動端適配

[AngularJS2.0、React系列體驗過幾次,并不喜歡,暫時不列入]

 

就到這里,留著給自己看。

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()