乘風破浪的前端小姐姐,是如何一步步走向成功的?

大家好,我是若川。名校畢業的被刪大佬也經歷了社會的毒打,但她沒有放棄。面試、學習源碼系列、年度總結、JS基礎系列



王貝珊,騰訊高級工程師,騰訊 AlloyTeam 成員,現騰訊文檔網絡層技術負責人。畢業于中山大學。工作 6 年,業務領域包括人臉識別追蹤、電競直播、支付繳費、在線協同應用等,在小程序、前端框架、方案設計和項目實踐等方面有著豐富的經驗。熱愛前端技術,在 GitHub 寫作個人技術博客已有 5 年,記載了前端相關的技術學習筆記和總結,并著有開源書《深入理解Vue.js實戰》、電子書《前端的進擊》、紙質書《小程序開發原理與實戰》。喜歡貓貓,熱愛寫文章、分享和開源。

PART

01

離職華為,自學前端

我是非科班的程序員。大學學的是光信息,畢業后進了華為,崗位是數通工程師,做的是交換機、路由器、防火墻等技術支持方面的工作。不管是培訓還是實踐,工作成績都非常不錯。但是在工作半年之后,我卻發現自身對做的事情實在提不起興趣,于是就辭職了。

后來開始考慮自己真正喜歡什么,想起大學時跟過一位 Web 物理引擎開發教授做研究,他給我看了研究室做的汽車透視結構,當時覺得特別酷。后來便開始自學前端,然后從一家小公司加入了前端開發的行業。

自學前端,并不是一件容易的事。既要進行前端知識的學習,又要進行代碼的編寫。而最難的部分則是如何將從書本上、網上學到的一些前端知識,在項目開發過程中理解和使用。因為許多知識在初步學習之后,只能停留在 Hello World 階段,要深入理解和掌握某個技術,就需要在業務和實際項目中結合使用。這就需要多思考,不斷地探索和嘗試,慢慢地掌握要怎么將理論和實踐進行結合。

PART

02

最艱苦的日子,也從未停止學習

從華為出來后,我加入了一個外包小公司做前端。那是一段比較艱苦的日子,但那段時間,每天都能學到特別多的知識,后臺的幾位大哥也給了我很多的指導,例如要掌握哪些工具、可以去哪些網站學。即使是下班后,也依然躲在上鋪開著臺燈,一直學到半夜。

小公司的問題很多,沒有社保,沒有福利,也不提供住宿和三餐,老板是暴發戶類型的。因為工資實在少得可憐,轉正的時候我提出需要漲點工資,然后被老板一頓“不知好歹、不懂感恩”批斗,最后不了了之。我知道這樣下去也不是辦法,于是請教了后臺幾位大哥,他們也支持我出去看看。

我找好了一個工資稍微好些的工作,然后跟老板提離職。剛開始老板溫和地勸說,后來發現我很堅決,他立馬翻臉了,一邊罵我狼心狗肺,一邊威脅我說:“深圳就這么大,你以為你可以去哪?”

說實話,那時候的我工作經驗也不多,真的有被嚇到。我跟下個公司的負責人說起這件事,他安慰我說不用管,都是嚇唬小朋友的,對方還拍著胸脯說有事他來解決。在猶豫一段時間后,我還是離開了。

新的公司是一個實體到互聯網轉型中的公司,可是剛去不久,身體卻熬不住了,開始不間斷地肚子疼、發燒、發冷。由于是剛換的工作,而且需要趕項目進度,也不好請假,就那樣熬了兩三周。直到有一天,連走路都成為了困擾,我才打車去醫院檢查。因為疼得厲害,我躺在醫院過道邊上的一個床上,吐得腦袋都不大清醒,來來往往的人都看著我,臉上各種疑惑、猶豫、欲言又止的表情,沒有一個人問問我。然后,我收到了入院通知。

至今我還清楚地記得那天,我跟公司的負責人說了這事,需要請幾天假。對方在回了我一句“女生就是矯情”之后,不到十分鐘,我就被移除出所有相關的微信群,然后被辭退了,甚至這幾周工作的工資一丁點都沒有給我。

后面的一兩個月,基本上都是各種打針吃藥。燒終于退下來之后,醫生給我安排了手術。那段時間身上全是針口,到后面護士都找不到可以扎針的地方了。手術后因為并發癥,住了好幾天的 ICU,我也深刻地記得當時為了降溫,醫生在我身邊放滿了冰塊,我跟醫生說好冷,醫生讓我忍忍。

