欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

零基礎(chǔ)怎樣成為程序員

錢衛(wèi)國2年前17瀏覽0評論

零基礎(chǔ)怎樣成為程序員?

要想成為一名專業(yè)的程序員,僅僅會寫代碼是遠(yuǎn)遠(yuǎn)不夠的……

呵呵,就像其他工作一樣,光會一個技能那是遠(yuǎn)遠(yuǎn)不夠的。如果你想要成為一名開發(fā)人員,下面就是一些你必須要掌握的最重要的技能(編碼這個要求就不贅述了,這太理所當(dāng)然了)。

學(xué)會并擅長溝通

雖然一些媒體上面將編程描述為一種“閉門造車”的行為,但事實上,它涉及到很多與人溝通和協(xié)作的事宜。如果你工作于一家公司,那么你會成為開發(fā)團隊的一部分,并且得和其他人交流和合作。

然而,Jeff Bargmann,Lifehacker 最喜歡 Fences 和 Bins 的開發(fā)人員強調(diào),知道如何清晰可信地說話和寫作對于那些獨立的開發(fā)人員甚至更加重要:

學(xué)校課程一點也沒有教我們學(xué)習(xí)必要的書面表達(dá)技巧。(就教我們編程,對不?)在你的職業(yè)生涯中——如果你以后想繼續(xù)晉升的話——那么你需要花大量的時間用于清楚簡潔、令人信服的溝通交流——從你需要發(fā)電子郵件給同事、經(jīng)理、客戶/合作伙伴、甚至有一天可能是高管僅這個方面想,就足夠說服人的了。但是由于我們開發(fā)人員習(xí)慣于比其他人做事快兩倍(我們都很聰明,對吧?!),所以令人沮喪的是,這樣會導(dǎo)致需要多花上兩倍的時間才能順利地表達(dá)清楚。而作為一名獨立的開發(fā)人員,用一句話來說就是“不在沉默中爆發(fā)就在沉默中滅亡”——再怎么難也必須掌握這重要的技巧。

Jeff 也針對溝通技巧提出了一些建議:

要么跨過這個障礙,要么在過程中學(xué)習(xí),總之你需要的是真實的社會實踐(我們要想擅長編碼也是如此!)。可以試著發(fā)布一些簡短的文章、大聲閱讀電子郵件、勇于面對批評教育,創(chuàng)建適合自己的經(jīng)驗教訓(xùn)。

如果你現(xiàn)在還沒有機會加入到一個團隊中一起開發(fā),那不妨考慮一下一些高校的溝通、演講和寫作班輔導(dǎo)。此外還有各種課外的網(wǎng)絡(luò)資源供君采擷。

提升解決問題的能力

很多開發(fā)人員說了解一門編程語言只是編碼的一小部分。解決問題則是另一個重要的技能,而這也是那些新手開發(fā)人員所缺乏的。如果將軟件開發(fā)比作是一個巨大的謎團:那么你需要弄清楚如何將你的一個程序片段連接到另一個上面,而這一過程往往并不簡單。有讀者 Jsimon 作了如下解釋:

我有碰到過那種據(jù)悉已經(jīng)完全掌握整一門編程語言所謂的“牛人”,但是想出來的解決方案居然只能往廢紙簍那里扔。最好的例子就是在大學(xué)中,那個時候我們正在開發(fā)一個項目。有人要我來看看某部分代碼,因為這片代碼的負(fù)責(zé)人不能將之連接到服務(wù)器的接口上了。原因是他竟然沒有設(shè)置端口。所以說,解決問題的能力很重要。不過,解決問題確實是一個很難學(xué)習(xí)的技能。實踐是其關(guān)鍵所在。可以先拿小項目試手,比如說開發(fā)一個便簽 app、計算器,只要你感興趣的都可以。

在開發(fā)過程中,你需要關(guān)注代碼背后的邏輯,學(xué)會像計算機一樣思考,而不僅僅只是理解這門編程語言。事先學(xué)習(xí)計算機的工作原理也是有幫助的。這個技巧來自于 Jacobm001 這位讀者:

