寫給想學和在學編程的你們,學習編程的7個好處

寫給想學和在學編程的你們,學習編程的7個好處
你們有沒有這種經歷?親戚或者愛人甚至是不做技術的朋友,看到我們屏幕上的小括號{},大括號[],還有一大堆的技術英文單詞privatepublicfunction等等,都會驚歎一句“你寫的是什麼呀?太可怕了,全是英文看不懂。”或者“做個程序員是不是需要英語很好的呀?太難了!” 其實當真正學習編程和做起程序員來一切並沒有那麼的可怕,也並不需要英語有多厲害。不信的小夥伴可以問問身邊大多數的程序員,問問他們剛開始學編程的時候英語是不是很好,估計得到的大部分答案都是:“沒有哈,不是的哈”。

當然,如果你英語比較好,在編程的路上確實是會給你帶來一定的優勢。我們可以這麼去想,會英語的看代碼就等同於會是在看一本書一樣,函數名,方法名其實都在描述這個代碼是在做什麼的。自然理解起來的時候就不需要很費勁了。加上學習新的技術和原汁原味的技術時,都會需要看國外的文章和文檔,這些基本都是英文。但是不會英語也一樣可以學好編程,也一樣可以成爲一名優秀的程序員。甚至在學編程的路上,你的英語也會有所提升。

其實選擇學編程是能改變人生的。可能起初很多人學編程,報了一個編程培訓班,爲了就是能拿到更高的工資或者有更好的工作環境。最後堅持着堅持着,最後會發現編程還會給我們帶來很多個人能力和技能上的提升。


三鑽分割線

「一」什麼是編程?

什麼是編程?

想開始學習編程或者堅持學習編程,我們首先要知道什麼是編程?做編程的開發者是做什麼的?這個行業是否合適自己?— 做爲程序員,開發者和編程工程師,對外行人來說我們跟TA們說我們這些職稱,基本TA們腦海裏都會出現一個在修電腦或者修手機的我們。還會來一句“噢噢,做IT的呀?改天過來幫我看看我的電腦,開不了機了。”

在TA們的腦海裏就出現了這麼一個畫面 🤔:

在TA們的腦海裏就出現了這麼一個畫面

程序員是什麼?

我們用一個能讓大家都懂的方式解說程序員做的編程工作到底是什麼:

如果現在我們需要一把劍,那我們就會找造劍的工匠。 同等現在我們要做一個手機APP,一個網頁系統,一個軟件或者一個電腦工具,打造這些的工匠就是程序員。


🌟簡單的說“程序員和開發者就是打造軟件或者互聯網產品的工匠,我們的材料就是全英文的代碼,我們的工具就是代碼編輯器(IDE)

這樣說外行人應該就懂程序員,開發者,軟件工程師是個什麼鬼玩意了。


前端和後端又是什麼?

好奇的人還會問,“聽說開發還分後端和前端,那後端前端又有區別呢?” — 好問題呀童鞋,這個真的讓人難以解說了。不過不用怕,給大家兩例子讓0技術基礎的TA們都能聽的明明白白。

後端解說例子:

後端寫的程序就是一個貨物倉庫中工作人員的指揮部。來倉庫找材料的人需要10萬個“外科口罩”。這個時候指揮部先找到這個口罩在倉庫的具體座標,然後會發出指令告訴倉庫工作人員去到某一個地區的貨架,第二排找到這口罩,最後搬過來給到需求方。


轉化爲技術專業名詞:

  • 找貨物的人 — 就是調用後端接口拿數據的一方
  • 倉庫指揮部 — 後端編寫的程序
  • 倉庫 — 就是保存資料信息的數據庫
  • 倉庫的貨物 — 就是數據庫裏面的數據

前端解說例子:

如果後端操控存放貨物的倉庫,那前端就是建築師,前端主要的工作是建立店鋪和裝修店鋪,然後從倉庫獲取貨物到店鋪中展示。一個店鋪中貨物必須分類擺放,有條理,好看纔會有人買。所以前端還會規整貨物,讓貨物分類擺放,同時讓客戶容易找到還好看的舒服感,自然就會有更多的客人來店購物。


轉化爲技術專業名詞:

  • 店鋪 — 就是前端打造的頁面
  • 建立店鋪和裝修的材料 — 就是前端頁面排版
  • 店鋪中的貨物 — 就是後端給予前端的數據
  • 取貨 — 就是前端請求後端獲取數據

還有比較常見的兩個方向,前端和後端。當然編程還有很多方向,比如“算法工程師”,“運維工程師”,“測試工程師” 等等。這裏我就不一一細說了。有需要了解其他的可以在評論區給我留言。

