作者 謝恩銘,公眾號「程序員聯(lián)盟」(微信號:coderhub)。
轉(zhuǎn)載請注明出處。
原文:http://www.lxweimin.com/p/a3d47eebd3b5
《Web探索之旅》全系列
內(nèi)容簡介
- 前言
- 什么是 Web 程序員?
- 如何成為 Web 程序員?
- 成為優(yōu)秀 Web 程序員的秘訣
- 總結(jié)
1. 前言
大家好,經(jīng)過上一課 Web探索之旅 | 第三部分第三課:協(xié)議,我們結(jié)束了第三部分。終于來到了【W(wǎng)eb探索之旅】的最后一部分。
我們的第二和第三部分都略有難度,不過第四部分和第一部分一樣,會比較輕松愉快。
這一課我們來聊一聊 Web 程序員,Web 的文化,如何成為一名優(yōu)秀的 Web 程序員。
或許看完這部分,你會躍躍欲試,想要成為一名 Web 程序員也不一定。畢竟現(xiàn)在 Web 程序員還是比較吃香的。
2. 什么是 Web 程序員?
很多公司都有 Web 程序員,負責不同的部分,每個公司的 Web 程序員所做的工作可能大相徑庭。要給出一個統(tǒng)一定義比較難。
不過,一般來說,我們可以將 Web 程序員(這些 Web 程序員都有一個共同的目的:維持公司的網(wǎng)站運行良好)分為幾大類:
FrontEnd
Frontend 表示“前端”。一般我們所說的 Web Frontend 就是指“Web 前端程序員”。主要負責網(wǎng)站的外觀,也就是“顏值”擔當。一般精通 HTML,CSS 和 JavaScript 等客戶端語言。
BackEnd
BackEnd 表示“后端”。一般我們所說的 Web Backend 就是指“Web 后端程序員”。與 Web 前端程序員配合,主要負責網(wǎng)站服務(wù)器端的編寫和維護,也就是“功能”擔當。一般精通 PHP,Java,Python,Ruby,C#,或 Go 等服務(wù)器端語言。
QA Manager
QA 是 Quality Assurance(質(zhì)量保證。Quality 表示“質(zhì)量”,Assurance 表示“保證”)的縮寫。manager 表示“主管”。所以 QA Manager 就是我們平時所說的“質(zhì)量主管”,他可以充當客戶的角色,來使用網(wǎng)站。負責網(wǎng)站的正確運行,對網(wǎng)站的質(zhì)量進行監(jiān)控,如果有什么問題或有什么需要的新功能,會通知 Frontend,Backend 或 System Administrator 來處理。可以想象是一個醫(yī)生,確診網(wǎng)站的“疾病”,對網(wǎng)站的健康負責。
System Administrator
System 表示“系統(tǒng)”,Administrator 表示“管理員”。所以 System Administrator(簡稱 SA)就是我們平時所說的“系統(tǒng)管理員”。他就好像一個很厲害的老工程師傅,可以想象提著一個工具箱,到機房里去修修弄弄(當然其實并不見得是這樣)。他保證 Web 的服務(wù)器可以正常運作,負責一些硬件的維修和管理,使網(wǎng)絡(luò)暢通無阻,而且一般的 SA 都熟悉 Linux 技術(shù),至少會用 Linux 命令行吧。
Full Stack
Full 表示“全部,完全的”,Stack 表示“棧”。所以 Full Stack 就是我們平時所說的“全棧程序員”或“全棧工程師”。他就好像一個“全能騎士”或者身懷絕技的“日本武士”,可以做以上四個職位的所有任務(wù)。當然,要成為全棧工程師是很辛苦的,因為什么都要會。少年,珍愛生命,還是“悠著點”吧~
Web 程序員的特質(zhì)
每個 Web 程序員的性格,習慣和愛好都各不相同。不過我們可以試著概括一些 Web 程序員的共同特質(zhì),或者說那些驅(qū)使他們選擇去這個公司而不是那個公司的因素。
喜歡解決復雜又新穎的問題:喜歡解難題并不稀奇,很多人都喜歡挑戰(zhàn)自我,但是 Web 程序員還喜歡解決新穎的問題。如果一個難題很老套又很陳舊,那他們可能提不起太大興趣。他們希望構(gòu)建和維護的網(wǎng)站是新潮的,與眾不同。不喜歡用別人用爛了的模版、樣式。
不喜歡被約束,喜歡合理利用時間,不喜歡沒效率的工作方式。如果看過《社交網(wǎng)絡(luò)》這部電影,那你會注意到 Facebook 公司內(nèi)部的工作環(huán)境是非常舒適,輕松,和諧美好的。諸多 Web 程序員吃住在一起,就像一個大家庭。而大家也許也知道 Google(谷歌)的工作環(huán)境也是很不錯的,不是那種高壓緊張的工作氛圍,而是給你自己最有效安排工作的機會。
3. 如何成為 Web 程序員?
要成為 Web 程序員其實不難,這一節(jié)想要告訴大家的是:你也可以成為一個非常厲害的 Web 程序員。
聽到這話,也許你會說“哪里哪里,我肯定不行的。這么多編程語言,這么多協(xié)議等,好復雜的。好的 Web 程序員不是我想做,想做就能做...”
但其實真的沒有那么復雜。
你可以按照以下順序:
學完這個 Web 課程(幸好我們已經(jīng)完成了)。
學習 HTML5 和 CSS3 :這兩門客戶端的語言可以讓你自己寫一個網(wǎng)站,從零開始。
學習一門服務(wù)器編程語言:Java,PHP,Python,Ruby,Go,等。隨你自己的意思選擇其中一個來入門,選擇你最喜歡的,用起來最順手的,社區(qū)支持更好的。這些服務(wù)器端的語言可以幫我們產(chǎn)生 HTML 的網(wǎng)頁。所以這也是先學習 HTML 的原因。
學習 JavaScript:雖然一般來說 JS 是客戶端的語言,但是借助 Node.js 也可以實現(xiàn)服務(wù)器端編程的。而且 JS 可以使我們的網(wǎng)頁變得動態(tài)起來,具有交互性。
學習 Linux 命令行:可以了解 SA(System Administrator,系統(tǒng)管理員)是如何使服務(wù)器正常工作的,如何與服務(wù)器交互。因為大多數(shù)服務(wù)器都使用 Linux 或者 Unix 系統(tǒng)。
還有幾點,是在編程語言之外的,也很重要:
緊跟技術(shù)潮流:每天去 CSDN 等全國數(shù)一數(shù)二的大型編程社區(qū),看看首頁的新興 Web 技術(shù)專題。如果不使用最新最好的技術(shù),而死守一些老掉牙的技術(shù),任你編程水平再高,也是沒用的。
練習:經(jīng)常編程。
熱愛 Web 編程:如果你嘗試了 Web 編程之后,發(fā)現(xiàn)自己不適合這門職業(yè),或者這不是你興趣所在,那么可以換個職業(yè)。不過,也有很多人是慢慢喜歡上 Web 編程的。所以不妨試試。
4. 成為優(yōu)秀 Web 程序員的秘訣
要成為優(yōu)秀的 Web 程序員沒有那么容易,需要歲月的沉淀。但是也沒有那么難,因為隨著時間的推移,你自然就越來越厲害了。
但是心態(tài)一定要擺對,不必一上來就學習所有知識點,所有編程語言。一步一個腳印,把自己位置放對了。要成為優(yōu)秀 Web 程序員,我覺得可以照以下幾點來實行:
認識到你可以在任何年紀(只要不是老的不能打字)開始做 Web 編程,也不需要太在意你以前學過什么:有的人認為只有智商很高才能做程序員,錯了,很多程序員智商并不高(比如我,哈哈哈)。有的人認為一定要很年輕就開始學習編程,才能成為優(yōu)秀的程序員。錯了,現(xiàn)在網(wǎng)上那么多好的教材,只要你愿意,有什么學不會呀。
認識到你最大的敵人是自己:我們常常抱怨說自己不可能做到這樣那樣,但其實是我們不夠努力。Web 開發(fā)有那么難嗎?我覺得真的不難,至少比嵌入式或人工智能簡單。
用新技術(shù),新理念裝備自己:編程技術(shù)日新月異,Web 技術(shù)的演進更是快得超乎想象。保持一個不斷學習,不斷充電的好習慣,你會比別人走得更遠。可能別人用老技術(shù)花很多時間做出來一個很慢的東西,你用最新技術(shù)分分鐘搞定,而且運行還比他的快,人艱不拆啊。
學習英語:我一直覺得要成為程序員,英語不是必須的。但要成為優(yōu)秀的程序員,英語真的大有裨益。看看網(wǎng)上優(yōu)秀的論壇,教程,技術(shù)社區(qū)都是英語的,而且很多技術(shù)的文檔和 API 沒有中文版,即使有中文版,翻譯的水準也是層次不齊,萬一翻得不準確呢,那不是毀一生么。英語并沒有那么難,比編程入門簡單多了吧,就是反復,堅持。先把語法鞏固了(好比英語這座大廈的鋼筋混凝土底座),再豐富單詞,增加閱讀量,聽力練習,分分鐘(每天花少許時間)搞定英語。
使用一些好的工具:例如調(diào)試的好工具 Firebug(Firefox 瀏覽器的一個插件),Chrome 瀏覽器自帶的開發(fā)者工具(更多工具 -> 開發(fā)者工具)。會讓你事半功倍。
學會搜索:檢索資料是一種能力,需要慢慢培養(yǎng)。其實 90% 的 Web 錯誤或難題,都可以通過百度或 Google(當然了,Google 比百度好很多)找到解決方法。因為通常我們的網(wǎng)頁是會顯示詳細的錯誤信息的(對了,這些錯誤信息很多都是英語的形式,所以學好英語很關(guān)鍵,可以看我的這篇文章:對于程序員, 為什么英語比數(shù)學更重要? 如何學習 ),你只要把錯誤信息那句話輸入到搜索欄,搜索一下,網(wǎng)上一般會有很多人已經(jīng)遇到過這個問題了,分分鐘解決。我一直覺得,搜索引擎是很好的老師,可以幫我解決大部分問題,根本不需要去 QQ 群,微信群,論壇,社區(qū)花時間問別人(這樣效率不高),搜索引擎就是自己的老師。
5. 總結(jié)
Web 編程有很多種語言,但是我們不需要全部學習。只要學習其中的幾樣就夠了。
Web 程序員可以是各個年齡段,只要你不是年幼得讀不懂文字或者年老得文字讀不懂你,就可以來學 Web 編程。
我們大可以嘗試著來學習 Web 開發(fā)技術(shù),一開始不需要太深入,如果你覺得這不是你想要的,大可以改行。“沒什么大不了。你想改,就改吧,沒有人會知道...”
實踐很重要,把自己投入到 Web 開發(fā)中去,每天學習,每天進步一點點。
這個系列課程終于完結(jié)了!
大家辛苦了,一起加油吧!
其他系列教程和更多有趣的文章,請關(guān)注我的公眾號查看~
我是 謝恩銘,公眾號「程序員聯(lián)盟」(微信號:coderhub)運營者,慕課網(wǎng)精英講師 Oscar 老師,終生學習者。
熱愛生活,喜歡游泳,略懂烹飪。
人生格言:「向著標桿直跑」