如何成爲一名全棧工程師?

我是學計算機專業的, 在剛大學的時候,還不知道什麼是全棧,反正什麼都學。我大學關於編程學的課 程有c、彙編、linux、JavaSE、嵌入式等;css

我一直對c++很憧憬,以爲學c++都大神,在大三的時候,要三選一:c++ 、c#,、Java。不過我報課的時 候網速不行,沒報上c++,報上了java。那時候c++很搶手, 不過上課一段時間後有人就後悔了,轉了 Java或者C#。我當時也是瞭解Java入門簡單, 之後工做也好找,就安安心心的學Java了。當時是2012年 !html

大學生活老是過得很快,很充實。除了要學的編程課程, 我還看一些培訓的課程。對於新手的我,開始 是看一些基礎的視頻:如html,css3, js,jquery,Java,JavaWeb,mysql,tomcat。老師也會讓咱們
自由找幾個同窗組成一個小組,我通常都是小組長,負責基本所有的開發任務,如今想起來,當時確實 很難,雖然當時的一個bug對於如今的我來講可能不算什麼, 分分鐘就搞定,但在當時可能要弄兩天。前端

第一個小項目:盆栽商場,就一個網頁頁面,沒啥邏輯,加入購物車這樣的功能都沒有,更沒有付款雲 雲了。vue

第二個小項目:聊天室,這個算是很好的了, 有服務端,有客戶端,用swing組件寫的桌面應用,後來 代碼上傳到了百度文檔,畢業後幾年了, 還有人找到我, 問聊天室代碼的問題。服務端使用的socket 連接,一個服務端能夠連接多個客戶端, 能實現多人同時聊天,像一個羣同樣,作工很簡單。java

第三個小項目:上傳下載,我當時的目標就是把上傳下載作成一個jar包,供其它項目調用,作出來是功 能很是簡陋, 啥設計模式,接口編程思想,都浮雲。只能上傳成功到服務器,下載文件到本地。node

第四個小項目:手機通信錄,手機app端的,能夠填寫手機號碼,生日什麼的,以我當時代碼編程的水平 , 我確定不會寫, 我是根據網上的項目視頻教學,本身一行一行敲出來的。python

大學的其餘項目,可能都想不起來的,就這幾個印象最深。親歷親爲,很好的鍛鍊了個人編程能力。在 此,想對還在學校的同窗們說一句話: 代碼真的是敲出來的!mysql

大學畢業了,全棧這詞好像從那時剛剛流行,我自我感受良好, 至少比我同窗他們的編程能力高,反正 我是這麼認爲的。不過最後我同窗他們都找到工做了, 我尚未(好打臉)。react

個人前兩家公司都是小公司。第一家是在上海作了幾個項目被外派到了安徽黃山。黃山有最著名的一棵 樹:迎客鬆,我爬上去看了它兩次。jquery

在黃山,作了幾個項目,當時用的項目框架:Struts,Spring,Hibernate;使用mysql 數據庫, struts1和struts2 視頻教學都看過, 本身搭過框架,都是很基礎級別的,配置都是網上找。後來替換 到新一點的Java框架: Spring,SpringMVC,Hibernate;前端也使用了easyUI,bootstrap,layui。本身也看過less和sass的視頻。(好像如今還有stylus,技術真是層出不窮,學無止境啊。) 關於nodejs 我也看過簡單的文檔教程,本身能搞簡單的服務請求什麼的。

那些項目對於如今的我來講,只能說是鞏固了看視頻學習到的知識。沒啥技術含量,基礎卻是打的很牢 ,不過底層的源碼,設計模式,思想編程等也都是浮雲。

後來又辭職來到上海,那時是在17年,公司是創業型公司。用nodejs開發的後端,IOS、Android前端, Spring、SpringMVC、Mybatis框架的後端管理平臺。我負責後端管理平臺。

創業型公司須要的是全才,不會的要立馬學。在此我如下技術獲得了很好的提高:

linux基本命令和各類軟件的安裝(菜鳥級別的):和不少菜鳥同樣, 我開始弄服務器系統的時候,都 是windows服務器的tomcat.用的是阿里雲買的服務器(如今想一想是真的菜)。後來弄linux系統,先是使 用各類鏈接工具(目前我用的是winSCP+Putty),學習各類基本命令,找各類日誌,排查各類出錯。最 難的就是安裝,由於版本問題致使的出錯機率太大了。

nginx(域名的配置):之前也用過tomcat直接配置過域名,後來知道nginx也能夠用就學這個,技能總 是不斷迭代更新。nginx的conf配置基本都是copy來的,各類參數基本都是默認。https證書除了買, 還 能夠用Let's Encrypt免費申請(安裝Let's Encrypt可讓你遇到各類坑:python版本,nginx ssl鏈接 ,文件權限等)

nodejs(js後端服務):npm install是最難的命令,各類版本問題、模塊報錯(java的maven就很好, 能自動下載模塊,定製各類版本,如springboot相關的jar能控制默認相關jar的版本)。

mysql(備份,主從配置):之前以爲能寫sql,訪問數據庫,CRUD,萬事大吉。不過真正要本身考慮項目 的高可用、高併發、高性能、分佈式、負載均衡的時候, CRUD顯得不值一提。mysql的存儲文件, InnoDB索引,B+Tree算法,執行計劃優化。哎,太複雜了。

