努力成長爲一隻全棧工程師

徹底轉到互聯網行業來以後,就一直在讀書,內容都是計算機領域的,除了讀書還看視頻,是關於計算機基礎理論課的,應用方面的就不看視頻了,太貧太慢,不如文檔來得快。看書也儘可能挑進階一點的,好比書名包含「性能」、「進階」、「設計模式」、「算法」,其實這些對一個互聯網領域的熟練工來講,應該也是標配了。看這些書的目的就是爲了讓本身更專業,可以解決更多的問題,寫代碼寫得更明白。前端

換到新公司這幾個月以來,除了以爲本身要惡補知識以外,有兩點讓本身很是慶幸,一是原來在大公司的經歷讓本身已經足夠職業了,清楚地知道工做對於本身的意義,原來也是工程師,我發如今軟件開發領域,工程化的思惟也很重要。二是原來的基礎打的還能夠,HTML、CSS、JavaScript、服務器端開發、關係型數據庫等,雖然原來是寫asp.net、Rails,可是如今寫Node.js,以往的經驗也能夠複用,舉個簡單的例子:對http的理解。node

回到正題,努力成長爲一隻全棧工程師。根據個人理解,全棧工程師應該可以解決從後端到用戶端的一切問題,其中包括且不只限於開發、產品定位、用戶體驗,至於商務問題需不須要全棧工程師考慮,那這個須要看實際狀況,若是你是本身出來創業,固然須要考慮了(你看扎克伯格)。webpack

針對這個話題寫一篇文章,是由於最近看了一本叫作《全棧工程師的自我修養》的書,書裏主要講了全棧工程師須要具有的能力以及職業發展。這本書是一個騰訊的前端工程師寫的,5年的工做經驗略顯單薄,基本上當雞湯來讀,可是也撈到了很多幹貨。讀完這本書以後並無很是強的feel,而後就開始啃一本叫作《構建高性能web站點》的書,纔開始體會到全棧工程師是多麼重要。畢竟一個互聯網產品,前端後端通盤考慮,才能實現最大程度的優化。前端領域的響應式web設計,除了須要具有編程能力還須要有設計能力。寫angular程序,除了須要會前端以外,若是能和後端的Restful API一塊兒通盤考慮,想必可以更好的協同,若是再將靜態資源放在一個單獨的CDN上,體驗或許能更好一些。c++

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

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

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

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

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

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

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

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

 

就到這裏,留着給本身看。

相關文章
相關標籤/搜索