后來出院回家,體重竟然回到了初中的時候,瘦到睡覺的時候都會被自己的骨頭磕著,然后開始了長達半年的恢復。

期間買了特別多的技術書,在家除了休息、低強度的鍛煉,狀態好點的時候就看書、寫代碼。身體恢復之后,我又回來了深圳。

PART

03

?工作常常不如意

要努力堅持自己的原則

工作常常不如意,但也請不要放棄。職場里競爭激烈,以前只出現在小說里、電視上的事情,都可能會出現在你身邊,甚至發生在你身上。很多時候,可能并沒有對錯之分,大多數人都是為了混口飯吃。因此,你要有這樣的心理準備,在碰到一些奇奇怪怪的事情的時候,不要陷入自我懷疑,不要丟失前進的勇氣。即使再難,也不要輕言放棄。

要努力提升自己的能力,才可以選擇自己喜歡的工作。我遇到過一些合不來的領導,包括事情做完不讓早下班的、下班后依然 24 小時不間斷打擾的、不允許提出自己的想法的,等等。曾經非常地迷茫。在這種情況下,只能不斷地提升自己,讓自己有足夠的競爭力,才可以有更多選擇的機會。工作是雙向選擇的過程,我們不用覺得自己是弱勢的一方,也不必覺得委屈求全。

養成良好的工作習慣。首先,工作中的沉淀和思考是非常重要的。一定不要滿足于僅僅把問題解決了,要更多地進行思考,嘗試去把事情做得更好。同時,還需要把一些經驗和想法沉淀下來,這些內容很多時候可以幫助到其他人以及未來的自己。其次,要做好時間管理。

這里分享我自己的幾個小技巧:

1.合理分配時間,比如將連續的時間段給到需要專注的任務(比如寫代碼),零碎的時間則可以處理一些對連續性要求不高的任務(比如測試、復盤、思考等)。

2.把業余時間利用起來,培養一些習慣愛好,或是做一些小的學習任務。

3.合理使用 Todo List,可以用優先級對需要做的事情進行備忘,每隔一段時間進行整理和調整。

4.優化自己的工作方式,比如解決重復性的工作、避免問題的再次出現,等等。

身體健康比任何事情都重要。如今的互聯網行業里,加班熬夜甚至通宵的現象特別嚴重。很多人沒日沒夜地通宵熬夜、吃飯不定時、基本不運動。因為內卷太嚴重了,大家沒有更多的精力去考慮健康這件事。有句老話叫“不見棺材不落淚”,互聯網職場中猝死的案例頻繁發生,有些甚至就在身邊。或許我們會被觸動一段時間,也注意飲食和運動了幾次,最終還是恢復原本的生活節奏。很多人都心存僥幸地認為這些事情發生在自己身上的概率太低,因此也不怎么重視。真心希望大家在身體還可以的時候,好好保重。畢竟我們的身體是 1,所有的財富、榮耀、名聲都是后面的 0,只有 1 在的時候,這些 0 才會有意義。有意思的是,對于程序員來說,1 和 0 可以組成任意的內容、代表著整個世界。但如果說生命是 1,而其他事物是 0 的話,很多時候我們在做選擇的時候總會忽視了已有的 1。自從經歷了那次住院手術,生命和健康真正成為了我最重視的一道線。努力可以,奮斗也可以,但長期的加班熬夜通宵、無節制地消耗身體這樣的行為則超越了我的底線。血的教訓讓我狠狠地體會了一把,什么事情對于我來說才是最重要的。

PART

04

大公司還是小公司,應該如何抉擇?

在互聯網行業,大公司和小公司其實有著各自的優勢和弊端。

在小公司里,很多時候由于項目規模的限制,我們容易在一些技術深度方面到達瓶頸。但小公司也同樣可以學到很多,相比于深度,傾向于技術廣度,比如全棧開發等。除此之外,小公司有更多的機會管理團隊,也有更多從零開始參與和設計項目的機會。

在大公司里,我們可以接觸到更多有技術深度的業務場景,也可以向很多牛人學習。不過,大公司里大家分工明確,很多時候開發僅僅能接觸到自己負責的那部分功能,整體提升比較局限。除此之外,大公司里團隊很多,每個團隊的風格、氛圍、工作內容都不一樣,未必都能獲得自己想要的東西。

所以,在加入一個團隊前,我們要盡可能多地去了解它,思考團隊節奏、技術氛圍、工作方式和內容等等,是否和自己的預期一樣,是否真正適合自己。

