最近一個月都在在大廠華爲出差跟進項目,工做一直是996或者997,因此最近一個月沒怎麼更新文章。
週末抽點時間,爭取把耽誤的,想寫的文章儘快補上。前端
我自己作開發不少年,也算是一個資深的程序員。同時工做中也接觸了不少的程序員,有優秀的,也有平庸的,接觸下來,發現但凡優秀的程序員,都有不少優秀的通用特質。
因此想寫一個系列的文章,講講程序員的進階之路。程序員
本篇是第一篇,本篇文章主要從程序員的思惟模式和心態來說述初級程序員的進階之道。若是你想成爲一個優秀的程序員,能夠參考其中對你有價值的東西。爲啥把思惟模式和心態放到首篇呢,由於我以爲思惟模式和心態是決定一我的成長最主要的因素。後端
閉環思惟體現了一我的的責任心和職業素養。你接受到一個任務,不僅是完成代碼這麼簡單。而是須要推動整個任務的最終完成。好比你完成了任務,應該轉測,並主動給測試人員留下測試方案。架構
遇到一些開發能力還算不錯程序員,可是在閉環思惟方面不好。不少時候就是完成了代碼編寫,就逃之夭夭。不對基本的結果負責,甚至不作基本的自我測試或者單元測試。 領導交給你任務,你完成了,或者階段性完成了,須要主動向領導彙報,或者按期寫進度報告,或者在管理系統提交你的進度報告,這也是閉合思惟的一個體現。也是靠譜的一種表現。 實際工做中,遇到的各類麻煩可能遠遠超過你的預期。你會遇到不少人,不少公司,不少項目。其中遇到的問題,林林總總。不少時候難題可能不是技術自己層面的,還涉及到不一樣的流程協調層面的。 有的時候,除了完成本身手上的工做,你還的去驅動和其餘人的集成對接工做。好比有的大型項目,涉及到多個部門甚至多個公司的研發團隊。此時的各類對接流程未必那麼完善和自動化,這個時候閉合思惟顯得尤其重要。 好比A部門(公司)負責前端部分,B部門(公司)負責後端部分。前端開發完成了,就得主動去驅動前端和後端的集成和對接;而且要主動驅動後續的測試。而不是開發完成了,而後以甩手無論,領導或者客戶來諮詢的時候,卻一臉無辜的說:已經開發完成了呀。 總之,所謂的閉環思惟就是,對最終結果負責。就是盡最大努力,獲得領導和客戶想要的結果。
遇到困難時的態度,決定了你技術之路的高度。
遇到一些還算聰明的人,平時開發的時候,技術都還不錯,開發效率和質量也還能夠。可是一旦遇到技術難題,就會選擇逃避。這實際上是放棄了提高本身的機會。
你遇到難題的時候,說明你已經在某個方面開始深刻了,此時若是你堅持下去,不要放棄難點,就會真正的深刻。只要你堅持,你的思惟能力和某個方面的專業性必定會大大的提升。等你上升一個臺階以後,再回過頭來看你曾經以爲難的問題,就會發現已經變得簡單。
怕的就是你泛泛的學,都不深刻。遇到難題就逃避,這樣你永遠均可能在門檻外面。
說一句雞湯的話就是:遇到了坑就繞過,你的人生就全是坑。遇到坑你就去填坑,你的人生路可能會愈來愈平順。
說說個人經驗,我通常遇到難題,若是暫時不能解決。我就會把它加入到TODO List,同時在腦中把它加入到ToThink List(待思考的問題列表)。只要空閒的時候,我就會投入時間來思索。有不少問題,我都是在上下班的路上想出來的。好比 大數據量繪製,2.5D解決方案等(後續我可能會寫一篇2.5D誕生錄的文章)。
要相信絕大多數你遇到難題,只要你對其抱有熱情,不放棄,不斷的思索,相信就總有找到解決方案的時候。
這世上沒有舉手可得的星辰,也沒有一蹴而就的成就。框架
上面提到了一個詞:」熱情「。 通過這麼多年的研發生涯,我發現,一我的能達到的高度,與智商、天賦的關係其實沒有人們想象的那麼大,決定因素反而是對一件事情的持續的熱情,信心和決心。 這一點我願和你們共勉之。
養成抱怨的習慣頗有害。complain makes you weak。抱怨和情緒不能解決任何問題,只能讓你變弱。抱怨浪費你的時間,情緒消耗你的能量,並讓你不能正視問題。函數
有的人偶爾抱怨一下,還能夠理解,畢竟咱們不少人都是普通人,固然你能夠挑戰本身,永遠不抱怨,不過難度很大,在此並不想灌永不抱怨的雞湯。可是若是抱怨多了,並且不可以及時調整本身的心態改變本身,讓抱怨成了一種習慣性的大腦反饋,那麼你就會變得讓人討厭,固然也不會獲得上司的喜歡。從我我的的角度來講,若是一個員工偶爾向我抱怨,我能夠接受,而且認同其中的一些傾訴,理解一些客觀的困難和不公平,並想辦法去消除這些客觀的因素。可是若是一個員工就某個事情,老是抱怨,或者說習慣性抱怨,我必定認爲就是這個員工本身的問題。工具
抱怨是一種情緒,並且是一種有害的負面情緒。管理很差本身的情緒,就必定管理很差本身的工做。管理很差本身的負面情緒,就必定管理很差本身的工做,是一我的不成熟的表現,毫不會被提拔重用,這是不少上司的共識。所以要想樹立本身成熟,穩重和值得信賴的我的形象,就要從避免我的情緒化外露開始着手。單元測試
當你想要抱怨的時候,冷靜下來,問問本身,抱怨能夠最終解決問題嗎。 若是是答案是NO,那麼請放下抱怨。積極面對問題和不公平,事實上當你放棄抱怨,作出積極的努力的時候,你會發現你的大腦會更加快樂,並且在你積極面對的時候,必定會給你本身帶來提高。學習
我不會給你們灌輸 never say no的雞湯。 由於有的事情,在有限的條件下,確實是無法達成結果的。
可是,你們仍是要養成正確的say no的姿式。先看看什麼樣的姿式是錯誤的,如下是常見的錯誤姿式:
」這個方案技術無法實現「,恩,技術無法實現,多麼熟悉的聲音。
」這個時間點確定不能交付「,恩,確實無法交付,咱們都懂。
」對不起,你的需求超綱了,不作「。若是你作過項目,就會懂得客戶的需求就沒有不超綱的,各類條款限制都沒有用的。
上面的全部的say no,問題在於,都是直接否認,態度太過強硬,徹底沒有商量的餘地。 這必定會讓產品經理,或者領導,或者客戶很不爽。
那麼以上問題,正確的say no姿式是怎麼樣的呢?
第一條,這個方案技術無法實現。stop,先中止你的習慣性拒絕吧。首先想想,真的是無法實現嗎。或許你不用一種輕易拒絕的心態,積極思考,就能想到好的實現方式。此時你不須要say no。
仍是沒想到實現方法?或許並非不能夠實現,只是你不知道如何實現,或者應該說,是你暫時不知道如何實現。這個時候你的say no 應該是:
」這個方案我暫時尚未想到解決方案,我須要下去研究一下,因此我還不肯定是否能夠實現「 這兒的關鍵就在於,你沒有直接拒絕對方(多是產品經理,領導或者客戶),會讓對方以爲舒服不少;同時,你也沒有拒絕掉你本身的成長之路,由於你真的應該下來好好摸索一番。在筆者看來,不少不能實現的問題,絕大多數時間是能夠找到解決方案的。
若是最終發現確實無法實現,可是你通過了前面的探索,也能夠說明白真正的理由是什麼,真正的困難點在哪裏。同時,你能夠提出變通的方案爲最佳。
第二條,」這個時間點無法交付「。確實,時間太緊,無法交付。可是態度仍是太生硬。對方也未必瞭解真正的工做量,你此時最好是列出工做量,並說明可以交付的部分。相信大部分人都會作出妥協和退讓,並不會死摳不放。
第三條,」對不起,你的需求超綱了,不作「。恩,理解你,前面就說了,客戶(產品經理)的需求就沒有不超綱的。 可是,你若是直接說不作,會讓客戶很難看。結果就是可能在後面的交付給你製造麻煩。事實上,你應該仔細去了解和傾聽客戶需求,瞭解客戶的真正的需求和痛點所在。若是真的存在痛點,而工做量不太大的狀況下,就請幫忙改了吧。若是工做量太大,能夠考慮讓公司有關部門協商,有償增長需求。請珍惜客戶的痛點,由於這是你的價值機會。測試
可能還會有其餘的狀況,總之,say no的態度不能太硬。另外,確實不要輕易直接拒絕,多研究研究再說。更不能養成慣性say no的習慣,在我看來,習慣性say no就把say no變成了你懶惰或者無能的藉口。
我從事開發工做10多年,期間也作出了一丁點業績。若是說這些年開發工做,對我帶來了什麼改變的話,我想有一個很重要的點,就是技術自信力。什麼叫技術自信力,這其實我本身創造的一個詞。啥意思呢,我相信技術可以解決99.9的需求,只要你願意去鑽研和研究,這就是技術自信力。固然不是盲目自信,相似讓你造火箭這樣的需求,你應該仍是須要有自知之明。問題是,不少時候,不會真有這種需求吧。這也是前面一條所強調的,不要輕易say no的緣由。
但願每一個程序員都有這種技術自信力。 最近讀了心理學家卡羅爾·德韋克的經典做品《終身成長》。裏面說到了人的兩種思惟模式,成長性思惟模式和固定性思惟模式。固定型思惟模式中,成功來源於事情的結果,可以證實本身的天賦和能力。而成長型思惟模式中,成功來源於盡本身最大努力作事,來源於學習和自我提升。 建議有興趣的讀者,能夠去讀一讀這本書,頗有啓發。
若是你是一個擁有技術自信力的程序員,說明你是成長性思惟模式。這種思惟模式將終身影響你的成長。
孔聖人都說過,學而不思則罔,思而不學則殆。一個不肯意思考的程序員是沒有前途的。不論你多麼的忙,都須要留下時間思考。 由於思考可讓你在紛繁瑣碎的平常工做中,找到本身成長上升的階梯。
有這麼一句話,不要用戰術上的努力,掩蓋戰略上的懶惰。 懶於思考,其實就是戰略上的懶惰, 勤于思考,就是一種戰略上的努力。
對於程序員來講,能夠有不少思考的東西。
好比對於已經作過的東西,進行復盤,能夠思考哪些地方咱們作的好,哪些地方咱們能夠改進,應該如何改進。工具、效率、代碼質量和規範。
對於咱們暫時沒有作出來的東西,不斷反思,應該如何才能作到。
作的項目多了,寫的代碼多了,咱們能夠考慮概括,總結,提取有價值的東西。把經常使用的功能封裝成工具庫,工具函數。進而提升咱們的工做效率,也是一個沉澱的過程。
把相似的東西,通過抽象,造成更加通用的產品。事實上,不少著名的開源庫/框架,相信都是經過抽象加工,開發出來的。
還有就是,可否對於一些問題,思索出一些創造性的解決方案。
思考的過程,能夠提高咱們的思惟能力,提高咱們的認知和能力。
若是你不會思考,天天機械似的幹着一樣重複的工做,就不能怪別人叫你碼農。更要命的是,你得不到成長。
若是想成爲一個優秀的程序員,就必須作好終身學習的準備。由於這個世界爲程序員準備了太多須要學習的東西,多到這輩子都學不完。
不過我發現絕大多數程序員都是愛學習的,因此此點,我不打算多作表述。不過我想要說的一點是,請務必享受學習的過程,而不是痛苦的去學習,由於這不是長久之道。
不少人對不少事都是這樣:剛開始的時候充滿了熱情,雞血滿滿,可是隨着時間的推移,這種熱情就會淡去。咱們對於本身看似熟練的東西,再也提不起來興趣。技術也想像圍城,你老是這山望着那山高,老是討厭當下的境地,而嚮往所謂的讓人仰止的高山,由於那老是讓本身激動,但是或許也就僅僅停留在心裏的激動。只是就算你到了另一座高山,它終究也會變成你討厭的當下。
不少人學習新知識的熱情很高,卻對於工做中遇到的問題視而不見,漠不關心。其實你要知道,在職場上,你的價值在於你可以解決多少問題,而不是學會了 多少門新的技術。 固然我不是讓你們不要學習,而是要你們先把本職工做作好的基礎上再去學習新的東西,若是本職工做一大堆問題你置之不理,而饒有興趣的去淺嘗輒止的學習新的東西,就是本末倒置。
能堅守平凡的人,才能不凡。由於任何事情,都終究變得平凡而瑣碎。你再喜歡的女神,終究也會容顏老去。
咱們老是羨慕那些大牛們,他們有豐富的學識,有高超的技藝,有不凡的魅力。 只是你不知道,大牛的今天,是無數個默默付出的夜晚、無數個敲擊鍵盤的清晨累計而來的。他們未曾放棄過任何一個當下的問題,永遠可以在變得枯燥的平常中找尋到新的樂趣、可以在當下的平凡中探索出不凡之路。
對每一行代碼的執着,對每個問題的深刻探索,終究是你我都須要經歷的。
相信我,你的快速成長能夠來自於平凡而瑣碎的工做,來自於你對司空見慣的代碼的優化、對平常的每一個問題的執着的探索、對於難點的苦苦思索。
臨淵羨魚,不如退而結網,而不少人選擇了退而卻步。但願你可以沉下心來,好好的解決好當下的問題。咱們要作的就是堅持不懈的履履而行。
正如保羅.柯艾略的《朝聖》一書所言,超凡之境恰在平凡之路上,願以此與諸君共勉。
歡迎關注公衆號「ITman彪叔」。彪叔,擁有10多年開發經驗,現任公司系統架構師、技術總監、技術培訓師、職業規劃師。熟悉Java、JavaScript。在計算機圖形學、WebGL、前端可視化方面有深刻研究。對程序員思惟能力訓練和培訓、程序員職業規劃和程序員理財投資有濃厚興趣。
個人博客即將同步至騰訊雲+社區,邀請你們一同入駐:https://cloud.tencent.com/dev...