1. 零基礎小白如何成為程序員需要學習哪些內容
自學編程沒那麼難。只要是理工科學生,邏輯思維好的朋友,都可以開始編程。這里有六種方法可以和你的朋友分享自學編程。這些方法足以幫助您入門和進階:0.書籍+視頻可能是學習編程最好的方式,對於初學者來說,可以通過視頻+書籍來學習。這兩種方式形成互補關系。編程教學視頻可以幫助你快速掌握編程,但通常比較生動,簡單,不系統。書是系統的,透徹的,枯燥的,所以最好的方法就是把書和視頻結合起來。
5.反復練習。編程是一門手藝,需要反復練習。沒有書和視頻能獨立實現嗎?學習的最終狀態無非就是:我沒有他,但是我的手很熟悉。近年來,IT行業變化很快。我們可以大致感受到我們使用的手機和互聯網產品的變化。我們從原來的非智能手機遷移到iPhone和安卓手機。我們從去網吧買電腦變成了6G內存2GHz的智能手機(已經超過了2010年的電腦配置)。
我們從大型PC游戲轉到了手機游戲。我們的每部手機都有將近100個應用。我們用過很多微信官方賬號,微店,mini 程序和mini游戲。我們從5元3000萬變成了隨時隨地刷小視頻,直播。我們很少用現金,因為我們不得不拿錢包取錢,有時我們想拿出10元錢,但我們真的沒有……豐富的互聯網產品(應用程序、H5、小程序、游戲等)背後。),IT其實是由日新月異的IT技術支撐的。
所以作為程序,你必須不斷學習,學習公司需要的任何技術。工作幾年,堅持學習也不算太累。畢竟經歷了幾年,很多東西都很熟悉。零基礎如何自學編程?成為/kloc-0成員需要具備哪些技能?這些年來,我開發了各種東西,做了各種編程工作。伺服器後端程序已經開發出來,需要幾種編程語言:JAVA、PHP、Node.js、Python、SQL等。已經開發了PC網頁和H5,需要Javascript,CSS3,HTML5等。開發了一個App,你需要用JAVA,SQL,HTML5。
我們開發了微信small 程序,需要CSS,Javascript,HTML等等。開發過計算機軟體,需要用到C#、Javascript、C++等。為什麼要學那麼多技術?因為不同的編程語言有不同的長處。比如玩游戲,Unity很成熟很快,很多知名游戲都是用它開發的,所以開發游戲的時候幾乎很多公司都在用它,程序會員一定要學。移動APP的開發主要使用JAVA、Swift、OC等編程語言,開發App必須學習這些編程語言。零基礎如何自學編程?成為/kloc-0成員需要具備哪些技能?
沒有接觸過技術開發的人還是不知道為什麼需要這么多編程語言。這么說吧:翻譯跟英國人說話要說英語,跟西班牙人說話要說西班牙語,跟我們說話要說中文。IT技術的編程語言和我們說的語言類似,不同的領域需要不同的語言。說了這么多,大家都知道程序員工在工作中需要的技能,以及會發展什麼。
我再簡單總結一下::程序工作人員必須掌握自己崗位的編程語言。比如做安卓APP,一定要掌握JAVA。一般掌握編程語言是不夠的。為了提高開發速度,還必須了解各種框架和庫。程序員工將發展什麼?會開發APP,網站,電腦軟體,微信程序等等。不過應該說,行業是有特長的,並不是所有的程序工作人員都能開發應用、網站、小程序…有些人只能懂一門技術,但可以是專家,比如資料庫專家。而且這些年我也只是個打雜的,但是各種發展都會...更多的雜工,僅此而已。
2. 一名小白程序猿怎麼快速提升編程能力
一、先列三個常見的開發場景:
1、拿到一個模塊詳細設計文檔,大部分程序員的通常做法就是開始搭建界面代碼,然後從第一個按鈕點擊事件或頁面Load事件開始寫第一行業務代碼。寫的差不多了,就運行一下,發現哪裡不是自己想的那樣,就改改,直到改到是自己預想的那樣。
2、做完了一個功能模塊或幾塊相關聯的功能模塊,輸入111asd,發現新建正常、保存正常,就提交給測試人員。測試員用測試用數據、測試場景用例來測試,發現有問題,就登記bug。對於嚴重的影響下一步測試的BUG,測試員就用內部IM通知這個開發人員。對於不影響繼續往下測試的BUG,測試員就登記下來,等程序員有空時處理。
3、程序員一般工作不希望大家打擾,所以開發起來就是開發。等手頭開發告一段落,就看看BUG庫。發現有與自己有關的BUG,就從第一個BUG開始看起。就開始通過IM和測試員掰扯起來(這不是個BUG啊、業務邏輯不是你想的那樣啊、我這里不能重現啊、你給的信息描述不清晰啊),於是IM幾來幾往,甚至跑過去當面交流一番,甚至會拉扯上產品經理一起討論,更甚者需要項目經理或產品經理發起一個會議來集體討論一下
這是不是很熟悉呢看這就是大部分程序員開發的三個步驟:寫代碼、自測、修復BUG。
二、說好的代碼設計、代碼測試呢看
代碼設計看那不是都有開發平台么,已經固化了啊。那不是維護舊功能做完善修改呢么,又不是寫新代碼,只能在現有代碼基礎上修改啊,你又不能大幅重構。
代碼測試看你丫需求討論期、產品設計期、設計評審期那麼長,都把研發項目時間佔光了,就留下2個星期讓我們寫代碼,我們哪裡有時間搞那麼深的測試。還想讓我們搞結對編程看還想讓我們搞測試驅動開發看
而且你看測試,什麼功能測試、集成測試、性能測試、安全測試、安裝部署測試、升級測試、遷移測試、UAT測試,一大堆測試,測試也需要很多時間。
一個項目,需求討論、產品范圍規劃與評審、產品設計與設計評審佔了一個半月,開發+自測就一個月,測試佔了一個半月,這就4個月了啊。
三、為啥程序員寫代碼總是寫寫測測看
剛才大家也都看到了,大部分程序員都是從界面代碼開始寫起,而且寫一寫,就運行一下看看。為什麼會是這種開發方式看
那是因為大部分程序員缺乏在腦子中的整體建模能力。只能做出來一點,真實的感覺一下,然後再往下。
有些是產品經理的上游就有問題,沒給出業務流程圖(因為產品經理也沒做過業務),也沒畫清楚產品功能操作流程圖。
為啥沒給出業務流程圖看因為產品經理不熟悉業務,另外,產品經理也沒有流程建模能力啊。為啥沒畫清楚產品功能操作流程圖啊看因為不會清晰表達流程啊。
很多產品經理、程序員,都缺乏分類、分層、相關、先後能力,更別說總結、洞察能力。
這是基本訓練,是一個做事頭腦清醒的人必備的技能,這不是一個程序員或產品經理或測試員的特定技能要求。
我經常看書就梳理書的脈絡,每看一本就寫一篇總結。我過去閑扯淡還梳理過水滸傳、紅樓夢的人物關系圖呢,其實就在事事上訓練自己的關聯性、層次性、洞察性。
我經常面試一個人時,我會問這樣的問題:逗你把我剛才說的話復述一遍,另外你再回答一下我為什麼會這樣看地,其實,我就在看一個人的細心記憶、完整梳理、重現能力,我也在看一個人的梳理、總結、洞察能力。
我個人寫代碼就喜歡先理解業務流,然後理解數據表關系,然後理解產品功能操作流,大致對功能為何這樣設計、功能這樣操作會取什麼表、插入或更新哪些表,哪些表的狀態欄位是關鍵。
然後我寫代碼的時候,就根據我所理解的業務流、功能操作流、數據輸入輸出流,定義函數,定義函數的輸入與輸出。
然後,我會給函數的輸入值,賦上一些固定值,跑下來看看能否跑通這幾個關聯函數,看看還需要怎樣的新增函數,或者看看函數的輸入輸出參數是否滿足跑通。
剩下的事,就是我填肉寫詳細邏輯代碼了。
當然,大部分人沒我這樣的邏輯建模能力。怎麼閱讀理解也想像不出來,也沒法定義函數。畢竟有邏輯建模能力的程序員都很少,100個人里有10個,已經是求爺爺告奶奶好幸運了。
那怎麼辦呢看
我建議是分離分工配合,這就是現實中沒辦法的辦法。讓有邏輯建模能力的人來設計函數框架、來設計工具來設計代碼模板,然後讓沒有邏輯建模能力的人來填肉寫詳細邏輯代碼。
我們可以先從最緊要的模塊開始這么做。不緊要的模塊,還讓它放任自流,讓熟練手程序員繼續塗抹。
我曾經還讓有頭腦的程序員做榜樣,給大家分享他是怎麼規劃函數的,怎麼做維護性代碼的代碼結構改善的。但是發現效果並不佳,其他人並沒有因此能做代碼設計。可能邏輯建模能力是個人的基本素質,是從小到大訓練成型的,不是你一個大學已經幾年的人能夠短時間內可以訓練的。
所以啊,還是讓能走的人先走,讓從最緊要的模塊開始這么做。
不必擔心這樣做後,因為過去一件事被分工(一個做代碼框架一個填肉)成兩個人做了會降低工作效率。我們很多的工作效率低就是因為半瓶子醋搞出來的,來回反復修改。
真是應了劉德華在電影里說的那句話:說你又不聽,聽又聽不懂,聽懂了又不做,做又做不好,做不好還不服氣。
四、為什麼大部分程序員不做代碼測試或白盒測試或單元測試呢看
還是因為沒有代碼設計。因為沒有函數啊。所以,一個按鈕功能有多復雜,代碼就有多長。我見過2000行的函數,我也見過1000多行的存儲過程和視圖SQL。怎麼做白盒測試啊,這些代碼都粘在一起呢,要測,就得從頭到尾都得測。
所以啊,先學會設計函數,先寫好函數,這就求爺爺告奶奶了。很多開發了5年的熟練手程序員,可能都未必會寫函數。
函數的輸入輸出值就很有講究。很多人都寫死了,隨著版本迭代,發現過去定義的函數參數不夠用了,於是就新增了一個參數。然後,相關性異常就爆發了,其他關聯的地方忘改了,到底哪些有關聯,怎麼查啊,本系統沒有,沒准其他系統就調用你了,你根本不知道哪個神經人曾經COPY過你的代碼修吧修吧就改成了他的功能呢,而且裡面的很多代碼他看不懂也不敢刪,只要他實現的功能正常了他也不管了。於是,你改了你這個函數,他的系統就莫名出錯了。
所以,我一般會定義幾個對象來做參數。另外,我也很注重函數的日誌、函數的異常保護、異常拋出、異常返回。另外,我也很注重參數輸入值的合法性校驗。
所以啊,應該開發Leader們先制定函數編寫規范最佳實踐,輸入輸出參數怎麼定義比較好,函數的返回值如何定義比較好,函數的日誌記錄應該怎麼寫比較好,函數的異常保護、異常拋出、異常返回如何寫比較好。先教會一般程序員,先從會寫函數開始啊。
當然,你光有一份規范,程序員們還是不理解、不實際應用啊。所以,還得Leader們做好典型的代碼模板,裡面是符合函數規范的代碼框架,只有這樣,一般程序員們才會照貓畫虎適應了函數設計的編程習慣。
所以啊,我專門重新定義了leader的明確職責,其中第一個重要職責就是:負責工具/框架/模板/規范的制定,並且負責推廣且普及應用落地。
你不明確定義Leader的這個重要職責,你不對這個職責做明確的KPI考核,誰尿你啊。你以為好的工具/框架/模板/規范是靠人們的熱情、自發產生的么看我們還沒有那麼自覺高尚啊。
五、為什麼大部分程序員不寫注釋啊看
我經常說一句話,千萬別多寫注釋。為啥看
因為我們經常遇到的問題不是沒有注釋,而是更糟的是,注釋和事實代碼邏輯是不相符的。這就出現常見問題了:殘存下來的設計文檔是一個邏輯、注釋是一個邏輯說明、真實代碼邏輯又是一個,鍾表多了,你也不知道正確時間了。
所以啊,產品文檔、注釋、真實代碼,三者總是很難一致同步。我為了幾百人研發團隊能做到這個同步花了大量心血和辦法,但我最終也沒解決了這個問題,還把Leader們、總監們、我都搞的精疲力盡。
索性回歸到一切一切的本源,代碼,就是程序員的唯一產出,是最有效的產出。那麼,讓代碼寫的不用注釋也能看懂,咱得奔著這個目的走啊。
為啥看不懂,不就是義大利面條式代碼么,又長又互相交雜。
OK,我就規定了,每個函數不能超過50行。用這一個簡單規定和靜態代碼檢查插件,來逼迫大家嘗試著寫函數。有的函數屬於流程函數,是串起其他函數的,有的函數就是詳細實現函數,實現一個且唯一一個明確作用的。
有了流程函數和功能函數,而且每個函數不超過50行,這就比過去容易看懂了。
六、為什麼大部分程序員不抽象公共函數啊看
我經常說一句話:千萬別抽象公共函數啊。為啥看
因為大部分程序員缺乏抽象洞察能力。特別是有些積極熱情有餘、愛學習愛看書、半瓶子醋晃悠的二桿子,看了幾本UML、重構、設計模式、整潔代碼之道,就躍躍欲試了,還真敢給你抽象公共函數了。
一開始,他覺得80%相似,20%不相似,於是在公共函數裡面簡單寫幾個if..else做個區隔就可以。沒想到,越隨著版本迭代,這些功能漸漸越變越不一樣了,但是這個代碼已經幾經人手了,而且這是一個公共函數,誰也不知道牽扯多少,所以誰也不敢大改,發現問題了就加一個if..else判斷。
沒想到啊沒想到,這個本來當初公共的函數,現在變成了系統最大的毒瘤,最復雜的地方,誰也不敢動,除非實在萬不得已,手起刀落。
所以,我平時告誡程序員,純技術的、純通用的,你們可以嘗試搞搞抽象公共函數,對於業務的,你們還是簡單粗暴的根據Leader們做的代碼模板代碼框架,乖乖的復制、修改、填肉吧。
你們啊,先從做模板做代碼片段開始吧,咱們放到咱們內部代碼片段開源庫里,看誰的代碼片段被別人復制的多,說明你的代碼抽象設計能力越好了。那時候,我就大膽放心讓你撒丫子跑了。在沒有學會跑之前,給老子乖乖的復制、修改、填肉吧。
3. 程序員小白如何通過Java面試
1、了解業內招聘要求:多看幾家同類崗位的技術要求,大概就知道用人單位的需求了
2、多找找面試常見技術題:不同企業的面試題各種不同,多去找找,多背背
3、簡歷設計:這個就是要注意在簡歷中體現自己的項目經驗、技術水平
4、面試現場反應:注意自己的著裝、語言表達、技術表達
以上都是在你有專業技術的前提下進行的,如果專業技術就是小白,還是先提升專業技術吧
4. 小白,想入門程序員,應該從什麼開始學,順序是什麼
小白想要成為程序員,首選是選擇一門合適的語言,比如說:Python、Java、C、C++、GO語言等;其次,選擇合適的學習方式,比如培訓,周末班、脫產班還是網路班。
如果完全沒有編程基礎,建議大家學習Python,Python入門簡單、語法清晰、通俗易懂,非常適合零基礎人員。
5. 小白如何成為程序員
學唄。想成為程序員,無非就是學習計算機編程語言,學習編程唄,現在互聯網上的編程教程一搜一大把,編程應該如何學、怎麼學和資料都不是什麼秘密,任何人只要想學的都可以馬上開始了。
如果心裡沒譜,可以參照我寫的Java學到什麼程度可以找工作。
6. 程序員小白都應該知道的30件事
作者 | 宋蘭欣 廖馨婷
來源 | 讀芯術
從事編程並不容易。每年有許多人從各國的頂級計算機科學專業畢業,這是所有人都嚮往的最具競爭力的職業之一。與此同時,編程也振奮人心。隨著技術的進步,每天都有新的創新。對於喜歡編程,並立志從事編程的人而言,編程是其熱愛且為之奮斗的事業。
本文的這個列表可以幫助新手答疑解惑,節省精力。即使目前某些內容可能暫時不需要,但是總有一天它會派上用場。
1. 從事編程無需學位,但需要有所了解。
編程是少數幾個不取決於學位的職業之一。但是編程是一項知識密集型職業。如果你要從事編程行業,閱讀一些基本的涵蓋計算機科學的基本概念等書籍是必要的。除了編寫功能代碼之外,為你的技術打下堅實基礎,對基本概念有一個深刻理解,這使得你能夠贏得技術面試有助於與同事交流。
2. 在問題解決技能上,編程十分具有創造力。
大多數人都有這樣一種先入為主的觀念,即編程就是分析和解決問題的能力。這只說對了一部分。編程還涉及許多創造性。通常,可以使用多種方式編寫給定的代碼。當你設計出最簡單有效的編碼方式時,創造性就產生了。
3. 掌握所有編程語言是不可能的,訣竅是將一門語言學到極致。
世界上有數百種編程語言。有一些編程領域為特定的職業道路鋪平了道路:Web開發人員,前端開發人員,後端開發人員,軟體工程師,資料庫開發人員等。明確希望成為哪種開發人員,然後學習該職位所需的技術技能。
4. 你不需要成為一個機器,保持作為人的狀態就更好了。
請記住,你首先是人,其次才是一名程序員。初次編程時,很容易迷失在代碼中。你是一個人,你需要笑,需要哭哭,需要減壓,需要與人交談。作為一名程序員,平衡生活,盡可能的發現工作之外的樂趣與激情將為工作帶來更多創造性。
5. 編程是應用知識而不是死記硬背。
與發明和創造新知識領域的研究不同,編程就是應用現有知識。書籍,研究論文,在線文章和學習視頻將成為經常使用的資源。沒有必要記住所有知識。可以通過搜索資源找到答案。隨著處理的項目增加,知識也會自然而然銘記於心。
6. 你每天都會與冒名頂替綜合症對抗。
編程是所有「聰明」人都超同一個目標前進的行業。除非你是天才,否則你會每天都覺得自己不配取得成功。當你每天都為這種感受所困時,會試著想辦法解決這一問題。你可以一直將其作為學習新事物的動力,正確看待問題。
7. 作為一名程序員,你還需要有工作之外的生活,否則,你只會沉迷於編程。
有段時間你可能會宅在家裡不出門。但是,要成為一名快樂的程序員,必須主動尋求計算機屏幕之外的生活。職業生涯的成功往往取決於你遇到的人。人際關系對程序員而言必不可少。保持程序員之外的個性特徵對於防止沉迷於編程至關重要。當你樂在其中而非強迫自己時,工作才會更加出色。
8. 與他人合作會學得更快。
在職業生涯初期,你會想要斷開與外部世界的聯系,沉溺於閱讀這十本有關編程的書籍,以建立計算機科學基礎。你猜怎麼著?如果你找到一個學習夥伴,會學得更快。當你與他人合作,所有的編程「缺點」都會暴露出來。編寫的代碼會得到審閱。由於有第三方的存在,你將會學著編寫高效的代碼。由於夥伴也在學習,所以你會想找到最好的辦法。當你從事程序員這一工作時,總會有人審查代碼。你永遠不是獨自一人這是你需要習慣的。
9. 不需擅長數學和科學。
在技術行業會遇到各種超級明星程序員,他們在接受了長期的文科教育之後,發現了編程在邏輯思維方面的吸引力。有很多畫家和作家在追求藝術的同時以編程謀生。成為一名優秀的程序員,你需要的是堅持不懈。編程很辛苦。但是,一旦有了恆心,任何人都可以通過閱讀編程書籍掌握基礎知識。在這個行業工作一段時間後有很多人重拾數學。最後他們甚至可以在沒有接受正式數學教育的前提下理解實施復雜的演算法。
10. 成為全明星「學習者」。
程序員的學習能力都很強。剛開始也許你的學習能力並不出色,但最終將會得到提升。有時,工作會要求你在六個月內學習三種編程語言。這就是技術創新的狀態。作為程序員,每天都在學習。學習就像呼吸一樣。即使你對每天都需要學習的狀態不太舒服,你也會被迫習慣。
11. 你將對完成項目上癮。
編碼成癮是真實存在的。在編程生涯中的某一階段,你將經歷通宵編程的馬拉松。在完成項目之前,你都不會想要睡覺。由於大腦正在處理大量的信息,你會忘記吃飯,喝酒,甚至不會離開辦工作。不要緊,工作做完後,就到外面散散步或者度度假吧。
12. 耗費一整天只為找一個小漏洞。
多數時候,在編程項目中許多部分彼此相互關聯。通常,你會發現除非修復了系統中潛藏的一個小漏洞,否則無法繼續進行下一步操作。作為程序員,除非找到這處漏洞,否則你會對整個項目倍感壓力。你會整天坐在電腦夙夜難寐,只為找到這一漏洞。這種現象只有找到它後才會消失。
13. 你將花費大部分時間在谷歌搜索無人能為你解答的答案。
如果使用流行的語言編程,那麼大部分的問題都能得到解答。但是,也有例外。有時,你也會出現別人碰不到的問題。在這種情況下,參考編程書籍並詢問編程委員會通常會幫助你答疑解惑。
14. 閱讀設計模式的書
是否畢業於國內外最好的計算機科學專業並不重要。在每個程序員的職業生涯中,都會坐下來仔細閱讀Head First Design Patterns。它可能是新程序員最常閱讀的書籍之一。還在等什麼?趕緊拿起它並從頭到尾閱讀。
15. 學會專注於確切的拼寫
在每個程序員的職業生涯中,都會用自己喜歡的語言編寫足夠的代碼,以便按照自己的方式做事。這包括為變數,類,甚至資料庫中的表提供的命名約定的准確拼寫。仔細審查這一點。你最不想發生的就是因為拼寫錯誤而產生的系統漏洞。記住,當理由充分時沉浸與值得關注事情是情有可原的。但是如果無據可依,那不過只是無意義的重復。
16. 你可能會放棄
有時你會遇到無法解決的問題。有時問題難到讓你懷疑人生,只想要辭職。有時工作環境會讓你想要放棄。激情取決於堅持。這時候質問自己,是要堅持還是放棄?當遇到挫折和困難時,你就把它當做港灣和下一次騰飛的跳板。
17. 重頭再來
當你看到那些和從前的一樣熱愛編程的人,你會很羨慕接著發現自己無法放手。你不能放手。然後又會回到編程項目上來。你意識到在內心深處,和編程同呼吸共命運,這是你才成為一名真正的程序員。
18. 回到某種形式的學校教育,去學習系統的知識。
即使是從精英計算機科學碩士課程畢業的最優秀的程序員也將在工作中學習。事實上,在職培訓是大型科技公司工作的最佳福利之一。公司將送你去學習「高昂」的課程和研討會,以培訓你使用他們希望使用的最新技術。如果碰巧在工作中沒有學到足夠的知識,你將接觸到許多在線編碼學院和youtube視頻,以提高你的技能。
19. 被不喜愛的公司聘用
即使你是一個平庸的程序員,某些公司也會需要你的技能。當他們面試你的時候,試著記住你也在面試他們。根據公司的文化,你可能會發現自己想對這份看似輕松地工作說不。作為程序員,工作時間很長。找到適合自己的公司文化幾乎至關重要。幸福度會帶來好的工作表現。如果你的技能無可替代,總會有其他公司排隊挖你。非必要情況,不要輕易妥協。
20. 技術面試不合格
技術面試不是開玩笑。高級程序員經常以編寫技術面試問題為樂。通常,出於某些原因,這些問題總是格外難。如果技術面試不合格,這也不是世界末日。這當然不能證明你的編程能力。它只測試你的知識庫。試著想想積極的一面。如果個人技能出色,經理們會記住你。如果他們看好你的能力,然而你並不適合擔任這個角色,他們仍可能會聯系你,為你提供另一個職位。
21. 被告知你很出色
在職業生涯中,有時候你會覺得自己像個明星。經理需要依靠你完成項目,他們誇贊你很棒,以激起你的干勁。你會覺得自己處於世界之巔。注意了,這是在誘導你變得自負。請保持謙虛,畢竟學無止境,人外有人山外有山。
22. 被貶得一無是處
在職業生涯中,有時你會覺得自己一無所知。對項目沒信心人會告訴你,你什麼都不知道。也許他們這樣做是為了讓你了解自己身處的位置。但是,既然你正在閱讀這篇文章,你就會大踏步前進。因為你知道的可能比你想的還要多。你所掌握的知識也會隨著時間增多。一年後,人們會尊重你,所以請堅持下去。假以時日,甚至可能贏得那位曾經將你貶得一無是處的人的尊重。
23. 與你所欣賞的其他程序員競爭
編程最絕妙的方面之一就是競爭。當你編寫一個你欽佩的程序員認為值得的代碼時,會開心地像贏了彩票。編程競爭總是很有趣。精妙之處不在於誰是最好的而是互相學習。
24. 可能理解不了同事的話
一開始,這種情況可能是每周或每月一次。在新編程工作中,你可能理解不了同事剛剛說的話。可能以下兩個原因。鑒於生活環境的不同,你可能聽不懂他們的口音。在這種情況下,請另一位同事翻譯。不能理解某人的言論並不可恥。很可能,其他同事也花了多年時間才得以習慣這種口音。另一個原因是同事剛才所說的完全超出了你的知識范圍。那也沒關系。畢竟,同事是專家。讓同事以圖片形式解釋一下。你會想要拉把椅子坐下詳聽,因為這可能需要一段時間。
25. 看到去年寫的面條式代碼,你會感到羞恥
這事兒常常發生。開始時因為Perl代碼,我被批評了。這是一個記錄良好的代碼,設計也很好。但我卻用一種難以閱讀的語言寫出來。所以,我寫了面條式代碼。但是,每年,無論我怎麼努力,我仍然會找到一些我清除由於快速完成工作而編寫的面條式代碼。這就是程序員的日常。我們解決問題並修補問題。不必覺得羞愧。當你意識到這是你寫的,返回修正即可。
26. 當你厭倦了看另一行代碼時,你將在資料庫項目中躲避
當你進行一次精彩的編程攻關時會發生這種情況。已經兩個月了。你需要休息一下。但是你喜歡這種勢頭,所以繼續前進。然後你意識到SQL很有趣。無法弄清楚為什麼你不能看另一行代碼。但不知何故,將數據放入資料庫並再其取出使你感到愉悅。你陶醉於完全邏輯語言的簡單性。
27. 對編程馬拉松又愛又恨
編程馬拉松現在很常見。程序員加入團隊並相互競爭。在這個過程中,他們會在幾個小時內進行高密度學習。你會因為團隊精神愛上編程馬拉松,也會因為快速碼字造成的腕關節綜合症而討厭它。你也會討厭工作擁擠的房間以及在編程時感官的過度刺激。
28. 閱讀研究論文時,會覺得一個字看不懂
你會說英語嗎?好大多數人會說是的。但是,你可能會一遍又一遍地閱讀一些研究論文,並發現自己一頭霧水。對我來說,在學習基礎數學之前,大多數關於演算法的研究論文看起來都像是一片巨大的霧林。然後,突然間,一切似乎又都撥開迷霧了。
29. 購買耳機
在職業生涯的某個階段,當你專注於代碼時,會發現任何類型的噪音都會阻礙你的感官。買一個能夠隔絕外部噪音的好耳機,可以讓你在嘈雜房間內專心工作。在某些時候,還會發現音樂有助於編碼。編碼生涯的早期我就發現,音樂節奏有助於流暢地編碼。即使是現在,需要提高工作效率時,我還會找些音樂來聽。
30. 抓住與同伴交流的大好時機。
在職業生涯的某個階段,你會成為公司非常重要的開發人員群體。這時你將被邀請到異地技術專業人員將在這里進行社交活動。高層管理人員會藉此機會了解你。這並非是無憂無慮、享受的時候。相反是與同伴交往和交流的大好時機。有時,外出活動還包括與其他公司的技術專家的會議。