我們需要了解清楚什麼是編程,開發者們做的是什麼。程序員用編程打造軟件產品的工匠,給人類帶來更便捷的工具與平臺。讓我們可以通過手機,電腦加互聯網來自動化,系統化,智能化的完成我們的工作或者溝通。甚至可以高效提高很多行業中工作的效率,解決很多繁雜的操作和任務。還可以給我們帶來信息快速傳播和展示的作用。每個程序員都有一個夢想:“用代碼改變生活,用代碼改變世界!”

三鑽分割線

「二」學編程的好處

學編程的好處
學習編程其實沒有想象中那麼難,但是也並非一條容易的道路。在學習編程的過程中最困難的就是動力和堅持。一開始學習的時候我們會很感興趣,每做出一個小功能後會感到非常有成就感。可是當我們越學越多,越學越難之後我們會開始覺得枯燥無味。一個問題或者一個難題可能都要好幾個小時,甚至是一天兩天才得以解決。所以不論是我們在學習之前還是在學習中工作中,我們都要有發自內心的熱愛和動力。

所以我們需要找到我們學習編程的好處,我們能得到什麼,能改變什麼。這樣我們的毅力和動力才能得以持續維持。我希望通過接下來的分析,能給到感興趣但是也不是很有動力的童鞋開始學習編程,在學習編程中有點迷茫的童鞋更能堅持下來,更加熱愛這一條道路!


1. 擁有把想法轉化成應用的魔法

擁有把想法轉化成應用的魔法
做爲一個程序員,最有成就感的一件事情就是能把一些想法,一些有趣的點子通過編程把它們轉化爲應用。一個可以操作、可以體驗和可以幫助很多人的應用。但是如果我們不懂編程,我們就只能找技術來幫助你實現。但是開發成本太昂貴了,最終就選擇放棄。

估計大家在這個互聯網時代中,每天日復一日的生活中,都會有那麼一瞬間覺得 “有那麼一個APP,那麼一個平臺,我們做某一件事就會方便多少,就會簡單多少” 。但是我們不懂編程,不懂技術,無法去實現,所以到了最後我們就會與這個很好的想法擦肩而過了。也許當過了幾個月後,就會發現有人做出了這麼個應用,和你當時想的是一摸一樣的,就會開始覺得,“誒,如果我能自己做,現在看到的這個應用就是寫上了我的簽名,在改變大家生活和人生的人就是我了”。

在現實中,如果要一個想法落實到生產出應用也絕非易事。人在大腦構思出來的想法,要表達出來給到產品經理整理邏輯,轉化成原型。然後通過原型還需要UI設計師轉化成設計稿,最終到開發者手上再理解一才能真正開始研發。但是多少想法在這個過程中被人與人之間的溝通,傳達,理解所被丟失的細節呢?所以最終做出來的產品往往不是完完全全和一開始構思的一摸一樣。

其實很多開發者都是在這個研發流水線中的一員,研發部沒有了產品,沒有UI設計,前端就無法排版,後端就無法研發。不知道大家有沒有留意大廠或者是國外的開發者。很多前端都是懂UI,懂設計理念,甚至是兩者兼備的。然後後端都是懂前端,起碼有前端知識的基礎。爲什麼呢?因爲一個想法經過越少的人,就會丟失越少的信息。這樣做出來的產品才能與當初想的越貼切。當然,如果研發中心的每個部門的人都是牛人,必然能打造很好的產品的。但是中小型的公司的人員能力參差不齊,在我以前待過的中小型公司的老闆都是天天跟着產品,設計和開發的屁股盯着。就怕最終產品走了樣。

俗話說的好“如果你想心想事成,最好的方法是自力更生”。也是因爲這樣我也走上了全棧開發之路。產品,設計,前端,後端和運維都專研了一遍。

當然做爲專研一個技術領域的開發人員也能做出很好的產品。比如說博客,個人網站,excel處理程序,春節搶票工具等等。多少這些提高我們工作和生活的產品都是開發者自己在日常生活或者工作中,想避免一些繁雜的事情做出來的工具或者應用。

但是如果我們不懂編程,就只能依賴於別人。“因爲懂編程,我們的想象力可以是我們的創造力”


2. 擁有強大的學習能力

擁有強大的學習能力
編程的世界是一個高速發展和變化的環境,也與星空一樣知識是無邊無際的。今日的編程實現方式與5年前的來相比,已經是截然不同了。每天每個編程的語言與TA們的框架都在升級迭代中。

我們無法學會所有編程語言或者技術棧,不過我們是可以在某幾個編程領域中發光發亮。只要我們堅持,專研,深度學習一門技術,我們必定會變成這一方面的專家。

