從測試到全棧,這些年我都經歷了什麼

寫在前面

首先,這篇文章的標題絕對是標題黨石錘了。前端

寫這篇文章的動機,徹底是由於在每日逛 SF 的過程當中,發現了一塊兒分享你的故事這個活動,出於標題處小姐姐爆表的顏值讓我有了戀愛的感受以及對於獎品中 T-shift 的渴望,我無情地拋下了手頭的工做(明天還給作 hotfix 發佈),寫下了這篇文章。java

話說 SF 簡直貼心,文章大綱都給列好了,那我就無情的 copy 過來好了,這樣的話,確定不會由於和主題無關而取消獲獎資格的(機智臉)。python

能夠先介紹下本身

我叫 littlelyon,最先是在一家不知名美國公司作黑盒測試和自動化測試,以後轉型作了 java 開發,後來因爲和公司部門領導有一些衝突,辭職跳槽到一家創業公司作 python 開發並慢慢轉向了前端的工做,以後爲了尋找更好的發展空間就又跳槽了。當前是一名全棧工程師,偏前端方向的,主要負責公司各個項目的前端架構以及優化工做,有空的話,再幫幫後端童鞋分擔下工做咯。react

比較熟悉的技術棧包括各類前端內涉及的框架、編程思想及工具等等,後端的話,主要是 pythonjava,最近在學習 go,由於新的項目要來了。平常除了養家餬口的工做之外,就是刷刷技術論壇,看看博客,折騰折騰新的技術,回答回答新人小白的問題什麼的,比較閒的話,也會作一些我的項目以及看一些開源項目的源碼。jquery

我的優勢的話,應該是我這我的頗有耐心,作事效率也很高,總之就是比平均水平快,缺點的話,我覺的應該反應比較慢,這個在刷題的時候,提現尤其明顯,不少算法看答案都要理解很長時間。我的愛好的話,平日無聊會彈彈吉他,作作飯,刷刷動漫什麼的。linux

等等,怎麼一種面試自我介紹的既視感,不過我覺的當作自我介紹應該差很少了吧。git

聊一聊那些年你做爲程序員遇到的尷尬事兒

仔細想了想,彷佛也沒有什麼尷尬的事兒,不少事情遇到其實沒什麼,大不了重來就是了。還記的剛用 linux 的時候,前先後後重裝了不下十幾回吧,不是由於 sudo rm -rf 給系統文件刪光了,就是由於改了不少默認的配置文件致使系統起不來了,總之犯過不少很愚蠢的錯誤,好在如今再也不犯了。程序員

可能比較尷尬的事情就是和產品經理溝通?這真的是個人真實感覺。angularjs

怎樣提升本身的戰鬥力

程序員提升戰鬥力的方式?這個按我本身的理解應該每一個人都有本身的一套方法吧,我就簡單分享下我印象中,當前職業生涯中幾個戰鬥力提高比較快的時間點以及緣由吧github

養成了學英文的習慣

因爲第一家公司是一家美國公司,因此英語確定是必備的,其實我自身的英語水平還算能夠了(好歹也是過了4級的水平,滑稽臉)。但到真實的使用場景下會發現很不夠用,主要體如今如下幾點:

  • 和外國人溝通比較費勁,常常發現沒法表達本身的真實意圖
  • 看國外文章速度很慢,這個慢主要體如今,一些比較長的句子,讀一次沒法明白含義,須要讀屢次,而後還有一些高頻單詞不認識
  • 公司組織的一些以英語爲語言的講座只能經過文字來汲取知識,而後還受制於第二點

因此當時爲了解決這些問題,我就下定決定要改善下本身的英語水平,以後就隨便找了個學習英語的 APP,每日堅持背單詞、看英文新聞和練聽力,以後大概堅持了 3 個月左右吧,而後就顯著地發現上面 3 個問題都不是問題了。

而後因爲看英文文章不受約束了,技術水平隨着閱讀量的提高也提高了很多。這裏可能有人會問了,你英文很差能夠看中文文章啊,不也能夠提高嗎?話是沒錯,但當時吧,其實真正優秀的中文文章並不像如今這麼多,不論原創仍是翻譯的。同時,我一直覺的,不少東西,仍是看原文比較好,由於若是你看的是別人翻譯過來的文章,就比如別人吃下去的東西再(此處省略 1 萬字 ...)。除非翻譯的人的水平很高,否則大量閱讀譯文是一件學習效率很低的事情。

不要忽視那些看似微小的時間片斷

這一點主要是想說一下平常工做中,尤爲是使用電腦,編程時的一點感覺,就是快捷鍵。這裏的快捷鍵是廣義上的快捷鍵,包含但不限於 alias、宏命令、腳本等等,總之就是能節省時間的若干方式罷了。

