A. 程序員怎麼提高工作效率
程序員提高效率的一些建議
我是一個程序員、設計師和企業家,也是 Asana 的聯合創始人。許多知名公司(如:Uber,Pinterest,Dropbox)都在使用這款提升團隊生產力的軟體。我在 Facebook 做開發經理時,設計過一個用於提升團隊生產力的工具,Facebook 至今仍在使用該工具。
改善環境
避開所有打擾
「多任務處理」使人感到更有效率,但研究表明,它使我們變得更加低效。我們經常去查看郵件,這種頻繁的打斷使我們思維變得遲緩 ,我們需要花費比預期更多的時間回到原來事情上。所以當你需要集中注意力時:
將手機設置為勿擾模式。在 iPhone 上:從屏幕的底部向上滑動,然後點擊月亮圖標。
關掉所有與當前任務不相關的網頁。
如果你的工作需要寫郵件,寫郵件時不要看到新郵件。在 Gmail 中的 Gmail 書簽(過濾掉所有內容)可以實現這一點。
關掉計算機上的新郵件提醒。
退出聊天軟體。
發現你的時間流
如果一天中你不斷地被會議打斷,你很難進入時間流、處理復雜任務的狀態。
在日程表上標注自己有一個三個小時的「會議」,你是會議的唯一參與人員。這樣同事們在安排會議時會避開這段時間,你可以在這段時間里不間斷地將工作完成。
如果可以話,每周選擇一天作為全公司的無會議日。在 Asana,我們設有「無會星期三」。
跟蹤了解你一天中不同的活動的高效時間。在你的高效時間完成工作最難的部分。下圖是我用來確定我的高效時間的方法,我的高效時間是上午 10 點到中午。相關閱讀:尋找你的超人時間。
精通你使用的工具
如果你一整天都在使用電腦,每次你伸手去拿滑鼠的時候,都會降低一點速度,阻礙你的時間流。你操作計算機的速度應該跟上你思維的速度。這樣做你需要學習常用軟體的快捷鍵。
每次需要使用滑鼠時候,看看是否可以使用快捷鍵代替。通常你可以在菜單項中找到對應快捷鍵,或當你把你的滑鼠游標放到按鈕上會顯示出快捷鍵提示。在 Mac 上:⌘ 是 Command,⌥ 是 Option,⇧ 是 Shift, ^ 是 Ctrl。
使用軟體 SizeUp,可以迅速重新排列軟體窗口,不需要使用滑鼠。
優化思維
這方面我最喜歡的書籍之一是托尼·施瓦茨的《全心投入的威力:管理精力而非時間》。 僅僅是這本的書名就有很大啟發性。
定時休息
通常我們以為,在工作上花費的時間越多,完成的任務也就越多。事實並非如此,人類不是機器,我們的大腦需要時間恢復。人類不是機器人。我們的頭腦需要時間來充電。研究表明,工作 90 分鍾,休息 15 分鍾,有助於在更少的時間里完成更多的工作 。
冥想
照顧好自己的.身體
多喝水。 每天早上,我都會在辦公桌上放 5 大杯水。我每天下班時,都已經把水喝完了。看到桌上放的這些水,會提醒我喝了多少水。
改善飲食。 碳水化合物過高的午餐會使你下午精力不足。
運動: 每周兩次有氧運動可以幫助提高效率。
總之,使用的工作外的時間來修養身心,工作時會更加精力充沛。
直面困難、克服拖延
我們拖延,不是因為懶惰,而是因為任務的重要性會使我們感到焦慮。發生這種情況時,你應該做以下的事:
誠實面對你焦慮的原因。把導致焦慮的事情寫下來,或者告訴你朋友。你為什麼感到如此害怕?
尋找一個容易執行的下一步。
關於這方面,我寫過一篇文章:《如何通過面對焦慮克服拖延》。
如果你現在沒有精力去面對恐懼,那麼至少做你的清單上的第二優先的事情,而不是去查看 Facebook。多產的斯坦福大學教授約翰·佩里把這種做法稱為「結構化的拖延症」。在網站 StructuredProcrastination.com 上,他把自己的成功歸結於這種做法。
優化流程
設定清晰的計劃。許多低效源於沒有分清事情的輕重緩急。你沒有搞清楚哪些事情有助於實現你的目標、什麼是最高優先順序的事情。
在下一步計劃沒有完全明確,並且整個團隊達成一致之前,不要開始行動。
先思考這些事情:我們的目標是什麼?我們為什麼想要達成該目標?達成該目標需要哪些步驟?每一個步的負責人是誰?這些步驟的順序是怎樣的?什麼是所有去實現它所需的步驟?每一步驟由誰負責?這些步驟將按照什麼順序執行?
團隊合作
有些人喜歡獨自工作,但是,處理復雜任務時,我一般覺得困難、容易分心。
找一個願意合作的隊友。有時候,花費我兩天的任務可以在 2 小時內與合適的夥伴完成。 「結對編程」是軟體行業很常見,但它其實適用於任何領域。
或者,你可以進行自我對話,問問自己那些問題是重要的,然後把問題和答案寫到文本編輯器或者筆記本里。我在電腦上以隨意的形式寫過一些長篇的對話,這些對話都是富有策略性的,有成效的。
公開聲明最後期限
將同伴的壓力轉化為你的優勢。如果一項重要任務沒有固定的最後期限,我會自信地告訴別人:「我會在周五下班時送給你一份作業副本」。我不想在同事面前表現得很可笑,所以我會努力確保事情在周五完成。
使用軟體來跟蹤你的工作
毫無疑問,我認為 Asana 在這方面是最好的。它不僅為維護你的待辦事項清單;它同時還管理整個團隊的工作流程,所以你們不需要無休止的會議來保持同步。Asana 讓大家在工作的地點面對面的交流,這樣你就不需要一直通過電子郵件去獲取信息。
花點時間反省
每一天結束用幾分鍾考慮一下:什麼地方做的好,什麼地方做的不好。你的整個工作流程是否有可以改進的地方?如果你每天都可以提升 1% 的效率,一年後你的效率將有 15 倍提升。
B. 北大青鳥java培訓:Java開發實習生快速成長的方法
成為Java程序員實習生後,很多人的職業發展道路就已經確定好了,那麼就是在Java領域中好好開拓自己的領地,成為Java程序員實習生後,很多人的軌跡開始發展改變,不管怎麼變化,首先得讓自己快速成長。
福建北大青鳥http://www.kmbdqn.cn/Java程序員實習生如何快速成長?Java程序員實習生如何快速成長?1.精益求精Java程序員實習生要想快速成長,守則的第一條就是對自己的Java技能要精益求精,只有你的Java技能在不斷的提升,你才能做更多高級的工作,你才能有效的為自己增值,你才能夠擁有更好的自主就業選擇權,才能夠大幅度提升自己的薪資待遇,甚至可以報個Java提升班。
2.學會減壓Java程序員大家都知道,薪資待遇高,不知道Java程序員也肩負著很大的壓力,Java程序員的工作加班是常事,經常性被需求更改弄得很煩,這就需要你學會減壓,不然你日積月累的工作壓力,會讓你心力交瘁,你可以找人聊聊天,你也可以做做健身,或者打打游戲。
3.勤做記錄我們知道計算機上的操作,如果你不記得按保存,那麼一不小心斷電,那麼你之前的操作可能就等於白費功夫。
看到有用的Java新技能,你當下或許記得,但是過段時間也許就會忘記了,所以要勤做記錄,當下麻煩點,以後省事點,記錄對於一個Java程序員實習生來說,也可以是見證發展軌跡。
C. 剛踏入職場的程序員,如何快速踏實地提升自己的能力
鏈接:http://pan..com/s/1p1G4NCUtPNVvkkXE7qxFbQ
程序員進階攻略。如何才能持續成長,是每一個程序員都繞不開的話題。入行之初,你可能會困惑於技能選擇的方向和掌握的方法;編程前期,你可能會苦惱於Bug的調試與修復;技術水平達到瓶頸期,你可能又急於尋求突破和上升。除此之外,職業倦怠了,如何去面對?技術停滯了,如何去解決?人到中年,是選擇工作還是選擇生活?換工作?換城市?換方向?如是種種,磨蝕著曾經的樂觀和現在的不甘,是放任自流還是逆流而上?
課程目錄:
開篇詞 (1講)
開篇詞 | 程序行知:走在同樣的路上,遇見自己的風景
征途:啟程之初 (4講)
01 | 初心:為什麼成為一名程序員?
02 | 初惑:技術方向的選擇
03 | 初程:帶上一份技能地圖
04 | 初感:別了校園,入了江湖
修煉:程序之術 (10講)
05 | 架構與實現:它們的連接與分界?
......
D. 如何才能修煉成一名不可替代的程序員,避免裁員危機
(1)專業能力程序員作為專業性較高的人才,對其專業能力要求很高,這個問題下很多程序員大佬也紛紛表示:「代碼是程序員的立身之本啊,所以一定要錘煉好代碼基本功,扎扎實實的能力練出來了,你就是公司不可替代的人兒~」在技術說話的互聯網公司,要保持一個不可替代的地位,實力是最基礎的一環,需要不斷地學習新技術,才能跟上技術發展的腳步,完成從一名普通程序員到精英程序員的蛻變。
(2)性格特質在外人看來,程序員就是整天和bug打交道的人,這樣的人需要耐得住寂寞,但同時也要腦筋足夠靈活,才能更好地應對各種bug,並且不斷開發出新的產品。同時還要有責任心,對自己的代碼負責,對自己的產品負責。
(3)發展需求除此以外,因為要不斷地發展自身能力以提升自己的核心競爭力,所以要做一名「不可替代」的程序員還要有一定的競爭意識,與自己競爭,督促自己進步等。以上僅僅是比較概括性的特質,具體到不同公司的不同程序員崗位,還會有不同的層級要求,需要進行一定的調整。
如今市場不景氣,企業用人大大收縮,再加上一批小企業的倒下,造成就業壓力越來越大,但我認為這是接下來的常態。前幾年的經濟「泡沫式」過渡發展,互聯網也跑的太快,造成大量的用工需求。一些其他行業的從業者培訓下就能改行做程序員,造成這個行業的人五花八門,能力參差不齊。寒冬的到來,必將對市場人力的重新洗牌。互聯網企業將會對程序員的要求越來越高,並促使IT從業者更加專業化。
E. 初級程序員怎麼讓自己快速進步
首先當然是要解放雙手,如果整天只把時間浪費在敲代碼還有改bug上,進步的空間會很慢。所以這時候可以藉助一些實用工具∞比如SoFlu軟體機器人去幫我們完成一些重復度高的工作,而且它本身有前後端開發+測試+運維能力,日常也能幫我們提升工作效率。
F. IT培訓分享剛入行的程序員小白如何才能快速成長
每個大牛都是從小白成長過來的,對於剛剛步入職場的程序員來講,面對身份的轉變和還未熟悉的工作,都難免會有不適應,對自己未來的成長也會比較迷茫。
No.1
大部分的程序員從小白到大牛都是要經歷一個循序漸進的過程,沒有一蹴而就的成功,程序員的成長也是分階段的,而每個階段的側重點又都不一樣。
很多人總想一口吃成胖子,可往往就是這種急躁的心理,反而使得自己更難靜下心來夯實基本功,適得其反。
要知道,成長從來就不是一件簡單的事情。那麼對於IT小白來說,IT培訓http://www.kmbdqn.com/介紹怎樣才能在更短的時間內成長為一名優秀的程序員呢?
No.2
首先,要制定詳細而明確的階段性目標。工作時如果有一個目標,會幫助你找到努力的方向,對自己的事業發展也很有幫助。而越詳細、越明確的目標,其可實施性就越高,這也能使你找到短期奮斗的動力。
其次,要利用空閑時間多學習。技術實力始終是一個程序員能否往前走的關鍵,沒事的時候多看代碼,保持對代碼的敏感度。只有看的多了,琢磨的多了,才能培養出好的代碼審美感。
除了要保持對代碼的敏感度以外,還要讓這種敏感度成為你寫代碼中的利器。因此,你需要勤寫代碼,多做總結,不斷優化自己寫的代碼。
最重要的是,要注重在項目中去鍛煉自己。項目開發是幫助程序員快速成長的一個有效途徑。實踐出真知,只有多實踐,才能發現自己在實際的項目開發中存在的缺點和不足,找出來並及時改正,將為自己積累下十分寶貴的經驗。
No.3
不知道大家有沒有聽說過「空杯心態」?
「空杯心態」簡單來說就是:如果你的杯子是空的,新東西就比較容易進去;反之,如果你的杯子已經滿了,新東西就進不去。
舉例來說,可能會有一小部分自以為是的同學,他們在剛從學校出來時思維較為固化,自己的東西太多,頑固又不肯放棄,新東西自然難以學進去,成長自然就慢。而具有空杯心態的同學,他們會適時清空自己,甚至有意識清除腦中頑固區域,虛心主動學習,渴望更多知識,學到的自然就會多。
因此,要想快速成長為一名優秀的程序員,就要學會保持空杯心態。
隨著技術更迭速度的不斷加快,IT行業對程序員的學習能力要求也變得更高。只有時刻保持對學習的熱忱,保持空杯心態,才能早日成長為一名優秀的程序員。同時,要堅持自律,懂得自我約束。越是在特殊時期,保持學習的自律能力就越重要!
G. 初學者JAVA程序員怎樣快速提升自己技術
一、提升對java技術的思考
很多人口裡嚷著要提升java技術,行動也有,但就是不奏效,是怎麼回事呢?因為行動前沒有好好的思考,比如老是盯著已經掌握熟練的java技術練習,你為什麼不考慮多練練你不熟習的java技術呢?那麼應該思考些什麼關於java技術的問題呢?
1、這個技術能解決什麼問題(why)
2、比較適合在哪些場景應用(where+when)
3、這個技術跟我已經掌握的哪個知識或技能類似,有什麼差別、有什麼特點、有什麼優點和缺點(what)
4、了解前面的問題後,你在開始考慮提升java技術那麼效果會比較好。
二、善於模仿,把他人的變成你的
你的代碼剛開始是怎麼學會的呢?不外乎模仿,但是模仿也有訣竅,有的人模仿的快,有的人模仿的慢。時常強調,多去看看其他人的代碼是怎麼編寫的,你可以從其他人的代碼中模仿出很多的東西,甚至你可以嘗試去修改其他人的代碼,讓它跟你的想法更加接近,看看你下次是不是可以這樣做,看看學習效率有沒有提高或者變得簡單,長此以往,你的java技術一定會有質的提升。
H. Java程序員怎麼提升自己
Java程序員如何提升自己」這其實是一個對每個人而言都至關重要的職業發展規劃問題,准備充分的人生才有更多選擇的機會,沒有規劃、得過且過是導致許多人中年危機的最重要原因,往往很多人會忽略這一點。因此,java課程培訓機構http://www.kmbdqn.cn/認為這個問題極其重要,值得每位工作1-3年的程序員深入思考。
第一階段:1-3年
這一階段,我們走出校園,邁入社會,成為一名程序員,正式從書本上的內容邁向真正的企業級開發。我們知道如何團隊協作、如何使用項目管理工具、項目版本如何控制、我們寫的代碼如何測試如何在線上運行等等,積累了一定的開發經驗,也對代碼有了一定深入的認識,是一個比較純粹的Coder的階段。
第二階段:3-5年
這是程序員的分水嶺,如果在這個期間,除了完成本職工作之餘,基本不會研究別的東西,這些人永遠就是個Coder,年紀大一些勢必被更年輕的人給頂替;如果你能在寫好代碼的同時,還熱衷於研究各種技術實現細節、精進1-2門技術,技術上有獨當一面、快速解決問題的能力,並且清楚自己未來的發展方向,你將從一個Coder逐步走向系統分析師或是架構師,隨之時間的推移,你會成為項目組中不可或缺的核心人物。
第三階段:5-10年
這又是另一個門檻了,轉行或是繼續做一名程序員就在這個節點上。如果在前幾年就決定在技術進階路徑上精進並且為之努力的話,那麼在這個節點上,你必然會成長為一名對行業有著深入認識、對技術有著深入認識、能從零開始對一個產品進行分析的高級程序員,在公司的title基本都是CTO、技術專家、首席架構師等最關鍵的職位。
I. 程序員如何提高自己的工作效率
程序員如何提高自己的工作效率?程序員要在IT界混出個名堂,也要有高效的工作效率才行。下面我為大家整理了程序員提高工作效率的辦法,歡迎大家閱讀參考!
程序員如何提高工作效率
1)鍵盤功底要扎實
敲鍵盤時要使用標准指法。可能你認為這是程序員的基本功,可是我發現其實很多程序員都做不到這點。看著他們敲代碼時那笨拙的指法我就心急。其實煉成標准指法不難,相當年我還是一指禪,打字極慢,痛定思定,在一周內我打字必用標准指法,再別扭也要堅持,一周後就適應了標准指法了。現在不說運指如飛也算是略有小成。練習指法和鍵盤速度可以給大家推薦一些網站:http://10fastfingers.com/typing-test/english,這個就是練習標准指法的,我可以輕松上60 WPM(每分鍾60單詞),有個外國同事可以達到130以上,那才叫恐怖。http://typing.io/lessons,專門供程序員練習敲代碼的網站,融合了各種括弧和標點,難度有點大。
2)要熟悉IDE的各種快捷鍵及特性
IDE基本上是碼農們上班中使用時間最長的軟體。首先要選擇一個趁手的IDE,俗話說,工玉成其事,必先利其器嘛。如果是C#陣營的那肯定是最新版的Vistual Studio了,如果是Java陣營的話當然是Intellij了(eclipse作為開源IDE,真心比不過Intellij)。我現在使用Intellij可以在95%的情況下不用滑鼠,全鍵盤完成開發過程中的大部分操作。我覺得沒有什麼常用快捷鍵、不常用快捷鍵之分,只要你知道的快捷鍵就要拿來用。
尤其是各種重構快捷鍵必須要熟練掌握,當我看到碼農修改變數名時不用重構快捷鍵,而是自己手動在引用的地方一個個改,然後編譯查錯時,真為他們捉急。還有各種inline,introce的快捷鍵真是好用到爆,掌握了這些快捷鍵可以說對代碼進行任何重構都不費除灰之力,我們的注意力也從手動修改代碼轉移到如何發現壞味道了。Vistual Studio中推薦安裝ReSharper,其開發公司與Intellij開發公司是同一家。除了重構快捷鍵,還要掌握一些IDE的特性,比如調試時可以插入指定條件來命中斷點等,這些就要平時的積累和學習,另外還有好奇心。我敢說你現在挨個看IDE菜單,至少有30%功能你從沒用過或不知道是干什麼用的,其實裡面有些功能是非常實用的,只是你沒嘗試而已。
3)至少熟練掌握一種shell終端
作為程序員老用圖形化界面咋行,要用那種古老的命令行界面才能顯示出你的高深嘛!滑鼠點界面誰都會,而命令行界面不是誰都能駕馭。有些功能在命令行下要比圖形界面下高效N倍。比如我使用git提交文件時都是在命令行下查看哪些文件被修改了,哪些是新添加的,修改的部分是哪些等。
使用圖形化界面要用滑鼠點來點去,效率實在太低。Linux系統下的終端太多了,就不推薦了。Mac系統下推薦使用iTerm2這個殼,其比MAC自帶的terminal多了不少實用的特性,也能方便切換自己喜歡的配色。Windows下當然首推Windows Power Shell了。Windows Power Shell本身集成了常用的實用工具,並且與.net framework無縫結合,這點是那些在Windows上的類Linux模擬器(比如Cygwin)是遠遠比不了的。
4)具有一定編寫shell腳本的功底
光會用現有的`腳本還不行,還要會根據情況編寫腳本來實現自己特定的一些目標。比如我使用MAC機上的終端時,經常需要在不同目錄間跳來跳去,每次都打一串的cd …..很麻煩,後來我就自己寫了一個小工具,可以給指定的目錄起別名,想要跳到這個目錄只要敲別名即可(參見 http://www.huangbowen.net/blog/2013/02/16/gtshell/)。
還有我在Windows系統上工作時,也經常編寫一些Power Shell腳本,比如一個命令就啟動指定的FTP伺服器,一些小命令用來實現快速在不同項目源碼間切換並執行構建命令等。這些命令編寫起來都很簡單,在提高工作效率方面很好幫助,因為一些常用的費時的操作每天重復N次,讓人很厭煩,如果能夠使用腳本將其自動化起來,豈不是就把自己給解脫了?
5)多語言編程
在這個世界有太多太多的編程語言,但凡稍微流行的編程語言都有自己獨特的優勢,而我們要善於利用每種編程語言的特點,而不是整天吵鬧那種語言更強大。我自己熟悉C#、java語言,也用JavaScript、Ruby、Python、Groovy做過一些東西,甚至為了理解函數式編程還專門學習了Haskell語言。這些語言都給我帶來了實用的效果。比如我用Ruby寫了一個插件,可以自動把我主站上的博客同步到博客園中的博客來。
我使用Groovy給我的Java代碼寫單元和集成測試,比使用Java語言編寫要快很多。我用Python和WebDriver寫了一個論壇灌水工具來刷積分。你掌握的語言越多,你的視野就越廣,你對編程的理解就會越深入。當然我不贊成盲目的求多,至少你要有2到3門精通的語言,從語言語法、語言運行時、語言特性、語言API等方面都要有深入學習和見解,當你再學習其它語言時也不會浮於表面的了。
6)這是最重要的一點,時刻保持一顆好奇心,一顆堅定不移的提高工作效率的決心
很多人都抱著差不多態度,心想“我雖不是標准指法,敲鍵盤速度也差不多”,“我IDE快捷鍵用的不多,也沒覺得那裡影響到我開發”,“我只會C#一種語言,還不照樣干到現在了嗎?”之所以有這種想法,是是因為你沒有見到真正高效的人。我曾看到某IT界牛人那出神入化的VIM操作,簡直已經超越了指哪打哪的境界,已經達到了鍵隨心動的境界。
我也看到某高級程序員使用IDE快捷鍵三下五除二就把一段醜陋的代碼給收拾的服服帖帖。耳濡目染之下讓我堅定了這個決心,不做差不多先生。所以平時我和同事一起工作時,就留心他們有哪些方法和工具來提高自己的工作效率。如果他們使用了一些好用的快捷鍵而我不知道,那我就會記下來下次自己用(快捷鍵熟練程度上我早已是我們項目組的number one)。
如果看到他們使用了一些好的工具我也會立馬回去下載下來自己用。(比如前兩天我看到同事使用SuperPutty來連接遠程主機,其支持多tab方式,這正是我想要的功能。我回去立馬下載下來,拋棄了以前的Putty)這樣時間長了,集眾人之所長,你自然也成為效率達人了。