成為更好的程序猿!2020年給網(wǎng)頁開發(fā)人員的32條建議
2019年已經(jīng)過去了,對開發(fā)人員來說是充滿挑戰(zhàn)和機(jī)遇的一年。開發(fā)人員們學(xué)習(xí)和掌握了很多——像React、Vue、Angular和Svelte這樣的JavaScript框架;還有靜態(tài)網(wǎng)站生成器,JAMstack,serverless,Git等。
雖然網(wǎng)頁開發(fā)的廣闊生態(tài)系統(tǒng)為每個人都提供了一定的發(fā)展空間和機(jī)遇,但要緊跟不斷變化的技術(shù)潮流可能真的很難。不僅如此,還有更多的問題需要回答:想在哪里工作,和誰一起工作?想成為一個全職堆棧開發(fā)人員嗎?想簽短期合同該是長期合同?怎樣才能提升自我并獲得新的技能?
這32條建議也許能夠幫助讀者在2020年成為一名網(wǎng)頁開發(fā)人員。無論是對于新手還是已經(jīng)有一些經(jīng)驗(yàn)的開發(fā)人員,這些技巧都會有所幫助。這份清單絕不是最全面的,當(dāng)然也不是每一點(diǎn)都是最適合你的,但還是希望其中有些建議能給你靈感或指導(dǎo)。
2020年給網(wǎng)絡(luò)開發(fā)人員的建議
1. 嘗試?yán)斫釭it
了解基本的命令是毋庸置疑的,但也需嘗試?yán)斫馍顚痈拍睢?/p>
2. 理解“整潔代碼”的概念
理解代碼整潔之道有助于在錯誤更少的情況下生成更好、更可讀的代碼。
3. 建立個人作品集網(wǎng)站
開發(fā)人員應(yīng)該為自己的工作感到驕傲并與別人分享,創(chuàng)建個人網(wǎng)站并建立作品集,讓潛在的雇主和客戶更了解自己。
4. 寫一篇技術(shù)性文章
寫博客文章有幾個好處。如果能嘗試向別人解釋所學(xué)的東西,學(xué)習(xí)新事物通常會更容易。回饋社會是一個偉大的舉措。
5. 找到第一份自由職業(yè)
讓2020年成為職業(yè)生涯轉(zhuǎn)變的一年,并在這一年找到第一份承包工作。多看看那些提供項(xiàng)目機(jī)會的網(wǎng)絡(luò)平臺,聯(lián)系招聘人員,參加社區(qū)活動和會議,或者看看雇主是否愿意雇傭自己做自由職業(yè)者。
6. 學(xué)習(xí)JavaScript基礎(chǔ)知識
JavaScript運(yùn)行網(wǎng)頁。當(dāng)使用React和Vue這樣的框架時,可能還是需要使用JavaScript. 因此,要學(xué)習(xí)JavaScript的基本原理。
7. 學(xué)習(xí)一個大型JavaScript框架
Vue、React或Angular等框架常常為現(xiàn)代網(wǎng)頁應(yīng)用程序提供支持,像Facebook、Google和Airbnb這樣的公司對其進(jìn)行維護(hù)和使用。所以,作為一個前端開發(fā)人員,至少應(yīng)該了解這些框架的其中一個。但到最后還是離不開JavaScript。
8. 嘗試升職
了解如何成為一名高級開發(fā)人員。除了經(jīng)驗(yàn),擁有移情和良好的溝通技巧等軟技能也非常重要。
9. 指導(dǎo)初級開發(fā)人員
對一個高級開發(fā)人員來說,最重要的可交付成果是更多的高級開發(fā)人員。所以,試著幫助指導(dǎo)別人而不是獨(dú)斷專行。
10. 為他人授業(yè)解惑
如果已經(jīng)學(xué)會了一種新的編程語言、特征或技術(shù),那么就和其他人分享知識。
11. 使用VS Code及其擴(kuò)展內(nèi)容
如果還沒有使用VS Code作為主要集成開發(fā)環(huán)境,一定要嘗試一下。它可以提高開發(fā)效率,并且有很多很棒的擴(kuò)展內(nèi)容,比如代碼格式化、樣式設(shè)置或自動補(bǔ)全。
12. 離開不健康的工作場所
如果在一個不健康的地方工作或者有一個不好的老板,開始找其他的工作吧。人一般不會改變,開發(fā)人員的才能也不能被浪費(fèi),找一個能欣賞自己和自己的技能的人。
13. 為開源項(xiàng)目做出貢獻(xiàn)
每個開發(fā)人員可能都想過對開源項(xiàng)目做出貢獻(xiàn)。可以參與并幫助社群,在實(shí)際環(huán)境中實(shí)踐編程,并將這些經(jīng)歷寫入自己的作品集之中。很多運(yùn)行支撐系統(tǒng)(OSS)項(xiàng)目都?xì)g迎有潛力成為其智囊團(tuán)成員的新用戶加入。
14. 學(xué)習(xí)完全不同的編程語言
為了開闊視野,走出舒適區(qū),學(xué)習(xí)一門完全不同的編程語言可能是個好主意。例如,如果習(xí)慣使用Java,去嘗試使用JavaScript、Rust或Golang,嘗試一些從未嘗試過的東西。
15. 部署無服務(wù)器功能
無服務(wù)器功能是托管在基礎(chǔ)架構(gòu)上,具有單一用途的小型編程功能。例如,可以使用AWS Lambda對其進(jìn)行托管。好多項(xiàng)目都已應(yīng)用,所以值得一試。
16. 學(xué)習(xí)GraphQL
在過去幾年中,RESTful APIs已經(jīng)成為網(wǎng)頁開發(fā)的實(shí)際標(biāo)準(zhǔn)。但是隨著Facebook的GraphQL的興起,確實(shí)應(yīng)該努力學(xué)習(xí)它背后的概念。
17. 構(gòu)建JAMstack應(yīng)用程序
JavaScript、APIs和由這些技術(shù)組成的Markup構(gòu)成了JAMstack. JAMstack功能強(qiáng)大,占存小,獨(dú)立于專用后端。非常適合公司網(wǎng)站或個人作品集網(wǎng)站。
18. 關(guān)注OWASP前10
開放式Web應(yīng)用程序安全項(xiàng)目(OWASP,Open Web Application Security Project)提供了開發(fā)安全應(yīng)用程序的建議和優(yōu)秀實(shí)踐。
19. 進(jìn)行結(jié)對編程
結(jié)對編程是開發(fā)人員之間共享知識的優(yōu)秀方式之一。可以向更有經(jīng)驗(yàn)的開發(fā)人員學(xué)習(xí),也可以幫助一些初級開發(fā)人員。不管怎樣,這都是件好事,有助于保持專注。
20. 進(jìn)行代碼評審
在許多項(xiàng)目中,代碼評審是強(qiáng)制性的;在代碼合并之前,許多公司都要求進(jìn)行代碼評審。開發(fā)人員對此應(yīng)該已經(jīng)習(xí)以為常。如果是初學(xué)者,可以通過查看其他開發(fā)人員的代碼來學(xué)習(xí),并向他們詢問有關(guān)問題。如果已有一定經(jīng)驗(yàn),代碼評審有助于減少代碼庫中的錯誤。
21. 專注于解決問題
一個好的開發(fā)人員(高級開發(fā)人員)專注于找到解決方案,而不會一味地關(guān)注自己面臨的困難。要設(shè)法找到應(yīng)對挑戰(zhàn)的方法。
22. 學(xué)習(xí)如何調(diào)試
編程代碼永遠(yuǎn)不可能完美無誤。為了找到并修復(fù)這些漏洞,需要學(xué)習(xí)如何調(diào)試代碼。
23. 不要降低自己的身價
一定要提醒自己,無論向客戶或雇主收取多少費(fèi)用,這都是自己應(yīng)得的。學(xué)到的所有技能、花在編程上的所有時間以及寶貴的個人品質(zhì),都應(yīng)該讓開發(fā)人員有信心為自己爭取更高的利益。
24. 從失敗中吸取教訓(xùn)
每個人都會犯錯。即使是最成功的開發(fā)人員也會犯很多錯誤。但重要的是,從這些錯誤中學(xué)習(xí)然后成長——無論是在作為開發(fā)人員的技能方面,還是在個人生活方面。
25. 保持測試代碼的習(xí)慣
為代碼編寫測試似乎意味著額外的工作量,無論是單元測試還是集成測試;或者開發(fā)人員可能認(rèn)為自己編寫的代碼很完美,并沒有任何錯誤——這兩種觀點(diǎn)都是錯的。幾乎所有公司和開源項(xiàng)目都希望開發(fā)人員對代碼進(jìn)行測試。開發(fā)人員也應(yīng)該在個人項(xiàng)目中也加上這一環(huán)節(jié)。
26. 學(xué)習(xí)設(shè)計(jì)模式
設(shè)計(jì)模式是構(gòu)建軟件應(yīng)用程序架構(gòu)的基礎(chǔ)。不一定每個項(xiàng)目都需要設(shè)計(jì)模式,但是了解一些主要項(xiàng)目總是沒錯的。
27. 不要害怕尋求幫助
尋求幫助沒什么不好。然而,在要求別人幫助自己之前,最好先嘗試自己解決問題。但話說回來,如果真的陷入困境,還是要主動尋求幫助。
28. 參加技術(shù)會議
參加會議有利于學(xué)習(xí)新技術(shù),融入開發(fā)人員社群,與其他程序員們接觸。通常情況下,雇主會給員工提供折扣,或者為他們支付會費(fèi),讓他們學(xué)習(xí)新知識,并回來與同事分享。
29. 在技術(shù)性會議上發(fā)言
如果有機(jī)會,爭取在某個會議上談?wù)撟约焊信d趣的話題。這也可以幫助內(nèi)向的人建立自信。
30. 保持活躍度和參與度
這說起來容易做起來難,但是為了緊跟快速變化的技術(shù)世界,開發(fā)人員需要不斷地學(xué)習(xí)和提高個人技能。閱讀博客文章,參加會議,觀看視頻,訂閱時事通訊,閱讀書籍,參加(線下)課程,等等。
31. 保持開放的心態(tài)
不管是技術(shù),框架,還是數(shù)據(jù)庫,沒有什么是理所當(dāng)然的。只有不斷地適應(yīng),才能在這個行業(yè)取得成功。開放的心態(tài)不僅僅對科技發(fā)展有意義,還對全體人類有更深遠(yuǎn)的意義。
32. 永不言棄
每個人或多或少都有掙扎的時候。人生并不總是一帆風(fēng)順。但你不是一個人,我們都是從零開始。你能做到!