⑴ 弟弟畢業做程序員兩年了,老得特別快,應該怎麼幫他
少熬夜,多吃蔬菜水果,多運動,
⑵ 程序員怎麼能牢記學習過的東西
1、要明白你能做什麼,而不是記住怎麼做
其實,代碼可以構建的功能有無數種可能性!你可以設想通過代碼構建任何內容,只有你想不到的,沒有構建不了的。學習一種新語言是一件非常令人激動的事情。
查看問題以及代碼示例,並通過這些示例學習如何利用這種語言以及/新概念完成工作,這都非常重要,但我們無法記住所有的信息,不要做無謂的嘗試!你可以在今後需要實現的時候,再反過來查看,剛開始的時候,你只需要記住這種概念可以實現什麼樣的功能。
在我深入研究React.js時,這種方式給予了我的學業很大幫助。實現的可能性太多了,你有無數種方式傳遞props、創建新state、組合組件——實在太多了!就像一個大謎團!我了解到React可以實現非常多的功能,雖然我無法確切告訴你該如何做,但我知道存在這種可能性,這很重要。
2、在需要時尋找所需的代碼
就像學說一門新語言,你知道自己想說什麼,但你不知道該怎麼說。編程語言也是如此!
在我剛開始學習編程時,人們稱Google為「終極工具」。那時我就在想:我使用Google已經很多年了……我錯過了什麼嗎?
後來才發現:重要的不是搜索內容,而是搜索的方式。無論你想尋找什麼答案,網上都有,就看你怎樣才能找到了!
在用外語與其他人交談,或用一門新語言編程時,你可以通過Google找到如何表達。你不必記住括弧放在何處,或者這里是逗號還是分號。應該使用圓括弧還是大括弧這種問題很容易出錯,而且也很容易解決!只需快速搜索,兩秒鍾就能找到答案。
但是,我有幾次因為未能寫出完美的語法而感到內疚。有語法問題那就有唄!重要的是你知道自己要做什麼,然後只需要記住該如何做即可!
3、從何處下手?
學習一門新的編程語言必然會令人不知所措,還會引起混亂。當有人說:「放手去做就好了!」時,我會覺得很迷茫,我該從何處下手呢?最終我發現:你永遠也無法為需要構建的功能做好准備,你唯一能做的就是走一步看一步,先動起來。
如果說每次沒有遇到任何問題、不需要搜索任何技術、不需要尋求別人的幫助、也不必返工就能成功構建一個項目,我就可以拿到一美元的話,那麼我告訴你……到目前為止我一美元也沒拿到!犯錯是學習過程中的一部分。
犯錯是學習、發展和提高程序員技術力的一部分。而學習故障排除和調試代碼則更重要,而不僅僅聽別人說:「我也遇到過這個問題,你所需要做的就是……」。
我強烈鼓勵你嘗試自己解決問題。努力奮斗。不要害怕搞亂或破壞你的代碼。必要的時候,可以重新構建整個項目。在學習新知識(例如編程)時,一遍遍重復才能學到真技術。一遍又一遍,直到你全部掌握為止。
4、如何實現呢?
找到你想要構建的東西,然後開始動手!不要猶豫不決。反復嘗試和失敗。當你不確定想要完成的功能時,請花點時間研究問題。分解成塊。弄清楚如何解決每個塊。
然後,再想法把所有塊聚攏到一起。如果你忘記了如何編寫for循環,或者忘記了高階函數會返回什麼,那也無需擔心。你可以參閱文檔或指南,然後再繼續。
有時這是一個緩慢的過程,但非常值得。最終,你會越來越有自信,而且有很多想要實現的新想法。
你會記住如何實現嗎?不會。
但是,你可以參考過往的項目, 在Google上尋找答案,或者閱讀論壇。答案都是現成的,你需要做的只不過是找到答案而已。
⑶ 程序員一直都和電腦為伍,那當他們一個月不用電腦之後,編程還能那麼熟練嗎
很會很熟練,但沒有之前熟練,任何事物都是溫故而知新。編程最主要的是邏輯思維,身邊不是這個行業的朋友,經常會認為是數學科的,數學學的好,計算機就好,好吧,會存在一定關系,但計算機與數學關系不是最大的,與邏輯關系卻非常大,底層存的是0和1而已。整個編程,考驗的是邏輯思維,程序員寫的系統也好,網站也好,其實就是邏輯上的表現,編程言只是工具,選擇合適的工具,會有助力於你把思維中的邏輯業務很好的展示出來。
根據遺忘曲線我們可知這條曲線告訴人們在學習中的遺忘是有規律的,遺忘的進程很快,並且先快後慢。觀察曲線,你會發現,學得的知識在一天後,如不抓緊復習,就只剩下原來的25%。隨著時間的推移,遺忘的速度減慢,遺忘的數量也就減少。有人做過一個實驗,兩組學生學習一段課文, 甲組在學習後不復習,一天後記憶率36%,一周後只剩13%。乙組按艾賓浩斯記憶規律復習,一天後保持記憶率98%,一周後保持86%, 乙組的記憶率明顯高於甲組。
⑷ 剛踏入職場的程序員,如何快速踏實地提升自己的能力
程序員提升主要靠實踐,跟一個完整的項目能最大限度的提升項目能力,以後找工作不用愁啊,現實工作中很難達成,你可以去找找培養這方面人才的,提升一下自己,你看看願碼ChainDesk,有你需要的
⑸ Java程序員對業務的理解慢而吃力,還容易忘怎麼辦如何培養業務方面能力
項目做的多了,自然就鍛煉出來了,唯手熟爾
⑹ 如果要當程序員,應該從哪裡學起
當程序員我覺得可以從基礎學習,比如說可以學一下c語言,因為這個是程序員最基礎的東西,你也可以學一些其他的語言都是相對比較重要的。
⑺ 如果一個程序員忘記了所有的技能,那麼會出現什麼情況
編程語言能力。不用多說,作為合格的計算機程序員,精通一門語言是必須的。這種精通,不是說看了一本編程寶典,抄了幾個程序就能說精通的,要靠長時間的積累編碼能力。遵守編碼規范,是一個程序員最基本的要求,可悲的是,很多程序員根本沒有意識到這個問題的嚴重性。另外一個就是注釋,要注意不是為了注釋而注釋。對類,以說明職責為主;對方法,以說明意圖為主;對方法體,以說明實現思路為主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內注釋進行說明。面向對象思維能力。如今,多數編程語言都是面向對象的編程語言。而這些面向對象的編程語言的共同的精髓就是面向對象的思想。掌握這些比面向對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,介面隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。我面試過很多程序員,沒有一個能說得上幾句的。英語管理。新的技術資料都是英文的,英語國家的IT技術走在我們前面至少10年(這是我自己估計的數字,可能正在縮小)。就連印度,一個連基礎設施建設都不太完善的國家,因為其英語基礎較好,其在軟體外包領域的發展也非常迅猛,遠遠超過了我們。學英語,首先是有信心,其次就是花時間。多閱讀英文資料,貴在堅持。利用工具能力。工欲善其事,必先利其器。有了趁手的傢伙,工作效率可以提升數倍。你編程序,有沒有選擇一個很好的IDE,以前聽說編程高手都用記事本寫程序,我覺得那是一種自虐。就像以前看到的一篇文章,說一幫戶外旅行愛好者,出去旅遊,背了重重的旅行包,裡面裝著什麼壓縮餅乾等快速食品。他們寧可就著礦泉水啃壓縮餅干,也不肯去1里路都不到的快餐店,農家菜館吃飯。工具是為目的服務的,好用,提高效率就行,形式無所謂。學習能力。在IT業混飯吃不容易,整個環境進化的太快,你不學習,就等於落後了。學習要有針對性,別今天學ruby,明天學python,後天php的。首先要認清自己的目標,自己短期目標是什麼,1年後,3年後,5年後的目標是什麼。結合這些目標,確定自己的學習計劃,人的精力畢竟是有限的。當然,多掌握幾門編程語言也是好的,可以擴充自己的知識面,重要的是為自己的目標服務。當然,不能只學習技術,作為程序員還要關注的很多,要經常練習自己的軟技能,比如溝通能力,表達能力。創造能力。普遍認為,東方人模仿能力很強,但創造能力差。我見過很多這樣的程序員,經常說,「這個只能這么解決了,我想不出有什麼別的方法。」可能他根本都沒想過別的方法,或者懶得去想。對任何一個問題,找出兩種以上的解決法都是非常容易的,簡單的google一下,可能就是數十種。悲哀的是,有些程序員經常止步於自己構建的狹小領地之內。對待客戶也是這種態度,不是積極的幫助客戶解決問題,而是推脫這只是唯一解決方案。文檔能力。也許有人會質疑,程序員跟寫文檔有什麼關系。大家開源軟體也用過不少,看看Spring,hibernate,Struts等最流行的開源軟體的文檔就知道,他么的tutorial,他們的getstarted,他們的reference文檔寫的多麼的易懂。其實寫代碼也相當於寫文檔,只不過用的是編程語言。同樣,寫文檔,用自然語言,也相當於寫程序,簡單明了,清晰易懂,這樣的「程序」誰看誰舒服。同樣,對於想進階到設計師或者需求分析員角色的程序員,文檔能力更是非常重要。DRY。DRY是一種原則,就是Don」tRepeatYourself.這條原則可以用到很多地方,比如你經常要編譯,打包,部署應用程序,供集成測試用。每次你都在重復你自己,寫一個自動化腳本(比如用ant,批處理命令)來將這些工作自動化,以提高效率。抽象能力。抽象能力是認識事物從現象到本質的能力。如果你只是停留在「見山是山,見水是水」的層次,客戶說什麼,你就做什麼,設計怎麼做,你就怎麼實現,從來不過問為什麼,也不去想他是滿足了用戶哪些方面的需求呢。這樣可能只解決了表面的問題,可能會引起返工。認識到本質,才能讓你的程序具備更大的靈活性和可擴展性。在做企業應用軟體開發中,抽象能力體現為對問題域的理解能力,對領域模型的抽象。合理的抽象也是代碼重構的前提,每一次重構,都是向更好的抽象邁進了一步。ITJOB
⑻ 作為一個程序員,你有沒有想過如果不做程序員了你還能做什麼
首先扒出網上的一張圖,表明程序員工作的路線圖。雖然只是笑資,但也依舊部分真實。
大多數在一線城市的程序員根本買不起房,特別是北京,當然對比其他薪資更低的其他崗位更是如此。所以基本分為兩大塊,一直留在大城市和後期回到二線甚至三線城市,求個輕松安穩的生活。
管理 :大多程序員在沒有怎麼敲代碼後,都是走管理路線,管理項目,統籌兼顧,這也算是沒有脫離程序員的行業,但也不能算是敲代碼的程序員了。不過管理崗位就那麼多,也只會有少數人能夠晉升。
程序行業的獵頭 :現在很多大公司都需要hrbp等崗位,需要懂得編程的人幫忙招聘真正有本事,能夠聊技術的hr,不過hr更多要有資源,能夠會說話,有大概的判斷,因此程序員行業很多人並不能勝任,但總會有人適合,不是么。
培訓老師 :懂的知識,能夠系統理解就能教書育人。同時也是對自己知識體系的梳理過程。無論你是內向還是外向,都可以做講師,因為每個人都有自己的講課風格,但這需要你做一定的適應,最大的難度就是從自己動手做項目到用語言准確表述自己的經驗與技術。
做自媒體 :現在的自媒體已進入成熟期,如果你的技術已經十分嫻熟,可以把專業技能放在自媒體平台上,把你的編程經驗、目經驗寫一寫,以文章、視頻形式展現出來。名氣大了,自然會有人找上你,請教問題或者打廣告,一切都水到渠成。
接私活 :現在也有很多地方可以接私活,自己賺錢,趁著年輕多賺錢,至少被年輕人淘汰時候,手上也有很多錢可以任由自己揮霍。
很多人在做程序員後,都會想有更輕松的人生,錢少點無所謂,但不能委屈自己。那能幹啥呢?
在老家開一個小店鋪,天天刷刷視頻,看看電視,日子也很悠閑愜意。
甚至在老家開滴滴,自由職業,想上班就上班,手頭缺錢就加油跑,
有一點自己愛好的,開個小餐館做作 美食 ,彈彈吉他教教學生。
修修電腦, 游戲 陪玩。或者自己寫一個伺服器,做個網站玩玩。
只有一份工作,並且還是給別人打工,擔心永遠都不會少,有一份副業才是正道。不要等到年紀到了,發現只能依賴一份死工資,變得唯唯諾諾,一點底氣都沒有,從而變成被公司壓榨的理由。
而對於大多數人而言,要多想想除了現在這份工作,我還能幹什麼賺錢,同時,也要加強自己的不可替代性。而程序員的不可替代性依舊是想法和技術。可以關注私聊我發送「 項目 」獲取很多項目的學習視頻哦,當然覺得沒有你想要的可以私聊說說想要什麼資源,大部分都能給你找到。
作為一名從業多年的程序員,或者說作為一名大齡程序員,肯定都會考慮,中年職業危機的事情,達到一定年齡後,自己該何去何從,中年程序員的焦慮隨著年紀增大而增大。
項目管理,軟體經理
很多公司沒有技術專家的崗位,所以很多人都會考慮轉管理,比如項目管理,軟體經理,因為技術沉澱,可以對軟體開發進行管理,這種職業轉換,相對與研發經理會比較簡單,壓力沒有那麼大。
轉換做技術支持,做FAE
假如你之前從事的工作,是做嵌入式軟體開發,寫C語言編程,那麼對於單片機一般會比較熟悉,那麼可以找一些mcu晶元原廠或者大的代理公司,做技術支持FAE,利用自己的技術經驗,幫客戶解決問題,然後有些公司的FAE的工資也會與銷售額掛鉤,有一定提成。
轉換做銷售
轉換做銷售是很多程序員的考慮,但現實是很多公司不會招沒有銷售經驗和資源,且年紀偏大的人做銷售,主要是培養時間長,穩定性差,沒有資源,當然賣房不需要經驗。
跑滴滴,跑美團送外賣
估計很多人也會想,如果真的失業了,就去跑滴滴,送外賣,肯定也是一個門路,肯定是一定收入,但收入肯定沒有做程序員高。
創業自己做點小生意
做程序員,工資相對於其他一些行業工資要高,或許有點積蓄,就考慮開一個小賣部,或者開餐館,做燒烤,做早餐等等,再或者是不是開一個快遞網點也是一個不錯的選擇。
還可以利用自己的專業知識,給別人做產品,方案開發等工作。這種我覺得是程序員重點考慮的方向。
說實話,確實沒想過,作為一個已經在程序員崗位上幹了10年的老鳥,目前還沒想過不做程序員了還能做什麼,做個小生意,不知道從何做起。合夥開公司,也找不到合適的人,而且最重要的是要有人跑市場,天天面對電腦,感覺已經喪失了和人打交道的能力了。
30多歲了,已然變成了00後口中的中年大叔,面對上有老,下有小的窘境,你想不做老本行,辭職去做其他的事情?除非有十足的把握,不然還是勸下自己,不如將現金投放到余額寶,或者買一些基金定投產品來的靠譜。畢竟那個一人吃飽,全家不愁的時代已經過去了。每天睜眼面對的就是父母妻兒,車貸房貸,以及其他的消費生活壓力,想給自己解解壓,還是拋棄不切實際的創業夢想吧。
但是,別忘了,雖然人在江湖,身不由己,對於自己還是要投資的,不論是身體方面,還是職業方面,健身房沒錢去,就到小區路邊多走走,鍛煉好身體,至少用一個強壯的身軀來撐起家庭。編碼之餘,多看下前沿的最新技術,程序員是最喜新厭舊的行業,你所比年輕人多的,不是身份證上的年齡,而是寶貴的項目資歷,不過在層出不窮的新技術面前,保持一顆善學不斷的心,總歸是沒錯的。
就算你要干別的行業,也請你把現在的程序員做好,既然要當斜杠青年,抑或是斜杠中年,也得腳踏實地,一步步的來不是?分享與大家共勉!
都說程序員吃的是年輕飯,過了30歲以後的程序基本上都是行不通的。然而好像事實也是如此,一旦上了年紀的程序員,真的沒辦法和年輕的相比。
三四十歲的年紀,論技術沒有年輕人的跟得上時代,論體力你也拼不過年輕人,我老程序員唯一擁有的話就是經驗。那誰說做程序員就得干一輩子,沒有這種說法。如果說你不做程序員以後的話,其實你可以將你自己的這一身經驗,傳授給別人。
說白點就是直接去當老師吧,當老師待遇也不錯,工資而且還挺高的。如果你有教師資格證的話,可以直接去正規的學校應聘,老師如果說你沒有教師資格證的話,現如今有很多的那種私密的培訓機構,他們都會招收很多的講師。不管是學校還是公立的培訓機構,各自有各自的好處,但整體來說待遇都是非常不錯的。
就以普通的培訓機構為例吧,他們非常需要人才,需要講師,有的培訓機構甚至直接聘請一些在校的大學生去作為他們的講師,但可想而知這些大學生的話,他們也只是學生,真要論起實戰,是遠遠不如退休下來的程序員。
但當老師也不是程序員唯一的屈辱,其實還有很多方向可以去發展,如果你覺得你這個行業做膩了,想換點新鮮的去做一下其他,那你就可以勇敢的去嘗試。不管是各行各業,只要自己喜歡都可以去做,能勝任程序員這個職位的人,我相信都是非常的聰明,去做其他職業只是時間的問題,我相信都能夠勝任。
因為程序員,吃的是一種技術活,頭腦必須靈光。太笨的人真的當不了程序員,所以說那麼聰明的一個人轉行去做其他職業,一點問題都沒有。
有時候我也在想如果有一天我不做程序員了,接下來應該去做什麼。
再回鐵路行業,從鐵路行業出來的我,再去應聘個地鐵公司或者廠家應該不是什麼問題。
去工廠企業做維護,我的專業是自動化專業,做個電務的維護也還算可以,畢竟還記得PLC,DCS編程語言,我還是一個擁有高壓電工證的程序員。
去輔導機構,去做個英語老師,大學英語六級,以後准備考個雅思,教小孩英語,應該綽綽有餘了。
或者回老家包地,再把畢業以後扔下的單片機,FPGA拾起來,做一些農業自動化的東西,再結合我現在的web編程,創造一些農業新生態。
或者開一家燒烤,開一家有情調,有技術氛圍的燒烤,程序員可以憑工作證獲得優惠的燒烤,因為這個世界上太多的程序員需要安慰。
只要你想活下去,總會活下去。
我想每一個程序員都應該想過這個問題吧
首先,程序員行業普遍加班較多,年輕力壯還好,加班身體也扛得住,年紀大了就不一定了。
其次,步入中年後,你的責任可就不止工作了,你是家裡的頂樑柱,你是家裡的一份子,你要抽時間來陪伴你的她或他,陪同孩子老人吧。
第三,程序員行業技術日新月異,新技術層出不窮,你不可能跟小年輕拼記憶里,拼學習能力,所以你需要考慮轉型。
談談出路:一是堅持一個行業,精通業務,轉行做管理;二是年輕時做好技術積累,可以出書,寫博客做技術專欄,也可以做培訓老師;三是轉行自己創業或是轉移到一個對年紀要求不那麼大的行業
最後,祝所有即將步入中年或已入中年的程序員順利找到滿意的發財之路
1、轉產品經理、cto、管理層,如果往這些方向轉的話,建議平時工作中多管一些「閑事」,除了變成之外,例如產品同事的討論也多參與,多思考從產品上怎麼發展這個產品,對於轉型有很大的幫助。
2、未來編程肯定會往中小學生教育方面發展,可以考慮轉型做編程的教師。
推薦一本對我自己影響比較大的書:《軟技能-代碼之外的生存指南》,裡面涉及生活習慣養成、思維方式等等,凸現技術中人的因素,閱讀這本書可以全面了解軟體從業人員所需要知道的所有「軟技能」
⑼ 怎樣做一名高效率程序員
1、理解編程語言的原理
三流的人才懂應用,二流的人才懂開發,一流的人才懂原理。各種語言之間存在著相似的地方,掌握語言的原理是必不可少的。最重要的,讓語言去適應項目,反之亦然。
2、向優秀程序員學習
你有一個蘋果,我也有一個蘋果,我們交換蘋果,你我還是有一個蘋果;你有一種思想,我也有一種思想,我們交換思想,你我就有了兩種思想。
與優秀的程序員為伍,你將吸收的最實用的經驗,這遠比你一個人自學、死磕編程來的快一些。有一句話說到好,與臭棋佬下棋,棋會越下越臭。不可否認這樣一個事實:和什麼樣的人在一起,就有什麼樣的格局,就會有什麼樣的人生。
3、了解數據結構和演算法
如果你要成為一個高效的開發者,就必須學會快速排序、學會辨認O(n2)程序、學會編寫遞歸函數。
學會多種語言,你便會更清楚不同的框架是相同問題的是如何解決的。盡可能去了解底層命令(plumbing),以便能夠作出明智的決定(Web框架是怎麼存儲session狀態的?Cookie到底是什麼?)。
4、精通一個編輯器
高效開發者通常是用IDE編輯器嗎?其實不是的,他們更常用的文本編輯器,因為這樣更會學到東西。
如果使用編輯器選擇通用的Emacs或Vim,自然是最好的。其次,挑選你的首選平台最支持的。使用宏,不斷地寫代碼;使用Visual Studio或SublimeText的自動補齊功能。
5、整潔的代碼勝過巧妙的代碼
如果想讓別人可以輕松讀懂你編寫的代碼,請盡量使用最少的代碼來完成任務。在編寫代碼過程中,遵循DRY(Don』t repeat yourself)的原則,使用明確定義的對象和庫,將任務分解成小而簡單的代碼段。
6、掌握代碼調試技巧
現如今市場和需求變化相當快,項目的周期有時就會縮短。一個月的工作計劃,會縮短到2個星期。項目的壓力難免會導致程序員的代碼質量會有所下降!
因此,調試技巧在這樣的環境下就顯得尤為重要。高級程序員會在函數的開始和結束輸出Log,把所有的參數和返回值列印到日誌系統,便於追蹤。在解決問題的過程中,使用開發工具一行一行進行調試,實時觀看參數的變化。
7、重新回顧代碼
重新去回顧和審視自己寫過的代碼,通常會有兩種體驗,一種是我怎麼寫了這么爛的代碼;另外一種則是對自己寫過的代碼充滿了成就感。回顧代碼有時可以觸發我們新的想法,甚至還能對編碼有一個更深層次的思考。
⑽ 不幹程序員有一年了,知識都忘了,想重新做回程序員,該怎麼開始,請大家指點
其實你現在不是想做程序員的問題,而是處於一個反思期,你現在在反思著,這么多年了浪費了大量的時間,後悔,想重新努力,其實做什麼不要緊,只自己覺得目標正確,並在過程中獲得自我認可就行了。
不管你想做什麼,有一條是要緊的,積極向上的心態,如果你實在不知道怎麼行動,那就先健身,先完成一個小小的,近期的目標,讓信心恢復。信心很重要。有了這個,你做什麼都會有自信的感覺。