-
1 # 鍵盤燈的閃爍
-
2 # 碼上有話說
首先,我們先要清楚一個概念,什麼是程式設計師?我理解的就是用一行行程式碼堆砌組成的程式去搭建網路虛擬化世界的一類人。那什麼樣的人才能被稱為程式設計師呢?需要滿足以下幾點要求:
1.必須要了解計算機基礎方面的知識:例如計算機組成原理——介紹計算機硬體構造及與底層二進位制的執行原理;資料結構也要略知一二——介紹資料組與資料之間的依賴(邏輯/儲存)關係。
2.要具備理性分析問題的思維:現在無論前端還是後端,程式的設計都要求基於面向物件,所謂面向物件就是現實生活中一切事物都可以用程式化了的物件去實現,如果你不具備理性思維的話,程式設計師這碗飯不好吃。
3.英語要棒棒噠:只要熟悉程式,熟悉程式碼的人都清楚的一點是許多程式前沿技術都用英語寫出來的,如果程式中出現了中文或其它特殊字元的話,輕則亂碼,重則報錯。
4.最重要的一點就是學習能力要強:眾所周知,IT技術更新迭代很快速,Node.js作為通吃前後端的程式語言,更是每個月可能會更新新的功能屬性,或者刪減廢棄的方法函式。最近聽說Node的創始人Ryan Dahl準備放棄Node而轉向新專案Deno的研發中,很多新技術都需要我們很快地掌握它的用法,不然它一段時間後它就可能被廢棄了。
我大學主修計算機通訊,計算機組成原理跟資料結構等課程的知識也接觸過,明白了計算機的底層構造、資料與資料之間的結構關係。為了更加完善自己的理性分析問題的思維,我曾經買過公務員考試用書《數量關係》跟《邏輯推理》這兩本書,把上面的題通刷了一遍。接著在培訓班上班期間又用JS實現了C語言例項一百題的全部題目。至於英語,我平常看些英語類的文章,無論手機還是電腦上都裝上了英語查詞軟體,方便閱讀程式碼時碰到不會的單詞或句子能夠及時地查詢意思。對於年前剛進入公司的我來說,工作經驗不夠以後可以在工作中慢慢積累,但是技術方面的提升則是以後工作的基礎跟保證,提升刻不容緩。我剛才也說了如果學習能力不強的話,根本不會在IT技術更新迭代速度如此之快的今天長久地發展下去。由於我在公司裡負責頁面功能效果的實現,以至於有很多JS相關的函式物件都忘記了使用方法,所以工作前我買了《JS高階程式設計》和《JS權威指南》這兩本書,權當再去重新地溫故和全面提升自己對JS的掌握水平。我工作中時常能用到前後端的互動,使用MIB查詢從後臺獲取資料,就需要掌握連線前後端的HTTPS協議是如何運作的?透過《HTTP權威指南》這本書,我明白了客戶端請求,伺服器端響應將資料返回給客戶端的過程;理解了HTTPS與TCP/IP等底層協議的關係。現在很多企業開始開發單頁面應用,我對這方面也不是很瞭解,在我現在的工作暫時還沒有用到這個技術之前,無論如何我都是要掌握它的,如果等到工作中真正接觸到這類技術的時候,你的時間跟精力恐怕不是那麼多。由於現在的工作我認識一批在公司屬於大牛級別的人,跟這樣的技術男在一塊你才能知道自己的不足之處,如何才能更好地提升自己。
張愛玲有句話說:“成名要趁早”,其實用於程式設計師身上也是在合適不過了,在自己掌握了IT基礎後,儘早的接觸以後工作中可能會用到的東西,到公司後也要跟大牛級的人物多接觸,這樣更好地進步。
我是一個小獵頭,一直在做技術領域的。base深圳,我在操作候選人時,大家會說,我最近還是不看機會了,想先補補技術。他現在在的公司並沒有很好的專案給他做,請問怎麼補?發散一下,技術人員要想變得牛逼,需要怎麼樣的天時地利人和呢?
回覆列表
所謂逆境出成長,程式設計師提升技術也是同樣道理。有專案才有需求,有需求就有業務,有業務就有功能,有功能就需要程式設計師的技術實現。以此說明,好的專案決定了業務的複雜度,同時也是對程式設計師技術的考驗,度過了難關,就提升了技術。
其次要多敲程式碼。不敲程式碼的程式設計師都是偽程式設計師,時間久了,就會對程式碼陌生,失去了程式設計的樂趣。程式設計師的世界裡,每個技術的學習成長都是從敲程式碼,解bug,效能測試最佳化中歷練出來的。多敲程式碼,是對舊技術的鞏固,新技術的摸索,形成知識體系,提升技術。
關注大咖級牛人部落格,站在巨人的肩膀上去學習,能少走很多彎路,學習他們的思考方式,完善自己的解決問題的思維能力,對提升技術百利而無一害。