redis(數據緩存):redis 安裝簡單,可是運行起來後,不懂配置的話, 會遇到各類坑。最簡單的一個 :要不要序列化。咱們有個20G的應用服務器由於序列化問題,致使磁盤爆滿,程序都GG了。集羣也是一 個挑戰。

jetty(java部署,和tomcat相似):四個字:簡單實用。

svn(版本控制,還有git等):svn的安裝,分配帳戶,這些還算比較簡單,git也是自學的,如何註冊申請 也都是按照博客教程來的

vue(前端框架):提及vue,我最早知道的是angularJS,那時還不叫angular。如今還有react,真正的三 足鼎立啊。不過其餘兩個我沒學。學vue仍是一個UI的哥們啓蒙的。這個UI哥們是搞PS,設計師。他說想轉前端,一直在學習這方面的東西。公司正好要作一個單頁應用,他就弄了一個,發給我,我幫部署, 迭代什麼的,看了兩天就學會裏面的語法了, 真是比js,jquery 寫起來舒服多了,頁面渲染更輕鬆。後 來又弄elementUI、iview,感受都超容易!

到此時,也就是18年10月份。個人技術體系相信你們已經有所瞭解。再有幾天就2020年了,這段時間我 又學會了什麼技術,提升了什麼能力,請你們繼續往下看!

下面咱們來談一談全棧:

全棧英文的詞叫作:Full Stack Developer。

當我說我會前端框架vue、會前端elementUI、會後端java框架、會後端linux部署,你們都說你是 「全棧」 吧!(我心想, 我要是全棧, 我工資咋正低!)

對於這一年多來個人編程能力帶給的體會,我更喜歡這句話: 全棧不是說把本身的能力堆上去,而是你 要把本身強勢的東西給它賦能出去,讓別人具備全棧的能力。

一個政府項目:全國個個省,市,縣都用,還有一些特殊機構。這樣的項目全國不少,好比報稅系統, 全國人員系統。想一想都頭大,全國各個地方的警察天天查人員要訪問多少次?怎麼保證系統不蹦?若是項目交你來作,你能接下嗎?

我爲啥要舉這個示例呢, 就是想說,本身的能力能夠在咱們要作的項目裏面最高能夠擔任什麼角色。

好比我這種前端後端框架都會,部署上線也能夠。可是若是老闆把項目交給,我可能會拒絕,由於我還 沒學會團隊管理(雖然如今正在在方面努力)。若是你編程的時候需求改了10次8次的,不光開發編程頭疼,項目經理會更頭疼。誰不想本身的項目更穩定,交付安全可靠的產品。團隊管理在項目開發中佔了 很大的比重。

那麼此時全棧能起到什麼做用呢? 那就是先後端業務需求溝通0成本。不光是寫代碼,解決bug也是。有時候出了個bug, 前端可能推給後端訪問500,後端說前端傳參有問題,最後花費不少時間才能解決。

這時有人可能說,全棧先後端都會, 可是他沒我學的精,沒我專研的深。我以爲會的廣,真和會的深沒有太大關係。舉個簡單的例子:高中分文科理科,難道文科理科一塊兒學,學霸們還會偏科不成? 國家如今的高中教育也是在慢慢推行文科理科合併吧!

因此,全棧只是比普通的前端或者後端多了一些技能而已,僅此而已。(測試人員可能內心不舒服了,爲啥沒說測試?在我理解,沒bug要啥測試!)

雖然如此, 但我仍是提倡你們都來搞全棧。全棧的好處:

顯得更像大佬:懂得多, 解決問題快,能搞各類技術,能獨立寫各類應用,教會各類新人。
學習東西快:理解能力強,各類編程語言都大同小異,舉一反三。能快速學習各類插件,障礙很是小。
項目全局: 理解業務能力更強,實現業務代碼更快,知道技術邊界,參與項目深度更深,技術規範統一 。
bug解決快: 能迅速找到bug緣由,判斷bug類別(後臺服務,前端,服務器等),而且bug出現機率低。

爲此, 我這一年多一值在提升技術技能的深度:

java : 集合源碼,多線程,JVM虛擬機
spring:看控制反轉的實現原理,AOP;代理的實現,做用等等
springboot : 註解驅動,組件內置配置
springCloud :不只僅是大框架,運行原理,服務概念都要學
docker:鏡像,K8s
微服務註冊:Zookeeper
SQL性能調優:執行計劃,
算法 : 排序,查詢,各類樹等等吧,反轉不少要學的!

全棧目前來看就是技術會的多,所以之後的發展方向: 高級技術經理,項目需求經理;(等等經理都能作,有技術咱就是牛!)兩個方向發展基
本都沒障礙(鍵盤忽然蹦出:葬愛,難道註定沒女友?)

創業也是首選:學習能力強。技術開發更輕鬆。能夠本身接私活,本身兼職創業搞項目。

最後附上論語的開篇:
    子曰:「

   學而時習之,不亦說乎?
   有朋自遠方來,不亦樂乎?
  人不知而不慍,不亦君子乎?「

(相信你們是否是不少人都不認識 「慍」 是啥了:yun4 怨恨)

 

 

版權聲明: 本文有 ```...襉簞點 發表於博客園

轉載聲明: 可自由轉載、引用,但須要屬名做者且註明文章出處。

個站連接: https://www.bloghome.com.cn/user/yysblog

 

原文出處:https://www.cnblogs.com/yysbolg/p/12111610.html

相關文章
相關標籤/搜索