程式設計師需要掌握的30件事

2021-01-14 程序猿驛站

從事編程並不容易。每年有許多人從各國的頂級計算機科學專業畢業,這是所有人都嚮往的有競爭力的職業之一。與此同時,編程也振奮人心。隨著技術的進步,每天都有新的創新。對於喜歡編程,並立志從事編程的人而言,編程是其熱愛且為之奮鬥的事業。

本文的這個列表可以幫助新手答疑解惑,節省精力。即使目前某些內容可能暫時不需要,但是總有一天它會派上用場。

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. 抓住與同伴交流的大好時機。

在職業生涯的某個階段,你會成為公司非常重要的開發人員群體。這時你將被邀請到異地技術專業人員將在這裡進行社交活動。高層管理人員會藉此機會了解你。這並非是無憂無慮、享受的時候。相反是與同伴交往和交流的大好時機。有時,外出活動還包括與其他公司的技術專家的會議。

相關焦點

  • 程式設計師都開什麼車?沒想到,一半以上的程式設計師,30歲前就買車了
    最近閒來無聊,播妞逛論壇發現,程式設計師朋友們對買車這件事的討論相當多。程式設計師一般開什麼車?有多少買車的?程式設計師買車是什麼體驗?工作一兩年的程式設計師有點錢,買車還是買房?……在當前的職場當中,網際網路和金融行業的工資算是比較高的了。
  • 程式設計師不想讓你知道的 5 件事,你知道嗎?
    有些程式設計師是不會讓你知道瀑布開發掛了的。敏捷和瀑布是兩種不同的開發模式。瀑布模型開發會採用一組功能,當所有功能都完成時才開始構建項目。因此,瀑布模型開發通常需要幾個月才能完成。如果有程式設計師說他們需要構建所有功能並在 X 月內啟動項目,那他們用的就是瀑布模型開發。說瀑布模式開發沒死都是騙人的。瀑布模式開發已死。既然叫做瀑布,就意味著不應該走回頭路。否則如果出現返工,付出的代價會很大。而敏捷開發的最終目標是讓客戶滿意,所以能夠主動接受需求變更,這就使設計出來的軟體有靈活性,可擴展性。
  • 程式設計師的人生必做100件事中,一定有讀這14本經典!
    最近,一則互動H5「人生必做的100件事」刷爆朋友圈,不少朋友興致勃勃地點開清單,一件件勾畫刪減,最後發現——「原來我做了這麼多/少事情啊?」那麼,對程式設計師來說,人生必做100清單中,會有什麼事項呢?「寫好的代碼一次運行成功」?或者是,「自製程序登上GitHub熱門」?
  • 30歲的程式設計師,到底該何去何從?
    網際網路上搜一搜30歲,程式設計師幾個關鍵字,鋪天蓋地的都是一種充斥著焦慮感的評論。的確,自古就有三十而立的說法,到了三十歲,與其說是別人讓我們感到焦慮不如說是自己給自己加了一層焦慮感。特別是程式設計師這個職業,受到中國大環境的影響,30歲的程式設計師所收到的焦慮尤其突出,一方面工作中既要迎接來自剛畢業新生力量的衝擊,又要承受不能很快地到達一個某種合乎期望的管理地位。此時很多人都會想著轉行、轉崗、考公務員、創業等。無論是轉行還是轉崗,都要受到諸多現實問題的制約,比如自己的能力,家庭的壓力等等。
  • 跑步教練:每個跑步者需要知道的5件事
    讓我們看看跑步教練怎麼說每個跑步者實際上需要帶五樣東西。第一件事:每個跑步者都需要一個跑步教練。一些跑步者認為如果他們參加馬拉松訓練,這個情況下需要一個跑步教練。事實並非如此,即使你不是馬拉松跑步者,你也需要一個跑步教練。
  • 不想當軟體工程師的程式設計師不是好程式設計師!
    目前大部分人都這樣認為程式設計師就是軟體工程師,軟體工程師就是程式設計師。雖然我們很多的軟體工程師和程式設計師均自嘲為碼農,其實仔細推敲軟體工程師和程式設計師是有著區別的。在IT軟體行業中,軟體工程師是需求量最大的職位,涉及到的工作範圍和能力要求與程式設計師是不一樣的。
  • 程式設計師和籃球不得不說的事
    小編自我介紹:程式設計師一枚,會點PHP,愛好籃球,有時間就看看nba。可能是小編是個渣渣程式設計師,跟很多大神們的生活沒法比。 程式設計師只這樣一類人:幹得比驢累,吃得比豬差,起得比雞早,睡得比狗晚,看上去比誰都好,五年後比誰都老。
  • 刷遍朋友圈的「人生必做100件事」還有這些版本,不查收一下?
    網友的想像力是無限的,小測試刷屏後,其他各種版本的100件事也被創造了出來。其他版本的100件事程式設計師的100件事豆瓣崩豆瓣崩,豆瓣崩完芒果崩;芒果崩芒果崩,芒果崩完釘釘崩;釘釘崩釘釘崩,釘釘崩完淘寶崩
  • 一個30歲的失業程式設計師,決定去賣紙箱
    本期主角:程式設計師張會武。他丟了深圳的工作,回武漢面試幾十次無果,最後來到義烏,當上了老闆。點擊觀看視頻:何時會是打工人的轉折點,35?40?他說是30歲!疫情前後,張會武經歷了人生的幾個大事件:三十而立、結婚、買房、失業……密集頻繁,但又按部就班。
  • 轉行做程式設計師需要具備哪些條件
    很多轉行的人都會考慮這個問題,下面小編為大家介紹轉行做程式設計師需要具備的條件。一、注重細節如果做事情不注重細節,那麼最好不要做程式設計師。細節在工作中是非常重要的,無論從邏輯方面還是編寫代碼方面,都需要注重細節,在IT方面是不存在差不多的。如果在代碼方面出現細節的錯誤,那將嚴重影響全局。
  • 程式設計師:讓電腦死機只需要三個按鍵,五個字符
    我們都知道程式設計師在,大多數的行業中應該是一個比較特殊的群體,很多人一提起程式設計師,總會覺得他們,厲害,而且神秘,除了,這個,高大上的印象之外,很多人還總是會不自覺地將他們與木訥、拖沓聯繫在一起。這也並不是沒有原因的,現在的網絡中就有大量的程式設計師只會玩電腦而生活不能自理的段子,而且很多人都沒有接觸過程式設計師,所以對於程式設計師的了解就只是停留在在網絡上人們的介紹當中。然而事實上,大多數的程式設計師並不是我們想像中的那麼木訥,恰恰相反,他們有著極其聰明的大腦,而且很有幽默感,邏輯性極強,並且跟朋友的相處也是非常友好的。
  • 在中國,程式設計師這行能幹一輩子嗎?
    在他周圍,也暫時沒有可借鑑的前例——身邊35歲的程式設計師其實不少,主要都是leader級別,他們目前也並沒有要轉行的意思。「先升上組長再說吧。」「沒聽說有人轉行」關於轉行這件事,入行接近10年的朱老師也說,「沒聽說過」。
  • 從程式設計師到大魔王!《無主3》中的第一帥哥
    程式設計師傑克  討論傑克如何從一名基層員工變成帶著面具的獨裁者帥傑克是件非常有意思的事情,因為那涉及到我們對於人類本性的思考。一種比較普遍的觀點是,傑克的轉變並不是一朝一夕形成的,在他還被叫做約翰的前半生中,幾個重要人物的影響造就了他對現實事物扭曲的認知。  第一個人就是他的奶奶。
  • 開課吧:馬上到2021年了,作為一名程式設計師,你該有職業規劃了!
    在中國有很多人都認為IT行業是吃青春飯的行業,如果過了30歲就很難有機會再發展下去!比如很多大型網際網路公司企業的員工平均年齡都在20多歲左右。因為年輕更有想像力,思想不容易僵化。但我認為現實卻不是這樣子的,年齡不是桎梏,原地踏步停滯不前才是。
  • 程式設計師如何實現財務自由?
    程式設計師群體普遍比較焦慮,大家聊到如何規避中年危機,如何慢慢接近財務自由,如何獲得「睡後收入」。前文也說過:程式設計師不是老中醫,這個行業發展變化極快,大多數程式設計師的能力巔峰和收入巔峰會在工作5-10年間產生,隨後就會進入下行通道。年紀大了上有老下有小還可能有房貸車貸,生活中的煩心事越來越多,雜事也越來越多。如果還只有工資一種收入,壓力之大可想而知。
  • 學習IT多久可以成為程式設計師?
    初學者人員想通過自學成為一名程式設計師,一般來說,沒有一年的時間,很難去上班,如果你正在參加培訓班,可能會更快,但找工作也需要半年的時間,當然,不要以為只要是自學還是報班就能找到高薪的程式設計師職業,這取決於你是怎麼學習的。
  • 程式設計師視力表:視力0.1的竟然是這個!
    講真,看完之後並不想說什麼(因為,其實,我也是靠臉的[捂臉.jpg]) 作為每天前後左右都被程式設計師包圍的非程序媛,小智想說的是,程式設計師也是有視力表的
  • 挖一個阿里p7程式設計師需要多少錢?
    挖一個阿里p7程式設計師需要多少錢?阿里p7程式設計師校招阿里p7程式設計師
  • 女孩減肥時4件事不要做,特別是第4個,正確掌握或助減肥不反彈
    女孩減肥時4件事不要做,特別是第4個,正確掌握或助減肥不反彈導語:相信大家的身邊一定都會有一些胖胖的女生,其實她們是很可愛的,但是她們對自己的身材還是很注重的,所以每天的口頭禪就是我要減肥。減肥對大部分人來說是一件不容易的事情,因為需要長期的堅持,有很多人經常會在減肥的道路上半途而廢,今天給大家分享一下女孩減肥時4件事不要做,特別是第一個,正確掌握或助減肥不反彈。第一件:不吃米飯現在的精白米飯,由於好消化、餐後血糖反應快,對血糖控制很不利。
  • 軟體工程師的衰落與程式設計師的崛起
    現在,通常是以「開發人員」或「程式設計師」作為一個職位,或者不幸的話,荒謬和滑稽的「黑客」、「碼農」或「代碼大師」成為職業。我們也看到了荒謬的「全堆棧開發人員」的標題到處亂扔,似乎這有一些特殊的意義(但其實沒有)。學位不再是衡量程式設計師工作適合與否的必要條件,事實上也不一定需要正規教育。標準似乎在急劇下降,以至於任何能打字的人都能叫「程式設計師」。發生了什麼?