解決問題是我們要做的最多的一部分。計算機的思維和我們是不一樣的,你往往需要重新學(xué)習(xí)其思考問題的方式。為了提高效率,你需要真正地理解計算機是如何運作的以及是如何處理 CPU信息的。我個人非常討厭計算機編譯,不過幸虧我學(xué)過這方面的課程。只要你稍微懂點編譯知識,往往能想出更棒的點子來正確地實現(xiàn)一些事情。

正如Jsimon所說,既知道如何寫代碼又懂得解決連接件的相關(guān)問題是我們學(xué)習(xí)的關(guān)鍵。一旦你真正邁進了開發(fā)程序的大門,那么就需要專注于形成一種系統(tǒng)的方法來解決你面臨的各種問題。

起來,到了學(xué)習(xí)版本控制的時候了

如果是在大學(xué)里,你可以和編程課上的團隊一起合作開發(fā)項目。WindowsSVN 和 GitHub 是很多開發(fā)團隊常用的用于共同創(chuàng)建和更新開源 app 的兩個工具。而且這兩工具沒有限制,誰都可以使用。但是企業(yè)更青睞于 Subversion 和 Apache SVN。所以在開始新工作以前,你最好先了解一下這些系統(tǒng)是如何工作的,這樣能夠讓你在那些新隊友面前“一鳴驚人”。

學(xué)習(xí)工具是需要一定的時間和實踐的,但是如果你一點也不懂的話,那就會遠(yuǎn)遠(yuǎn)落后于其他人的進度。真正掌握系統(tǒng)的唯一途徑是實踐。如果你還在大學(xué)中,學(xué)習(xí)這些工具有助于你進入以團隊為導(dǎo)向的大型課堂項目中。如果是這種情況,可以要求使用 GitHub 或其他形式的存儲庫,即使老師并沒有對此提出要求。如果你是自學(xué)的,那先找個合作的團隊,既可以通過 GitHub 上的項目,也可以找一些你希望與之工作的同伴共同開始一個新的項目。

開發(fā)學(xué)習(xí)的技巧

技術(shù)就像歷史的巨輪總是在不斷向前翻滾,開發(fā)人員對于知識的態(tài)度也應(yīng)該如此。如果你想要繼續(xù)留在相關(guān)的領(lǐng)域中,關(guān)鍵是要跟上發(fā)展的腳步,不斷地更新編程語言、軟件和硬件技術(shù)。讀者 Wakers01 對此的看法是:

你需要不斷地學(xué)習(xí)新的語言、技術(shù)和工具。你必須花心力去研究新的技術(shù),分析它的優(yōu)點和缺陷,并迅速消化。請注意,這里我之所以用“消化”,而非“學(xué)習(xí)”是因為,我想表達(dá)的意思是,你必須得充分吸收、理解,并將這個新的東西融入到你的技能系列中,而不僅僅只是獲得一些有關(guān)于如何工作的新知識。只要你能保持這種學(xué)習(xí)新事物的勁頭,那么你一定會越來越強。

我們還可以通過一些技巧快速地學(xué)習(xí)技能。例如,如果你能先花點時間去了解內(nèi)存的工作原理,那么你將更高效地使用它們。學(xué)習(xí)還包括理解,所以除了上面提到的溝通能力,專注于提高閱讀理解的能力也是不可或缺的,這個可以通過閱讀相關(guān)技術(shù)文檔和其他書面資源獲取。好記性不如爛筆頭,有一個良好的筆記系統(tǒng)有助于你迅速找到你所需要的參考信息。

從基礎(chǔ)開始:將學(xué)習(xí)看作是一個你應(yīng)該重點掌握的技能。一旦你這樣做了,你就能更快地跟上技術(shù)發(fā)展的腳步,在此領(lǐng)域內(nèi)超前于你的競爭對手。

編程其實還包括很多內(nèi)容,而不是你原先想的只需要坐在計算機前寫代碼就 ok 了。如果你比其他人早明白這一點,那么你將會有更多的機會掌握一些雇主和客戶需要你知道的關(guān)鍵技能,領(lǐng)先于他人一步。

作者:朵朵朵鏈接:https://www.imooc.com/article/1178