
作者 謝恩銘,公眾號(hào)「程序員聯(lián)盟」(微信號(hào):coderhub)。
轉(zhuǎn)載請注明出處。
原文:http://www.itdecent.cn/p/a3d47eebd3b5
《Web探索之旅》全系列
內(nèi)容簡介
- 前言
- 什么是 Web 程序員?
- 如何成為 Web 程序員?
- 成為優(yōu)秀 Web 程序員的秘訣
- 總結(jié)
1. 前言
大家好,經(jīng)過上一課 Web探索之旅 | 第三部分第三課:協(xié)議,我們結(jié)束了第三部分。終于來到了【W(wǎng)eb探索之旅】的最后一部分。
我們的第二和第三部分都略有難度,不過第四部分和第一部分一樣,會(huì)比較輕松愉快。
這一課我們來聊一聊 Web 程序員,Web 的文化,如何成為一名優(yōu)秀的 Web 程序員。
或許看完這部分,你會(huì)躍躍欲試,想要成為一名 Web 程序員也不一定。畢竟現(xiàn)在 Web 程序員還是比較吃香的。
2. 什么是 Web 程序員?
很多公司都有 Web 程序員,負(fù)責(zé)不同的部分,每個(gè)公司的 Web 程序員所做的工作可能大相徑庭。要給出一個(gè)統(tǒng)一定義比較難。
不過,一般來說,我們可以將 Web 程序員(這些 Web 程序員都有一個(gè)共同的目的:維持公司的網(wǎng)站運(yùn)行良好)分為幾大類:
FrontEnd
Frontend 表示“前端”。一般我們所說的 Web Frontend 就是指“Web 前端程序員”。主要負(fù)責(zé)網(wǎng)站的外觀,也就是“顏值”擔(dān)當(dāng)。一般精通 HTML,CSS 和 JavaScript 等客戶端語言。

BackEnd
BackEnd 表示“后端”。一般我們所說的 Web Backend 就是指“Web 后端程序員”。與 Web 前端程序員配合,主要負(fù)責(zé)網(wǎng)站服務(wù)器端的編寫和維護(hù),也就是“功能”擔(dān)當(dāng)。一般精通 PHP,Java,Python,Ruby,C#,或 Go 等服務(wù)器端語言。

QA Manager
QA 是 Quality Assurance(質(zhì)量保證。Quality 表示“質(zhì)量”,Assurance 表示“保證”)的縮寫。manager 表示“主管”。所以 QA Manager 就是我們平時(shí)所說的“質(zhì)量主管”,他可以充當(dāng)客戶的角色,來使用網(wǎng)站。負(fù)責(zé)網(wǎng)站的正確運(yùn)行,對(duì)網(wǎng)站的質(zhì)量進(jìn)行監(jiān)控,如果有什么問題或有什么需要的新功能,會(huì)通知 Frontend,Backend 或 System Administrator 來處理??梢韵胂笫且粋€(gè)醫(yī)生,確診網(wǎng)站的“疾病”,對(duì)網(wǎng)站的健康負(fù)責(zé)。

System Administrator
System 表示“系統(tǒng)”,Administrator 表示“管理員”。所以 System Administrator(簡稱 SA)就是我們平時(shí)所說的“系統(tǒng)管理員”。他就好像一個(gè)很厲害的老工程師傅,可以想象提著一個(gè)工具箱,到機(jī)房里去修修弄弄(當(dāng)然其實(shí)并不見得是這樣)。他保證 Web 的服務(wù)器可以正常運(yùn)作,負(fù)責(zé)一些硬件的維修和管理,使網(wǎng)絡(luò)暢通無阻,而且一般的 SA 都熟悉 Linux 技術(shù),至少會(huì)用 Linux 命令行吧。

Full Stack
Full 表示“全部,完全的”,Stack 表示“?!?。所以 Full Stack 就是我們平時(shí)所說的“全棧程序員”或“全棧工程師”。他就好像一個(gè)“全能騎士”或者身懷絕技的“日本武士”,可以做以上四個(gè)職位的所有任務(wù)。當(dāng)然,要成為全棧工程師是很辛苦的,因?yàn)槭裁炊家獣?huì)。少年,珍愛生命,還是“悠著點(diǎn)”吧~

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