在編程的世界裏,我們會找到很多可以學習和成長的空間。無邊無際的知識海洋,就算一門語言我們學到了TA的巔峯境界,我們還可以去突破TA,或者選擇再學習多一門語言來提升我們自己的研發能力。所以在這種高速發展的技術領域中,我們的大腦的會被各種技術的知識開闊我們的很多思維。

給大家講一個我的經歷:

我入行編程事業的時候沒有現在的前後端分離,後端是需要和前端混編的,而且一開始在中小型企業也沒有完善的產品部,設計部,研發部。所以對於前端的知識還是需要懂的。我進入的第一家公司,沒有產品經理,沒有UI設計師,沒有前端工程師,研發部就我一個人。一進入公司項目老大就跟我說,要我一個月做一個物流管理系統(ERP),並且要實現:商品管理,訂單管理,進銷存管理。然後商品和訂單,需要與淘寶,天貓和京東對接上,可以實時同步。從產品的需求整理,溝通到設計和研發都是我一個人在弄。

年少輕狂的我,畢竟是交代下來的工作,那就是一個字“幹”!從不懂什麼叫ERP,到了解商品管理,多規格SKU,訂單狀態流,入庫出庫單到學會對接第三方平臺訂單。一路過來有無數個不眠夜,無數個在寫着寫着代碼就昏睡過去幾分鐘的經歷。不止需要學懂業務,還需要自己排版,自己提升自己前端的能力。這個過程說長不長,說短不短,一個月我獨立完成了商品體系,訂單體系,進銷存體系,訂單同步完成了80%左右。(後面公司招到了更多的開發,最後與4個開發者一起完成了這個系統。隨後還做了客戶管理系統 — CRM)

說實話這個過程我有無數遍想過放棄和辭職,但是我出去又有什麼本事去更好的公司呢?我當時的技術能力一文不值,去一個好的公司根本就是妄想。咬咬牙齒就繼續堅持下來了。

一點都不誇張的說,當時基本每天上班18-20個小時,眯眼就大概2-4個小時。但是事後,我發現自己學習能力,適應能力,抗壓能力各方面都得到了飛躍性的提升。在我往後的技術生涯中有了很多幫助。當然我並不建議大家都進入這種玩命的公司來快速學習和成長。畢竟當時的我是被逼無奈。

在我的這段經歷出來後,我感覺自己脫胎換骨,對於技術的熱愛半點不減,反而發現不停的學習和成長非常重要。過了那麼多年後還在學習和成長的路上。

不知不覺在編程的領域中,會發現我們的學習能力會得到不斷的提升,因爲我們每天都在學習和成長。而我們的未來還有無邊無際的知識海洋在等着我們。


3. 編程提升邏輯思維和分析的能力

編程提升邏輯思維和分析的能力
編程就是用邏輯思考能力把問題分解成一個個小問題,逐個突破。也是用分析能力把功能和任務分解成一個個小任務,然後小步快跑的去快速完成。

邏輯思維能力

在編程中我們會遇到很多問題,並且需要我們一個個的去解決。解決困難,解決問題是做爲一個開發者必備的技能。大到技術架構,解決業務場景帶來的難度和邏輯複雜度,小到解決系統中的問題和缺陷,使用邏輯思維去排查和修復漏洞。

在每天的工作中開發者都是會面對各種各樣的問題和困難,長年累月每一個開發者都會養成解決問題的能手。漸漸的我們會有各式各樣解決問題的辦法。一個我們經常用的口訣“先思考,後百度,再求助”。(個人推薦用Google,更容易找到精準的答案)

也是因爲日常的不斷鍛鍊和思考,讓我養成一種邏輯思維來解決問題。每一個問題都會建立一套一套的邏輯思維方式和方法來解決。比如系統中的一個問題出現了,一個資深的開發者,瞬間就可以定位到問題並且給出解決方案。其中最重要的一個點是因爲資深開發者長年累月的經驗,還有就是熟悉解決問題的排查方法,一套高效快速的方法。

分析能力

作爲一名開發者,每天都需要分析需求,功能,難題等等。分析、整理和思考都是每日的家常便飯。

當一個需求到手的時候,開發者需要去分析裏面的功能,把功能分解成一個個小塊來進行設計,給出對應的實現方案。同時也需要我們去分析裏面新增,修改,優化的功能對現有架構,功能和體系存在的影響和難度。最後定製出解決方案或者實現方案。