對于我自己而言,在做職業規劃和重大抉擇的時候,一般會考慮下面三個因素:

  1. 工作中是否有足夠的技術挑戰,可以讓我學習到更多的東西。

  2. 團隊氛圍是否開放,可以接受大家發表和探討不同的建議和想法。

  3. 此外,還會考慮工作強度,是否會經常加班甚至通宵(畢竟現在的環境下,健康地活著才是勝利)。

PART

05

?寫作的樂趣

我很愛寫文字,也很愛將自己的想法記錄下來,這對我來說是一件很有趣的事情。而當我寫得多了,慢慢地,我發現它給我帶來了很多的好處,比如,提升了工作效率,彌補了記性差的短板,思考過程給我帶來了很多收獲,等等。

我從 2016 年開始寫作技術博客,到現在已經 5 年多了。后來我開源了《深入理解Vue.js實戰》這本書,寫作了一本《前端的進擊》,并與另外兩位小伙伴一起寫作了《小程序開發原理與實戰》這本書。

對于程序員來說,開源的意義深遠,這也是我當初開源《深入理解Vue.js實戰》這本書的初衷;《前端的進擊》這本書則是將我的一些工作經驗和方法進行了分享,希望能幫助到一些職場上的小伙伴。而在《小程序開發原理與實戰》這本書中,我分享了很多小程序的原理和最佳實踐,提供了很多避坑指南,希望開發者可以在開發的時候避開這些問題,也能在遇到問題的時候快速地定位問題。

對我來說,寫作帶來的最大的收獲大概是自身的知識沉淀,以及我與其他人分享的時候收到他們的反饋,我也同樣能從其他人身上學到很多東西,這更加堅定了我堅持寫作的想法。

PART

06

給前端開發者的學習建議

如今前端領域的技術發展非常快,已經產生了各種分支,編寫一個前端應用很多時候要涉及:代碼編譯和打包工具、前端框架、前端路由、組件設計、組件通信、狀態管理等。從項目管理和工程化角度來說,還會涉及代碼規范、開發流程、持續集成和持續部署等,涉及從開發到提交、合并、部署、發布、灰度、監控等各個流程。

對于這些前端技術分支的相關知識點,很多時候我們通過學習可能只能停留在 HelloWorld 級別,要想更好地擴展自己的技術領域,實踐是理解和收獲知識最快捷的方式。一方面,我們可以圍繞工作中涉及的技術進行深度的加強,工作其實是很有效的學習過程。另一方面,對于工作中涉及不到的內容,我們可以找到感興趣的項目去進行研究,來拓展自己的廣度,也可以參與到開源項目中學習和實踐。

作為前端開發,我們要提升自己的能力,就需要思考項目中存在的問題,是否可以更好地進行優化,比如:如何在發布過程及時發現并解決問題、頁面的打開和加載速度是否可以優化、開發效率是否可以提升,等等。盡量多一些思考,多去借鑒一下業界比較成熟的解決方案。

至于小程序開發,它也是前端開發的一部分。在掌握了小程序開發這個工具或者說生態之后,剩余的和其他的前端開發工作其實沒有太大的差異。

我和另外兩個小伙伴寫的《小程序開發原理與實戰》這本書,包括了從快速入門、到原理分析和最佳實踐、再到上云較完整的內容,既適合初學者入門,也適合有一定經驗的開發者閱讀。開發者只要有前端開發的基礎知識(比如HTML、CSS、JavaScript等)儲備,便可以讀懂和上手。

對于小程序初學者來說,可以跟著第一部分入門的講解和實戰案例,配合小程序的官方文檔一起學習和實現;對于想搭建有后端和數據庫能力的小伙伴,可以跟著第三部分小程序云開發來學習;對于常常需要開發和維護小程序的同學,可以重點閱讀第二部分原理分析和最佳實踐部分。相信大家都會收獲滿滿!

最后,應圖靈小姐姐的要求,給大家推薦幾本非常不錯的前端圖書。

對于前端開發來說,紅寶書《JavaScript高級程序設計》是肯定少不了刷很多遍的,每次閱讀都能有新的收獲。

如果說紅寶書是教科書,那么《JavaScript忍者秘籍》這本書可能就是練習冊,它介紹了很多比較實用的 JavaScript 開發的最佳實踐。

《ES6標準入門》這本書也非常全面和詳細地介紹了 ECMAScript6 新引入的語法特性,對于 ES6 語法的使用有很大的幫助。

