純機器翻譯
隨著大量的技術,語言和平台可供選擇的今天,它可以找出其中最好的投資時間在訓練你作為乙個軟體開發人員的技能是非常困難的。
經常有人問我的意見,就如何成為乙個更好的程式設計師。
最常見的問題有人問,是基於他們是否應該投入更多的時間在乙個特定的程式語言或技術與另乙個。
我已經給這個頗有幾分思想最近,我想出了什麼,我認為是乙個軟體開發人員可以實現,這將給他們的職業生涯最好的機會,使他們最有效的最重要和最永恆的技能。
技巧1:解決問題
需要學習如何解決問題之前,我什至給出了一些如何學習解決問題的步驟,我多次談到過,因為我相信這個技能是任何軟體開發的關鍵。
軟體開發是解決問題的
100%左右。
如果沒有問題,就不會有需要軟體。
所有軟體設計來解決一些使用者的問題,一般的解決方法是各種各樣的小問題,使其內。
這真的沒有不管你使用什麼程式語言或技術,如果你解決不了的問題,你會不會很擅長軟體開發。
令人吃驚的是多麼糟糕大多數開發商都在解決問題。
我經常聽到抱怨面試太硬,因為他們要求開發商解決一些棘手的問題。
我已經談到為什麼硬訪談和測試開發者的解決問題的能力的部分原因是因為他們。
我知道的是,許多開發商仍然不同意我這一點,不明白為什麼這樣的**
topcoder
公司將提高他們的發展能力,那麼多,但我知道,這是從個人的經驗
topcoder
公司解決問題的做法,是轉折點在我的職業生涯。
想想乙個木匠。如果你想成為乙個成功的木匠,你應該善於砍柴。您應該實行做著各種割傷和使用許多不同的工具,鋸木頭。
不要緊,你有木工多年的經驗以及你如何可以設計家具或櫥櫃如果每次嘗試砍柴你鬥爭作出削減。
砍柴是乙個基礎的木工技能,解決問題就像是軟體開發的基本技能。
技巧2:自我教學
大概沒有比在生活中更重要的技能學習學習。
這個技能是在軟體開發中尤為重要,因為沒有現場,我所知道的比軟體開發更迅速地改變。
你可以不知道一切的一切。你甚至不能真正投入所花費的時間是乙個特定的框架或技術的事情正在朝著太快的高手!
相反,你需要能夠迅速獲取知識,你需要為手頭的任務。
如果你真的想有本事,將推動你通過你的軟體開發生涯,學習如何教自己。
開發這個
技能的唯一途徑是把它投入使用。走出去,學習新的程式語言或技術,即使你認為你永遠不會使用它。你會驚訝的速度有多快,你也許可以把它撿起來的基礎,因為你已經在你所知道的。
如果你能迅速適應瞬息萬變的軟體開發市場,與它相關的技術和平台,您將有技能的需求,將永遠是。
雖然我有點懷疑一些蒂姆
·費里斯的說法,他有乙個很好的書,被稱為
4小時的廚師,其中有一些偉大的技術如何快速學習的東西。(我想要寫一本關於這個主題。)
技巧3:命名
當人們問我什麼,我整天,我主要是說
「讀其他人的名字和名稱的東西的東西。」
好吧,真的沒有人問我,我不想回答這種方式,但我肯定可以。
軟體開發是所有關於描述的形上學。最不能看到什麼,我們正在建設的。
我們必須在我們的腦海中構建乙個完整的世界,授權經理的授權請求,並吐出授權響應使用者儲存庫使用使用者工廠組裝新使用者一起。
每次你寫**命名的東西。
當你讀,你或別人寫的**,你獲得最了解該**的名字在該**的東西。
大部分的時間,我可以準確地**開發人員的技能水平,看他們是如何命名的方法,在他們寫的**的變數和類。
缺乏能力的開發人員提供良好的名字在他們的**中的概念和資料就像是乙個啞巴翻譯
不要緊,如果你能理解的東西,如果你不能充分解釋,目前來說它離開你的頭已經一去不復返了。
提高這個技能的最佳方式是要始終把它付諸實踐。我會經常重新命名**,我只是閱讀理解的東西。正如我開始明白什麼方法做,我會改的名稱相匹配的理解。我會做到這一點,而我讀的**,甚至沒有任何邏輯變化。
你越專注於給好名字的事情,你將成為更好。
這也是最明顯的事情你的**。這是很難知道,如果你的**是正確的或有效的看著它,但如果我讀了它,可以把它理解,我會假設你知道你在做什麼。
技巧4:與人打交道
我列出這最後的,但在許多情況下,你可以說這是第乙個最重要的技能。
無論你走到**都有人。
除非你的工作獨自開發軟體,只為自己,其他人都去影響你的職業生涯,作為乙個軟體開發人員。
我談到過,為什麼你可能不想批評別人之前,但還有更多的與人打交道的不是得罪他們。
我經常回去到卡內基名著,
「如何贏得朋友和影響他人」,
因為這本書是如此的重要,在學習如何成為乙個成功的人。
我已經說過了,但如果你想開發的人際交往能力,讀這本書!
基本的問題是,人類是不符合邏輯的生物,我們是情感的。當然,我們喜歡我們的能力的原因感到自豪,但現實情況是,大多數的我們作出的決定更多地受到感情而不是原因。
這意味著你作為乙個軟體開發人員,除非你能有效地處理與其他開發人員,管理人員,甚至是客戶,你會不斷面臨麻煩,儘管你的想法有多好,或者你的技能是多麼寶貴。
一般在軟體開發社群積極參與,還可以幫助你在你的職業生涯中極大。它不只是網路,但讓你的名字在那裡,建設好人緣。
這樣做,成功的關鍵在於直接與人打交道的能力。(想採取乙個大的快捷方式,學習如何與人打交道,這很簡單。該多好!)
實用技巧是什麼?
請注意,我在我的名單中沒有包括任何關於某個特定的技術或者甚至廣泛的
web開發技能或移動開發?
在技術領域的一對夫婦有乙個堅實的基礎,這當然是重要的,但這些領域是什麼,是不是幾乎一樣重要,因為我在上面提到的
4個技能。
如果你能解決問題,快速學習的東西,名字的事情以及與人打交道,你將有乙個更大的成功從長遠來看,比你在任何特定的技術專業水平。
隨著中說,當然這是很重要的,以徹底了解一種程式語言或兩個,有乙個大致的專業領域,但只要你不走得太遠關閉因循守舊與選擇,你專注於這
4個重要的技能,你將確定。(你甚至可以學習
c + +
)
軟體開發人員的出路
已經從事了一段時間的.net開發,目前在公司裡乙個人負責乙個系統,什麼都得自己去做,只能逼著自己去學啦。分析能力自我感覺還不錯,想以後轉行到系統分析師,請問各位有經驗的大俠,1.由開發人員走哪條路會比較順利的轉到系統分析師?2.目前系統分析師在軟體行業需求怎麼樣?3.系統分析師一般需要具備哪方面的知...
軟體開發人員的5個不良習慣
關於程式設計師應該如何程式設計,沒有硬性規定。因此,如果您有自己的程式設計風格,那沒有錯。程式設計師沒有固定的習慣,但是我想提到一些妨礙程式設計師進步的行為。以下是開發人員應避免更快爬上梯子的5種習慣 必須同意較大規模的 結構 體系結構 和一致同意的較小規模的 樣式。有時,程式設計師在開始時沒有定義...
軟體開發人員的能力模型
不知覺做軟體開發已經有6年了,回看自己的經歷,可以說是相當有成就感,6年中通過不斷的學習的實踐,從乙個菜鳥成長為一名軟體架構師,這個過程可以說充 滿樂趣。通過學習各種理論 技術 方法,並有在實踐中應用,觀察它們的效果,思考它們之間的關係,再把不同事物融合在一起,形成乙個完整的能力體系,以此 來挑戰更...