當前位置:
首頁 > 知識 > 程序員必須掌握的6種軟技能

程序員必須掌握的6種軟技能

如果你想要開啟作為 web 開發人員的職業生涯,那麼你需要涉及的不僅僅是知道如何寫代碼。

有一些通用的軟技能幾乎可用於每個領域——包括技術行業。

成為軟體開發人員涉及的不僅僅是編寫代碼。自從我開始我的第一份作為軟體開發人員的工作之後,我很快就知道了這一點。如果你想要在這個領域茁壯成長的話,那麼你需要學習「特定的技能系列」。

你看,每一家公司都有一個大局。除了寫代碼,你需要利用其他技能,使自己更有影響力,從而賺取更多的 money。

在我作為一名開發人員的任職期間,我學會了除了編程之外還需要掌握的技能。下面我將分享 6 種技能,作為一個有抱負的開發人員你一定不能不會。

技能#1:書面溝通

在開始每天的工作之前,你可能需要先回復郵件。電子郵件迅速成為了生產力的死亡陷阱。與此同時,電子郵件也是展示你對別人有多大價值的門戶。書面技能依然是事實業務溝通的領頭羊。

既然書面溝通技巧是如此之重要,於是我花了很多時間來掌握髮送電子郵件並快速得到回復的技術。

我所有的電子郵件不但設計友好,而且會儘快切入正題。這是我在郵件中要求技術需求的 4 個步驟:

1.感謝對方發送電子郵件。這適用於每封電子郵件。例如:感謝你與我聯繫。

2.強調他們的要點並說明你已了解。例如,「如果我理解正確的話,你是想……」。

3.提出問題,以確保你理解他們想要什麼。

4.在他們回答你的問題之後,按照步驟 2 的方式回復以確認你理解的內容。

這些步驟將提前節省你大量的時間,讓你突出於那些沒有做到位的人。書面交流是開發者武器庫中一項最被低估的技能。當然要想正確表達自己的想法需要多年的實踐,但用好這個武器往往會有「殺人於無形」的奇效。

技能#2:教學相長

如果你是一個初學者,那麼你可能認為你沒什麼可以教人的。但現實情況是,你也許可以。

當我開始我的第一份 web 開發工作時,我認為我需要花更多的時間向別人學習。但不是所有的情況都是如此。事實上,我做到了學習與教學的結合。我們公司已決定從 SVN 轉移到 Git。而我得到這份工作也是因為我的主要賣點就是大量的 Github 代碼倉庫。

當我加入的時候,我發現這是一支正在蓬勃成長的團隊,並且轉移到 Git 對於我們而言是有壓力的,因為它是一個更好的協作工具。

這真是一個超現實的體驗,因為,這是我人生中第一次不得不用標記來武裝自己以及在白板上畫圖。雖然只是一些簡單的圖表,用來演示 git 是如何工作的以及它如何與 Github 互動。還有解釋如何最佳利用分支。

請記住:這只是在公司待滿一個月之後。從那以後,我一直是頭腦風暴會議的一部分,解釋 Rails 中一切的工作原理,從會話到嵌套表單。

在你第一份開發工作中,通過教學,你可能最終會給人一種你比他們更知識淵博的印象。即使你不認為自己是「專家」或「高級開發者」。

在每一家公司里,總有共享的知識池。當我教人的時候,我會對此作出貢獻,同時帶走別人的經驗和見解。

基本上說來,每個人都會貢獻自己的經驗和觀點到這個知識池中。而這便是大規模的教學相長。

技能#3:專註

任何職業,無論是畫家還是作家,專註於小細節才有可能一步步累積至偉大。如果你想產出令人驚艷的工作,那麼你得小心注意並調整方法。

如果你對細節的關注還不到位,那麼關鍵是要具備處理專註的能力。

完全專註於一項任務的能力在我們當前這個世界裡是呈現遞減狀態的。Twitter,Facebook 和 Reddit 正在不斷誘惑我們的注意力。Cal Newport 在他的《Deep Work》一書中指出,為了有一個有影響力的就業,人們必須放棄淺層的工作並擁抱深層的工作。

淺層工作被定義為只有短期利益的工作。例如,你可以花一天用來撰寫和回復郵件,但會因此而錯過深層工作。深層工作是需要全神貫注並最終導致實際成果的工作。

作為一個開發者,這個技能不能被低估。我們的工作是建立有用的東西。而創造有價值的東西是需要大量時間的。少一點消費者的心態,多一點生產者的心態。

