程序員入門(mén)教程 程序員到底有多累、多辛苦?
程序員到底有多累、多辛苦?當(dāng)我30歲的時(shí)候,我還是個(gè)程序員。我告訴自己,我必須改變,否則我會(huì)被我的工作毀了。主要原因是我的能力有限。程序員有多累?1項(xiàng)目經(jīng)理和我一起去了客戶(hù)現(xiàn)場(chǎng)。每次周報(bào)正常,領(lǐng)導(dǎo)都滿(mǎn)
程序員到底有多累、多辛苦?
當(dāng)我30歲的時(shí)候,我還是個(gè)程序員。我告訴自己,我必須改變,否則我會(huì)被我的工作毀了。主要原因是我的能力有限。
程序員有多累?
1項(xiàng)目經(jīng)理和我一起去了客戶(hù)現(xiàn)場(chǎng)。每次周報(bào)正常,領(lǐng)導(dǎo)都滿(mǎn)意地召回了項(xiàng)目經(jīng)理,并讓我在客戶(hù)網(wǎng)站做了三個(gè)月的程序員。然而,經(jīng)過(guò)這段時(shí)間,我成功地轉(zhuǎn)變了,這是一種因禍得福。我不知道有多少程序員被這樣的PM欺騙了
2項(xiàng)目完成后,新項(xiàng)目來(lái)了,業(yè)務(wù)知識(shí)培訓(xùn),搞不懂
3項(xiàng)目采用新技術(shù),在家熬夜學(xué)習(xí)技術(shù),才開(kāi)始。那個(gè)高級(jí)工程師周末出去泡溫泉。他很無(wú)聊,兩天內(nèi)就完成了我所有的工作。算了吧。他們還跟我談了一些原則,發(fā)現(xiàn)當(dāng)了這么多年程序員,他們幾乎跟不上別人說(shuō)的話(huà),盡管當(dāng)時(shí)別人都很先進(jìn)。但我清楚地意識(shí)到,退休后我無(wú)法取得這樣的成就。
4談到事業(yè)單位的項(xiàng)目,建設(shè)期是一年,上半年是扯淡,三個(gè)月是做需求,兩個(gè)月是走流程,還有一個(gè)月,請(qǐng)交付
@#¥!@詛咒之后,我加班加點(diǎn)看鍵盤(pán)跳舞,字節(jié)跳動(dòng),東方是白色的
!除了東方已經(jīng)白了,頭發(fā)也白了!如果有一個(gè)和我有經(jīng)驗(yàn)的程序員,我想問(wèn)你,不要等到35歲才去問(wèn)各種平臺(tái)上,老程序員應(yīng)該去哪里!除了你自己沒(méi)人能幫你
為什么剛?cè)腴T(mén)的程序員沒(méi)有感覺(jué)到算法和數(shù)據(jù)結(jié)構(gòu)的重要性?
關(guān)于這個(gè)問(wèn)題,我首先非常遺憾地告訴大家兩點(diǎn)。
首先,能夠問(wèn)這個(gè)問(wèn)題意味著你不是一個(gè)程序員。只能說(shuō)你才剛剛開(kāi)始學(xué)習(xí)編程(即使你有一份編程工作,你也不能改變這一點(diǎn))。就像說(shuō)一個(gè)剛學(xué)了三個(gè)月吉他的人不能稱(chēng)自己為吉他手(但他可以說(shuō)是吉他手或吉他手)。
其次,我很抱歉地告訴你,你還沒(méi)有開(kāi)始。入門(mén)的先決條件之一是理解程序?qū)嶋H上是一個(gè)算法數(shù)據(jù)結(jié)構(gòu)。所以你說(shuō)你是一個(gè)入門(mén)級(jí)程序員,但你不覺(jué)得算法和數(shù)據(jù)結(jié)構(gòu)的重要性。那么我想問(wèn)一下,除了算法和數(shù)據(jù)結(jié)構(gòu)之外,程序中還有什么重要的東西。
不理解狹義的算法,認(rèn)為算法是排序算法、搜索算法,認(rèn)為數(shù)據(jù)結(jié)構(gòu)是數(shù)組、鏈表、哈希表、圖形等。這些都是經(jīng)典的算法和數(shù)據(jù)結(jié)構(gòu)。
你寫(xiě)的程序,不能有任何這些經(jīng)典的數(shù)據(jù)結(jié)構(gòu)和算法,那么,你的程序沒(méi)有算法和數(shù)據(jù)結(jié)構(gòu)嗎?你的程序必須解決一個(gè)問(wèn)題或做些什么。這些東西,你首先需要在計(jì)算機(jī)世界建立一個(gè)模型,這個(gè)模型就是數(shù)據(jù)結(jié)構(gòu)?;谶@些數(shù)據(jù),您的程序需要執(zhí)行一些指令,這些指令是作為一個(gè)整體的算法。因此,program=algorithm數(shù)據(jù)結(jié)構(gòu)就是在這個(gè)廣義上說(shuō)的。
正是因?yàn)椤俺绦?算法數(shù)據(jù)結(jié)構(gòu)”,所以沒(méi)有了算法和數(shù)據(jù)結(jié)構(gòu),程序中就沒(méi)有殘留。至于算法和數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系,我不在這里討論。總之,沒(méi)有數(shù)據(jù),算法就沒(méi)有對(duì)象和基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)和合理性將影響算法的性能。
為什么你感覺(jué)不到?答案是我答案開(kāi)頭的兩點(diǎn)。我說(shuō)的話(huà)似乎有點(diǎn)殘忍,但實(shí)際上沒(méi)什么。繼續(xù)學(xué)習(xí)。
程序員需要終身學(xué)習(xí)。
想轉(zhuǎn)行做程序員,沒(méi)有接觸過(guò),也不會(huì)編程,我應(yīng)該怎么辦?
1、首先,找出你想改變職業(yè)的原因,即你的動(dòng)機(jī)是什么。
①有職業(yè)規(guī)劃的人,轉(zhuǎn)行是為了追求更適合的工作、更高的人生目標(biāo),一般不會(huì)盲目改變。
②沒(méi)有明確職業(yè)規(guī)劃的人會(huì)盲目地改變自己的職業(yè),可能會(huì)從一個(gè)火坑換到另一個(gè)火坑。因?yàn)檗D(zhuǎn)行和轉(zhuǎn)崗背后總有一個(gè)偽命題。冷靜下來(lái),問(wèn)問(wèn)自己你想避免什么,你是否在避免。你認(rèn)為這是一個(gè)好的轉(zhuǎn)折,但現(xiàn)實(shí)可能不是你想的那樣。
2、找出程序員的職業(yè)是什么。
①問(wèn)問(wèn)自己程序員的具體工作內(nèi)容和職責(zé)?如果你對(duì)此一無(wú)所知,你可以咨詢(xún)大V程序員和相關(guān)領(lǐng)域的大專(zhuān)家,看看他們真正的工作是什么樣的,他們真正的一天是什么樣的。
②如果您不了解這個(gè)問(wèn)題,您看到的“程序員”可能是“藝術(shù)照片”,而不是“普通照片”。小心被自己困住。如果你這么做沒(méi)關(guān)系。
③職業(yè)興趣與你自己的沖突嗎?這可以借助專(zhuān)業(yè)的評(píng)估工具進(jìn)行評(píng)估。
3、為了明確以上兩點(diǎn),我仍然渴望成為一名程序員。我該怎么辦?
①致力于學(xué)習(xí)和提高專(zhuān)業(yè)能力。程序員對(duì)專(zhuān)業(yè)能力有要求,要看自己的差距在哪里,需要學(xué)歷上的閱讀,需要考試上的考查,有差距的地方要努力學(xué)習(xí)提高,磨礪專(zhuān)業(yè)技能。學(xué)習(xí)能力是職場(chǎng)重要的軟實(shí)力。
②投資學(xué)習(xí),提高軟實(shí)力。除了專(zhuān)業(yè)能力,程序員工作還需要很多軟實(shí)力。向前輩多學(xué)習(xí),向別人學(xué)習(xí)是王道。
4、明確以上三點(diǎn),但真的不想投入學(xué)習(xí),能力差距很大,怎么辦?
①放棄。沒(méi)有能力和學(xué)問(wèn),神仙幫不上忙,放棄也是一種選擇,放棄意味著你可以有很多選擇,人生有很多可能,而不是掛在樹(shù)上,讓自己走。
②向往。你那么喜歡程序員嗎?問(wèn)問(wèn)自己,你想成為一名程序員是為了什么?期待這個(gè)職業(yè)背后的光環(huán)?你想有高收入嗎?是什么讓你向往程序員的職業(yè)?
也許你最終發(fā)現(xiàn)你真正想要的不是程序員,而是其他人。也許你終于發(fā)現(xiàn),你心中想要的,還有其他職業(yè)可以滿(mǎn)足你[微笑]~~這是職業(yè)規(guī)劃的價(jià)值之一。
自學(xué)編程四個(gè)月了,感覺(jué)都會(huì)了,又感覺(jué)什么都不會(huì)。這種狀態(tài)下我下一步該怎么做?
多讀代碼,寫(xiě)代碼,調(diào)試代碼,總結(jié)經(jīng)驗(yàn),不斷提高編碼水平。
本人剛?cè)肼毘绦騿T四個(gè)月。加班嚴(yán)重!很少自己有自己時(shí)間學(xué)習(xí)。你們是不是一樣?
加班是這個(gè)行業(yè)的默認(rèn)選擇,所以不管你去哪家私人公司,你都會(huì)加班,但這并不妨礙你的進(jìn)一步學(xué)習(xí)。
仔細(xì)思考學(xué)習(xí)方法,你就會(huì)知道答案。
1:從實(shí)踐中學(xué)習(xí)。這是掌握某一知識(shí)點(diǎn)“教、學(xué)、練、評(píng)、反饋、提高”的最有效、最主要的途徑。程序員“邊干邊學(xué)”的成本相對(duì)較低(與行業(yè)相比,行業(yè)人員的成長(zhǎng)更多依賴(lài)于外部平臺(tái)環(huán)境)。如果你不能做好一個(gè)程序員,你應(yīng)該檢查你的學(xué)習(xí)態(tài)度和學(xué)習(xí)能力
!此路徑也有缺陷。例如,如果一家公司在技術(shù)和管理上都比較落后,那么外部環(huán)境對(duì)你成長(zhǎng)的促進(jìn)作用就很有限。在這個(gè)時(shí)候,你必須選擇一個(gè)更高的平臺(tái)來(lái)體驗(yàn)自己。
2:新技術(shù)和新知識(shí)獲取。為了完成從“理論”到“實(shí)踐”的雙螺旋增長(zhǎng)路徑,程序員需要花時(shí)間學(xué)習(xí)外部開(kāi)源技術(shù),跟隨技術(shù)進(jìn)步的節(jié)奏,找到合適的實(shí)踐機(jī)會(huì)。這也是成長(zhǎng)的途徑之一。
3:對(duì)等通信和共享。但最好找行業(yè)大佬來(lái)學(xué)習(xí)。InfoQ和CSDN擁有大量的程序員大腕資源。只需到官網(wǎng)或線(xiàn)下活動(dòng)找老師。此外,bat等各種開(kāi)放平臺(tái)技術(shù)的推廣機(jī)會(huì)也非常重要,北京、上海、廣州和深圳都有比較優(yōu)勢(shì)。
4:總結(jié)和輸出??梢詺w納成文檔、GitHub、CSDN、blog、外部評(píng)論。
供參考。