我還記的當時作自動化測試的時候,因爲寫測試用例的腳本語言是公司本身開發的,同時公司內部也沒有對這個腳本語言提供各類編輯器的插件,當時的工做的面向文本的,對,你理解的沒錯,就是徹底靠手打和人工校對,徹底不存在什麼自動補全、自動跳轉之類的。當時我作了兩天我就發現這是個很嚴重的問題,正巧當時 vscode 也剛發佈,就在上面實現了支持這個腳本語言的插件(爲了證實我沒有吹牛逼,repo 在這裏),但當我向公司內部推廣這個插件的時候,部門領導給我潑了一盆冷水說,你那些自動跳轉和自動補全能節省多少時間啊,也就 3 秒 5 秒的,我粘貼複製一下,不是同樣的效果?後續又在不少方面起了不少爭執,最終由於意見不合我就離職了。

我這裏說這個事兒,是想告訴你們,不要輕視這 3 秒 5 秒的時間片斷,若是在工做中,一個高頻動做,每次執行時,均可以節省幾秒鐘,日積月累,真的不容小覷。我這裏分享下我認爲平時比較高頻的操做以及節省時間的方法:

  • 一些軟件的使用,主要就是花一些時間整理並編寫相應的 alias 或者腳本了,好比 git 能夠經過 alias 功能有效提高效率
  • 開發環境的配置,如今各類開發環境都支持熱更新、熱部署、增量更新等方式提高效率,趕忙用起來咯
  • 使用正確的工具,如今容器化已經成爲主流,若是每次部署仍是手動來完成,是時候該瞭解下相似 docker 這樣的工具了

這樣,這裏節省 1 秒,那裏節省 3 秒,那裏又節省 5 秒,日積月累你就會明顯感受本身的時間變「多」了,而後就能夠去作其餘事情,好比學英語。

避免重複地作一件事情

上半年招聘的時候,陸陸續續來了不少人,簡歷上都寫的工做經驗 7 8 年的,都比我工做年限長,但面試以後,給人的最大感受就是,其實這個候選人的工做經驗就也 2 3 年,剩下的時候都在作同質的工做,而後重複了不少年。這實際上是程序員很容易陷入的一個怪圈,就是我明明工做了不少年,可是卻感受本身的技術再也不提高?最主要的緣由,是由於一直在作一樣的事情,咱們只有儘量的作不一樣的事情來挑戰本身,才能不斷的提高戰鬥力。

仍是講我本身印象中比較深入的一件事。當時曾經爲開發過一款用來管理部署環境狀態的 chrome 插件,最開始,這個插件就是寫着玩玩,天然沒有使用任何的框架,直接原生 js 擼,雖然得到了團隊內部的一致好評,但隨着需求的增多,使用原生 js 已經沒法知足開發效率,以後就引入了 jquery,而後發現並無改善多少,而後又引入了 angularjs,第一次體驗到了使用框架的快感,以後又陸陸續續使用了若干框架來重構了這個項目,每次重寫都會有不同的感覺,好比從 angularjs 換到 react 的時候,第一次感覺到了 prop/state 這種單向數據流的清晰感,集成了 rxjs 以後體會到了響應式編程的優雅等等,總之就是來來回回的折騰。

說實話,我感受如今前端工做作的駕輕就熟,很大程度是由於當時在創業公司時,來來回回折騰這個 chrome 插件形成的,這裏很是感謝當時的團隊領導給予了我自由支配本身時間的機會。

送給即將成爲程序員的經驗

經驗的話,大概就一下幾點,一些上文也說起了:

  • 學好英語
  • 大學的基礎課程,要好好學習,大有益處,否則往後仍是要還債的,好比數據結構和算法、網絡等
  • 戾氣不要過重,要 peace,不要學我一言不合就和上級翻臉離職,裸辭的風險仍是很大的,我很快找到一家靠譜的創業公司有很大的運氣成分,否則如今估計不會在這裏寫文章了
  • 先找個女友

若是還有一次選擇職業的機會,你還會選程序員嗎?爲何?

答案固然是不會啊,有重來的機會,固然是幹不一樣的事情了,否則和鹹魚有什麼區別。

寫在最後

本文純屬我的觀點,不喜輕噴,若有雷同,純屬巧合。

其實還有不少沒說的話,可是鑑於要去改 bug 了,因此就寫到這裏了,有什麼想問的、想了解的,能夠寫到評論中(雖然可能沒有)。

本文參與了 SegmentFault思否徵文「一塊兒分享你的故事」,歡迎正在閱讀的你也加入,一塊兒分享。
相關文章
相關標籤/搜索