除了需要分析需求,我們還需要去分析每個功能或者業務的流程和邏輯。比如一個系統中的登陸流程大概就是:
登陸流程
經過編程的長期鍛鍊,我們的思維會發生改變,遇到每一件事情或者事物,我們都會解刨分析。比如講到車,我們首先會把車分解成一塊塊來分析,引擎,輪軸,車胎和油箱等等,然後深度分析每一部分的作用和邏輯,從而明白整體車是怎麼運作和構建的。

編程的過程中,會培養我們的邏輯思考能力和分析能力。漸漸的會讓我們成爲一名先通過深度分析,然後用邏輯思維解決問題的大師。


4. 用自動化程序爲我們幹活

用自動化爲我們幹活
日常生活中,我們有很多重複的工作,極度的枯燥乏味。但是我們幻想一下,如果編寫一個程序可以幫我們自動化的處理掉這些工作,是不是很舒服?這樣我們就會有更多的時間思考,或者做更多有意義的事情。

自動化,智能化都是現在科技高速發展時代經常聽到的熱搜詞。目前給我們帶來很多生活中方便的應用、系統和工具都是怎麼來的呢?其實都是程序員用代碼編寫出來的。

支付寶、微信、釘釘等這些應用大家都很熟悉吧,基本每天都會用到。其實裏面幫我們做了很多繁瑣的事情,比如說支付寶幫我們記賬,分析出每月我們的支出。微信的語音功能可以自動幫我們轉換成文字,讓我們不方便打字,或者懶得打字的時候,錄一段語音,點個按鈕就轉換成文字,還自動給我們加上標點符號。釘釘爲我們引入了自動藍牙打卡,不需要天天排隊打卡,每個月還會自動生成考勤異常情況,分析出某個人某天缺了打卡或者某天有缺勤需要補一個調休。

這些都是編程爲我們日常生活中帶來的方便和便捷。讓一些需要我們坐下來花時間處理的繁雜事情變得更自動化、簡單化和智能化。如果沒有支付寶,每天我們還需要帶着現金出門,不夠現金了,還需要去一趟銀行取錢。如果沒有微信,我們可能還需要寫信,然後出去郵寄才能與遠方的朋友聯繫聊天。如果沒有釘釘,每個月考勤情況,還需要我們去人工計算覈對時間和缺勤情況。

學會編程不止可以編寫改變世界的代碼,還能爲我們自己日常工作或者生活中編寫工具來節省時間。如果我們學會了Python編寫Excel腳本來處理表格,自動填充和獲取信息。根據我們每天在電腦的工作行爲用腳捕捉寫成日報表,甚至自動幫我們提交。自然就可以多出很多的時間來學習和做其他有意義的事情。


5. 擁有高薪的職業

高薪職業
技術行業的薪資相對比其他行業的平均薪資都會高一些。其實每一行都可以到達很高的薪資,每一行都有每一行的辛苦。但是一個永恆不變的定律,一分付出就有多一分收穫。編程也是因爲有難度,每天都是辛苦的腦力活,所以纔會薪資高。

其實程序員工資高也是因爲當前是互聯網和科技高速發展的時代,所以編程崗位也還處於非常短缺的狀態。加上技術一直在發展,技術和互聯網相對比其他行業還是屬於一個成長期。很多新型的技術和語言每日每夜都在更新迭代。技術行業的崗位也是每年都在增加。從幾年前的前端後端,到現在的人工智能開發,甚至到未來的機器人開發。

技術行業的薪資體系,目前來看,我是覺得不是很標準的。這幾年來面試的過程中,很多應聘者對自己能力的評估和價值都是有偏差的。但是我覺得相對其他行業,技術活都是憑能力說話,憑能力換來對等的報酬的。只要自己的能力強,技術的知識深度夠,實戰能力夠硬。月入過萬都不是夢。

如果你們熱愛高效的工作和無限的自我提升空間,大概你們會很喜歡和技術開發人員一起工作。我們是一羣爲了產出更有的程序而堅持提升自己,爲了產出更好的產品而馬不停蹄的提升自己的程序和代碼。在這個領域中,會讓你們大開眼界,擴大自己的思維瓶頸。每日都會發現各式各樣的新鮮事物。能力的提升都會給我們帶來對等的薪資提升,是一個越努力越賺錢的行業!


6. 可以是一個有趣的業餘愛好

有趣的業餘愛好
學習編程成爲一名開發者,不一定是要作爲你朝九晚五的一份工作。可以把編程當成一個我們熱愛的愛好,甚至是一份副業。

在我讀大學的時候,我並不是一名讀計算機專業的學生,當時的我特別熱愛玩遊戲,也特別喜歡寫攻略。有一個公會里面的老大就跟我說,爲什麼不自己做一個攻略網站或者博客,還可以順便賺一下廣告費。就是這樣我開始了自學編程,手把手搭建起自己的網站和博客,從此愛上了編程。