可能會有用的一種技術手段是番茄工作法。

下面是它的工作原理:

1.設置 25 分鐘的定時器

2.專註於一個任務 25 分鐘

3.25 分鐘結束後,休息 5 分鐘

4.任何浮現出來和任務無關的想法,你可以先寫下來以便於以後來關注。

5.你重複循環四次(或更多)

這種技術之所以偉大是因為它使你一次專註於一件事情。它可以幫助你產出更有意義的工作,而不是每隔幾分鐘查看 Twitter 或 Facebook。

技能#4:了解大局

那些主要產品圍繞代碼的開發人員需要執行一種小心以及平衡的行為。一方面,從發布到產品來幫助企業成長。另一方面,你要保證不會給你將來的同事留下難以維護的代碼。而且以及當然,用戶也得享受於軟體。

但是,首先,此刻你能做的就是編寫代碼。當你開始作為一個開發人員提高自己的時候,你將——回過頭去重構原先的代碼。讓你的軟體更適應將來在上面工作的開發人員。

有一個偉大的概念是 DRY(don』t repeat yourself)原則。其基本思想是寫一個只需要改變一次的代碼片段,如果你決定將來更改它的話。這種方法既是程序員的福音,也有利於企業。

然而,所謂的大局並不僅僅涉及到代碼。大多數的大公司遵循 Peter Drucker 的原則。如果你學過 MBA,那麼你一定聽說過 Peter 和他的管理原則。如果沒有,那麼建議閱讀他寫的書。

Peter 對西方公司產生了深遠的影響。他提出的最重要的概念之一是成本中心和利潤中心。在銷售和市場營銷工作的人被認為是企業的利潤中心。他們增加收入。必須控制企業成本以最大限度地提高收入。作為開發人員,你既可以是利潤中心也可以是成本中心。

管理你的職業生涯的最佳方式是了解你適合企業內部的哪個位置。這會附加你的價值,並讓你的職業生涯走得更遠。

技能#5:社交技巧

許多人認為,像 Google 這樣的公司創造了一種從自上而下的文化。不過,你和你的同伴也在建立文化。而培育這種團隊範圍的文化的最佳方式是通過你自己的社交技巧。

回想一下你的現實生活,而不是工作生活。你的朋友圈中有沒有這樣一個人是每個人都期待看到的?他們的存在可以帶來歡笑和深刻的討論。他們不傳播流言和謠言。在有人需要幫助時他們會及時伸手。總而言之,他們被描述為是一個夠意思的哥們或菇涼。

這樣的人也存在於工作場所。而你的目標應該是嘗試成為那樣的人。

成為一個每個人都期待看到的人。建立用一種建設性的心態說出意見的勇氣。這與你認為自己是一個內向或外向的人無關。

慢慢的,你的事業、你的技術技能將和這個領域中的其他人相同。但是如果你想在職場中獲得成功,那麼你需要成為團隊成員。你必須能夠和他人交流,能激勵他人,並值得信賴。因為在一天結束時,如果你不能與別人進行聯繫,那麼你將永遠無法讓別人接受你的想法,無論多大或多小。最終你只能接受其他人的想法,而不是給出你的想法。

技能#6:發現並處理問題

程序員的作用是解決問題。但要解決問題,首先必須去發現問題究竟是什麼。

世界上最容易的事情是記住一堆命令或複製和粘貼在 Stackoverflow 上的代碼。真正的能力是知道發生了什麼事的大局觀。如果你正在解決工作中的一個大問題,那麼最好是把它分解成微小的可編輯的片段。

先查看問題本身。想想代碼試圖解決的問題。

它使人更容易購買嗎?

它做報告嗎?

創建這個軟體的目的是什麼?

然後,看一下當前的解決方案(如果存在的話)。最後,考慮當前的解決方案是如何解決這個問題。(如果它能解決的話)。

一旦你高度概括了這個應用程序,那麼你就可以進入應用程序的功能部分。利用問題、解決方案和細節技術來進一步分解問題。這些框架步驟幫助我理解了不同的開源項目,例如 Disourse。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員之家 的精彩文章:

是什麼使一名好程序員變得偉大
不完全指南:程序員怎麼找海外工作
當程序員成為了爸爸,畫風……
程序員選擇公司必看的8個標準
牛X程序員和 Bug 之間的 PK

TAG:程序員之家 |