另外,我們在日常開發中還會涉及代碼的設計,推薦《JavaScript設計模式與開發實踐》,這本書介紹了基于 JavaScript 語言的常用設計模式,簡單易懂又非常實用。?????????


最近組建了一個江西人的前端交流群,如果你是江西人可以加我微信?ruochuan12?拉你進群。


一個愿景是幫助5年內前端人成長的公眾號

可加我個人微信?ruochuan12,長期交流學習

推薦閱讀

我在阿里招前端,該怎么幫你(可進面試群)
畢業年限不長的前端焦慮和突破方法

前端搶飯碗系列之Vue項目如何做單元測試
前端使用puppeteer 爬蟲生成《React.js 小書》PDF并合并

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》多篇,在知乎、掘金收獲超百萬閱讀。

從2014年起,每年都會寫一篇年度總結,已經寫了7篇,點擊查看年度總結。

同時,活躍在知乎@若川,掘金@若川。致力于分享前端開發經驗,愿景:幫助5年內前端人走向前列。

點擊方卡片關注我、加個星標

今日話題

略。歡迎分享、收藏、點贊、在看我的公眾號文章~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275727.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275727.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275727.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【譯】為什么我更喜歡對象而不是switch語句

原文自工程師Enmanuel Durn博客,傳送門 最近(或者不是最近,這完全取決于您什么時候閱讀這邊文章),我正在跟我的團隊伙伴討論如何去處理這種需要根據不同的值去處理不同的情況的方法,通常對于這種情況下&…

摩托羅拉周二將正式分拆為兩經營實體

據華爾街中文網消息稱,摩托羅拉公司周二將正式分拆為兩個經營實體——摩托羅拉移動控股(MMI)和摩托羅拉解決方案公司(MSI)。前者由主要面向消費者的智能手機和機機頂盒業務組成,后者則專注于公共安全無線電和手持掃描儀業務。 上述兩家公司的股票均已于…

如何創建和諧的色彩系統

擁有和諧的色彩系統的好處 (The benefits of having a harmonious color system) Consistent branding express across all platform 在所有平臺上表達一致的品牌 The consistent interface creates a better user experience 一致的界面創建了更好的用戶體驗 More productive …

java restful接口測試_詳解SpringBoot restful api的單元測試

現在我們來利用Spring Boot來構建一個RestFul API,具體如下:1.添加Springboot測試注解RunWith(SpringRunner.class)SpringBootTestpublic class UserControllerTest {}2.偽造mvc環境// 注入Spring 工廠Autowiredprivate WebApplicationContext wac;//偽造…

老姚淺談:怎么學JavaScript?

大家好,我是若川。當初我就是看本文深受啟發,開始看書讀源碼。所以現在聯系了作者老姚 授權轉載分享給大家。我按照文中的做法敲完了《JavaScript語言精粹 修訂版》,在2017年7月23日寫出了我的第一篇文章《讀書筆記》。看完了《JavaScript面向…

JavaScript 如何使用閉包

閉包基本上是內部函數可以訪問其范圍之外的變量&#xff0c;可用于實現隱私和創建函數工廠 定義一個數組&#xff0c;循環遍歷這個數組并在延遲3秒后打印每個元素的索引 先看一個不正確的寫法&#xff1a; const arr [10, 12, 15, 21]; for (var i 0; i < arr.length; i) …

ai中導入sketch_在Sketch中營造深度感

ai中導入sketchCreating a user interface with depth can seem daunting at first, but it only requires you to understand one fundamental rule — emulating a light source.首先&#xff0c;創建具有深度的用戶界面似乎很艱巨&#xff0c;但這僅要求您了解一個基本規則-…

java byte轉bigdecimal_Java BigDecimal byteValueExact()用法及代碼示例

java.math.BigDecimal.byteValueExact()是一個內置函數&#xff0c;它將BigDecimal轉換為字節并檢查丟失的信息。任何大于127或小于-128的BigDecimal值都將生成異常&#xff0c;因為它不適合字節范圍。用法:public byte byteValueExact()參數&#xff1a;該方法不接受任何參數。…

Python3+PyCharm+selenium3 環境搭建

安裝Python3請去python官網下載安裝包&#xff0c;我用的是Python3.6安裝PyCharm&#xff0c;這個也是去官網自己下吧&#xff0c;偶的是2018.2.3&#xff08;CommunityEdition&#xff09;接下來安裝seleniumPyCharm中Tremianl安裝完成后&#xff0c;在python Console中輸入沒…

2021 年最值得了解的 Node.js 工具