大學期間我還接過很多做網站的外包,做過無數個網站和博客的主題開發。也賺了一些遊戲經費和學習經費。到了後面我開始研究開遊戲私服,自學了一些遊戲開發,開啓了遊戲私服。

這個過程中,我把編程當成了自己的一個業餘愛好,也沒有想過今天的我居然成爲一名朝九晚五的程序員。回過頭想想,編程給我帶來了無比的快樂與成就感。作爲一名開發者,可以讓我們的想象力自由飛翔,實現我們所想,唯一需要的就是我們懂得編寫代碼, 代碼,就能打造出我們心中所想的東西。無論你現在是想寫一個網站介紹你自己,寫一個博客記錄你學習路上的種種,還是寫一個無比有趣的小遊戲。編程都可以如你所願!

編程對於任何人都可以是一個有趣的業餘愛好,沒有門檻。任何人只要有一臺電腦,能上網,就可以開始學編程。編程是不受任何的限制。只要你願意學,有興趣,有毅力,你都能學會。


7. 充滿活力及友善的社區

充滿活力及友善的社區
程序員是我見過最有趣,最可愛,相處起來最輕鬆舒服的一羣人。程序員之間沒有過多的勾心鬥角,像其他行業團隊裏面那麼多的宮鬥劇上演。在我待過的團隊中,比較多的都是熱愛學習,熱愛生活,熱愛代碼的一羣熱血青年。

當然,凡事無絕對,都是有好有壞,也會有有一些比較讓人噁心的程序員就希望自己每天工作中舒舒服服、一問三不知和一叫三不做的人。好在這些人還是佔少數的,相對一二線的城市和有些規模的公司工作,普遍團隊中的程序員都是比較好相處,並且在工作中會讓我們非常開心有趣。

每一個語言或者框架,都有一羣充滿熱情和活力的社區等着你的到來。比如CSDN,掘金,Segmentfault,Stackoverflow,GitHub等等這些大型的技術社區有很多的熱心和熱愛技術的開發在維護着這個充滿熱情的編程世界。如果我們需要幫助,有無數的手會伸出來援助於我們。

在學習編程和技術開發工作中,作爲一名程序員,我們並不孤單。我們都是一個團體在一起努力,一起奮鬥,一起並肩作戰。還有網上的各路英雄好漢在江湖中奔跑着,隨時可以認識到其他的開發者與你共同進步,一起終生學習,熱愛編程,熱愛生活!


「終」總結

總結
這周我又寫了一篇上萬字的博文,給想學和在學編程的童鞋們打打氣,也把我自己在編程事業中的感觸分享給大家。最後我想大聲的跟大家說:“對!無論我們當前是多大歲數,不懂英文也好,不懂電腦也好,編程都值得我們花時間和精力去學”。

在這個技術和科技高速發展的時代,不懂編程就像古代中的文盲一樣。你永遠不知道你是否喜歡一樣東西,直到你嘗試它。所以對編程有興趣的,想學編程的,現在就打開你們的電腦,開始投身到技術的海洋吧!在學習編程的你們,堅持再堅持,只要你努力,你堅持,就必定會成功!所有的付出都會得到收穫,所有的艱辛都會換來未來的幸福,越努力越幸運,越努力越賺錢。

在編程的路上,有無限的可能,也有無限的空間,只要你熱愛它,它也會相應的回報努力的我們!讓我們一起終生學習,用代碼改變生活,改變世界!

推薦閱讀

推薦閱讀以下幾篇文章,可以讓助你成爲出色的開發者。

  • 🔥《如何高效學習編程》 — 編程確實不是一件容易的事情,除了要有較強的邏輯思維,還需要花大量的時間和集中力來提升或者維持一定的高度。
  • 🔥《5大法則助你 成爲更出色的開發者》 — 這篇文章傳授5大法則助我們成爲更出色的開發者,在衆多開發者中脫穎而出的訣竅,也會在我們的技術職業生涯中給我們很多的幫助。
  • 🔥《用“易於改編”原則,提升編程水平,寫出更好的代碼》 — 無論新手還是資深開發者都會經常問一個問題,“怎麼寫好的代碼?”,要知道怎麼寫好代碼,首先我們要知道怎麼樣纔是好的代碼。要有明確的目標,才能知道如何達成目標。在《程序員修煉之道》中提到的“ETC Principle” – 易於改編原則。這個原則看似簡單,但是我們越是深入思考越是覺得“簡約而不簡單”。

和你一起終身學習

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章