2021-02-25 分類: 網(wǎng)站建設(shè)
學(xué)習(xí)是一件艱苦的事情。很多人想要成為程序員,在學(xué)習(xí)編程的過(guò)程中,面對(duì)各種 bug 和源源不斷的問(wèn)題,有時(shí)會(huì)對(duì)自己是否適合編程這一問(wèn)題產(chǎn)生困擾。
我經(jīng)常看到這樣的問(wèn)題:「我如何知道我是否能成為一名程序員?」當(dāng)有人在考慮職業(yè)方向,或者對(duì)軟件開(kāi)發(fā)感興趣,并且對(duì)成為程序員需要做什么感到好奇時(shí),不可避免地會(huì)出現(xiàn)這種問(wèn)題。
事實(shí)上,我認(rèn)為這是一個(gè)很自然的問(wèn)題。這有點(diǎn)像你想成為一個(gè)演員,你就會(huì)想知道你是否擅長(zhǎng)表演一樣。
作為一名全棧 Web 開(kāi)發(fā)的教育工作者,我已經(jīng)帶領(lǐng)很多新手成為了程序員。好消息是,我發(fā)現(xiàn)沒(méi)有任何人是不能學(xué)習(xí)編程的。我把它看作是一種基本的人類技能,就像閱讀、寫(xiě)作和算術(shù)一樣,任何人都可以做到。它是我們?nèi)祟惸芰Φ囊徊糠?,只是需要學(xué)習(xí)。
在過(guò)去的教學(xué)中,我目睹了不同的學(xué)生在學(xué)習(xí)過(guò)程中的斗爭(zhēng),以及在他們的掙扎中出現(xiàn)的一些共同問(wèn)題。如果你看這個(gè)列表,發(fā)現(xiàn)這些事情也發(fā)生在自己身上,放心吧,你會(huì)真正地在編程上吃虧,然后你可能會(huì)發(fā)現(xiàn)其他能夠打發(fā)時(shí)間的事情。但是,如果你仍然致力于成為開(kāi)發(fā)人員,那么你可以輕松地面對(duì)這些問(wèn)題。
編程是人類的基本技能,就像閱讀、寫(xiě)作和算術(shù)一樣。任何人都可以通過(guò)時(shí)間和努力學(xué)會(huì)編程。
下面的列表將幫助你了解你是否喜歡編程,以及如果你想做出一些改變,你可以做些什么。
1.缺乏好奇心
如果你對(duì)計(jì)算機(jī)是如何工作的缺乏好奇心,那么,作為一個(gè)程序員,你將永遠(yuǎn)不會(huì)成功。
學(xué)習(xí)的一個(gè)基本要求是對(duì)你所學(xué)的東西有積極的興趣。如果你沒(méi)有一個(gè)對(duì)技術(shù)好奇的頭腦,你就沒(méi)有精力去堅(jiān)持學(xué)習(xí)要成為一個(gè)成功的程序員所需要的廣博而深入的知識(shí)。
相比之下,技術(shù)的世界就像一個(gè)巨大的海洋,里面充滿了各種有趣的領(lǐng)域、相互聯(lián)系的思想和各種可能,它們可以激發(fā)人們的想象力。想要潛入這片海洋并發(fā)現(xiàn)你所能發(fā)現(xiàn)的一切,需要內(nèi)在的動(dòng)力。
找到你的好奇心:?jiǎn)枂?wèn)你自己,編程是否真的讓你感興趣?如果沒(méi)有興趣,去找你感興趣的東西,以節(jié)省時(shí)間和精力。但是如果你的答案是感興趣,那么就強(qiáng)迫自己去發(fā)現(xiàn)一些你以前沒(méi)有注意到的新事物,認(rèn)識(shí)到浩瀚的技術(shù)海洋,再往下潛一點(diǎn)。
2.缺乏自主性
如果你不培養(yǎng)自己解決問(wèn)題的能力,你就永遠(yuǎn)不會(huì)成為一個(gè)成功的程序員。
毫無(wú)疑問(wèn),要成為一個(gè)成功的開(kāi)發(fā)人員,你必須對(duì)自己的學(xué)習(xí)能力充滿信心。這實(shí)際上是一項(xiàng)基本的生活技能,如果你年滿 18 歲,沒(méi)有人有義務(wù)教你任何東西。這就是現(xiàn)實(shí)。
當(dāng)你想學(xué)習(xí)技術(shù)所需的技能時(shí),首先要學(xué)會(huì)的是,在谷歌中輸入你想要的任何東西并獲取你需要的信息。
除此之外,所有編程語(yǔ)言都有文檔和規(guī)范,這些文檔和規(guī)范對(duì)語(yǔ)言的工作方式解釋的非常清楚,它們就像字典一樣。作為一個(gè)程序員,最快速、最可靠的學(xué)習(xí)方法就是簡(jiǎn)單地閱讀這些文檔。
當(dāng)你有問(wèn)題的時(shí)候,在問(wèn)別人答案和查閱官方文檔之前,強(qiáng)迫自己先搜索一下,節(jié)省別人的時(shí)間。
3.面對(duì)問(wèn)題缺乏毅力
如果你在遇到問(wèn)題時(shí)輕易放棄,作為一個(gè)程序員,你將永遠(yuǎn)不會(huì)成功。
編程的本質(zhì)是解決問(wèn)題,這也是計(jì)算機(jī)產(chǎn)生的全部原因!每當(dāng)你開(kāi)始編寫(xiě)一個(gè)程序時(shí),你總是會(huì)遇到一大堆問(wèn)題。一旦你解決了一個(gè)問(wèn)題,那么幾乎總是有另一個(gè)問(wèn)題在后面等著你。你在進(jìn)步,但總是會(huì)有新的問(wèn)題要面對(duì)。
這堆問(wèn)題會(huì)讓人望而生畏,令人感到沮喪。如果你覺(jué)得程序應(yīng)該「能用就好」,那么你就沒(méi)有精力堅(jiān)持下去,因?yàn)閱?wèn)題還在繼續(xù)出現(xiàn),它們會(huì)一點(diǎn)一點(diǎn)地?fù)魸⒛愕那榫w和決心。從字面上來(lái)說(shuō),你的工作就是找出程序?yàn)槭裁床荒芘芷饋?lái)。
從我在課堂上的經(jīng)驗(yàn)來(lái)看,通常每個(gè)班都有一兩個(gè)學(xué)生,和其他學(xué)生相比,他們似乎更容易遇到更多的問(wèn)題——通常是非常隨機(jī)和模糊的問(wèn)題。我提醒學(xué)生,他們面對(duì)的問(wèn)題越多,學(xué)習(xí)越深入、越徹底的可能性就越大。如果他們能通過(guò)這些問(wèn)題獲得深刻的理解,他們會(huì)很快發(fā)現(xiàn)他們變得更加自信了,因?yàn)樗麄兠鎸?duì)和解決的問(wèn)題比普通學(xué)生多。
你需要認(rèn)識(shí)到,問(wèn)題不僅僅只是問(wèn)題,它實(shí)際上也是挑戰(zhàn)。你所面臨和克服的每一個(gè)挑戰(zhàn)都能讓你更深入地理解技術(shù),更好地面對(duì)新的挑戰(zhàn),并迅速解決舊的挑戰(zhàn)。
4.解決問(wèn)題之后沒(méi)有成就感
如果你在解決一個(gè)問(wèn)題后沒(méi)有興奮感和成就感,作為一個(gè)程序員,你將永遠(yuǎn)不會(huì)成功。
與上一個(gè)問(wèn)題相關(guān)的是,你成功地解決了一個(gè)問(wèn)題,卻缺乏「良好的感覺(jué)」。當(dāng)修復(fù) bug 和問(wèn)題變成了一個(gè)永遠(yuǎn)不會(huì)結(jié)束的事情時(shí),你會(huì)失去與克服問(wèn)題的動(dòng)力。
當(dāng)你解決一個(gè)問(wèn)題時(shí),你需要的是多巴胺的釋放。這類似于在電子游戲中完成了一個(gè)關(guān)卡,或者解決了一個(gè)像縱橫字謎或數(shù)獨(dú)這樣的挑戰(zhàn)。我們都知道,堅(jiān)持通過(guò)一項(xiàng)挑戰(zhàn),然后最終贏得比賽,一般都會(huì)有成就感和興奮感。但是如果你失去了感受這些快樂(lè)的能力,或者從一開(kāi)始就沒(méi)有真正有過(guò)這些感受,你將無(wú)法體驗(yàn)到編程帶來(lái)的快樂(lè)。如果你把編程看作是一種磨礪,你只想盡可能容易地得到結(jié)果,那么你永遠(yuǎn)不會(huì)真正成為一個(gè)成功的程序員。
無(wú)論何時(shí),當(dāng)你解決了一個(gè)一直在努力解決的問(wèn)題時(shí),無(wú)論這個(gè)問(wèn)題多么微小,你總是為你的成就感到驕傲。你需要休息一下,祝賀你自己完成了一項(xiàng)出色的工作,讓成功的感覺(jué)滲透進(jìn)你的心里,為你即將面臨的下一個(gè)問(wèn)題注入活力。
5.對(duì)學(xué)習(xí)和理解感到不耐煩
如果你對(duì)學(xué)習(xí)感到不耐煩,并且希望快速、輕松地掌握所有東西,那么你將永遠(yuǎn)不會(huì)真正成功地學(xué)會(huì)編程。
作為人類,我們是在能力上有極限的生物。我們的世界變化得越來(lái)越快,計(jì)算機(jī)是造成這一現(xiàn)象的一大原因,而我們也只能盡我們的能力跟上這些變化。我們的大腦以一定的速度工作,并且,這個(gè)速度取決于我們的過(guò)去、信仰、情緒狀態(tài)、健康……我們都將以不同的速度學(xué)習(xí)和整合信息。
科技的世界就像一片廣闊的海洋。你永遠(yuǎn)不會(huì)到達(dá)終點(diǎn),你永遠(yuǎn)不會(huì)到達(dá)一個(gè)沒(méi)有其他東西可學(xué)的大師的地步。如果你讓自己感到不知所措,你總是會(huì)受到一種要去「追趕」的壓力,并且會(huì)覺(jué)得你永遠(yuǎn)都知道的不夠多。如果你不能接受你所知道的,然后再多學(xué)一點(diǎn),你會(huì)覺(jué)得自己一事無(wú)成,然后放棄。
相反,你需要享受為自己學(xué)習(xí)的旅程。你所獲得的每一點(diǎn)新知識(shí)或新技能都需要讓你感到興奮。就像解決問(wèn)題一樣,你需要讓自己感到自豪,因?yàn)槟阏J(rèn)識(shí)到自己已經(jīng)向前邁出了一步,即使這是只是很小的一步。
承認(rèn)你的進(jìn)步。你還有很多東西要學(xué),編程之旅永遠(yuǎn)不會(huì)結(jié)束。但是,知識(shí)是累積的,所以你要為你所知道的感到自豪,并且相信你在學(xué)習(xí)中所做的每一份努力都將為你的職業(yè)生涯的創(chuàng)造一個(gè)堅(jiān)實(shí)的知識(shí)基礎(chǔ)。
6.因思考而感到無(wú)聊或疲倦
如果你懶于思考,并把集中注意力進(jìn)行思考看成是一件微不足道的小事,你將永遠(yuǎn)不會(huì)真正成為成功的程序員。
編程是一種思考活動(dòng)。作為人類,我們確實(shí)擅長(zhǎng)思考,但事實(shí)是,即使我們一整天都很自然地在思考一些事情,我們也懶得去思考。如果你不習(xí)慣思考,那么,在一段時(shí)間內(nèi)集中精力去解決一個(gè)問(wèn)題對(duì)你來(lái)說(shuō)是很困難的。
這種情況的癥狀包括茫然地盯著屏幕,感覺(jué)一團(tuán)云落在你的思想上,拖延著一個(gè)又一個(gè)問(wèn)題,在瀏覽器標(biāo)簽之間來(lái)回移動(dòng),眼睛拼命地掃描 StackOverflow 尋找「答案」。這些跡象表明,你在精神上已經(jīng)達(dá)到了上限,需要找到一條突破口。
在編程的時(shí)候,你會(huì)感到疲倦,思考就像鍛煉身體一樣消耗體力。當(dāng)你不習(xí)慣利用精神能量時(shí),你就很難集中注意力。但這就像去健身房一樣,你練得越多,你就會(huì)變得越強(qiáng)壯。
你的大腦是一塊肌肉。你要相信,你的大腦就像一塊肌肉一樣,當(dāng)你堅(jiān)持使用它時(shí),它會(huì)變得越來(lái)越會(huì)有效地思考。
7.無(wú)法獨(dú)立思考
如果你期望別人為你著想,并且主動(dòng)看到你自己所在的處境的細(xì)節(jié),你將永遠(yuǎn)不會(huì)成為一個(gè)真正成功的程序員。
當(dāng)你在學(xué)習(xí)新的東西時(shí),很容易感到缺乏知識(shí)和經(jīng)驗(yàn),并沒(méi)有自己的觀點(diǎn)。主動(dòng)做事或者說(shuō)錯(cuò)話似乎是有風(fēng)險(xiǎn)的。
對(duì)于錯(cuò)誤,我們的內(nèi)心都有一種恐懼感。當(dāng)對(duì)錯(cuò)誤的恐懼抑制了你的探索和好奇心時(shí),你會(huì)扼殺開(kāi)發(fā)真正知識(shí)、從經(jīng)驗(yàn)中獲得的知識(shí)和「失敗」的能力。當(dāng)你需要依靠「權(quán)威」的觀點(diǎn)、一個(gè)受歡迎的博客、一個(gè)好實(shí)踐或「教科書(shū)」的答案時(shí),那么你就沒(méi)有真正地整合編程的知識(shí)。
你需要對(duì)什么有效,什么無(wú)效形成自己的觀點(diǎn)。你需要理解為什么你認(rèn)為你的解決方案有效,以及使用這個(gè)方案有什么好處。你需要建立一個(gè)微妙的視角,超越那些顯而易見(jiàn)的東西。你需要能夠「證實(shí)」你的立場(chǎng)。
為自己著想。通過(guò)你的經(jīng)驗(yàn)和批判性思維技巧,發(fā)展出你自己的思想體系。做出合理的猜測(cè),堅(jiān)定立場(chǎng),并愿意隨著新信息的出現(xiàn)而改變立場(chǎng)。
8.僵化、狹隘、混亂的思維
如果你的思維僵化,并且難以保持代碼的條理化,那么你將永遠(yuǎn)無(wú)法成為一名真正成功的程序員。
我有時(shí)在學(xué)生中看到兩個(gè)極端。第一種是僵化和狹隘的思維方式。擁有這種態(tài)度的人拒絕幫助,盡管會(huì)有反饋,但不會(huì)有改變。他們看事情只從一個(gè)角度看,別人給的建議被忽略。
我看到的第二個(gè)極端是思維混亂。學(xué)生們似乎使事情變得更加復(fù)雜,他們的代碼雜亂無(wú)章,難以理解。他們過(guò)度思考問(wèn)題,寫(xiě) 100 行代碼,而其中只有 10 行 是有用的。
當(dāng)這兩種心態(tài)結(jié)合在一起時(shí),結(jié)果就是一種用蠻力的方法去設(shè)計(jì)程序。我們需要的是回顧解決方案,重新評(píng)估它,放棄最初的方法,并重新組織方法。
無(wú)法看到其他可能性或無(wú)法反思反饋會(huì)抑制成長(zhǎng)的能力。思維雜亂無(wú)章會(huì)減慢你的成長(zhǎng)速度,阻止你看到那些原本顯而易見(jiàn)的模式。你的工作質(zhì)量也會(huì)下降。
自我反省。你需要退后一步,看看你是接觸的事物的大局是什么樣子的。你要怎樣才能做得更好?你能做些什么讓你的生活更輕松嗎?你需要什么來(lái)幫助你?
9.需要「正確」的答案,而不是識(shí)別一系列「好」和「壞」的答案的方法
如果你認(rèn)為編程的最終目標(biāo)是找到正確的解決方案,而不是一系列解決方案,那么作為一個(gè)程序員,你將永遠(yuǎn)不會(huì)真正成功。
當(dāng)開(kāi)始學(xué)習(xí)技能或編程時(shí),學(xué)生往往想知道他們所做的是否「正確」,而答案總是「視情況而定」。
計(jì)算機(jī)科學(xué)是一門評(píng)估權(quán)衡的科學(xué)。在不同的環(huán)境下,哪條路更好,這完全取決于所處的環(huán)境和目標(biāo)。當(dāng)你把編程看作是一個(gè)有正確答案或錯(cuò)誤答案的測(cè)試時(shí),你就失去了對(duì)全局的認(rèn)識(shí),放棄了你的創(chuàng)造力。任何答案都可以是「正確的」,前提是你能根據(jù)具體情況證明這一點(diǎn)。
現(xiàn)實(shí)情況是,編程更像是寫(xiě)詩(shī)或?qū)懚唐≌f(shuō)(如果程序很大,則可能是小說(shuō))。在你的代碼中可以看到一種美學(xué)和美麗,這些東西有時(shí)只有你和其他程序員能夠識(shí)別出來(lái)。你決定解決方案的原因,以及你對(duì)答案的設(shè)想,比「正確的方式」或「錯(cuò)誤的方式」更重要。擁有一個(gè)藝術(shù)家的頭腦可以讓你編的程序具有選擇和可能性,而不是認(rèn)為只有一種處理方式。這就是編程的美——有很多方法可以解決問(wèn)題,考慮不同的可能性,然后決定哪種方法最適合當(dāng)前的情況。
創(chuàng)造性很重要。你要認(rèn)識(shí)到,解決問(wèn)題的方法有很多種,通過(guò)經(jīng)驗(yàn)和積累,你會(huì)對(duì)哪些解決方案比其他解決方案感覺(jué)更好產(chǎn)生細(xì)微的理解??v觀全局,想象不同的可能性,相信你的直覺(jué),你會(huì)得到更滿意、更好的解決方案。
10.不注意細(xì)節(jié)
如果你掩蓋細(xì)節(jié),忽略一些小事情,你將永遠(yuǎn)不會(huì)成為一個(gè)真正成功的程序員。
計(jì)算機(jī)是精密的機(jī)器。當(dāng)涉及到計(jì)算機(jī)編程時(shí),你需要以計(jì)算機(jī)期望的方式精確地提供必要的命令。如果你不這樣做,什么都不會(huì)奏效。這里面沒(méi)有一個(gè)中間地帶,要么是有用的,要么是沒(méi)有用的。
這意味著當(dāng)你在編程時(shí),你必須注意細(xì)節(jié)。每個(gè)空格、括號(hào)或分號(hào)都要注意。一旦有任何問(wèn)題,那么什么都不會(huì)起作用。當(dāng)計(jì)算機(jī)彈出一條錯(cuò)誤信息時(shí),你必須能夠查看該信息并準(zhǔn)確理解它告訴你的內(nèi)容。事實(shí)是,如果你錯(cuò)過(guò)了這樣的細(xì)節(jié),你可能需要花幾個(gè)小時(shí)來(lái)追蹤一個(gè)問(wèn)題,而它實(shí)際上是只是一個(gè)打字錯(cuò)誤造成的。
正如人們所說(shuō),細(xì)節(jié)是魔鬼。這句話對(duì)于編程來(lái)說(shuō)是絕對(duì)正確的。
注意細(xì)節(jié)。細(xì)節(jié)很重要,你必須接受這一點(diǎn)。在你編程的時(shí)候,你需要瀏覽你的代碼,找出任何不合適的地方。你可以使用幫助你快速識(shí)別問(wèn)題的工具。
總結(jié)
其實(shí)我注意到,有些學(xué)生特別注重商業(yè),他們經(jīng)常關(guān)注結(jié)果而不是過(guò)程。他們希望得到一個(gè)能夠推動(dòng)他們的商業(yè)理念發(fā)展的應(yīng)用程序,他們認(rèn)為學(xué)習(xí)曲線是阻礙他們實(shí)現(xiàn)業(yè)務(wù)發(fā)展目標(biāo)的障礙。
在回顧那些很難真正成長(zhǎng)為程序員的學(xué)生時(shí),我發(fā)現(xiàn)對(duì)于這個(gè)過(guò)程的不耐煩抑制了他們真正理解技術(shù)所需的學(xué)習(xí)。他們傾向于將技術(shù)視為達(dá)到目的的一種手段,而不是探索和享受的一個(gè)知識(shí)領(lǐng)域。
作為這一點(diǎn)的自然延伸,我發(fā)現(xiàn)有些學(xué)生更傾向于做生意,他們學(xué)習(xí)困難。一般情況下,他們會(huì)爭(zhēng)先恐后地尋找資源/模板,讓項(xiàng)目為客戶工作,或者將工作外包給其他人。他們真的很喜歡編程,但人們付錢給他們編程卻讓他們更加興奮!
因此,我要補(bǔ)充的是,那些渴望創(chuàng)業(yè)、擅長(zhǎng)銷售、網(wǎng)絡(luò)和業(yè)務(wù)開(kāi)發(fā)的學(xué)生可能比其他人更難以學(xué)習(xí)編程技能。他們天生渴望創(chuàng)造經(jīng)濟(jì)機(jī)會(huì)并將人們與解決方案聯(lián)系起來(lái),這使他們對(duì)編程中涉及的繁瑣細(xì)節(jié)感到不耐煩。
雖然編程是一項(xiàng)很難學(xué)習(xí)的技能,但它肯定是大多數(shù)人都能學(xué)習(xí)的技能。上面的列表包含了阻礙我們前進(jìn)的態(tài)度和心態(tài),大多數(shù)人都可以克服這些態(tài)度和心態(tài)。如果不精通編程的話,他們就不能在編程領(lǐng)域發(fā)展出自己的能力。
分享名稱:出現(xiàn)這十種癥狀,說(shuō)明你不適合做程序員
地址分享:http://redsoil1982.com.cn/news35/102935.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、Google、網(wǎng)站排名、靜態(tài)網(wǎng)站、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容