大家好&#xff0c;我是若川。今天分享一篇用得上的 node 庫 鏈接地址&#xff1a;https://github.com/huaize2020/awesome-nodejs?前言&#xff1a;文章的靈感來源于&#xff0c;社群中某大佬分享一個自己耗時數月維護的github項目 awesome-nodejs 。或許你跟我一樣會有一個疑…

DOMContentLoaded與interactive

ie中inline script執行時竟然第一次進入頁面,doc.readyState是interactive.刷新則是loadinginteractive也就算了,竟然沒有把dom樹構建好,也沒有body...而在inline的腳本里跑計時器什么的,去doc.body.doScroll(left);則有可能碰到interactive時dom樹構建好的情況.而其它瀏覽器in…

figma下載_何時在Figma中使用組或框架

figma下載Groups and Frames have very different uses in Figma, but it’s difficult at first to tell why both of them exist. I can assure you that they complement each other, but first, you need to understand the nuances of each. I’ll show you how to make t…

java標記錯誤_標記電子郵件Java時出錯

在調用以下我的代碼片段時&#xff1a;Message message_in null;inbox instanceof IMAPFolderIMAPFolder f (IMAPFolder)inbox;f.idle();System.out.println("IDLE done");message_in inbox.getMessage(inbox.getMessageCount());message_in.setFlag(Flags.Flag.D…

邁入現代 Web 開發(GMTC 2021 演講全文)

前言&#xff1a;希望像做游戲一樣做 Web 開發的 dexteryy 同學今天在 GMTC 技術大會上又搞了一場「跨年演講」&#xff08;內容超多的意思&#xff09;&#xff0c;不但現場爆滿、超時嚴重&#xff0c;而且一如既往的講完之后只要把講稿和幻燈片拼起來就能發出來&#xff0c;大…

Laravel 測試: PHPUnit 入門教程

介紹 PHPUnit 測試的基礎知識&#xff0c;使用基本的 PHPUnit 斷言和 Laravel 測試助手。 介紹 PHPUnit 是最古老和最著名的 PHP 單元測試包之一。它主要用于單元測試&#xff0c;這意味著可以用盡可能小的組件測試代碼&#xff0c;但是它也非常靈活&#xff0c;可以用于很多不…

Brad Wilson寫的 ASP.NET MVC 3 Service Location 系列文章索引

Brad Wilson在他自己的博客寫了有關ASP.NET MVC3依賴注入支持的一系列文章&#xff0c;但由于某些原因&#xff08;你懂的&#xff09;&#xff0c;需要FQ才能閱讀。 為了方便自己也方便喜歡的同學&#xff0c;特意FQ再拷貝回來發布&#xff0c;以下是這一系列文章的索引&#…

注釋標記的原則_它關系到平臺如何標記操縱的媒體。 這是設計師應遵循的12條原則。

注釋標記的原則By Emily Saltz, Tommy Shane, Victoria Kwan, Claire Leibowicz, Claire Wardle埃米莉薩爾茨 ( Emily Saltz) &#xff0c; 湯米沙恩 ( Tommy Shane) &#xff0c; 關 穎琳 ( Victoria Kwan) &#xff0c; 克萊爾萊博維奇 ( Claire Leibowicz) &#xff0c; 克萊…

saltapi java_搭建基于Jenkins salt-api的運維工具

1. 安裝salt-master和salt-minion安裝過程不再贅述&#xff0c;請參考http://docs.saltstack.com/en/latest/topics/installation/index.html2. 安裝salt-api&#xff0c;cherrypy用來jenkins與salt通信啟用salt-api在salt master的配置文件中添加rest_cherrypy:port: 8010host…

他開發了redux,昨晚字節一面卻掛了?

大家好&#xff0c;我是若川&#xff0c;誠邀你進群交流學習。今天分享一次直播的記錄。我寫過redux源碼文章。動手按照文中例子學習&#xff0c;我相信會有所收獲。學習源碼系列、面試、年度總結、JS基礎系列redux的作者是誰&#xff1f;Dan&#xff0c;他的全稱叫做Dan Abram…

Onew積極開拓國際市場,為全球用戶提供全方位金融服務

當區塊鏈技術剛被提出的時候&#xff0c;金融被認為是最主要的應用場景之一&#xff0c;具體包括建立基于區塊鏈技術的銀行間點對點支付結算系統和跨境支付系統、在交易所運用區塊鏈技術實現股權的登記和轉讓等。 區塊鏈應用于金融領域有著天生的絕對優勢&#xff0c;主觀來看&…