1. 程式人生 > >《The most important non-programming skills for programmers(程序員的軟技能)》

《The most important non-programming skills for programmers(程序員的軟技能)》

英語 col 最有 important 說話 註意 語言 好的 變色

文章標題:
The most important non-programming skills for programmers(對程序員很重要的軟技能)

作者主要從11個方面進行了闡述,總結了一些對程序員來說比較常用的“編外”技巧,接下來我會大致介紹一下,並且附上自己的心得

1.Empathy(移情)

選鞋要合腳,在條件允許的情況下,明晰自己要做的會在哪些方面造成積極的效果,哪些方面會造成消極的效果,從完全相反的兩面考慮問題,是最簡單的防止出問題的方式。在移情中,作者舉了信息安全、帶寬、程序運行速度等例子,從多方論證了如果程序開發者沒有移情,那麽可能會出現的種種問題。
多想想使用程序的人,多考慮一下一塊寫代碼的同事,移情不僅能夠提高編程能力,更能融洽同事間關系。
最後,多些寬容,多些理解,每個人身上都會有值得他人學習的地方(這不得不讓人聯想到那個程序員槍擊事件),包容、交流、異位而處,這就是移情的做事方法。

2.Problem Solving(解決問題)

這個標題一言蔽之就是舉一反三,不斷優化。一個問題解決,相似情境下的問題要有方向,一個問題解決完成後,最好思考下是否還有更優方案
提供更多的解決方案,選擇在其中最好的一個,他可以不在單方面具有最佳的技能,但是綜合多面是最合適的。

3.Collaboration(協作)

工作環境中,我們會有很多機會和不同角色的人相處,開發、運營、管理者、客戶、開源貢獻者等等,明晰不同角色特色,一個人不能做所有事情。學會請求幫助,然後回饋幫助給別人,不需要事事都是專家,只要在某一方面有自己的特色就行了。教學相長,團隊協作,而不是單兵作戰。
這裏作者認為結對編程是一個不錯的選擇,在發表觀點的時候,不要立刻提出或者否決其他人的觀點,做一個優雅的傾聽者,從所有idea中,選擇最合理的那個。如果成功,別忘記了獎勵。

4.Communication(交流)
對於交流,作者更重視說話技巧,順耳的話總是能夠讓他人開心,學會對於自己的觀點進行包裝,將話說的漂亮一點。
這個標題中,作者舉了一個自己的一個自己曾經寫博客的例子。
在遇事不順的時候,一定要說出來,尤其是像deadline這種卡時間點的事情。

5.Inclusiveness(包容)
會議上的一言不發?做事情時的憤世嫉俗?又或者其他某些原因,讓我們觀察到許多“沈默”現象。
我想,每一個人都會有自己的感受,自己的訴求。當觀察到“沈默”時,作者呼籲進行溝通,而不是摒棄他們到討論圈外面。
集思廣益、博采眾長,汲取不同的經驗,我們才能成長的更好。

6.Patience(耐心)
對於編程來說,什麽時候最煩躁?bug?產品要求做個會變色的手機殼?還是老板讓你明天交出個系統?又或者某個不專業的家夥吃了你的口糧(時間)?
有些時候我們會遇到瓶頸,一些曾經的技巧可能會幫助我們擺脫他(比如原先做題的30分鐘技巧),休息一下,走動走動,聊聊天,吃點小點心,這樣把註意力分散一下,減緩自己身上的壓力,也許這樣的轉換,會有助於你得出更好的解決方案。
作者在這裏強調人並非生而知之,能夠幫助別人盡量幫助一下,這並不困難。不要把新人扔到不毛之地讓他荒野求生,那樣既不效率,還有些殘忍。

7.Creativity(創造力)
創造力對於程序員有多重要?我認為這很重要。我常說的一句話是,如果程序員習慣了墨守成規,不再擁抱變化,那麽很難說這個人還是一個合格的程序員。在他心裏,可能這僅僅只是一份工作而已。
我相信每一個程序員都夢想改變世界,這是最刺激也最有意思的地方,雖然有些時候工作非常忙,每天眼一睜一閉,人就在公司了。但是我依然能夠擠出點時間背背英語,搞個閱讀,學個小知識(畫個草圖弄個demo),雖然非常累,但是習慣之後還是很爽的。
我最高興的時候是我給別人講東西時,順著思路能夠將一個比較復雜的事情講明白,超有成就感。
做項目時,偶爾也會偷偷測試一個原來沒有的功能,看看效果,這就是我力所能及的改變。

8.Humility(謙卑)
每一個程序員擅長的領域幾乎不會相同,雖然有可能覆蓋面有重疊,但是你在他人身上總能學到新的知識。
個人感覺每一個行業的大佬,都是經歷過沈澱和積累的,只有把心靜下來,才能仔細品味出自己獨有的風格。

9.Confidence(信心)
時常做一些有挑戰性的事情,將自己放在挑戰者的位置上。無傷痛,不成長,開一個文檔,記一下自己做過的事情,
當感覺撐不住的時候,就回來休息一會。

10.Adaptability(適應性)
code其實是一個學無止境的事情,世界的變化發展日新月異,曾經看起來遙不可及的技術,也許幾年的時間就會大範圍普及
在這裏作者建議根據職位規劃和個人目標選擇自己的專精方向,適應時代潮流,做一個喜歡沖浪的弄潮兒。

11.Community participation(加入社區)
社區對於編程很重要,其重點在於他收羅了多方的信息,人人都可以通過社區交流並獲取自己感興趣的信息
即使你並不擅長社交,但這並不妨礙你坐在電腦前,瀏覽一個帖子。

12.Conclusion(結論)
作者認為以上都是“軟技能”,對於coder的好處遠遠大於了解語言、庫或者框架,我認為程序員的工作並不單只是編碼,每一個人都會對自己的工作有自己的想法、理解與追求
在工作中思考自己,在實踐中檢驗自己,也許我們都在成長的路上,但只要不迷失方向,終有一天,人人都會站在山頂,俯瞰風雲。

《The most important non-programming skills for programmers(程序員的軟技能)》